Oct 19, 2009

Glueing Applications Together

As I talk about SOA future vision, the 'ultimate state' or end stage goal, I frequently speak of application assembly. Application assembly is a future state goal where services and components are linked / bound / process workflow managed by specialty environments (perhaps ESB's or more likely BPM suites) into 'virtual' applications. 'Virtual' because the components are being orchestrated into the common larger business processes and are not an actual single block of code working tightly together as a single application - the traditional big-box application.

After having this conversation at some clients for about 2 years, many are starting to get it and express some of this future state vision as they work with the business on today's goals. And they are taking practical steps today that let them realize limited parts of the vision and/or take some steps towards the future.

But the question is, what technologies are in place that actually are realizing these future benefits even today?

The surprising answer is, unfortunately a technology set not frequently found in the corporate IT setting... LAMP. Linux - Apache - PHP - Web 2.0 technologies.

Many social media web sites, news & media websites, blog utility and other similar functionality websites are following this model today. Such sites are uses services between sites, loading modules between sites, using cloud services (such as Amazon S3 storage services and EC2 cloud computing services) today.

Many sites have built major portions of their business models based on the use of services, components, cross-site interactions and cloud (or cloud-like) capabilities.

They may be the only businesses practically using the future model today. In a future article I'll discuss some practical examples.