Jun Qian (钱骏) 's Weblog

Thursday Apr 19, 2007

Anatomy of Composite Application in NetBeans 6.0 SOA Pack (Part 1)

In this mini-series, I will be rambling about Composite Application in NetBeans SOA Pack. I hope this could shed some light on how things work under the hood to those new to Composite Application.

Don't forget to check out Tientien's blog and Josh's blog on this topic.

From Composite Application to JBI Runtime

Composite Application is a key element in a Service-Oriented Architecture (SOA). It provides a new programming model for enterprise applications. In this programming model, a traditional monolithic application is broken down into reusable services. Those services can then be recomposed to provide new functionality in a very flexible way. A Composite Application is a composition of such reusable services.

The Composite Application Project System in NetBeans 6.0 SOA Pack (previously NetBeans 5.5 Enterprise Pack) provides design-time tooling support to create, configure, build, deploy and test composite applications against a JSR 208 compliant runtime system. 

JSR 208, the Java Business Integration (JBI) Specification, defines a messaging based, pluggable framework for implementing Service-Oriented Architecture. The JBI Framework is a meta-container of two types of pluggable containers (a.k.a. JBI Components): Service Engine (SE) and Binding Component (BC). A Service Engine provides business logic and transformation services. A Binding Component provides connectivity to services outside of the JBI environment. The JBI Framework allows all the JBI Components to interoperate with each other in a standard way.

Similar to an EJB container that contains multiple EJBs, a JBI Component (remember, it's a container) contains multiple so-called Service Units (SUs). A Service Unit describes what services are provided or consumed by the component. Multiple Service Units are deployed to the JBI runtime as part of a Service Assembly (SA), and a Service Assembly is the build artifact of a Composite Application Project. A Composite Application Project consists of multiple component projects, a.k.a. JBI Modules. The reusable services in SOA are provided by the individual JBI Modules.

From CompApp to JBI

Project Open ESB is an open-source JBI implementation. It extends the JBI specification by creating an Enterprise Service Bus (ESB) from multiple JBI instances linked by a proxy-binding, based on JMS using HTTP Binding Component for any remote access. This allows JBI Components in different JBI instances to interoperate as if they were local.

Comments:

Thanks to Gopalan for pointing out some changes in Project Open ESB. The main entry has been updated accordingly.

Posted by Jun Qian on April 20, 2007 at 04:58 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Archives
Links
Referrers