I have always said the composite is the killer app for a SOA, but thats a little bit disingenuous because composites arent a new idea. Weve been building systems that rely on the data and information from other systems for years. Its just been harder in the past because the applications we base our composites on werent intended to be reused in this way.
But now we have web services technology to expose the building blocks. And we have tools like the CAF to quickly model, assemble and deploy composites. Yet I still see so many organizations struggling with the idea of building composites.
They unusually fall into 2 camps. First are the services junkies. Their development teams have built so many services it makes my head spin. But try finding a service used by more than one application and you quickly see that theyve missed a key point in terms of the real value behind ESA.
Then theres the modeling fiends. They spend so much time trying to come up with the perfect utopian enterprise services that analysis-paralysis takes over and nothing ever sees the light of day.
So Im thankful our web developer friends have blazed the trail. We should all take a step back and see what the web community is doing in terms of composites.
For one, they use a better geek term and call their composites mash-ups. Mash-ups are built using a combination of publicly available services, typically from companies like Yahoo, Amazon, and Google. Web developers are taking these and combining them in new and interesting ways. The showcase example is using the Google Maps service to display visual location information based on some other address based data service. For example, where to buy cheap gas or building a route plan that involves several stops.
Check out this article from CNet to see examples in the world of mash-ups, and the vision for Web 2.0. Sure seems like composite apps to me.
I have a friend who has built an extremely profitable micro-business based on marketing ingenuity and assembling software solutions from the public APIs at Google, Yahoo and Amazon. And hes not even a developer.
Heres what you can learn from the mash-ups:
They have a clear goal to solve all or part of a unique business problem
They leverage valuable services that are trusted and reliable
They require very little code to assemble
The underlying services are robust. Its not like Google, Yahoo and Amazon dont get insane user loads that exceed all but a few IT infrastructures.
Most importantly, they are simple
It wont be long until we see the mashing of mash-ups. Essentially a composite service is itself a service.
Now it seems to me if this level of usefulness can be demonstrated with public services, why cant we do so much more within our own environments where we have trusted infrastructure and much greater control over service implementations?
For one we havent mastered the key secret behind the mash-up. They start with valuable services. In the next blog Ill identify what weve seen as the 8 characteristics of a great service. Will be interesting to see what additional ones you can add.
And in the mean time youve got plenty of patterns to play with today. Theres the public Google, Amazon and Yahoo services. More importantly, theres the ones from SAP. An ERP to Google mash-up anyone?
Hopefully you’ll begin to see the idea of composites and services in a whole new light when viewed through the Web 2.0 lense. What’s the killer mash-up inside your organization??