Databases Reference
In-Depth Information
To make it truly reusable, you will be required to break this coupling and design
the child service to be reusable, which takes extra time and effort. If it is a genuine
reusable service, then this investment may be justified. However, just because a
service could be reusable doesn't mean it should.
Finally, we need to consider the timing. It may be prudent for an initial
implementation not to split up the child components. But if we decided at a later
point in time that we needed to reuse a component of a composite (typically when
we understand the requirements better from a reuse perspective), then we could
always choose to split up the component then.
Composite lifecycle
Another consideration is whether the lifecycle of the child composite is likely to be
different from that of the parent composite, particularly if the composite is stateful
(for example, a long running business process).
If the child service is likely to change either more frequently or at different times
from the parent composite, then by splitting it up, we can simplify the process of
managing change.
For example, consider that we have a long running business process that invokes a
child business process. If deployed as a single composite, then whenever the child
process changes, we will need to redeploy a new version of the parent and child
process. As part of this, we need to deal with the issue of what do with the running
instances of the previous versions of the parent process.
However, if each process is deployed as a separate composite, then whenever
the child process changes, we will only need to deploy a new version of the child
process. If managed correctly, we can have the parent process automatically pick up
the new version of the child process.
Composite security and management policies
The majority of security and management policies are applied at the composite level
(refer to Chapter 21 , Defining Security and Management Policies for details).
If you need to apply any of these policies to specific components, then you may need
to split that component up as a separate composite.
In addition, the Enterprise Management pack for SOA provides additional support
for runtime management with tooling for monitoring and managing areas such as
service availability, service level agreements, and key performance indicators. At the
time of writing, the Management Pack for SOA suite 11gR1 has yet to be released.
However, it is likely that much of the management capability will be provided at
the composite level.
 
Search WWH ::




Custom Search