Фреймворк реализации сервис-ориентированной архитектуры - Service-oriented architecture implementation framework
Эта статья не цитировать любой источники.Октябрь 2007 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Сервисно-ориентированные архитектуры (SOA) основаны на понятии программные услуги, которые представляют собой программные компоненты высокого уровня, которые включают веб-сервисы. Для реализации SOA требуются инструменты, а также время выполнения программное обеспечение инфраструктуры. Все вместе это называется структура реализации сервис-ориентированной архитектуры или же (SOAIF). SOAIF предусматривает комплексную структуру, которая предоставляет все технологии, которые могут потребоваться предприятию для создания и запуска SOA. SOAIF включает возможности как во время разработки, так и во время выполнения, а также все программные функции, необходимые предприятию для создания и эксплуатации SOA, включая сервис-ориентированные:
По мере того как поставщики стремятся предоставить возможные решения, появляются три различных подхода к интеграции разнородной, разнородной информации и систем на предприятии. Эти структуры реализации должны соответствовать требованиям для слабосвязанных, крупнозернистых, асинхронных служб.
Эффективность
Большинство упакованных корпоративных приложений хорошо справляются с оптимизацией процессов, связанных со стандартными задачами. Однако производительность быстро снижается при автоматизации и оптимизации настраиваемых процессов, охватывающих несколько корпоративных приложений. Процесс сложный, трудоемкий и дорогостоящий в реализации и обслуживании.
Инфраструктура SOAIF решает эту проблему, позволяя определять любой процесс в любой топологии сети, охватывающей несколько границ предприятия. Это достигается с помощью инфраструктуры однорангового обмена сообщениями с распределенными механизмами безопасности, которые обеспечивают эффективный обмен данными для простой реализации, позволяя каждому предприятию применять свои собственные политики безопасности. Это позволяет SOAIF повысить операционную эффективность по всей цепочке создания стоимости. SOA работает по стандартным протоколам.
Интеграция приложений
Существующие комплексные решения для интеграции приложений сложны и требуют значительных усилий по внедрению, часто включая обширное ручное кодирование для целей развертывания. SOAIF обеспечивает встроенную поддержку развертывания сервисов в сети во время выполнения и значительно снижает общие затраты на интеграцию и развертывание приложений за счет автоматизации этих трудоемких процессов. Это также позволяет расширить интеграцию за пределы бизнес-границ.
Разработка и развертывание приложений
В традиционном процессе разработки программного обеспечения преобразование требований в работающие распределенные системы занимает много времени и является сложной задачей, требующей нескольких этапов разработки и развертывания вручную. Эту сложную и подверженную ошибкам задачу можно эффективно оптимизировать с помощью высокоуровневого компонентного SOAIF. SOAIF включает инструменты, позволяющие разрабатывать процессы с использованием таких стандартов, как Язык выполнения бизнес-процессов (BPEL), чтобы их можно было легко преобразовать в распределенные высокоуровневые сервисы, которые легче разрабатывать, манипулировать и отлаживать. Эти службы легко объединяются в потоки данных на уровне реализации, при этом пользователю или разработчику не нужно отслеживать сложные концепции промежуточного программного обеспечения, такие как темы или очереди. Кроме того, службы уровня реализации могут работать на любом компьютере в сети благодаря встроенной поддержке динамического развертывания, предоставляемой SOAIF. Сочетание сервис-ориентированных инструментов и встроенной поддержки распределенной отладки, трассировки и ведения журнала во время выполнения и динамического развертывания позволяет SOAIF значительно сократить время, необходимое для реализации и доставки рабочих процессов.
Требования SOAIF
SOAIF - это инфраструктурная платформа общего назначения, которая позволяет разработчикам и бизнес-аналитикам создавать, развертывать, управлять и изменять процессы внутри и внутри предприятия. SOAIF предъявляет уникальные требования как к инструментам, так и к уровням инфраструктуры, которые обычно не предоставляются какой-либо отдельной современной технологией или платформой. К ним относятся:
- распределенная архитектура с поддержкой событий,
- гибкость за счет сервисных процессов,
- поддержка корпоративных стандартов (Отказоустойчивость, надежность и масштабируемость ),
- безопасность в распределенная среда,
- визуальная композиция и мониторинг процесса,
- быстрые изменения процесса.
Удовлетворяя эти требования, SOAIF позволяет пользователям быстро реагировать на изменения и эффективно интегрировать операции, независимо от платформы, языка, базы данных или приложения.
Распределенная архитектура с поддержкой событий
Корпоративные процессы обычно распределены по множеству приложений и программно-аппаратных систем. Эти процессы также основаны на событиях в том смысле, что подпроцессы связаны серией событий. Например, истощение запасов у производителя может привести к событию-триггеру, которое автоматически генерируется и распространяется на одного или нескольких поставщиков для пополнения истощенных запасов.
Самый актуальный BPM решения управляют процессами через централизованный хаб. Для внесения изменений в приложения или добавления новых приложений требуются модификации в централизованном концентраторе. Далее все обмен данными между приложениями необходимо пройти через центральный концентратор. Этот тип ограничения топологии неэффективен, негибок и приводит к возникновению узких мест. Чтобы преодолеть это ограничение, структура, которая пытается интегрировать корпоративные процессы, должна быть полностью распределена по сети внутри предприятия. Платформа также должна быть симметричной, что означает, что одно и то же программное обеспечение и инструменты инфраструктуры, основанной на событиях, должны работать на всех машинах в рамках предприятия.
Поддержка корпоративных стандартов
Поддержка обмена данными, сообщениями и существующих корпоративных стандартов становится важной в SOAIF. Поскольку партнеры должны обмениваться контентом, сообщения и документы XML будут в желаемом формате. Кроме того, поскольку большинство предприятий хотят использовать существующие инфраструктуры, SOAIF должен легко поддерживать несколько стандартов.
Отказоустойчивость, надежность и масштабируемость
SOAIF должен быть в состоянии предложить очень высокую степень надежности. Платформа должна поддерживать широкий спектр процессов, охватывающих все большее количество приложений, корпораций и партнеров. Устранить единые точки отказа а для максимальной производительности полностью распределенная архитектура становится важным.
Безопасность в распределенной среде
SOAIF должен быть полностью распределен для максимальной производительности и масштабируемости. В такой распределенной вычислительной среде становится необходимым ограничить объем взаимодействий, которые партнеры могут проводить с корпоративной ИТ-инфраструктурой. Становится необходимым разрешить настройку взаимодействия каждого партнера, предоставив различные роли безопасности для каждого пользователя и каждой службы. Для этого требуется модель безопасности, которая включает пользователей, веб-сервисы и более общие корпоративные сервисы, а также полностью распределенную и отказоустойчивую, такую как сама инфраструктура SOAIF. Эта модель безопасности должна быть основана на существующих стандартах и инструментах и должна поддерживать аутентификацию сертификата как на уровне пользователя, так и на уровне служб.
Визуальная композиция процесса
SOAIF должен обеспечивать единую панель мониторинга с видимостью всей распределенной вычислительной среды организации. Платформа должна включать в себя инструменты визуальной реализации-компоновки процессов вместе с поддержкой на уровне инфраструктуры для мгновенного развертывания смоделированных процессов уровня реализации в распределенной корпоративной сети. Инструменты визуальной композиции должны быть сервис-ориентированными в том смысле, что они могут напрямую управлять высокоуровневыми крупномасштабными процессами реализации как первоклассными объектами. Они также должны обеспечивать визуальное отображение программных конструкций и иметь возможность напрямую (и естественно) отображать развертываемые процессы.
Критическая проблема при развертывании распределенных систем - это мониторинг и отладка одновременно выполняющихся процессов. SOAIF должен обеспечивать встроенную поддержку трассировки, регистрации и мониторинга любого процесса или службы в распределенной среде.
Изменения в процессе
Еще одна проблема - реагирование на меняющиеся требования. SOAIF должен обеспечивать поддержку инкрементальной модификации на лету потоков на основе служб, реализующих процессы. Это одна из наиболее важных функций, ожидаемых от SOAIF, поскольку она позволяет аналитикам визуально изменять и мгновенно повторно развертывать процессы для удовлетворения динамических требований. Такие изменения реализуются в SOAIF путем абстрагирования всех концепций, относящихся к промежуточному программному обеспечению нижнего уровня, на уровнях инструментов и приложений.
Пользователи просто указывают, что служба должна быть заменена другой работающей службой (часто на другом компьютере); SOAIF динамически перенаправляет данные в новую службу, настраивая новые базовые конструкции промежуточного программного обеспечения (например, темы и очереди) на лету. Это позволяет изменять реализацию, не останавливая текущий процесс, почти так же, как обновляется оборудование в системе мэйнфрейма без прерывания операций.
Компоненты SOAIF
Важнейшие элементы SOAIF включают инфраструктуру времени разработки и выполнения, а также сервис-ориентированные инструменты для развертывания распределенных процессов и потоков реализации.
Сервисная шина предприятия
Основная инфраструктура SOAIF обычно предоставляется служебная шина предприятия (ESB), который решает проблемы создания, развертывания и управления распределенными корпоративными приложениями на основе сервисов. ESB включает основанную на стандартах магистраль обмена сообщениями корпоративного класса, а также расширенные возможности подключения систем с помощью веб-служб, Java EE, .NET Framework, и другие стандарты.
Один из подходов, который способствует оптимальной реализации SOA, - это использование Сервисная шина предприятия (ESB) для предоставления инфраструктурного элемента для распределенных сервисов в сети. Подход ESB к интеграции рассматривает системы как дискретные распределенные сервисы, которые подключаются друг к другу через асинхронную коммуникационную инфраструктуру, ориентированную на сообщения. Инфраструктура, ориентированная на сообщения, обеспечивает слабосвязанный, ориентированный на документы обмен между независимыми системами.
ESB предоставляют критически важные компоненты инфраструктуры, которые упрощают и масштабируют подходы к интеграции. Однако ESB не обеспечивают необходимой интеграции для удовлетворения бизнес-требований высокого уровня. ESB также не предоставляют гарантий Слабая связь и грубая детализация для удовлетворения растущих потребностей в сфере обслуживания. Внедрение ESB для удовлетворения требований SOA требует добавления дополнительных функций для компоновки детализированных атомарных сервисов в общие бизнес-сервисы и обеспечения управляемых политиками, управляемых и безопасных взаимодействий сервисов.
ESB объединяет отдельные предприятия для повышения эффективности процессов в цепочка поставок, что позволяет им стать более гибкими и адаптируемыми к быстро меняющимся требованиям. ESB позволяет предприятию использовать свои предыдущие инвестиции, поддерживая развертывание процессов в существующей программной и аппаратной инфраструктуре. В качестве базовой базовой инфраструктуры SOAIF ESB предлагают несколько уникальных деловых и технических преимуществ:
- поддержка корпоративных стандартов,
- отказоустойчивость, масштабируемость и надежность,
- сервисные инструменты,
- простота развертывания и изменения процессов,
- безопасность на уровне компонентов,
- мониторинг во время выполнения, трассировка и ведение журнала.
Управление бизнес-процессами
Управление бизнес-процессами (BPM) рассматривает системы и ИТ-активы как действия или задачи, которые участвуют в хорошо скоординированных и централизованно управляемых Деловые процессы. Традиционно проблема BPM заключается в том, что, хотя можно построить процессы, которые достигают целей интеграции, предприятия обычно используют инструменты BPM только во время разработки, моделируя процессы такими, какими они были раньше, или процессы такими, какими они должны быть, но редко обрабатывают так, как они на самом деле находятся в ИТ-среде.
Таким образом, хотя решения BPM могут создавать согласованные процессы, состоящие из детализированных сервисов, они не содержат среды выполнения, необходимой для слабо связанных асинхронных взаимодействий сервисов. По крайней мере, решение BPM должно использоваться в сочетании со слабосвязанным подходом к интеграции, чтобы обеспечить выполнение операций времени выполнения бизнес-процессов, координирующих интеграцию. Таким образом, одного решения BPM недостаточно для удовлетворения требований SOA.
Сервис-ориентированная интеграция
В сервис-ориентированная интеграция (SOI) подход использует архитектурные руководящие принципы ориентации сервисов для построения экосистемы Услуги что бизнес-пользователи могут динамически комбинировать и компоновать в высокоуровневые процессы отвечающие постоянно развивающимся и меняющимся требованиям бизнеса. Подходы SOI превосходят хрупкие, тесно связанные EAI и подходы к интеграции «бизнес-бизнес», предусматривающие отделение потребителя каждой службы от производителя этой службы, тем самым усиливая критический аспект слабой связи, необходимой для того, чтобы сценарий интеграции мог автоматически развиваться в соответствии с требованиями бизнеса.
SOI не дает никаких указаний по созданию сервисов, отвечающих текущим бизнес-требованиям, и не предоставляет средств для выполнения сервисов наиболее эффективным и масштабируемым образом, чтобы гарантировать длительное взаимодействие.
Поддержка корпоративных стандартов
ESB реализуют стандартизированные интерфейсы для связи, подключения, преобразования, безопасности и переносимости. Поддерживаемые стандарты включают:
- JMS для общения,
- веб-сервисы, Java EE, и .СЕТЬ для подключения к различным системам,
- XSLT и X-запрос для преобразования,
- LDAP, TLS для обеспечения безопасности.
Современные реализации ESB обычно поддерживают разработку на нескольких языках. Это, в сочетании с изначально переносимой инфраструктурой ESB, делает ESB настоящей многоязычной мультиплатформенной магистралью предприятия и идеальной основой для SOAIF.
Отказоустойчивость, масштабируемость и надежность
Некоторые современные ESB реализуют симметричную распределенную архитектуру, в которой одноранговые серверы обмена сообщениями работают на нескольких узлах корпоративной сети, обеспечивая высокомасштабируемую, надежную распределенную платформу обмена сообщениями без единой точки отказа. Современные архитектуры ESB сочетают в себе преимущества централизованного управления с распределенным параллельным потоком данных, предоставляя разработчикам приложений максимальную гибкость в определении выбранной топологии сети для прямой и оптимальной маршрутизации данных между службами.
Обеспечение того, чтобы данные, передаваемые между службами, не всегда проходили через центральную точку в сети, оптимизирует производительность одноранговой сети. Например, если у кого-то есть процесс, который требует обмена данными между Нью-Йорком и Бостоном, а также между Сан-Франциско и Лос-Анджелесом, то два потока данных не обязательно должны проходить через концентратор обмена сообщениями, расположенный в Чикаго (который является часто имеет место в большинстве корпоративных или межкорпоративных развертываний). Вместо этого эффективность диктует установку прямых соединений потока данных между одноранговыми узлами в сети.
Сервисные инструменты
Сервисно-ориентированные инструменты позволяют составлять распределенные приложения из одной или нескольких служб (веб-службы и более общие корпоративные службы), каждая из которых обычно выполняется в отдельном процессе. Сервисы могут быть написаны на любом языке и общаться друг с другом через сообщения XML. Это позволяет сервис-ориентированным инструментам внутри SOAIF составлять гибкие, легко модифицируемые системы.
Простота развертывания и изменения процессов
Сервис-ориентированные процессы, развернутые в SOAIF, состоят из крупнозернистый Веб-сервисы идеально подходят для легкой замены и замены. Абстрагируя детали маршрутизации сообщений от реализаций сервисов, сервис-ориентированные инструменты отделяют и позволяют изменять запущенные процессы на лету путем простой замены или добавления сервиса. Среда инструментов в SOAIF поддерживает развертывание сервисов во время выполнения, позволяя мгновенно развертывать измененные процессы по сети. Наш опыт показывает, что это значительно снижает затраты на развертывание решения по сравнению с традиционными решениями на базе брокеров.
Безопасность на уровне компонентов
ESB определяет комплексную систему безопасности, предоставляя администраторам полный контроль над тем, какие службы и где выполняются. ESB предоставляют возможность устанавливать несколько атрибутов безопасности для каждой службы и предоставляют инструменты администрирования для настройки параметров безопасности в распределенной инфраструктуре ESB в сети.
Мониторинг, отслеживание и ведение журнала во время выполнения
ESB включают встроенную поддержку уровня обслуживания для мониторинга, трассировки и ведения журнала во время выполнения. Все сервисы можно отслеживать мгновенно с помощью визуальных инструментов SOAIF. Уровни трассировки можно динамически изменять в рамках существующих служб, работающих в сети, а журналы отладки можно направлять в программные инструменты на любом узле. Эти функции значительно упрощают разработку, развертывание и отладку распределенных приложений, работающих через SOAIF.