За последние годы концепция использования Web-служб сильно изменилась: от глобальных проектов акценты сместились в сторону внутрикорпоративного использования.

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

Web-службы: концепция в развитии

Изначально технология Web-служб была заявлена как набор сервисов, предназначенных для создания глобальных каталогов на базе UDDI, но эта идея в связи со сложностью ее воплощения в жизнь так и не нашла широкого применения. В дальнейшем же популярность набрали идеи использования Web-служб для создания и развития внутрикорпоративных ИС. И именно они становятся сегодня главной движущей силой развития этой технологии.

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

упрощенный механизм взаимодействия приложений — вне зависимости от используемых ими технологических платформ и оборудования, а также от их местонахождения;
применение стандартных отраслевых протоколов, т. е. в отличие от целого ряда “proprietary”-решений не требуется внедрения общей платформы;
использование Интернета для снижения стоимости коммуникаций как альтернативы частным сетям и закрытым решениям (EDI, B2B), возможность задействования любой другой транспортной инфраструктуры;
слабая связанность — нет необходимости применения одной и той же технологии на обоих концах линии (как этого требуют, например, EAI-платформы), так как в основе взаимодействия лежат XML-протоколы и интерфейсы;
поддержка сценариев со множественными связями и разделением информации, аналогичных по возможностям таким технологиям, как EAI, EDI, B2B, порталы;
уменьшение сложности разработки за счет наличия хорошо документированной спецификации сервисов, которую можно запросить программным путем;
предоставление механизма обнаружения поставщиков Web-сервисов, который может быть автоматизирован (UDDI).

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

Внутрикорпоративное использование:источники снижения затрат

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

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

Web-сервисы и централизованная архитектура

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

В первом случае приложения, установленные на местах, обычно реализованы как “толстый” клиент, который взаимодействуют с локальным сервером (филиала или центра), а для синхронизации данных используется ежедневная репликация. Безусловными преимуществами этого подхода являются возможность автономной работы и высокая производительность в локальном режиме. Очевидные недостатки — неоперативный обмен данными, ограниченная гибкость системы (обновления требуется внедрять в центре и во всех филиалах), а также высокая стоимость инфраструктуры филиала, включая серверное оборудование и ПО, администрирование сервера и репликаций.

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

Главными недостатками при централизации можно назвать высокие требования к каналу связи и невозможность работы в офлайновом режиме. Но при опоре на Web-службы для доступа могут использоваться любые имеющиеся каналы связи, в том числе Интернет, при этом для защиты сеанса связи применяется SSL. Для обеспечения взаимодействия модулей системы между собой и их интеграции с внешними приложениями в качестве единой точки входа на сервер бизнес-логики задействуют Web-сервис. В качестве клиентского интерфейса на местах может выступать “толстый” клиент с кэшированием данных (смарт-клиент), который имеет полноценный интерфейс и устойчиво работает даже на недостаточно качественных каналах связи, в том числе dial-up. Для отделений, где проблема коммуникаций стоит особенно остро, возможна реализация полностью офлайнового клиента.

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

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

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

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

Задача 2. Создание разветвленной филиальной сети на базе средних и мелких партнеров для доставки продуктов и услуг в регионы: страхование и другие бизнес-услуги, дилерские сети.

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

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

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

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

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

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

Задача 4. Развитие филиальной сети, расширение существующей инфраструктуры.

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

Стратегия эволюционного развития

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

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

Под эволюционным развитием ИТ в направлении использования Web-служб мы понимаем применение открытых стандартов в ходе плановых модификаций информационных систем, например:

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

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

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

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

С чего начать

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

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

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

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

С автором, техническим директором компании “Аплана”, входящей в группу компаний “АйТи”, можно связаться по адресу: Ag@aplana.com.

Развитие ИТ-инфраструктуры с использованием Web-служб:
источники снижения затрат при решении технологических задач
ЗАДАЧИ
РЕШЕНИЕ С ИСПОЛЬЗОВАНИЕМ WEB СЛУЖБ
ИСТОЧНИКИ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ, СНИЖЕНИЯ ЗАТРАТ
1. Интеграция разнородных приложений, разработка интерфейсов взаимодействия
Единый, независимый от разработчика стандарт интерфейса обеспечивает простую расширяемость и высокую гибкость системы. Интеграция с другими существующими приложениями может осуществляться в том числе силами сторонних разработчиков, например ИТ-службами партнеров. Платформенная и языковая независимость
Простота интеграции. Интеграция разнородных систем, возможности по расширению. Быстрая модификация приложений
2. Сoздание среды коммуникаций для обеспечения взаимодействия приложений в защищенном режиме. Решение проблемы передачи больших объемов данных
Использование существующей транспортной инфраструктуры. Использование Интернета как среды интеграции - передача данных по открытым каналам в защищенном режиме (HTTPS, WS-Security). Сокращение объема передаваемых данных в 1,5-2,5 раза (по сравнению с XML) за счет передачи данных в бинарном виде и применения технологии WS-Attachments
Снижение стоимости коммуникаций и возможность быстрого подключения тысяч организаций разного масштаба (в том числе мелких) за счет использования существующей транспортной инфраструктуры Internet или других каналов коммуникаций
3. Повышение производительности, масштабируемость
Возможность постепенного увеличения количества серверов, обслуживающих Web-сервис. Возможность перенести высоконагруженные функции на отдельный сервер практически без переделки системы
Возможность использования имеющегося оборудования и проверенных технологий, успешно использующихся для масштабирования Web-серверов