SoaFaqJbiOpenESBSoaTooling
Introduction to JBI, OpenESB, and NetBeans SOA Tooling
Contents |
1. Java Business Integration (JBI) --- An Archtecture
Java Business Integration (JBI) is a Java based business integration standard defined by the expert group of JSR 208. JBI defines an open, extensible, pluggable platform that enables the collaboration of integration technology (such as business process engines, document transform engines, B2B management, and business rules) with Web services. Key elements of the JBI architecture, shown in the following figure, include:
File:Faq00.gif Key JBI architectural elements
Service Engine (SE)
SEs run business logic in the JBI run-time. SEs are often implemented as a type of container, to which artifacts can be deployed. These artifacts specify business logic in languages like BPEL, XSLT, SQL, and Java.
Binding Component (BC)
BCs handle external interfaces in JBI. BCs are often implemented as a type of container, to which artifacts can be deployed. These artifacts specify protocol/transport processing configuration defined using WSDL with custom extensions, e.g., SOAP/HTTP, File, JMS, SMTP, etc.
Service Assembly (SA)
SA is the standard deployment package for a SOA application. It is like an application EAR or WAR file for the JBI run-time. It contains artifacts for SE and BC run-time components. It also contains meta data describing the routing, connections, and services that make up the SOA application.
Service Unit (SU)
SU is the standard deployment artifact for a SE or a BC. It contains business logic, WSDL definitions, and meta data describing endpoints that make up the SOA component. Each SU is a jar file containing SE specific artifacts.
References:
- JBI Spec
2. OpenESB --- An Implementation
Project Open ESB implements an Enterprise Service Bus (ESB) run-time by extending Java Business Integration (JBI) reference implementation with additional service engines, binding components, tools, and management and monitoring services. This allows easy integration of web services to create loosely coupled enterprise class composite applications. Currently available SE and BC components include:
Service Engines
Binding Components
- CICS BC
- CORBA BC
- DCOM BC
- eMail BC
- File BC
- FTP BC
- HL7 BC
- HTTP BC
- IMS BC
- JDBC BC
- JMS BC
- LDAP BC
- MQ Series BC
- MSMQ BC
- RSS BC
- SAP BC
- SIP BC
- SMTP BC
- SNMP BC
- SWIFT BC
- TCPIP BC
- UDDI BC
- XMPP BC
References:
- OpenESB Project
- OpenESB Components
- OpenESB FAQ
3. NetBeans SOA Tooling --- Tools
NetBeans SOA tooling facilitate the development of SOA applications for OpenESB. The architecture of NetBeans SOA Tooling is shown in the following diagram:
File:Faq01.gif The architecture of NetBeans SOA Tooling
As shown in the left side of the diagram, there are three layers of SOA tools provide by the NetBeans IDE. These tool layers are:
NetBeans Editors
NetBeans SOA tooling provides many editors for specifying business logic, e.g., BPEL, XSLT, and SQL, and web service definitions, e.g., WSDL, XSD, and XML. These editors are used to build data objects needed to assembly service unit artifacts.
Service Unit (SU) Projects
NetBeans SOA tooling provides special service unit project types for many OpenESB service engines, e.g., BPEL, XSLT, and SQL. Each SU project type contains custom ant scripts for building the service unit in a format needed by specific sevice engine type.
Composite Application (CompApp) Projects
NetBeans SOA tooling provides a Composite Application project type for defining OpenESB service Assemblies. A CompApp project can link to zero or more SU projects, and generate additional deployment artifacts needed to build a complete Service Assembly (SA) for deployment.
References:
- NetBeans SOA Tooling Project

