SOA.WRK.
Composite Application - Part 1
In Netbeans Enterprise Pack 5.5 released last year, we introduced a new project system, called Composite Application Project, for building SOA applications targeting the Open ESB runtime based on JSR 208, the Java Business Integration (JBI), specification. Early this year, when InfoWorld selected Netbeans 5.5 for the Java IDE Innovator of the 2007 Technology of the Year Awards, a composite application project was shown in the middle of the screenshot for the award.
This is an honor for us involved in building this project system. Although the code has been released in open source for almost a year, we did not have much time to write to explain its design to our users. I hope this series of short blogs will provide some information to those interested in learning more about the composite application project system.
1.Composing.Aspects
To explain what a composite application is, we need to re-examine the traditional application model. A monolithic business application may be decomposed into distinct parts according to its functionality. For example, a service application may be broken into following functional parts:
- a core business logic component;
- a messaging component handling external communication functions; and
- a set of XML transformation utilities.
As alternatives to the traditional method of application development, many techniques and methodologies have been proposed to show how to weave aspects into an application. We discovered that messages are a good composition tool. By using messages as threads, aspects can be stitched together into an application. We call such an application a "Composite Application".
We were inspired by earlier work of others. In late 70s and early 80s, researchers found that better systems could be build by distributing functions such as database, logging, and others into separate servers, creating "Distributed Systems".
2.JBI.Logical.Services
In 2004, we studied early versions of the JBI spec. JBI is a very nice SOA/BI spec with a Java implementation. It proposed a WSDL/XML standard based SOA/BI application platform with detailed design including:
- a component container spec for plugging in component containers;
- a message exchange spec for defining component interactions; and
- management and other specs.
In our design, aspects of composite application are mapped to JBI components. Messages are mapped to WSDL messages associated with operations of a port type. So, in JBI, a composite application is implemented as a collection of interacting JBI logical services defined by a set of WSDLs.
The official JBI term used for component and composite application are:
- Service Unit - a component of a container type;
- Service Assembly - a composite application of components.
Posted at 09:52PM Feb 20, 2007 by tientienli in Sun | Comments[1]
Hi,
This really interesting. especially using Aspect include security within composite web services. Was wondering if u may have any simple example of building a simple aspect project to do some advise .. on a bpel project
thanks
jack
Posted by Jack on September 04, 2008 at 06:08 PM PDT #