|
|
||||||||||||||||||||
| Home > SOA News > Standardizing business integration with JBI | |
| SOA News: |
|
||
The Java Business Integration (JBI) specification aims to eliminate vendor lock-in by providing a standard container in which components from multiple vendors and various integration technologies can interact. In this interview, Ten-Hove, who is specification lead for JBI, takes a closer look at JBI and describes a typical JBI implementation using a purchase order example. Can you talk a bit about your role at Sun Microsystems your involvement with the JBI Java Specification Request (JSR) 208? I was involved with JSR 208 before it was even submitted to the Java Community Process. I was initially Sun's member of the expert group, when it was formed in mid-2003. I became co-spec lead of the JSR eight months ago, along with Peter Walker [also of Sun].
What is the JBI specification? The plug-in components can be almost anything. A few examples are: EJB [Enterprise JavaBeans] containers, BPEL4WS [Business Process Execution Language for Web Services] business process engines, XSLT [Extensible Stylesheet Language Transformation] transformation engines, SOAP protocol adapters and EDI [electronic data interchange] protocol adapters. The JBI specification seeks to not impose limits on what components can do, but instead defines a crisp, service-oriented view of all components, allowing them to interact without regard to the underlying implementation. For example, a BPEL4WS business process engine component can use a wide variety of communications protocols, without having specific knowledge of any of them. Where does JBI fit in to the spectrum of other business integration specifications? Can you provide a scenario of how Java 2 Enterprise Edition developers will leverage JBI in real-world applications? This creates many possibilities. For example, EJBs can be "composed" into stateful business processes, using process languages like BPEL. This helps the J2EE developer by allowing him to write business processes using BPEL, rather than embedding the process logic into Java code. The benefits to J2EE developers [and Java developers in general] are really a function of the services provided by the plug-in components. A document transformation engine will give the J2EE developer access to its services. A communications protocol adaptor component will give the J2EE developer access to that protocol. More importantly, the J2EE developer can design his applications without specific knowledge of how such services are provided. The connections between service providers and consumers are made at run-time, not design-time. Lastly, JBI provides the infrastructure and architectural underpinning for migrating to service-oriented architecture. By shifting from creating applications to creating and using services, JBI provides developers with a practical means of realizing the benefits of an SOA. Can you describe the structure of what a typical JBI container would look like?
How would components in a JBI container interact with one another? Can you describe a typical business use case?
In this example, purchase orders can be received by three separate means: SOAP, AS2, and JMS, each of which we have one binding component for. Customers can choose which protocol they wish to use. When a protocol component receives a request, it converts it to a normalized form (a normal representation of an XML message, conformant to abstract WSDL), plus message meta data such as security information, transaction identifiers, etc.) and passes it to JBI. JBI determines which component should supply the desired service, and passes the normalized message along to (in this case) the BPEL engine, which will create a new process instance as just mentioned. If the process needs to transform the received PO to a canonical format, it invokes a transformation service. Again, JBI will determine which component provides the needed service, and route the request to our XSLT engine, and the response (the transformed PO) back to the BPEL engine. The next step in the business process is to check the customer's credit worthiness. The BPEL engine constructs a normalized request, which JBI will route to a suitable service provider, in this case the SOAP binding component. This will form a SOAP request, and send it to the external credit agency we are using to do credit checks. The response is normalized by the SOAP binding component, and JBI returns the response to the BPEL engine. The process continues with more steps for checking inventory, fulfilling the order, arranging shipping, sending ship notices and finally invoicing the customer. The main points are:
What are some products/tools that will support this specification? Design-time tooling is important, to configure components to perform their individual services and tasks. Components will obviously be provided with appropriate tooling. When do you expect the JSR to be ratified and what version of J2EE will it ship in?
'); // -->
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| About Us | Contact Us | For Advertisers | For Business Partners | Site Index | RSS |
|
|
|
|||||||