My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Architecture  
Architecture diagrams.
Phase-Requirements, Featured
Updated Dec 23, 2010 by fady.mou...@gmail.com

Bi-directional mainframe integration for JBoss ESB

LegStar for JBoss ESB is a set of development time and runtime modules that allows mainframe programs to be exposed as JBoss ESB services or expose JBoss ESB resources to mainframe consumers.

When we want to expose a mainframe program as a JBoss ESB service we create an Adapter for the mainframe program. An Adapter is a JBoss ESB service which, internally, manages the mainframe invoke process.

When we want mainframe programs to consume JBoss ESB resources, we create a Proxy for the JBoss ESB resource. We can create Proxies for POJOs, JBoss ESB Services or off-ESB Web Services. Proxies listen for mainframe requests (the transport can be HTTP or Websphere MQ) and serve these requests by invoking the appropriate resource.

Adapters Architecture

Development time

The following diagram depicts one possible sequence of operations needed to generate a JBoss ESB Adapter for a mainframe program.

In this case, the starting point is one, or more, COBOL code fragment that describes the mainframe program input and output structures.

The grey boxes are development tools that are shared with the core LegStar product while the blue boxes are specific to JBoss ESB.

Runtime

The development steps generate a deployment script that bundles the generated action in a sample service. The result is an esb file that you can auto-deploy in JBoss ESB.

Clients, using the JAXB binding classes also generated at development time, store a request object in a JMS queue ot HTTP body. The mainframe adapter action will then be triggered and the result, again a JAXB object, will be sent back in a reply JMS queue or HTTP reply body.

Proxies Architecture

Development time

The starting point varies depending on the type of resource you want to consume:

For a POJO, the starting point is probably a set of Java classes that represent data objects. The type of POJO supported by LegStar is expected to expose a method that takes a data object as input and produce a data object as output (i.e. implements the Remote Facade pattern).
For JBoss ESB Services, the starting point is also probably a set of Java classes. legStar expects an input Java object as the content of the input ESB message and an output Java object as the content of the ESB reply message.
For Web Services, the starting point is also probably a WSDL or XML Schema.

Runtime

The deployment script generated at development time creates a JBoss ESB Service configuration which will listen either on a Websphere MQ queue (via a JMS Listener) or on a HTTP port (via an HTTP Listener):

The development tools also generate sample CICS COBOL programs to invoke the proxy. When a request coming from such a program reaches the generated ESB service, the mainframe data is translated to Java or XML and the call is forwarded to the target POJO, ESB Service or Web Service.


Sign in to add a comment
Powered by Google Project Hosting