Databases Reference
In-Depth Information
The question that then arises is how to invoke the SDO from a BPEL process. Do I
invoke the SDO directly via an entity variable or do I invoke the virtual service? Each
approach has it merits. We could take a purist approach and mandate that we always
go via the virtual services layer as this will provide (or at least initially seems to
provide) better interoperability and agility. However, we also need to ensure that we
balance this requirement with other non-functional requirements, such as reliability
and scalability.
By using entity variables, we are able to take advantage of the "out of the box" design
and runtime integration between BPEL and ADF BC services.
From a runtime perspective, this can provide improved performance due to
optimized invocation of ADF BC components and the BPEL process having a
smaller dehydration store footprint (since entity variables aren't stored in the
dehydration store).
In addition, the ability to manage database updates directly within the BPEL
transaction can help improve the overall reliability of the solution due to the integrity
provided by ACID transactions.
From a design-time perspective, the use of distributed transactions has the added
benefit of simplifying error handling within the application. In addition, by using
entity variables, we have fewer activities within our BPEL process (as we no longer
have to explicitly invoke an external service every time we need to update the
database). Each of these can reduce the overall complexity of the BPEL process,
making it easier to implement and maintain and thus improving its overall agility.
The drawback of this approach is that we reduce the level of interoperability
between components (as we have the coding overhead of having to translate
between our canonical model and the SDO model). Also, the BPEL process is
tightly coupled to the SDO.
As always there is no single answer; rather it will depend on the nature of the
requirements and the constraints that we are working under. As a result, we are
likely to end up having a blended approach.
 
Search WWH ::




Custom Search