Java Business Integration: Difference between revisions

Content deleted Content added
No edit summary
Removing link(s) to "Apache ServiceMix": Removing links to deleted page Apache ServiceMix.
 
(128 intermediate revisions by 95 users not shown)
Line 1:
{{Short description|Java specification}}
'''Java Business Integration''' ('''JBI''') is a specification developed under the [[Java Community Process]] (JCP) for an approach to implementing a [[Service_oriented_architecture|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 Service]]s thatmodel and provides a pluggable architecture tofor 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|Web Services Description Language 2.0]]. The central message delivery mechanism, the normalized message router (NMR), delivers normalized messages via one of four message[[Message exchangeExchange patternsPattern]]s (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.
 
# '''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 providersprovider'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 componentsservice 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.<ref>[https://coresumo.com/difference-between-c-vs-c-vs-python-vs-java/ Difference Between C vs C++ vs Python vs Java]</ref>
 
== JBI implementations ==
The following [[open-source software]] JBI based [[Enterprise Service Bus|ESB]] implementations are available:
* [[Open ESB]]
* [[Petals ESB]]
* Apache ServiceMix
* [[FUSE ESB]] (enterprise ServiceMix) - compliant JSR 208
* [[Mule (software)|Mule]]. Though not a JBI compliant container by itself, Mule provides interoperability with JBI containers. There is a separate Mule-JBI project that is to address this JBI compliance issue.
 
The following ESBs are certified by the JBI/JSR 208 TCK: [[Open ESB]] and [[Petals ESB]].
Although JBI is intended for use with [[Enterprise Service Bus]], its adoption has not been accepted by the larger [[Java EE]] vendors that have their own ESB / ESB ready products [http://www.javaworld.com/javaworld/jw-11-2004/jw-1101-iw-jbi_p.html]. There are however [[open-source software]] JBI based ESB implementations available:
 
In addition, the Project [[GlassFish]] open-source Java EE application server comes with the JBI runtime from the [[OpenESB|Open ESB]] project.
* [http://petals.objectweb.org/ ObjectWeb Petals]
* Apache [[ServiceMix]] [http://servicemix.org/ home page]
* [[Mule (software)|Mule]] [http://mule.codehaus.org/ home page]
* [[Open-ESB]] [https://open-esb.dev.java.net/ home page]
* Celtix [http://celtix.objectweb.org/ home page]
 
[[Java EE]] SDK also includes the JBI runtime and a [[BPEL]] orchestration engine.
In addition, the Project [[GlassFish]] ([https://glassfish.dev.java.net home page]) open-source Java EE application server includes a service engine that bridges between Java EE containers ([[EJB]] and [[Servlet]]) and JBI, such that EJBs and Servlets can interact with JBI components without modification.
 
Oracle <!-- change this to a reference [http://www.oracle.com/corporate/press/2006_oct/openworldsf06-07.html?rssid=rss_ocom_pr claims] --> claims its Fusion Middleware comes with JBI implementation. {{Citation needed|date=May 2014}}
== See also ==
 
[[TIBCO]] ActiveMatrix Service Grid provides a service container framework, based on the JSR 208 and [[Service component architecture|SCA]] specifications ([[Service Component Architecture]]), allowing service containers (Java, Java EE, .net, BPEL) to be added as needed, as composite applications on a common foundation.
* [[Enterprise Service Bus]] solutions offered by several [[Java platform]] vendors.
 
== ExternalExisting linksJBI Components ==
Open JBI Components project on java.net is an incubator project started to foster community-based development of JBI components that conform to the Java Business Integration specification (JSR 208).
 
==Books==
* [http://www.jcp.org/en/jsr/detail?id=208 JSR 208]
*Binildas A. Christudas, "Service-Oriented Java Business Integration" (Packt Publishing: Feb 2008, {{ISBN|1-84719-440-0}}; {{ISBN|978-1-84719-440-4}}), http://www.packtpub.com/service-oriented-java-business-integration
 
== See also ==
* [[Enterprise Service Bus]] solutions offered by several [[Java platform]] vendors.
*[[Service Component Architecture]] (SCA)
 
==References==
{{Reflist}}
 
==External links==
*[http://jcp.org/aboutJava/communityprocess/final/jsr208/index.html JSR 208 specification on the JCP site]
* [http://www.jcp.org/en/jsr/detail?id=208312 JSR 208312 page on the JCP site]
*[http://www.osoa.org/display/Main/Relationship+of+SCA+and+JBI Open SOA article on JBI's relationship to SCA]
*[https://download.oracle.com/otndocs/jcp/jbi-1_0-pfd2-spec-oth-JSpec/ Java Business Integration Specification.]
 
[[Category:Java enterprise platform|Business Integration]]
[[Category:Java specification requests|Business Integration]]
[[Category:Service-oriented architecture-related products]]
 
[[fr:Java Business Integration]]