I see a lot of organizations in their track shorts and tees limbering up for SOA adoption. They pump their knees high, shake out their arms and hands, huff a time or two, take a deep breath and sprint toward the sand pit to make a long jump into the IT record-books. Unfortunately, they often haven't taken a good look at the sand pit. The SOA sand pit is a canyon - a big canyon. Onward at breakneck speed, they run. With a mighty grunt, they leap. With dawning realization, they holler as they fall out-of-sight, "Oh! OOOOH! CRAAaaaaaaa <splat>!" Another greasy spot on the rocks below.
If you survey the canyon with binoculars and an experienced guide, you will find out that there are several paths down into the canyon and back up the other side. These paths bring you up on the north rim at different points. But, they all have this in common: first you work your way down, then you cross the river, then you work your way up.
There are three stages of maturity in SOA.
Adoption starts with service-oriented (re)integration (SOI) of existing systems. At this stage, we learn to identify and package Web Services. We learn the difference between data-oriented, function-oriented and process-oriented services. We build services to wrap legacy systems in order to protect our IT investment and to standardize and to stabilize interfaces so that we can build future systems on a firmer foundation. We identify systems-of-record and build data integrity mechanisms to synchronize automatically the three or four extant (and inconsistent) copies of our data. We explore how to deploy Web Services into real networks, learning that service port/endpoints and service implementations are not always in the same place in the network and learning that UDDI is too bloated and WS-Inspection is too stripped down for real use.
The next step is the enterprise service bus (ESB). At this stage, we realize that point-to-point connections in a service-oriented architecture lead to an unmanageable, unsecurable rat's nest of services and consumers. We realize that asynchronous, reliable messaging has some major attractions - if it can be configured into an efficient, distributed network. We come to understand that having a single security enforcement point at the bus is worth its weight in gold if we are serious about security. And, we learn the real value of a service directory: static load-balancing, fail-over, release environment management and notification event management.
Ultimately, we climb upwards toward business process management (BPM). We come to understand that applications and services are but cogs in the machinery of business processes. Business processes are the mechanisms that realize business value. Eventually, we realize that the capitalization of IT projects, the management of IT project and system portfolios and the optimization of enterprises in the age of ultra-competitive markets fundamentally depend on making the business visible and flexible in a way it has never been before.
As we work our way down into the canyon, we don't know what dangers we will encounter. Crossing the river will take a great effort and much care. Climbing up the other side, those canyon walls do surely look endlessly high. We may have to try a couple of different routes before we find the one that is best for us. Our goals will change during each stage of the journey. So will our strategies, plans, and schedules. Count on it.
Is it worth all of the effort? Is the North rim really that much nicer than the South rim? Well. There isn't much water around here and the vegetation is a