Tuesday, April 11, 2006

Demise of the Application?

Does SOA at last move us beyond the 'traditional' notion of an application and elevate the space between 'applications' to that of a first class citizen in the world of information systems? Today, users and IT practioners alike reinforce the notion of traditional application stovepipes in the way that they (applications) get discussed as servicing particular user communities. This affects many aspects of how we do IT, from how things are run to what is paid for.

SOA and event management operate in the world between 'applications' and as such require us to re-evaluate the boundaries of our functional and data blocks. Maybe EAI was the first IT trend to bring attention to the space between applications, but the Application was still central. SOA by definition places emphasis on Interface. We need to manage interfaces and the infrastructure that enables them, not just on a per project or application basis, but enterprisewide.

This is where applications move beyond the database in to the world of communications; not at only at the network transport level but at the semantic level. Indeed, this a paradigm that may be more readily understood by telecoms people, who talk in terms of protocols and interfaces, whereas application people talk in terms of databases, business logic and user interfaces. A user interface being no more than an adapter (a service wrapper?) for a particular form of external system, all be it a rather demanding and unpredictable one.

This emphasis on interfaces and boundaries between systems aligns well with the enterprise architects view of the world but naturally creates a tension with the application owners and developers. Ultimately for SOA to be successful we have to unlearn some of these traditional IT practices and look to other disciplines to help us.

3 comments:

Nigel Green said...

Adrian,

To your opening question:
The "space between applications" is exactly what I mean by 'Services Fabric' (SF). This space is being filled with all sorts of capabilities that have traditionally lived within the application domain - I'm thinking 'services' offered by:
- BPM
- BAM
- ESB
- SaaS
- Blogs/RSS
- Wiki
- Semantic Web.

I agree there’s a lot of unlearning to be done – I’ve been engaged in the Apps/DB v. Service/Message debate with developers since the mid-90s! However, I see one of the biggest challenges being the need to change business funding model away from the stove-pipe project. This shift id driven by the intrinsically infrastructural nature of SF – it’s hard because obtaining infrastructure investment is always more difficult!

Anonymous said...

I have been doing some work on this aspect and it is interesting to note the inferences in this blog ...

i guess SOA will definitely make an application obsolete but i doubt if the 'concept' of an application will disappear - ever.

SOA will create an amorphous body of business services that were hitherto identified and managed as applications but IT will still need some consistent way of planning,managing and developing these services.For example,from user's perspective if something is not working it implies that the 'application' is down.IT operations in this case would need to have some kind of grouping of business services to respond to such issues.

The best way to make such grouping would be to use the concept of composite applications but in any case it is difficult to argue that the 'concept' of an application is likely to loose relevance

Adrian Apthorp said...

I agree that the concept of an application will never go away, at least from the perspective of the user and those provding solutions to them. My argument is we have to pay more attention to the space between components of an 'application' and how these components are packaged (when does binding take place?).

With current approaches to application development I feel the software industry has fallen behind the capabilities of the hardware and networks. An application tends to be viewed as something a user accesses via a monitor, keyboard and mouse. This may be appropriate for certain users but not for many.

One of my favourite examples is the Slim Devices Squeezebox streaming music player. This device plugs in to your hi-fi and streams MP3s from a PC or Internet radio. Through its plug-in architecture, flourescent display and remote control 'applications'/plug-ins can be loaded. Current examples are time, weather forecasts, e-mail notification, RSS readers, voice-mail, phone books etc.