Введение
Спецификация Java Business Integration (JBI) — это спецификация, разработанная в рамках Java Community Process (JCP) для подхода к реализации архитектуры, ориентированной на сервисы (SOA). Ссылки в JCP: JSR 208 для JBI 1.0 и JSR 312 для JBI 2.0. JSR 312 был отозван инициаторами из процесса голосования JCP 17 декабря 2010 года, не будучи принятым. JBI основана на модели веб-сервисов и предоставляет подключаемую архитектуру для контейнера, в котором размещаются компоненты-поставщики и потребители сервисов. Сервисы подключаются к контейнеру через связывающие компоненты (BC) или могут быть размещены внутри контейнера как часть сервисного движка (SE). Используемая модель сервисов — язык описания веб-сервисов 2.0. Центральный механизм доставки сообщений, нормализованный маршрутизатор сообщений (NMR), доставляет нормализованные сообщения по одному из четырех шаблонов обмена сообщениями (MEP), определенных в WSDL 2.0:
In Only: стандартный обмен сообщениями в одну сторону, при котором потребитель отправляет сообщение поставщику, который предоставляет только ответ о статусе. Robust In Only: этот шаблон предназначен для надежного обмена сообщениями в одну сторону. Потребитель инициирует отправку сообщения, на которое поставщик отвечает статусом. Если ответ — статус, обмен завершен, но если ответ — ошибка, потребитель должен ответить статусом. In Out: стандартный двусторонний обмен сообщениями, при котором потребитель инициирует отправку сообщения, поставщик отвечает сообщением или ошибкой, а потребитель отвечает статусом. In Optional Out: стандартный двусторонний обмен сообщениями, в котором ответ поставщика является необязательным. Для обработки функциональности, связанной с установкой, развертыванием, мониторингом и жизненным циклом компонентов BC и SE, используются Java Management Extensions (JMX). JBI определяет стандартизированную упаковку для BC и SE, обеспечивая переносимость компонентов между различными реализациями JBI без изменений. JBI определяет стандартную упаковку для композитных приложений: приложений, состоящих из потребителей и поставщиков сервисов. Отдельные сервисные модули развертываются в компонентах; группы сервисных модулей объединяются в сервисную сборку. Сервисная сборка включает метаданные для "соединения" сервисных модулей (ассоциации поставщиков и потребителей сервисов), а также для соединения сервисных модулей с внешними сервисами. Это обеспечивает простой механизм для сборки композитных приложений на основе сервисов.
Java Business Integration (JBI) is a specification developed under the Java Community Process (JCP) for an approach to implementing a service oriented architecture (SOA). The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0. JSR 312 was removed from the JCP balloting process on 17 Dec, 2010 by the submitters without being accepted. JBI is built on a Web Services model and provides a pluggable architecture for a container that hosts service producer and consumer components. Services connect to the container via binding components (BC) or can be hosted inside the container as part of a service engine (SE). The services model used is Web Services Description Language 2.0. The central message delivery mechanism, the normalized message router (NMR), delivers normalized messages via one of four Message Exchange Patterns (MEPs), taken from WSDL 2.0:
In Only: A standard one way messaging exchange where the consumer sends a message to the provider that provides only a status response. Robust In Only: This pattern is for reliable one way message exchanges. The consumer initiates with a message to which the provider responds with status. If the response is a status, the exchange is complete, but if the response is a fault, the consumer must respond with a status. In Out: A standard two way message exchange where the consumer initiates with a message, the provider responds with a message or fault and the consumer responds with a status. In Optional Out: A standard two way message exchange where the provider's response is optional. To handle functionality that deals with installation, deployment, monitoring and lifecycle concerns amongst BCs and SEs, Java Management Extensions (JMX) is used. JBI defines standardized packaging for BCs and SEs, allowing components to be portable to any JBI implementation without modification. JBI defines standard packaging for composite applications: applications that are composed of service consumers and providers. Individual service units are deployable to components; groups of service units are gathered together into a service assembly. The service assembly includes metadata for "wiring" the service units together (associating service providers and consumers), as well as wiring service units to external services. This provides a simple mechanism for performing composite application assembly using services.
Существующие компоненты JBI
Открыть проект JBI Components на java.net — это инкубаторский проект, созданный для стимулирования разработки компонентов JBI сообществом в соответствии со спецификацией Java Business Integration (JSR 208).