Модуль SOAP Transport (SOAP Proxy) – универсальный кросс платформенный мост
Основной задачей заказчика являлось: разработка и реализация механизма для обеспечения программного сетевого взаимодействия существующего прикладного сервера (далее Сервера), функционирующего в среде Windows и клиентской части (далее Клиент), в виде Java приложения.
Основное предназначение компонентов, входящих в состав SOAP Transport – организация моста (сетевого взаимодействия) между компонентами системы, функционирующими в среде различных платформ: MS Windows и Java . В состав модуля входят: серверная библиотека (далее Proxy) и клиентская часть для встраивания в Java-приложения.
Данный модуль применяется в составе системы QS-Med фирмы 3M Medica – системе прикладного медицинского программного обеспечения для обмена клиентской и серверной частей системы.
При разработке данного модуля, для получения наиболее эффективного решения задачи, было проанализировано несколько вариантов организации взаимодействия. Среди них такие как использование технологии CORBA (что оказалось неэффективным, вследствие трудоемкости встраивания в Сервер); полная разработка и реализация собственного механизма (интерфейсов и протокола передачи данных), использование готового механизма сторонних фирм (что экономически невыгодно, и потенциально сложно в сопровождении). В итоге, как наиболее эффективное решение, заказчику было предложен механизм обмена, основанный на протоколе – SOAP (XML протокол передачи бизнес объектов). Основные преимущества которого:
- Легковесность, поскольку на основе этого протокола, можно обмениваться сложными бизнес объектами без особых ограничений к пропускной способности каналов связи.
- Универсальность, поскольку протокол полностью формализован, т.е. четко определены типы и структуры данных, четко определены правила кодирования (сериализации) объектов для передачи.
- Распространенность, т.к. SOAP основан на XML, а мощная поддержка XML существует сейчас практически во всех платформах.
Использование данного механизма позволило в значительной мере формализовать и упростить обмен информацией об ошибочных и нештатных ситуациях, возникающими в процессе взаимодействия.
Для максимально эффективного генерирования описаний промежуточных интерфейсов бизнес объектов для обмена, была разработана система генерации классов на основе XSL, которая позволила наиболее быстрым образом реагировать на пожелания заказчика при изменении функциональности модуля в процессе разработки. Поскольку в дальнейшем, заказчик планировал использовать систему в инфраструктурах с низкоскоростными модемными каналами связи, выбранный подход позволил адаптивно регулировать объемы передаваемых сообщений. Т.к. в данном случае сетевым транспортным протоколом для передачи SOAP-сообщений являлся HTTP, дальнейшая оптимизация модуля позволила снизить объем передаваемой информации, используя расширение HTTP – сжатие информационного блока передаваемых сообщений, что позволило увеличить пропускную способность Сервера и значительно уменьшить загрузку каналов связи.
Проекты для 3M Medica GmbH
-
Генератор электронных писем в формате RTF на основе шаблонов
-
Модуль SOAP Transport (SOAP Proxy) – универсальный кросс платформенный мост
-
Перевод системы ICD/ICPM на 32 разряда по заказу 3M Medica GmbH
-
Разработка программы Verhandlung (Negotiator) для 3M Medica GmbH
-
Разработка системы лицензирования продуктов 3M Medica GmbH
-
Разработка специализированной CRM-системы InvoiceDB
