Разработка системы лицензирования продуктов 3M Medica GmbH
Система Licensing – единая система XML-лицензирования программного обеспечения, предназначенная для организации единой централизованной инфраструктуры лицензирования ПО заказчика.
Система состоит из следующих компонентов: центральный сервер с кросс сетевым интерфейсом, для генерации лицензий. Клиентские модули для различных платформ (Java , Windows), для встраивания в ПО заказчика.
Данная система применяется для централизованного лицензирования программных продуктов фирмы 3M Medica.
При разработке данной системы особое внимание было уделено следующим аспектам:
- Простота и универсальность хранения лицензионной информации. Как наиболее оптимальное решение, заказчику было предложено использование XML формата, поскольку он обеспечивает хорошее структурированное хранение лицензионной информации, имеет дружественное представление, хорошо подвергается анализу и разбору.
- Криптографическая стойкость информации, а также криптографическая защита интерфейсов модулей, встраиваемых в клиентские приложения. Для простоты и достаточной надёжности заказчику была предложена классическая система шифрования с открытым ключом длиной 1024 бит. И, поскольку генератором лицензий является централизованный сервер с ограниченным доступом, находящийся в компании, криптографическим материалом для закрытого ключа, является уникальный сертификат. Для защиты обмена данными в клиентских модулях, весь обмен данными происходит в зашифрованном виде, со случайно генерируемыми ключами, кроме того, все клиентские модули проходят обработку для предотвращения декомпиляции. Таким образом, криптографическая инфраструктура системы оказалась простой, и в тоже время достаточно надёжной.
Поскольку одним из условий заказчика было: функционирование централизованного сервера под управлением ОС Windows , начальная версия была реализована с применением технологии DCOM . Однако, при эксплуатации системы, учитывая особенности инфраструктуры сети компании, для максимальной оптимизации скорости генерации лицензий, заказчику было предложено реализовать сервер как сетевой . NET сервис, работающий по протоколу TCP . Данное решение позволило максимально увеличить пропускную способность сервера и полностью устранить вероятные отказы. А также позволило более гибко обеспечивать его настройку и мониторинг состояния.
Кроме того, была проведена тщательная оптимизация клиентских модулей для встраивания, для чего были разработаны легковесные XML анализаторы, а также значительно оптимизирована криптографическая часть, что позволило встраивать модули в клиентское ПО заказчика практически без затрат.
Используемые технологии: COM, DCOM, .NET Framework, JSDK1.4.
Проекты для 3M Medica GmbH
-
Генератор электронных писем в формате RTF на основе шаблонов
-
Модуль SOAP Transport (SOAP Proxy) – универсальный кросс платформенный мост
-
Перевод системы ICD/ICPM на 32 разряда по заказу 3M Medica GmbH
-
Разработка программы Verhandlung (Negotiator) для 3M Medica GmbH
-
Разработка системы лицензирования продуктов 3M Medica GmbH
-
Разработка специализированной CRM-системы InvoiceDB
