Enterprise Business Message and Enterprise Business Service Extensibility - What's the story?
By Annaji Garimella on Aug 07, 2008
In AIA, we talk about extensibility for Enterprise Business Objects, XSLTs, BPEL processes and also ESB Routing Rules.
But what about Enterprise Business Message and Enterprise Business Service?
Lets look at Enterprise Business Message first.
Since an Enterprise Business Message is assembly for schema components, extensibility would mean a new EBM. The solution is to create a new EBM xsd containing the required EBM definitions.
For example, lets say there is ItemEBM.xsd which has CreateItemEBM, UpdateItemEBM and QueryItemEBM. There is a need for DeleteItemEBM and ValidateItemEBM. To extend the ItemEBM.xsd, create a CustomItemEBM.xsd and include in it the definitions for DeleteItemEBM and ValidateItemEBM.
Similarly, extending Enterprise Business Service would mean adding new operations. This can be accomplished by creating an extension EBS (a new ESB routing service), for holding the customer specific operations. This newly created ESB routing service can either use the same EBM or the newly created EBM (for housing the Enterprise Business Messages for these new operations). Since these are newly created entities, they are totally upgrade safe.
So, ItemEBS continues to support the standard CRUD operations and is based on the shipped ItemEBS.wsdl. For a custom operation, you need to
- Create a new wsdl file CustomItemEBS.wsdl defining the interface / contract including the operations
- Create a new ESB project containing a routing service CustomItemEBS pointing to your new wsdl
- Deploy the CustomItemEBS