В крупных организациях современные информационно-вычислительные средства зачастую представляют собой сложную гетерогенную программно-аппаратную среду. Множество неоднородных компьютерных платформ (рабочие станции, серверы, мэйнфреймы) работают под управлением различных операционных систем и опираются на разнообразные сетевые архитектуры. Интеграция доступа к данным и приложениям в таких системах требует частого обновления и синхронизации версий ПО, а также наличия различного рода эмуляторов, обеспечивающих доступ клиентских приложений к хранилищам данных и ресурсам системы.
Иногда нужное приложение можно запустить лишь на локальном сервере одной рабочей группы, поскольку на других оно не работает в принципе. Серверы в глобальных сетях часто служат прибежищем для приложений, имеющих символьный пользовательский интерфейс и способных взаимодействовать только с простыми алфавитно-цифровыми терминалами, а для доступа к таким приложениям на рабочей станции необходимо специально эмулировать терминал.
Многочисленные проблемы, возникающие при построении корпоративных информационных систем, заставляют производителей компьютерных платформ и программного обеспечения уделять больше внимания вопросам интеграции распределенных систем на базе неоднородных платформ. Один из способов решения проблемы неоднородности - разработка и поддержка стандартных программных интерфейсов, облегчающих задачу переноса приложений на серверы различных платформ. Однако современные приложения могут использовать базы данных, коммуникационные и другие сервисы, интерфейсы которых не являются компонентами языка или среды программирования. Другой способ, используемый производителями для решения проблемы неоднородности - поддержка стандартных протоколов. Системы, поддерживающие один и тот же протокол, могут взаимодействовать друг с другом, даже если они опираются на различные машинные архитектуры и операционные системы.
Объединяя оба подхода, производители программного обеспечения предлагают службы, обладающие стандартными программными интерфейсами и протоколами. Такие сервисы называют службами промежуточного слоя (middleware services), поскольку они располагаются на промежуточном уровне между операционными системами и сетевым программным обеспечением с одной стороны и приложениями с другой. Эти службы нивелируют неоднородность сети и протоколов, позволяя разработчикам единым образом решать специальные проблемы прикладного программирования.
Служба middleware должна отвечать потребностям широкого спектра приложений многих прикладных областей. Она должна иметь реализации для разных платформ. Как правило, промежуточное ПО является распределенным. Если к этой службе возможен удаленный доступ, то реализация для разных платформ переносится на клиентскую часть.
Однако деление программного обеспечения на системное и промежуточное весьма условно. Компонент ОС, широко используемый многими приложениями, зачастую может стать ПО промежуточного уровня с реализациями для различных платформ. С другой стороны, разработчики системных средств могут встроить те или иные службы middleware в операционную систему для повышения ее производительности и надежности. Возможны также случаи, когда ПО промежуточного слоя вырастает до масштабов интегрирующей среды. Так произошло, например, с инструментарием для работы с реляционными СУБД.
На сегодняшний день в промежуточном ПО можно выделить следующие средства: вызов удаленных процедур RPC (Remote Procedure Call), сервис сообщений MOM (Message Oriented Middleware), монитор обработки транзакций TPM (Transaction processing Monitor), промежуточные средства объектных запросов ORB (Object Request Broker), а также монитор объектных транзакций OTM (Object Transaction Monitor) и др. На рис. 1 показаны этапы эволюции промежуточного ПО.
Рис.1. Эволюция ПО промежуточного слоя |
По мнению аналитиков Gartner Group среди различных средств middleware наиболее эффективными с точки зрения интегрируемости, гибкости, мощности и продуктивности являются мониторы транзакций TPM и объектные средства ORB, OTM.
На мониторы транзакций возлагаются функции управления потоком запросов от клиентского ПО к приложению. Обычно монитор обработки транзакций включает следующие сервисы middleware: собственно управление транзакциями, средства для организации взаимодействия между процессами, средства управления очередями запросов и средства управления формами и меню. Доступ к мониторам обработки транзакций может осуществляться непосредственно из приложения, а также через другие сервисы промежуточного ПО или через интегрирующую среду.
Объектное ПО промежуточного слоя (ORB, OTM) предполагает использование объектно-ориентированного интерфейса прикладного программирования для связывания с удаленными приложениями (объектами), вызов которых обеспечивается либо через статический интерфейс удаленных процедур, либо через динамический программный интерфейс.
Рис.2. Сравнительный анализ средств обработки транзакций |
Результаты проведенного специалистами Gartner Group сравнительного анализа эффективности средств оперативной обработки транзакций (OLTP) мэйнфреймов и промежуточного ПО обработки транзакций TPM и OTM приведены на рис.2.
Судя по всему, в области middleware в ближайшие годы наиболее активно будет развиваться производство мониторов обработки объектных транзакций OTM, аккумулирующих возможности ORB, TPM, MOM. По прогнозам Gartner Group, к 2002 году более половины вновь создаваемых критичных операционных приложений будут ориентированы на использование сервиса промежуточного ПО. Для сравнения, доля подобных приложений в 1997 году составляла всего 15%.
ПО промежуточного слоя обеспечивает интеграцию уже существующих разнородных платформ. В то же время максимальное использование служб middleware позволяет значительно повысить надежность и эффективность вновь создаваемых систем. Проблемы организации внешних связей берет на себя ПО промежуточного слоя, освобождая тем самым разработчиков приложений от решения системных задач. Это - с одной стороны, повышает производительность труда, а с другой - увеличивает долю стандартизованных апробированных средств в общем составе прикладных систем, что благотворно влияет на работоспособность и надежность приложений.
В качестве конкретных примеров систем, принадлежащих классу промежуточного ПО рассмотрим теперь средства интеграции приложений с Web - WebTransactions, MS Windows - ComTransactions, а также инструмент компоновки бизнес-объектов - BizTransactions.
WebTransactions - интеграция приложений в Web
Глобальная сеть открыла доступ к огромным массивам данных, распределенных по всему миру, а быстрое развитие и распространение Web-технологий позволило говорить о Web - инструментарии как удобном средстве обмена информацией между разнородными системами.
Использование в бизнесе сетей основанных на Internet позволяет значительно расширить круг потенциальных клиентов и заказчиков, а также повысить качество и скорость связи с партнерами и потребителями. Внедряя новые технологии обработки данных, основанные на WWW, владельцы компаний, естественно, стараются сохранить инвестиции, вложенные в уже имеющиеся вычислительные средства и системы. Они заинтересованы также в обеспечении целостности и доступности накопленных данных при вовлечении их в инфраструктуру Сети.
Однако большинство компаний использует сегодня разнородные компьютерные системы, при этом коммерческие приложения и данные хранятся либо на ПК-серверах, либо на центральных компьютерах, в том числе высокопроизводительных мэйнфреймах или кластерных системах. Стандартное программное обеспечение и индивидуальные разработки эксплуатируются параллельно, также как и многочисленные операционные системы и системы управления базами данных. Для успешной деятельности предприятий и корпораций необходимо, чтобы все приложения и данные были доступны независимо от их локализаций и форматов. Кроме того, для дальнейшей разработки бизнес-приложений требуются средства, обеспечивающие объединение имеющихся разнородных данных и прикладных программ.
С учетом указанных тенденций компанией Siemens был разработан комплекс программных продуктов под общим названием Web Transactions, предназначенный для интеграции приложений во Всемирной паутине (рис.3).
Рис.3. Средства интеграции WebTransactions |
Связь с World Wide Web через сервис WebTransactions обеспечивает стандартизованный доступ различных групп пользователей к серверным приложениям и данным из OSD, MVS и открытых UTM систем. WebTransactions представляет собой программу, которая вызывается через интерфейс CGI (Common Gateway Interface), поддерживаемый Web-сервером. CGI-программы взаимодействуют с сервером через HTML формат, который может быть интерпретирован браузером.
WebTransactions создает коммуникационные связи клиента с хост-приложениями, преобразуя исходный интерфейс пользователя приложения (в общем случае символьно-ориентированный) в HTML-формат. Процесс преобразования основан на технике шаблонов (template). WebTransactions обеспечивает автоматическую генерацию таких шаблонов из форматов различных управляющих систем. Эти шаблоны затем могут быть адаптированы в соответствии с требованиями пользователя, что позволяет быстро создавать индивидуальные графические интерфейсы на основе единого стандарта. Для описания Web-интерфейса применяется довольно простой, ориентированный на пользователя язык. Он содержит все элементы HTML плюс инструкции и управляющие структуры, которые обрабатываются динамически в процессе работы WebTransactions. К языку шаблонов добавлен язык JavaScript, что позволяет описывать логику операций (апплеты и сценарии) и шаблонную логику, используя одни и те же ресурсы. Средства Web Transactions ни в чем не ограничивают разработчиков интерфейсов. С помощью WebTransactions могут использоваться все средства, предоставляемые браузерами (анимация, сенсорные панели, Java-сценарии и апплеты, ActiveX, масштабируемые картинки, видео, звуковые последовательности и т.д.). WebTransactions открыт для дальнейших расширений языка HTML, включаемых в стандарты или задаваемых браузерами.
Для организации работы с динамическими интерактивно изменяющимися объектами не требуется вносить изменений в логику серверного приложения, так как, с точки зрения этого приложения, WebTransactions является всего лишь дополнительным пользователем. Таким образом, Web-интерфейсы клиентов используются параллельно с алфавитно-цифровыми интерфейсами серверных приложений. Более того, технология шаблонов позволяет для вызова одного и того же серверного приложения использовать различные стили Web-интерфейса. Это, в частности, дает возможность служащим интернациональных компаний обращаться к общим ресурсам с помощью интерфейсов, поддерживающих родной для пользователей язык.
Для автоматизации процесса проектирования шаблонов в состав сервисных средств WebTransactions включена среда разработки WebLab (рис.4).
Рис.4. Среда разработки пользовательских интерфейсов WebLab |
В структуру WebLab входит редактор шаблонов, эксперты средства (Wizard), облегчающие ввод элементов языка WebTransactions, а также набор интерфейсов для различных HTML-редакторов и Web-браузеров. WebLab функционирует на ПК под управлением Windows 95 или NT. Для удобства настройки интерфейсов в соответствии с корпоративным стилем и требованиями заказчиков предоставляется возможность использования технологии «захвата». Изображения экранов могут перехватываться, а соответствующий «моментальный снимок» содержимого экрана записывается и конвертируется в шаблоны.
WebTransactions гарантирует полную защиту информации. В Европе типичные реализации, основанные на SSL (Secure Sockets Layer) используют сокращенную 40-битную кодировку. Однако в комбинации с продуктом X*PRESSO производства компании Brokat, WebTransactions поддерживает шифрование по 128-разрядному ключу.
WebTransactions поддерживает следующие платформы: BS2000/OSD, Unix, Windows NT и может присоединяться к любому HTTP серверу, доступному на этих платформах через CGI интерфейс. WebTransactions может работать с браузерами любого типа. Различные реализации WebTransactions обеспечивают интеграцию серверных приложений систем UTM, OSD и MVS.
Для открытых UTM систем WebTransactions позволяет присоединять OLTP-приложения к Web. Рабочая платформа WebTransactions и UTM - приложение могут быть объединены через UPIC-протокол. При этом поддерживаются все базы данных и файловые системы, доступные на платформе приложения. Этот вариант включает средства для автоматического преобразования экранных установок FHS и Formant, а также COBOL-структур в соответствующие шаблоны.
WebTransactions для OSD присоединяет к Web-сети произвольные диалоговые приложения (TIAM/DCAM), разработанные для мэйнфреймов BS2000. Имеется эмулятор терминалов 9750, который непосредственно взаимодействует с приложением. Стандартный шаблон управляет преобразованием потока данных терминального интерфейса 9750 в формат HTML, при этом специальные ключи диалоговой станции, такие как DUE, K и F-ключи отображаются на кнопки.
WebTransactions для MVS подключает к Web произвольные диалоговые приложения MVS. Подобно варианту для OSD составной частью этого продукта является эмулятор терминалов, который непосредственно взаимодействует с MVS либо использует telnet-сервер или SNA-вход. На основе стандартного шаблона поток данных терминального интерфейса 3270 преобразуется в HTML, а специальные ключи диалоговой станции 3270 отображаются на меню.
ComTransactions - интеграция серверных приложений в среду Windows
Широкое использование ПК в бизнесе, обеспечивающее децентрализацию деловых процессов с целью придания им большей гибкости породило проблему доступа к критически важным приложениям, работающим на центральном сервере. Поскольку создавать полностью новое ПО для ПК неэкономично, целесообразно использовать некоторую систему, позволяющую включать в Windows имеющиеся на сервере приложения без изменений.
Средства системы ComTransactions обеспечивают передачу приложений и данных с сервера на ПК в программы Microsoft Office (Word, Excel, Access и т.д.), а также предоставляют возможность обработки и изменения данных программным путем (например, с помощью Visual Basic, Visual C++, Visual J++). Com Transactions предназначен для интеграции серверных приложений мэйнфреймов BS2000, открытых UTM систем и UNIX, а также MVS-приложений. Стратегия связи с сервером через ComTransactions основана на работе с ActiveX.
ComTransactions содержит два основных компонента, Service Builder и Service Provider, которые осуществляют все необходимые шаги обработки по интеграции серверных приложений.
Service Provider обеспечивает связь между сервером и ПК. Он запускает приложения, управляет передачей данных между серверами и передает результирующие данные в приложения Microsoft Office. Кроме того, он управляет быстрым промежуточным буфером и ActiveX интерфейсом.
Service Builder анализирует серверное приложение, разделяет его по типам обслуживания и загружает их описание в виде ActiveX-объектов в сервисный каталог. Для этого в Service Builder имеются различные средства анализа и генератор классов. Кроме того, осуществляется проверка конфигурации на правильность и полноту, предоставляются средства записи диалога (Dialog Recorder) и проверки работы сервисных систем.
Сервисный каталог содержит сервисные метаданные вместе с программами и службами их обработки в виде объектов из банка данных. Этот каталог можно просматривать по запросу от конкретного процесса, а также обращаться к объектам непосредственно из самостоятельно написанных программ. Необходимое описание каталога может генерироваться автоматически из серверного приложения.
BizTransactions - интеграция бизнес-объектов
Конкурентоспособность любого бизнеса во многом зависит от гибкости и эффективности систем обработки бизнес-процессов, поэтому особое внимание сегодня уделяется средствам интеграции различных приложений обработки данных. Обычно для реализации бизнес-процесса требуется несколько приложений, а при отсутствии надлежащих средств промежуточного ПО их обработка неизбежно влечет за собой большую долю ручного труда. Используемые для выполнения заказов приложения имеют разные интерфейсы и выполняются зачастую на разных вычислительных платформах, что увеличивает затраты на обработку бизнес-операций, приводит к избыточному дублированию данных и возникновению ошибок. ПО промежуточного слоя предоставляет пользователю единые средства доступа к различным приложениям в рамках интегрированной среды. Это позволяет избежать перечисленных недостатков, а также повысить скорость и надежность выполнения бизнес-процессов.
Одним из широко распространенных способов связывания разнородных систем являются шлюзовые соединения (gateway). Однако они эффективны только в тех случаях, когда количество объединяемых приложений невелико, поскольку для каждой дополнительной связи требуется новый шлюз, а одно изменение в приложении приводит к необходимости модификации множества соответствующих соединений. Тем самым средства объединения приложений на основе шлюзовых соединений не обеспечивают требуемой гибкости и адаптации к быстро меняющимся бизнес-процессам.
Среди технологий интеграции, отвечающих современным требованиям организации обработки бизнес-процессов, наиболее перспективными являются технологии, опирающиеся на экспертные средства разбиения сообщений (rule-based message broker). Основная идея этих технологий заключается в том, что обработка отдельного бизнес-процесса с использованием различных приложений разбивается на несколько самостоятельных задач. Для каждой такой задачи создается бизнес-объект BO (Business Object), например, «потребитель», «заказ», «поставки», «счет «и др. В соответствии с определенными правилами из бизнес-объектов формируются объекты-процессы BPO (Business Process Object), которые используются для выполнения бизнес-операций. Система BizTransactions - это семейство программных продуктов для интеграции бизнес-приложений в рамках архитектуры MB (Message Broker).
В состав BizTransactions включены интегратор бизнес-объектов BOI (Business Object Integrator) и интегратор бизнес-процессов BPI (Business Process Integrator). Задача BOI - генерация бизнес-объектов и интеграция хост-приложений в среду Windows средствами DCOM (рис. 5).
Рис.5. Интеграция приложений в среду Windows средствами BOI BizTransactions |
При использовании BizTransactions BOI существующие приложения UTM, BS2000/OSD, MVS выступают в качестве базиса для формирования бизнес-объектов, основанных на стандарте DCOM. Бизнес-объекты, построенные с применением сервисов хост-приложений, могут быть объединены с дополнительными DCOM совместимыми объектами для создания интегрированного приложения, обеспечивающего полный доступ к серверным приложениям из Windows. Таким образом, интегратор бизнес-объектов BOI - это логическое развитие средств интегрирования ComTransactions.
Для объединения бизнес-объектов и создания бизнес-процессов используются графические инструментальные средства BPI, которые придают законченность средствам интеграции BizTransactions. В рамках BPI доступны новые серверные адаптеры. Например, специальный адаптер для интеграции с SAP R/3. Этот адаптер может использоваться для обращения к функциональным модулям RFC и BAPI, а также для связывания этих средств с другими бизнес-объектами.
Возможности Biz Transactions
Существующие приложения принимаются без изменений и модификаций. Для доступа к приложениям используются стандартные проверенные интерфейсы. Поддерживаются распространенные клиентские технологии, при этом новые технологии могут быть включены в интегрированную среду для расширения ее функциональности за счет включения новых компонентов.
Об авторе
Елена Карташева - сотрудник Института математического моделирования РАН, Москва. С ней можно связаться по электронной почте по адресу: boldar@kiam.ru
Преимущества ComTransactions
ComTransactions предоставляет возможность работы с серверными приложениями без необходимости изменения их программной логики, что обеспечивает сохранение существующих программных систем.
ComTransactions повышает продуктивность работы конечного пользователя, поскольку обеспечивает быструю обработку потоков данных.
ComTransactions содержит современные программные решения в объектно-ориентированной технологии, поддерживаемые средствами программирования Visual Basic, Vivual C++, Java и т.д.
Преимущества Web Transactions
Серверные приложения и данные интегрируются в Internet без каких-либо изменений и становятся доступны широкому кругу пользователей в рамках современной унифицированной инфраструктуры. Диалог обмена информацией с серверным приложением может изменяться, при этом допускается как объединение, так и разбиение отдельных шагов диалога. Разные приложения могут объединяться, образуя новые бизнес-процессы. Символьные интерфейсы и маски экранов автоматически преобразуются в соответствующие HTML форматы. Для создания графических интерфейсов предоставляются современные средства автоматизации разработок. При этом старые и новые интерфейсы существуют параллельно, что уменьшает риск, связанный с внедрением новых систем, и обеспечивает плавный переход от инфраструктуры хост/терминал к инфраструктуре, основанной на Web.
WebTransactions характеризуется масштабируемой архитектурой, позволяющей распределять пользовательские процессы между несколькими компьютерами. При этом выбор платформ клиента практически неограничен: ПК Wintel, сетевой компьютер, UNIX, Mac и т.д.
WebTransactions предлагает экономичный подход к решению проблем перехода на Internet-технологии. Web браузер - это единственный компонент ПО, который требуется пользователю. При этом осуществляется экономия как на средствах поддержки эмуляции терминалов, так и на стоимости распространения и обновления программных систем.