SOA IS A STRATEGY. YOU HAVE TO INTRODUCE IT INTO YOUR ENTERPRISE AND ORGANIZATION(S) gradually. This takes time, and as a fully developed SOA requires a lot of modifications and extensions (both technical and organizational), you can’t have it all at once. So, how do you get started, and how do you ensure that things go right?
This chapter discusses establishing/implementing SOA, including the topic of “SOA governance.” This term is commonly used to describe all you have to do to ensure that a SOA strategy is successful.
As you’ve seen throughout this book, SOA is a strategy that includes both technical and organizational aspects. Technically, you need some infrastructure (the ESB) to provide interoperability. Organizationally, you need appropriate processes so that it is clear how to design new solutions and identify new services (see Chapter 7), live the service lifecycle (see Chapter 11), and set up corresponding software development processes (e.g., model-driven development, discussed in Chapter 18) and appropriate organizational structures (see Chapter 8).
You also have to make a lot of architectural decisions, such as defining your service data, programming model, and meta model; selecting message exchange patterns; categorizing services; deciding whether the ESB should be protocol- or API-driven; and so on.
All of these aspects influence each other and are influenced by your business and organization. For this reason, ...