In part five of our look at how SOA ties into the world of business analysis, we continue the discussion of delivery approaches and common top-down deliverables. We begin by introducing the enterprise service model, a valuable specification that can be derived from the types of enterprise models we covered at the end of Part 4. We then continue by introducing an alternative delivery strategy that attempts to balance both tactical and strategic service delivery goals.
The enterprise service model
The ultimate goal of an SOA transition effort is to produce a collection of standardized services that comprise a service inventory or portfolio. Before any services are actually built, however, there is often a desire to create a conceptual, enterprise-wide representation of all the planned services. This is generally established in an enterprise service model.
This specification provides a formal documentation of a planned service inventory where numerous (and sometimes all) service candidates are defined ahead of time, prior to entering delivery stages. The enterprise service model further organizes services into abstraction layers that provide an overarching structure to the inventory. All of this establishes an ideal representation of a service-oriented enterprise.
Balancing "Ideal" with "Real"
The value an enterprise service model can bring to an SOA initiative cannot be over-stated. However, it again raises the issue of how much an organization is willing to invest in the top-down analysis required to produce well-researched, future-state enterprise specifications.
This leads us back to our discussion of delivery strategies. In Part 4 we established two opposing schools of thought, which deserve a brief recap. The top-down strategy encourages us to invest in a significant amount of upfront analysis and research and exercise a great deal of patience when determining the timeline for our service delivery, while the bottom-up approach is purely tactical, with little consideration to service analysis in general.
These two processes epitomize the classic struggle of balancing strategic goals with tactical requirements. There are, of course, variations and levels that exist between the two extremes. One common alternative strategy attempts to find a compromise wherein both long-term analysis and short-term delivery considerations are addressed. This approach is known as the "agile" or "meet-in-the-middle" strategy.
Agile service delivery
Numerous "agile" approaches exist. The strategy we will discuss is based on a process that allows for the business-level analysis to occur concurrently with service design and development. As illustrated in Figure 4, it introduces a process that is more complex than either the top-down or bottom-up approaches, simply because it needs to fulfill two opposing sets of requirements.
The first step essentially encompasses Steps 1, 2, and 3 from the top-down process (as described in Part 4), except that areas of the enterprise service model for which immediate service delivery is required are given priority. After Step 2 has begun, Step 1 continues as an on-going effort to further achieve the enterprise-wide analysis goals generally associated with the top-down approach.
A key decision point is when to allow Step 2 to proceed. Depending on the magnitude of analysis required to complete Step 1, it is often advisable to give that step a good head start. The further along it progresses the more service designs will benefit.
Step 7 is another tricky one. Essentially, it requires us to perform periodic reviews of all services to compare their design against the current state of the enterprise service model. Discrepancies are then noted and a separate revision project is scheduled for those services that need to be realigned. Once redesigned, a service will have to again undergo standard development, testing and deployment steps.
While both short and long-term goals can be fulfilled, this process can make some significant impositions. The maintenance tasks required to ensure that existing services are kept in alignment with the evolving enterprise service model make this a complex and potentially expensive delivery strategy.
The manner in which services are delivered is highly relevant to the involvement of business analysts in SOA projects. The chosen delivery strategy determines how and to what extent service designs will be influenced by business analysis considerations.
In Part 6 of this of this series we conclude our study of business analysis and SOA by zeroing in on a project lifecycle phase that is generally in critical need of business analysis expertise and insight. We will be discussing service-oriented analysis and the related service modeling process.
This article contains excerpts from "Service-Oriented Architecture: Concepts, Technology, and Design" by Thomas Erl (792 pages, Hardcover, ISBN: 0131858580, Prentice Hall/Pearson PTR, Copyright 2006). For more information, visit www.soabooks.com.
About the author
Thomas Erl is the world's top-selling SOA author and Series Editor of the "Prentice Hall Service-Oriented Computing Series from Thomas Erl" (www.soabooks.com). Thomas is also the founder of SOA Systems Inc., a firm specializing in strategic SOA consulting, planning, and training services (www.soatraining.com.) Thomas has made significant contributions to the SOA industry in the areas of service-orientation research and the development of a mainstream SOA methodology. Thomas is involved with a number of technical committees and research efforts, and travels frequently for speaking, training, and consulting engagements. To learn more, visit www.thomaserl.com.