Implementation of SOA tends to be different from enterprise to enterprise, mainly due to the face that the term SOA has different meaning for different peoples. In the last two years I was involved in different SOA implementations in different organization around the globe. While observing all off the SOA implementations that I saw I think that I can place them on certain scale with clear starting and ending points. Each SOA implementation can be placed on the scale, and the benefit of this classification is that it might help you to understand what type of implementation you need and what generally need to carry on such implementation. As you probably understood each side of this scale is dealing with completely different SOA implementation, which imposed different implementation, skills, resources and tools.
In one scale of the scale we can find the Chinese city. I chose this term because of the way that Chinese cities are build is similar to the way that those SOA implementations are taking place. One of the most known characteristics of the Chinese cities is their method of destroying everything that exist and building new skyscrapers instead, with new infrastructure to serve their needs. That very similar to SOA solutions that choose to destroy (or live aside) the existing IT assets and build them from scratch. Usually it happened when a legacy system (Like Mainframes) are replaced with new three tier applications (Web based, or Smart clients).
On the other end of the scale we can find the European city. One of the clear characteristics of European cities is their manner to leave the history heritage un-touched. They can improve the infrastructure around the historic sites and renovated the historic building, but they won’t ruin it to build new skyscrapers. European cities, though, are similar to other type of SOA implementation. Those implementations aren’t putting aside all the existing assets, they just renovate them and build new infrastructure in order to better support new demands from the enterprise business parties.
Its rate to find SOA implementation that is neither pure Chinese city nor pure European cities, but almost any SOA implementation has clear hue that close to the Chinese or the European city. Those two different implementation, as I already mentioned, demand different solution, skills, tools and resources. If you building from scratch you might develop SOA solution that fits your business needs. You can defined the information that flows in business processes and you can wrap those information with set of services that will support your business, even if you’re business is going to change. If you at the European end you more limited, since you have to take in account existing systems that already host information.
Building solution from scratch also demand more deep analysis and design of the solution and it always involved with the question whether it’s better to implement the solution in steps (leaving the legacy application alive) or doing the changes in one big bang. Those kind of challenges demanded different skillets and resources.
There are many other differences, which I might approach another time, but I hope that you got the main idea. There are different types of SOA implementations that demands different needs. Before starting your own implementation decide if you’re more close to the Chinese or to the European City and simply make your calls by this classification.