NOW THAT I’VE PRESENTED AND DISCUSSED SOA IN DEPTH, IT’S TIME TO RETHINK THE ANSWERS TO several questions that are commonly asked about SOA.
SOA does not introduce any newly invented concept. It is a paradigm that brings together existing concepts and practices for a specific set of requirements. You might even say that SOA is nothing but the application of brainpower and pragmatism for distributed systems. Look at existing successful integrated large system landscapes, and you will find all the concepts mentioned in this book.
One improvement of SOA might be the fact that Web Services (despite all its flaws) introduces a new standard for interoperability.
Another important aspect of SOA, which represents a revolutionary approach different from what we’ve typically seen before, is the acceptance of heterogeneity. In the past, far too many solutions were based on the idea of homogenization. Yet in systems beyond a certain size, homogeneity is simply not possible. Homogeneity does not scale, which means that any approach that requires homogeneity will sooner or later fail. Accepting heterogeneity changes the way we design large system landscapes. This mental shift might be a small step, but it can have dramatic consequences (similar to agile programming, which accepts that requirements change instead of trying to fight against this fact).
There is no doubt that distributed processing is more complicated than ...