JBI

Z FI WIKI
Verze z 26. 9. 2006, 22:03; 62.4.97.193 (diskuse)

(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

JBI (Java Bussines Integration)

Co je JBI

Java Bussines Integration je specifiakce definovaná organizací Java Community Process (JSR 208) jako standard pro integraci SOA systémů.

Definuje integrační kontejner - prostředek, který umožňuje nekompatibilním SOA systémům navzájem komunikovat. JBI vzniklo jako reakce na výrazný nárůst systémů postavených na architektuře SOA, které potřebují navzájem interagovat, příčemž tato interakce je kvůli absenci podobné specifikace často řešena nestandardními způsoby.

Pro popis služeb používá WSDL.

Komponenty

JBI je rozšiřitelné pomocí komponent dvou typů: Binding Components (BC) a Service Engines (SE).

Binding Components

Jádrem funkcionality integračního kontejneru je vytvořit běhové prostředí, ke kterému se budou moci jednotlivé SOA systémy moci připojit přes nějaké rozhraní a komunikovat s ním po svém. Toto rozhraní pak zprávu zkonvertuje do formátu standardizovaného pro JBI kontejner.

Pokud se k takovému kontejneru připojí více různých SOA systémů, můžou spolu bezešvě komunikovat, jelikož JBI zkonvertuje příchozí zprávy do svého standardizovaného formátu a odchozí naopak do formátu specifického pro příjemce.

Tato rozhraní se nazývají Binding Components (BC). Autorům systémů, které mají být integrovány tedy stačí naimplementovat BC pro svůj systém. S implementacemi JBI jsou typicky dodávány BC pro SOAP/HTTP, JMS.

Service Engines

Mimo interakci s okolím může být zpráva v rámci JBI kontejneru dále zpracována. K tomuto účelu zavádí JBI specifikace komponenty typu Service Engine (SE). Příkladem může být XSLT transformace obsahu zprávy.

Service Units

Service Assemblies

Stručný přehled funkcionality JBI

  • vytvoření běhového prostředí pro JBI komponenty (tedy pro Service Engines a Binding Components)
  • směrování požadavků komponent v rámci JBI kontejneru
  • spolehlivé doručování požadavků komponent v rámci JBI kontejneru
  • zajištění životního cyklu komponent (deploy, start, stop, shutdown, undeploy, ...)

Co není JBI

JBI bývá často považováno za Enterprise Service Bus (ESB), to ovšem není pravda. JBI definuje pouze integrační kontejner v rámci ESB systému. Na rozdíl od ESB ovšem nespecifikuje:

  • distributivitu komunikačního prostředí (více kontejnerů na více strojích dohromady tvořících jeden logický systém)
  • centralizovanou administraci více kontejnerů
  • spolehlivé komunikační prostředí mezi kontejnery

Implementace

  • Open-ESB - Sunovská implementace ESB s integrovanou podporou JBI
  • Petals - Implementace od ObjectWebu
  • ServiceMix - Implementace Apache

Zdroje