Monday, 21 July 2008

Where do we get our reusable services from?

With an emphasis on process design first, we do have an opportunity to realise the much vaunted reuse of IT components but not if the expectation is that IT will engage with a process diagram and infer all sorts of things about the future of the business. Definition of services belongs out in the business world (this is what we need the service to deliver) not in the builders yard of the IT engineer. In What does SOA mean for the process modeling world? Rick Geneva wrote
In a SOA system, certain parts and pieces are offered as a service to the entire organization. The role of the IT engineer shifts slightly to where their primary responsibility is to create services, and reuse existing assets before purchasing or building new ones. If a service is needed that doesn’t already exist, the first step is to determine if the organization already has a system that performs a similar function. If so, then there are ways to expose an operation (activity) as a service with minimal impact to the surrounding IT environment.
This is all true but it is going a bit far to suggest that when presented with this abstract of a process diagram (from Rick's post)
the IT team should immediately think of providing as Rick suggests ...
1) The request router. 2) the lookup manager service. The lookup manager service would probably be not be directly used by the process. Instead, we would use the lookup manager service as part of the request router. The request router would most likely be created as a generic service that could also handle the manager response.
Implicit in the use of this type of model as a specification of requirements is an understanding of message handling. Routing messages should certainly be part of a generic implementation (in a BPMS solution perhaps) but hardly considered in a single business process. The process analyst is, at best, defining a requirement for a service that will satisfy the Lookup Manager activity in terms of the data available in Receive Request and required in Route to Manager.
A better approach may be for the process analyst to signal the requirement for a more abstract and generally applicable service by renaming Lookup Manager to Apply Business Rules for Routing Message.

No comments: