I'll push and you pull. The mashup approach to application integration
The phenomenon of mashup applications[1] on the web intrigues me. The applications themselves are fascinating enough but on top of that you have the richly painted canvas of reaction and opinion from the IT community. In a scene reminiscent of a busy Hieronymus Bosch[2] painting, many voices speak at once. Many reactions take place all at the same time, evidencing delight, horror, exacerbation in equal measure.
Commonly heard phrases include:
'Mashups are just toys.'
'Mashups will change the world and you greybeards just cannot see it.'
'Mashup technique is all well and good for simple projects but you could not do a real enterprise application like that. What about X and Y and Z...'
'Hey! Buy my 8 week old company now before your competitors get their hands on this game-changing application.'
In the midst of all the noise and haste I detect a very useful architectural pattern at work. A pattern which has broader applicability than many think. A pattern which may have a significant impact on the shape of application integration technology. A pattern which may ultimately be the key reason why 'Web Services/SOA' as currently formulated by the industry at large remains a niche rather than dominant force. But I'm getting ahead of myself. Best to back up the truck here and make an argument rather than just present tentative conclusions.
Application Integration is all about getting macro-level things done with a combination of micro-level applications. When we talk about how to go about implementing such a thing, we use very human-oriented language. We talk about application A 'sending' a customer update to application B. We talk about application C notifying application D that an order has shipped, and so on.
The language we use naturally follows how a people-oriented process would work. Bob would proactively tell Jill about the updated customer information. Jack would proactively notify Sally about the order shipment, and so on. This language naturally translates into computer-speak using a push-centric design. i.e. application A sends a message to application B. It is a short hop from here to the classic design patterns of enterprise application integration in which messages flow over wires from sender to receiver. All the usual problems arise: how to ensure that messages arrive, how to avoid duplicates, how to ensure that messages have not changed in transit etc. etc.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.












