Jason Bloomberg of ZapThink writes about what he thinks the killerApp for SOA will be and to paraphrase him: it will be the mother of all modeling tools, spanning service definition, BPM, extending into deployment with monitoring, policy, management and so on. It will also be the mother of all dashboards - pulling together all the information currently scattered through multiple dashboards and monitoring tools. The twist is that for Jason, the killerApp will be an enterprise mash-up :
We spoke of the SOA Killer App as containing modeling and development capabilities, a wide range of dashboards, and the capabilities of every service consumer under the sun. But that doesn't mean that you'd expect to buy such a thing as a shrink-wrapped package from a single vendor. Instead, the SOA Killer App enables the creation and evolution of itself as a composition of services -- an enterprise mashup tool that is itself an enterprise mashup.
It highlights again what is becoming apparent to more and more people: the technology of Web2.0 is as applicable and attractive within the organization as across the internet. (For anybody wanting a good starting point on Web2.0 read Tim O'Reilly's article)
I agree with Jason's view that the mashup approach to creating rich user interaction is the way forward in the enterprise - although there are clearly lots of issues around identity and security to figure out as the openness of the consumer web is not appropriate inside the organization. However, I do not think that on its own it will be a killerApp for the following reason:
Clearly, SOA and Web2.0 both add load onto both the applications being interacted with and the level of network traffic and the complexity of flows through the network. In the case of SOA, the load probably won't cause major problems as the number of applications connecting will remain relatively small.
However, enterprise mashups could be used by every person in an organization. As their popularity grows the number of data flows will increase exponentially. Furthermore, dashboards are likely to be popular components of these mashups and these will be polling (using RSS for instance) with customized queries to get at the data - putting potentially high load onto the queried applications and flooding the network with traffic.
This of course means that for enterprise mashups to scale, the load put onto the network and the queried applications needs to be controlled and to do this a whole infrastructure of enterprise centric aggregators and harvesters need to be put in place as well as traditional management and monitoring capabilities. This doesn't mean that mashups aren't a great idea - simply to my mind it is in this area of flow control and management the opportunity to stir things up and create a killerApp lies.













One way to kill the burden of constantly polling for updates is to switch to a push model. Instead of constantly checking for updates, all a service needs to do is subscribe to it and the data can just flow in. This could be done with web services or using something like XMPP/Jabber's pub/sub service.