Beruflich Dokumente
Kultur Dokumente
25 Feb 2010
IBM's SOMA Method has the capability to handle the above approaches. It provides
best practices and prescriptive guidance to support such activities.
• CustomerDetails
• AddressDetails
• CustomerContactDetails
• ProductOrderDetails
• ProductOrderItemDetails
Depending upon the future business need, elements like ProductOrder and
ProductOrderItem can be refactored as "ManageProductOrder" which is a service
and other three can be decided to exist as separate services. Such identified
services can be consumed by external or internal services and will be plugged into
multiple back end applications to fulfill the business need.
Bottom up Approach
Bottom up approach is targeted to exposing the existing application as services.
Services served by legacy applications can be re-factored to build up composite
services based upon the business need. (Note: Exposing legacy applications as
services can be done by using off the shelf available adapters). Such a composite
service eventually can use multiple legacy applications to fulfill the intended
business need. The SOMA method defines this approach as "Existing Asset
Analysis" where the term Asset refers not only to legacy systems, but to industry
frameworks and standards as well as packaged applications that may be used in this
context.
In the above example the element AddressDetails is not mapped to any of the
existing legacy application. In order to fulfill the business need i.e
ManageCustomerOrder this functionality has to be augmented in legacy
applications. In cases where the client is not willing to invest in spending on the
legacy applications (reason could be that the legacy applications might need to be
worn out in the transformation), this functionality can be built in the middleware. In
this case the service could be made flexible to receive complete address details
from the consumer or just the AddressIdentifier. Say consumer 1 does not have the
capability to send the address structure (as we discussed earlier the reason could be
that this consumer is expected to be torn out during subsequent releases or the
client does not own the privilege to make changes to the consumer application) then
it can just pass the AddressIdentifier. The service component will perform the
functionality of translating the Address identifier to Address structure.
In the next section we discuss the project environments and map the approaches to
each environment.
Project environments
In reality, three different project environments exist:
Figure1 shows the various SOA service identification approaches and the best fit to
project environments.
In this environment the product or solution is developed from the scratch. Most times
this environment is applicable to the development of product against solutions
focused on Integration. In such an environment, the designer has no clue about the
consumers or target applications which have to be used.
The designer might have to rely on industry process models like the e-TOM
(enhanced Telecommunications Operations Map) for Telecom industry specific
products or IFW-APM (IBM Financial Services Industry Model- Analysis Process
Model) for banking industry specific products. The best approach for identifying
services in such scenarios is the "Top-Down approach". Once services are identified
the designer can apply GSM concepts, by analyzing the long term business goals
and augment new services in case, tag with key KPIs to take the services forward to
the subsequent stages in the life cycle.
For simplicity we dichotomize brown field based environments into two categories:
Weaker brown field based environments: In this category the aim is to just
expose the existing legacy application as a service. In such cases the designer need
not care for the business process/consumer which eventually will consume the
service. In case of exposing a legacy application as a service, the designer can wrap
up the interfaces using an adapter. It is the responsibility of the consuming
applications or the intermediary to comply with the requirements of such services. At
this stage the GSM technique can be applied: The identified service(s) can be
analyzed for future need and tagged with KPIs.
So pure "bottom up approach" would be the best approach for carrying out the
service identification process in weaker brown field based environments.
Conclusion
Various general approaches to service identification exist and relevant ones should
be adopted for the appropriate project environments. This article provided analysis
of such service identification processes and fitted them to the appropriate project
environment.
Acknowledgements
The author renders her thanks to Ahamed Jalaldeen, Lead Architect SOMA
automation and Ali Arsanjani, Distinguished Engineer & CTO, Emerging
technologies, SOMA for their guidance and support in this article.
Resources
Learn
• "Service-oriented modeling and architecture" (developerWorks, Nov 2004)
discusses the highlights of service-oriented modeling and architecture.
• Access the IBM Journal of Research and Development for a full list of the
various techniques within SOMA refer.
• In the SOA and Web services area on developerWorks, get the resources you
need to advance your skills.
• Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
• Download IBM product evaluation versions or explore the online trials in the
IBM SOA Sandbox and get your hands on application development tools and
middleware products from DB2®, Lotus®, Rational®, Tivoli®, and
WebSphere®.
Discuss
• Check out developerWorks blogs and get involved in the developerWorks
community.