Database Reference
In-Depth Information
• Entity services (Product, Service, and Customer), which for the time being are
also presented as BPEL processes, are primary candidates for rewriting an appro-
priate language (staying with Oracle: Java + Spring JPA ).
You may think that BPEL processes in the task layer will remain untouched, and that
would be a mistake. We will come to this quite soon. The Application of Process Cent-
ralization (5) pattern is just a beginning; we will focus on Service Normalization (6)
shortly. Now what's interesting is how we will invoke our centralized services.
It is obvious that SPC will now act as a composition initiator, and we are quite close to
realization of our Composition Controller (not agnostic yet). This controller will isolate
the initiator from service(s)-actors, hide the complexity of the composition, and provide
dynamic invocation together with the service locator component. From the previous fig-
ure, you can clearly see that this is the description of a classic J2EE Business Delegate,
the way it's described in http://www.corej2eepatterns.com and http://www.oracle.com/
technetwork/java/businessdelegate-137562.html . Refer to the following points:
• We want to promote Loose Coupling between the initiator and service-worker
• We want to minimize service calls from the composition initiator for fulfilling this
complex task
• We would like to shield the initiator from composition or invocation exceptions,
thereby providing a clear and understandable error context and completion status
• We want to keep this process dynamic, allowing logic to mutate without affecting
the initiator
• We want to maintain this delegation as highly manageable, allowing us to easily
change the business rules within the composition
Thus, we place the classic Business Delegate as a part of the solution where its role in
SOA terms is slightly wider, covering service brokering and mediation at the same time.
So, potentially, it would be the SCA mediator, as a router and message transformer. Poten-
tially, it can detect the use case using a message header provided by the component-initiat-
or (SPC in the earlier figure), and route the message to the decomposed BPEL process.
We have already mentioned a drawback of this decision:
• A composition could be enormous if we place all the decomposed services in one
SCA. Even the addition of certain aspects of atomic BPEL processes will make it
rather heavy. Decomposing a big process and then assembling the atomic pieces
in SCA using a mediator is a very common approach, but not for the discussed
number of services.
Search WWH ::




Custom Search