Сетевой журнал: галерея ИТ-проектов


ЛАНИТ: "BEA-ПЛАТФОРМА ПЛЮС АДАПТЕРЫ - И NO PROBLEM!"



задача:
Интеграция "лоскутной" КИС
другие решения:
ComputerAge : улучшить систему, а не бороться с ней
Digital Machines: эволюция или революция





 

Компания ЛАНИТ, крупнейший российский системный интегратор и поставщик продуктов и услуг high tech многих ведущих мировых производителей, для решения поставленной задачи предложила воспользоваться интеграционными решениями, разработанными компанией BEA Systems, одного из лидеров рынка средств создания программных инфраструктур.

У компании Х имеются четыре разрозненные системы: складского учета, бухгалтерии, управления договорами и учета кадров. Для покрытия функциональных требований заказчика необходимо добавить еще две - бюджетного планирования и корпоративной отчетности, - наиболее оптимальные для заказчика с точки зрения стоимости и полноты реализованных функций. Чтобы набор отдельных программных продуктов стал целостной системой, необходимо решить задачу интеграции всех составляющих по функциям, обеспечить выполнение сквозных бизнес-процессов, создать единое информационное пространство системы (за счет использования единой НСИ - нормативно-справочной информации), обеспечить унифицированный механизм доступа пользователя к данным системы и наконец сделать ее легко расширяемой и способной к эволюции.

Проанализировав описанные в задании потребности, специалисты компании ЛАНИТ пришли к выводу, что в представленной ситуации наиболее подходящим может быть интеграционное решение, основывающееся на использовании технологии Java 2 Enterprise Edition (J2EE), стремительный рост популярности которой во всем мире объясняется многими причинами. Использование J2EE позволяет сократить время создания системы, облегчает ее интеграцию с уже существующим информационным окружением, гарантирует высокое качество и надежность работы программных модулей и в то же время существенно уменьшает стоимость сопровождения в процессе эксплуатации. Каждый слой многоуровневой модели приложений такой системы фокусируется на своей специфической роли, благодаря чему весь комплекс в целом обладает как определенной гибкостью, так и устойчивостью к внесению изменений. В дальнейшем можно постепенно наращивать функциональность без вмешательства в готовые блоки.

С точки зрения специалистов ЛАНИТ, все требования нашей гипотетической компании Х могут быть удовлетворены в случае использования являющегося стандартом де-факто платформного решения BEA Weblogic Platform, обеспечивающего всю необходимую в данном случае функциональность.

В состав BEA-платформы входят три программных продукта: WebLogic Portal, WebLogic Integration и WebLogic Server.

WebLogic Portal представляет собой набор средств построения прикладных решений. С его помощью для всех пользователей системы (служащих, клиентов, партнеров, поставщиков) мы организуем единую точку доступа ко всем ресурсам предприятия, включая интегрированные в единую информационную систему уже имеющиеся у нашей гипотетической компании ИС. Помимо этого WebLogic Portal будет отвечать за безопасность входа, персонализацию, динамическое реагирование системы на действия пользователей, последующее администрирование, гибкую настройку правил в зависимости от статической (полученной при регистрации) и динамической (поведение пользователя) информации, накопленной в результате посещения страниц и выполнения некоторых действий.

WebLogic Integration обеспечит нашей компании интеграцию приложений и управление бизнес-процессами. В нем содержатся средства моделирования и исполнения бизнес-процессов, он поддерживает механизм workflow и помогает осуществлять B2B-интеграцию.

WebLogic Server (сервер приложений) реализует стандарт J2EE, поддерживаемый всеми основными производителями и поставщиками программных средств. Это позволит переносить на WebLogic приложения, ранее реализованные для других серверов, если они разработаны по стандарту J2EE (в настоящее время в технологию J2EE входят стандарты: EJB, Servlets, JSP, JNDI, JDBC, JMS, JTA, JTS, JavaMail, JAAS, JCA и JMX).

При разработке интеграционного решения используется так называемый компонентный подход. За устойчивость и надежность функционирования всех компонентов отвечает сервер приложений, в данном случае выступающий как основа.

Свобода выбора гарантирована
Архитектура предлагаемого решения базируется на принципе интеграции функциональных подсистем, которые представляют собой самостоятельные готовые программные продукты. Для решения задач интеграции подсистем и поддержки сквозных бизнес-процессов используется единая интеграционная платформа. Поскольку все взаимодействия между подсистемами организуются через единый центр, мы избавлены от необходимости интеграции "каждого с каждым".

Каждая из подсистем автоматизирует необходимую часть общих бизнес-процессов. Таким образом, суммой подсистем покрываются все автоматизируемые функции. Поддержка бизнес-процессов внутри подсистемы обеспечивается ее собственной логикой, качество этой поддержки определяется свойствами выбранного программного продукта.

Для описания и поддержки сквозных бизнес-процессов, т. е. процессов, выходящих за пределы одной конкретной подсистемы (проходящих через две и более подсистемы, вызывая тем самым необходимость интеграции на уровне логики бизнес-процессов), используется механизм workflow.

Интеграционная платформа дает возможность вызова функций подсистем из сквозного бизнес-процесса. Причем, с одной стороны, мы сами можем обращаться к этим системам из нашего бизнес-процесса, а с другой - если кто-то еще выполняет действия в интегрируемых системах, мы можем автоматически получать об этом информацию. Например, кладовщик вводит данные о том, что складом получены канцтовары, и тут же внутри интеграционной платформы начинает "крутиться" бизнес-процесс - система, допустим, рассылает письма о том, что можно получить канцтовары, возможна и такая логика работы.

Отдельно следует отметить, что адаптеры, которые пишутся для взаимодействия с уже имеющимися на предприятии ИС, сами ИС не затрагивают. Дописывается только внешний модуль, который устанавливается на сервере приложений, и через него обеспечивается взаимодействие систем. То, что сборка отдельных компонентов здесь, так же как и у ПК, основывается на единой шине, образно говоря, полностью развязывает руки. Развивая аналогию с ПК далее, можно вспомнить, что если нам, скажем, разонравилась видеокарта, мы ее легко можем заменить на более мощную и более функциональную без особых проблем. Здесь абсолютно то же самое - когда в какой-то момент нас перестает устраивать, например, складская программа, мы безболезненно можем заменить ее на другую. И единственное, что тогда от нас потребуется, - это переписать адаптер. Причем, возможно, даже этого делать не придется, может быть, мы его просто купим. Так, практически для всех промышленных ERP-систем сегодня предлагается по нескольку десятков адаптеров разных типов и от разных производителей, различающихся лишь ценой и функциональностью; заплатил, принес, поставил - и все заработало. На Западе существует масса фирм, разрабатывающих адаптеры - они специализируются исключительно на этом. Когда-нибудь так будет и в России, а пока разработкой адаптеров у нас занимаются в основном фирмы-интеграторы, в том числе и ЛАНИТ.

Триединство новых возможностей
Примем за данность, что наша гипотетическая компания приобретает BEA-платформу, интегрирует в единую систему все имеющиеся у нее ИС и получает желанную возможность выйти на новый виток развития. Интеграционная платформа теперь обеспечивает ей все взаимодействия между подсистемами в рамках выполнения сквозных бизнес-процессов, загрузку в функциональные подсистемы единых справочников из подсистемы НСИ, извлечение необходимых данных из всех функциональных подсистем и помещение их в информационно-аналитическую подсистему, функционирование интранет-портала и плюс к тому еще некоторое количество полезных сервисов. Кстати, сама подсистема НСИ и средства ведения справочников могут быть реализованы "внутри" интеграционной платформы. При этом львиная доля сервисов, средств и готовых компонентов, необходимая для реализации этой задачи, в платформе уже есть.

Для того чтобы лучше представить, как теперь в едином информационном пространстве выстраивается и осуществляется деятельность нашей компании, сосредоточим внимание на описании трехуровневой структуры интеграционной платформы BEA.

Платформа BEA состоит из уровня представления информации (презентационный уровень), уровня бизнес-логики и уровня доступа к данным и внешним системам.

На уровне представления информации происходит взаимодействие с различными типами пользователей и осуществляются все необходимые преобразования полученной информации. С точки зрения технологии здесь наиболее приемлемо использование связки JSP-XML/XSL - таким путем достигается полное отделение данных от их представления.

BEA-платформа содержит инструментарий для автоматического определения типа клиента (Web-браузер, WAP, MIDlet, PDA) и перенаправления запроса нужному обработчику. После обработки запроса в специфичном для клиентского приложения формате создается внутреннее событие, которое передается уже на уровень бизнес-логики либо, для дополнительной обработки, на уровень представления информации.

Многочисленные обязанности BEA WebLogic Portal
За уровень представления информации отвечает BEA WebLogic Portal, функционирующий на сервере BEA WebLogic. В обязанности портала входит предоставление следующих сервисов: обеспечение персонализации содержимого сайта для пользователей, управление содержимым сайта и управление движением пользователей по сайту (в зависимости от предпочтений, настроек и т. п.).

BEA WebLogic Portal содержит собственный репозиторий для хранения данных о конфигурациях процессов, специфичных для пользователей, информации о пользователях, о текущем состоянии сессии и др. Он также предоставляет средства для мониторинга и динамического изменения конфигурации.

С помощью BEA WebLogic Portal осуществляется доступ всех пользователей к нашей системе, персонализация предоставляемой информации и настройка представления в зависимости от заданных критериев: типа пользователя, его настроек, его истории посещений и пр. Графическая настройка делает возможным показ каждому пользователю только той информации, которая ему действительно необходима. Средства портала позволяют динамически менять правила показа содержимого пользователям. Изменения бизнес-аналитики нашей гипотетической компании могут вносить самостоятельно без какой-либо дополнительной разработки, дополнительного программирования.

Рисунок: Структура интеграционной платформы BEA WebLogic

Гибкое управление бизнес-процессами
На уровне бизнес-логики мы можем визуально строить бизнес-процессы системы, включающие в себя бизнес-задачи. Для описания бизнес-процессов служит графическая среда, в которой они элементарно рисуются: каждый кубик - набор неких задач.

Бизнес-процессы могут иметь простую логику последовательного, параллельного и условного исполнения различных задач; последние в свою очередь могут физически исполняться, как на одной вычислительной системе, так и на разных, включая возможность синхронных и асинхронных вызовов. Задача может представлять собой вызов метода Java-класса, вызов метода EJB-компонента, вызов других бизнес-процессов, а также вызов функции, предоставляемой уровнем доступа к данным.

Иногда нам необходима интерактивность, т. е. мы хотим, чтобы в определенной задаче в определенное время пользователь выполнил определенные действия. Например, если нам нужно отгрузить товар и выписать счет-фактуру, мы назначаем одну задачу бухгалтеру и одну кладовщику. Когда бухгалтер заходит через Web-интерфейс (через портал) в свой виртуальный рабочий кабинет, он видит, что у него появилась задача - выписать счет-фактуру, входит в нее и автоматически вступает во взаимодействие с нашим процессом. То есть мы получаем от процесса всю необходимую нам информацию о той задаче, которую должен выполнить бухгалтер. Как только он ее выполняет, бизнес-процесс продолжается дальше.

Бизнес-процесс можно сделать достаточно универсальным, т. е. подходящим для различных ситуаций. Таким образом, мы полностью уходим от проблем, связанных с необходимостью дополнения системы в связи с изменениями. Если при использовании других платформ для внесения изменений может потребоваться переработка большой части системы, то в нашем случае мы просто перерисовываем стрелочки и квадратики, настраивая тем самым систему под изменившиеся обстоятельства.

Основная цель - сделать бизнес-процесс легко управляемым и полностью контролируемым - достигнута. Бизнес-аналитику не нужна помощь программиста, он сам вносит изменения, сам отслеживает, что и как выполняется, а цветовая маркировка позволяет ему видеть, кто в данный момент занимается решением задач. Такой подход позволяет находиться на уровне абстракции бизнес-процессов, при этом бизнес-логика системы может непосредственно формироваться специалистом в данной области.

Свободный доступ к данным
На уровне доступа к данным происходит наше взаимодействие с базами данных, внешними системами и унаследованными ИС. Поскольку унифицированный доступ мы можем получить с помощью XML, "обучив" внешние системы понимать этот язык, главной задачей на этом уровне является разработка адаптеров, умеющих передавать данные в систему в XML-формате, получать данные из систем и, если это возможно, реагировать на внутренние изменения в системе с последующей генерацией событий на уровне бизнес-логики.

В платформу BEA включено средство для разработки адаптеров в соответствии со спецификацией JCA - Adapter Developer Kit (ADK). Платформа BEA также предоставляет возможность написания адаптеров Event Adapters, позволяющих реагировать на изменения внутри внешней системы и передавать события на уровень бизнес-логики. Кроме того, так как архитектура JCA является стандартной и входит в J2EE 1.3, разработка адаптеров достаточно активно ведется многими фирмами - для большинства систем они уже разработаны.

Данный уровень отвечает также за взаимодействие с базами данных. Для решения этой задачи используются стандартные функциональные возможности, предоставляемые J2EE: использование JDBC-вызовов (т. е. стандартизированного API для работы с БД) и использование Entity EJB CMP (т. е. EJB-компонентов, за сохранение состояния которых отвечает EJB-контейнер).

Комплексная аналитика - основа бизнес-стратегии
Подсистема ведения нормативно-справочной информации является обеспечивающей подсистемой, предназначенной для ведения и получения общих справочников, например номенклатуры МТР и т. п. (общими считаются справочники, используемые более чем одной функциональной подсистемой). В дальнейшем наша НСИ вполне может вырасти в масштабную многоуровневую подсистему, ну а на первых порах, поскольку изначально у описанной в задании компании ее не было вовсе, брешь может закрыть база данных с возможностью загрузки в нее необходимых справочников и с ограниченными возможностями их ведения и редактирования. При этом, как уже говорилось, сама бизнес-логика работы подсистемы НСИ может быть полностью реализована средствами интеграционной платформы.

Подсистема информационно-аналитического обслуживания (ИАО) руководства компании строится по технологии OLAP в виде самостоятельного комплекса, опирающегося на данные, извлекаемые из всех функциональных подсистем, в задачу каждой из которых, как правило, входит генерация отчетов по своей области. OLAP-подсистема ИАО может производить комплексный анализ, опираясь на все данные, имеющиеся у нашей гипотетической компании и ее партнеров. Таким образом, руководство компании получает возможность производить анализ зависимостей между самыми разными областями деятельности, что неосуществимо при использовании только отчетности, генерируемой внутри функциональных подсистем.

Если говорить об очередности решения этих двух задач (создания НСИ-подсистемы и OLAP-подсистемы), следует отметить их тесную взаимосвязь со всеми остальными. Решая задачу интеграции, мы тем самым помогаем решить также и задачу создания OLAP-подсистемы, и задачу создания подсистемы НСИ. Постольку мы уже связали все наши автоматизированные подсистемы, мы можем теперь организовать сбор данных из них для OLAP-подсистемы. То есть построить хранилище данных, которое будет пополняться через интеграционную платформу, и поставить над этим хранилищем данных наш аналитический инструмент. Проблема НСИ решается аналогично. Если у нас интеграция по данным осуществилась, мы соответственно теперь имеем доступ ко всем справочникам, хранящимся в различных системах. И не только в рамках нашего предприятия - какие-то справочники могут вестись у наших поставщиков, а также у наших постоянных клиентов. При желании мы можем контролировать все исправления и обновления: средствами платформы можно синхронизировать все изменения данных.

Выгоды нового положения
Какие перспективы открываются перед нашей гипотетической компанией, остановившей свой выбор на BEA-платформе?
  - Поскольку данное решение опирается не столько на конкретного производителя, сколько на J2EE-стандарт, активно поддерживаемый и продвигаемый на мировом рынке, наша компания получает теперь достаточно высокую степень независимости в дальнейшем выборе поставщиков продуктов и услуг.
  - Инструментарий и конструктивные особенности BEA-платформы обеспечивают нашей компании наилучшие условия для высококачественной разработки отдельных функциональных решений собственными силами.
  - В плане обучения персонала стоимость решения очень низка: настоящим и будущим ИТ-специалистам нашей компании необходимо изучить всего три продукта: WebLogic Portal, WebLogic Integration и WebLogic Server, причем вполне вероятно, что в самом недалеком будущем изучать надо будет не три, а всего один продукт (компания BEA Systems давала такого рода обещания).
  - Масштабируемость информационной системы нашей компании при таком решении практически неограниченная. В дальнейшем можно интегрировать в нее все новые и новые функциональные компоненты, исходя из текущих потребностей бизнеса и требований подразделений.
  - Процесс интеграции новых приложений, равно как и замена имеющихся, не требует сколько-нибудь значительных финансовых и трудовых затрат. Поскольку BEA-платформа по сути - единая "информационная шина", для интеграции новой подсистемы потребуется только один адаптер.
  - На смену "лоскутной" автоматизации, требующей многочисленного обслуживающего персонала и сложных процедур по синхронизации данных, пришла единая информационная система, "провязавшая" все информационные стыки между ИС, следовательно, у нашей компании сократились затраты на сопровождение и плюс к тому резко снизился риск рассогласования данных и нарушения информационной целостности.
  - Появилась возможность повышения квалификации ИТ-персонала за счет освоения методов объектного проектирования и разработки компонентных приложений в многозвенных архитектурах, что существенно повысило для данных специалистов мотивацию работы в компании.
  - Вооружившись НСИ- и OLAP-системами и располагая совершенным инструментарием контроля и настройки бизнес-процессов, руководство компании теперь намного эффективнее может осуществлять оперативное управление бизнесом.
  - Стратегией компании теперь становится дальнейшее поэтапное инвестирование развития информационных технологий - наращивание функциональности при сохранении интегрированности системы. ИС компании растет и развивается параллельно с развитием бизнеса, не теряя при этом своей целостности.

 
сетевой форум
архив
подписка на журнал
о сетевом

подписка на новости

подписка на журнал

архив номеров

архив новостей