Sometimes when you want to sell SOA, you need to sell the concept and not the buzzword. Case in point, when I speak at a conference. If I talk about SOA patterns as a way to drive to a better architecture, I often see eyes begin to roll. However, if I say we’re looking to externalize services that will be meshed and re-meshed together to form business solutions, thus providing agility…the eyes light up. Funny thing is, I’m talking about the same thing.
So, whatever you want to call it these days to sell it internally, SOA provides a tremendous amount of power when it comes to architecture and design, as well as with implementation and alignment of systems to make them their most effective. This includes the use of data integration patterns, which are becoming more important as systems become more distributed.
There are three core things to remember when it comes to SOA and data integration, including:
- Data integration is systemic to SOA. The ability to extract, transform, and translate data moving from the source to the target is a fundamental SOA pattern. Often people confuse the use of services as different from data integration. One deals with functional behavior, and the other with the movement of data. In reality, you can’t separate them and be successful with SOA.
- Data abstraction/virtualization is critical. The ability to virtualize data so we’re able to take many different physical databases and recast them as a single unified structure is a very powerful feature when you consider the movement to SOA. This allows complete control of the information in terms of how applications, services, and humans see it. Thus, the use of data abstraction/virtualization is critical making SOA work with layers and layers of legacy data, which is more the rule than the exception.
- Service and data governance should be coupled. Often we hear about the use of service governance within SOAs, but what about data governance? The fact of the matter is that you really can’t use one without the other in the context of a SOA. Service governance needs data governance because much of the services are data services, and thus you need a layer of control behind those data services. Moreover, data governance controls how the data is externalized as services. So, they must be coupled. If not physical than logical.
SOA is a powerful architectural pattern that will be part of the way we design and deploy systems going forward. No matter if you call it SOA or not. Data integration is an important sub-pattern to SOA, and one really can’t exist without the other. So, there are many dependencies at the intersection of SOA and data integration.