Проблемы построения корпоративных информационных систем на основе web-сервисов

УДК 004.048: 007.51

ПРОБЛЕМЫ ПОСТРОЕНИЯ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

НА ОСНОВЕ WEB-СЕРВИСОВ

Я.Е. Львович, И.Я. Львович, Н.В. Волкова

В статье рассматриваются подходы к обеспечению интероперабельности при реализации корпоративных информационных систем на основе web-сервисов

Ключевые слова: web-сервисы, компонентно-ориентированное программирование, корпоративные

информационные системы

Component-oriented programming (Компонентноориентированное программирование) становится сейчас более популярным, чем когда-либо. Вряд ли найдется разработанное сегодня приложение, которое не использует компонентные средства, как правило, от различных поставщиков [3]. Чем сложнее становятся современные приложения, тем больше потребность в использовании компонентов, распределенных на удаленных машинах.

Очень часто сервисы, используемые web-приложениями, вообще размещены не в информационном центре. На практике соответствующие технологии ограничены приложениями и компонентами, установленными в корпоративном информационном центре [2]. Так, в процессе практической реализации были исследованы возможности мастеров создания и использования сервисов интегрированных в MS SharePoint Server 2010. Обнаружено, что в отличие от MS SharePoint Server 2007, использовать сервисы можно только в привязке к MS SQL Server.

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

маршрутизаторов и брандмауэров для запрета большинства типов связи посредством Интернета.

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

Львович Яков Евсеевич - ВИВТ, д-р техн. наук, профессор, тел. (473) 272-73-63

Львович Игорь Яковлевич - ВИВТ, д-р техн. наук, профессор, тел. (473) 272-73-63

Волкова Наталья Владимировна - ВИВТ, канд. физ.-мат. наук, тел. (473) 272-76-74

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

Рассмотрим общие требования, которым должен отвечать сервис для достижения поставленной цели по доставке данных.

- Интероперабельность. Удаленный сервис должен иметь возможность выполняться клиентами, функционирующими на разных платформах.

- Взаимодействие в сети. Система должна надежно работать с клиентами, которые используют удаленный доступ через Интернет.

- Строго типизированные интерфейсы. Не

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

программирования.

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

- Поддержка любого языка. Система не должна быть сильно привязана к конкретному языку программирования. Клиент должен иметь возможность реализовать новый web-сервис или использовать существующий независимо от языка программирования, на котором клиент был написан.

- Обнаружение. Приложению-клиенту, которому нужен доступ к функциям,

предоставляемым web-сервисом, необходим способ определения местоположения удаленного сервиса.

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

- Формат сообщения. Для того чтобы обмениваться данными, клиент и сервер должны согласовать общий способ кодирования и форматирования сообщений. Стандартный способ кодирования гарантирует, что данные, кодированные клиентом, будут должным образом интерпретироваться сервером.

- Кодирование. Данные, передаваемые между клиентом и сервером, необходимо кодировать для включения в тело сообщения.

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

Алгоритм работы посредством сервисов в однородных информационных системах достаточно прост и не вызывает трудностей у разработчиков. Однако следует заметить, что некоторые ключевые элементы инфраструктуры разработки

распределенных компонентов (взаимодействующих в рамках КИС) не описываются web-сервисами.

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

Web-сервисы, содержащиеся в

инфраструктурах распределенного компонента, не имеют таких возможностей как управление жизненным циклом удаленного (remote) объекта, пулинга объектов и поддержки распределенных транзакций.

Некоторые сервисы, такие как поддержка распределенных транзакций, могут быть эксклюзивно введены позже, как

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

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

Очевидно, что данный подход и предложения вендоров, являющихся определяющими для направлений деятельности разработчиков при проектировании КИС, являются противоречащими целям данной работы в части создания крупномасштабных гетерогенных

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

Также становится понятной популярность документоориентированных информационных систем, наиболее подходящих для обмена XML и другими типами документов [3]. Безусловно, такой подход удобен для пользователей в крупных (в том числе корпоративных) предприятиях. Также становится понятным, что эффективность работы может быть обеспечена только в однородных информационных системах, что согласуется с маркетинговой политикой разработчиков.

Очевидно, что работа удаленных узлов в части обмена данными в однородной корпоративной среде (в том числе многоуровневой, при иерархической структуре корпоративного предприятия) вполне прозрачна. web-сервисы, полученные из библиотеки UDDI равноценны для различных узлов. При использовании собственных сервисов, работа последних, разработанных в одном месте для конкретной КИС, хорошо согласована.

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

Наиболее очевидным и важным недостатком современных КИС является отсутствие

механизмов работы с динамическими наборами данных и автоматизация их сбора на тактическом и стратегическом уровнях.

На основании проведенных теоретических и практических исследований представляется

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

Для решения определенных практически проблемных вопросов и реализации прототипа многоуровневой КИС без изменения функциональной модели и архитектуры был проведен анализ способов возможного взаимодействия корпоративных узлов в гетерогенной среде. Наиболее целесообразным было определено взаимодействие корпоративных узлов посредством браузеров.

Web-приложения, основанные на HTTP, по своей сути не зависят от состояния соединения (stateless), точнее от непрерывности соединения между клиентом и сервером. Это делает HTTP идеальным протоколом для систем с высокой степенью готовности. Если сервер, который обрабатывает исходный запрос клиента, становится недоступным, последующие запросы могут автоматически, без участия клиента, перенаправляться на другой сервер, для последующего перенаправления на сервер назначения по алгоритму Белмана-Форда.

Современные системы управления базами данных (СУБД) определяют структурированный язык запросов (SQL) как единый стандарт работы с данными [1]. Несмотря на некоторые различия в предоставлении функциональных возможностей, синтаксис запросов принципиально одинаков. Также отметим, что вывод результирующих наборов данных можно опубликовывать в браузерах посредством веб-страниц. В свою очередь наиболее популярные браузеры, такие как IE, Opera, FireFox, Chrom, Safari являются совместимыми в части отображения динамических наборов данных. То есть, при использовании в гетерогенной корпоративной среде указанных браузеров и таких СУБД как Oracle, SQL, MySQL, FireBird, DB, Sybase и других, на соответствующих платформах, обеспечивается корректное отображение динамических наборов данных посредством браузеров.

Для корректного отображения данных в различных браузерах необходимо использовать табличный дизайн, что рекомендуется в качестве

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

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

своевременному принятию решений и оперативному регулированию производственных вопросов.

Литература

1. Бурков А.В. Проектирование информационных систем по технологии клиент-сервер в Microsoft SQL Server 2008 и Microsoft Visual Studio 2008. МГУ, 2009, 194 с.

2. Столбовский Д.Н. Основы разработки Интернет приложений и Web сервисов на основе ASP.NET. ГТУ, 2008, 256 с.

3. Эхтер Ш., Робертс Д. Многоядерное программирование. Питер, 2010, 320 с.

Статья подготовлена по материалам научноисследовательского проекта «Разработка

технологии создания многоуровневых web-ориентированных систем нового поколения», в рамках Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России»

Воронежский институт высоких технологий

SOME PROBLEMS OF THE CONSTRUCTION OF CORPORATE INFORMATION SYSTEMS

ON THE BASIS OF WEB-SERVICES

Y.E. Lvovich, I.Y. Lvovich, N.V. Volkova

In this article the approaches to interoperability maintenance at realization of corporate information systems on the basis of web-services are considered

Key words: web-services, component-oriented programming, corporate information systems