GlassFish Enterprise Service Bus (ESB) is a lightweight and agile integration product suite for services-based and composite application development. A recently released Sun white paper details a reference architecture for a typical deployment solution based on a real-world system that manages a customer's loan application process. The solution accepts requests via web services-based interfaces, manages corresponding business processes, handles faults correctly and integrates with existing back-end systems.
The scenario presented in the paper was first built and tested in a developer environment without high availability, explain authors Mike Somekh, Mark Foster, and Rastislav Kanocz. The reference architecture used as an example in the paper focuses on how it was designed and deployed to become highly available. Components used include:
- BPEL Service Engine
- HTTP Binding Component
- Database Binding Component
- EJBs (Java EE Service Engine)
- Web application
The 42-page PDF introduces the logical and deployment architecture, and details the web application, implementation patterns, issues and limitations, along with workaround solutions.
The piece also describes the clustering options for GlassFish ESB, such as OS-level and hardware-level clustering (Solaris and HA hardware), application server-level clustering (GlassFish Enterprise Server), ESB level clustering (GlassFish ESB Components), database-level clustering, and Java Messaging Service (JMS).
The writers offer guidance on how to get started by outlining a few points-of-consideration such as acceptable levels of downtime, options for recovery, architecture and implementation concerns, message correlation, compensation handling, XA transactions, quality of service, etc.
More Information
GlassFish ESB High Availability and Clustering - Sun white paper (login or registration required.)
Configuring GlassFish ESB for Clustering
Sun GlassFish ESB Datasheet
OpenESB Website
Flexible, Cost-Effective SOA with Sun GlassFish Enterprise Service Bus & Enterprise Server
[...read more...]