In order for Service Oriented Architecture to have the impact that Architects around the world have been touting, we need to be able to take large applications and architect them down to services and consumers. The services are difficult to do well. So difficult, in fact, it is easy to forget the rest of it.
But one key aspect to this path is the communication infrastructure itself. It has to be fast. I has to be flexible. It has to be standards-based, but willing to bend. It has to be secure.
Yesterday’s SOAP Web Services are not fast enough for SOBA SOBA (Service Oriented Business Architecture) implies that the business app itself is composed only of consumers and services. This is an extension of SOA in that SOA apps are full (some would say legacy) apps with their own database, while SOBA consumers are simply service consumers. No database.
This means that even simple CRUD operations have to run across the SOA interface. Preloading a user interface has to consume service data. For this to work, the infrastructure has to be fast.
The SOBA infrastructure has to have a way to put intelligent caching directly into the service consumer itself, so that the number of transactions doesn’t become “chatty.” It needs to spend very little time serializing and deserializing data. There cannot be a noticable overhead caused by the configuration infrastructure.
In an async message-based world, these aspects don’t rise to the level of notice that we consider them a problem. Not so in SOBA.
I have high hopes for Windows Communication Framework (aka Indigo). WCF is all of the things I mentioned. It is fast. It is standards-based. It consumes it’s configuration quickly.
If you are finding that WCF has empowered a true SOBA environment, drop me a line. I’m interested in swapping stories.