Wednesday, March 13, 2013

BOD from 30,000 Feets !


In prior versions of WebSphere Commerce, there are implementation dependencies between the presentation layer, business logic layer and persistence layer. The WebSphere Commerce BOD command framework architecture uses well defined interfaces to decouple the implementation of the presentation layer, business logic layer and persistence layer. From the business logic layer perspective, OAGIS messages are used as the interface for making requests to retrieve business data or invoke business logic. The BOD command framework provides the capability to process these BOD requests and responses.


The interaction between the business objects and persistence layer is isolated in an object called the Business Object Mediator. Business object document (BOD) commands interact with the Business Object Mediator to handle the interaction with the logical objects and how they are persisted. The key differences between the prior WebSphere Commerce architecture (on the left side of the diagram) and the WebSphere Commerce BOD command framework (on the right side of the diagram) are:

·          BOD commands deal with service data objects instead of name-value pairs
·         BODs can represent a complex request, that performs multiple actions instead of just one.

·         BOD commands deal with a persistence interface called the data service layer using an object called the Business Object Mediator, and are independent of the persistence technology. 


On the left side of the diagram, WebSphere Commerce name-value pair processing commands use EJB 1.1 for persistence. This is the approach used by all WebSphere Commerce commands before WebSphere Commerce Version 6 Feature Pack 3, and the approach used when integrating using Service-Oriented Integration (SOI).
On the right side of the diagram, commands retrieve and store data through the an object called the Business Object Mediator (BOM). The Business Object Mediator accepts and returns data in the form of logical service data objects. The persistence layer maps these objects to the persistence implementation to perform the data retrieval or updates. All persistence-specific assets, such as SQL queries are isolated within the DSL. The advantage of this approach is that the business logic layer is completely unaware of the persistence implementation and technology.
Both persistence implementations coexist within WebSphere Commerce Version 6 Feature Pack 3 and WebSphere Commerce Version 7, and access the same data. However, a mixed model (for example, name-value pairs using the data service layer, or BOD processing commands using EJB 1.1) is not supported.


Found this really nice pictorial description of the various assets and processes involved in the BOD development in the  IBM Red Book (sg247619)

4 comments:

  1. Information shared is as per infocenter,Red book and what I have seen in my past client implementations. I have not put great thoughts on some fancy presentation. If you are looking for some specific information please let me know.

    ReplyDelete
  2. Great Article ... thanks for sharing the information... can you share some details !!

    ReplyDelete
  3. If possible please provide a complete steps for creating a BOD service with one example and if any one can send BOD related deteails to this mail ysss.info@gmail.com

    ReplyDelete
  4. Let me work on an example and will publish soon.

    ReplyDelete