SOA means change - and keep changing
SOA generates buzz phrases - some are even useful...
Most companies currently flying round the Service Oriented Architecture (SOA) candle have a buzz phrase or two to hand that they hope will help users make more sense of what might be possible with the technologies involved – especially theirs – but one of the best to emerge recently came from Shahin Khan of Azul Systems, speaking at a round table on future trends in SOA, which the company co-hosted with JBoss.
That phrase is "Dynamic Real Time Re-automation" and though it may sound obscure, it actually makes some sense, for it does encapsulate the need for companies to not only be able to change and change rapidly, but also keep doing it. Not only do companies need to automate business processes wherever possible, but they must not rest on any laurels. Instead they must be ready to change as soon as change seems needed.
Khan was the first to acknowledge that there are many steps between that goal and where most enterprises currently operate today, but he did suggest that there were some trends – "megatrends" in his view – that are emerging that move the world in the right direction. SOA itself is one them, which he coupled with the arrival of multicore processors and open source software. Together, he speculated, they can ultimately lead to the arrival of yet another megatrend, utility computing.
One area that is changing fast – indeed is now almost a "done deal" in his view – covers the changes happening to the overall programming model, which he said had stayed the same for at least 20 years. Most new applications in the enterprise space are now developed using either J2EE or Microsoft .NET and are therefore fundamentally object-based. This has to be the way for applications development to go if service-based environments are to be realised, he suggested.
This does carry with it an equally important area for change, though one that is less likely to see radical developments too soon. This, according to the European head of JBoss, Sacha Laburey, is licencing, and it is one area that is not easy to change. “Software vendors would love to see it, but they also love to count things.”
There are some experiments starting to appear in the licencing area, with Microsoft being not least amongst them with its soon-to-be-announced Dynamic Instancing approach, where users will move towards a pay-per-use model. JBoss is itself instituting change, having dropped licencing the code itself and moved to what Laburey describes as something closer to a service-based model based on the service level the customer requires.
“If they want the whole stack they will pay more for support and maintenance than if they just want some of the components,” he said. “That way we get close to being paid for the actual demand for our products. It also means that every year is "election" year,” he added. “No one will want support if they are not using the products.”
Other areas for developers to target that emerged from the discussion include taking the notion of "one version of the customer" a good deal further. The idea of having just one database handling all instances of customer data is still something of a forlorn hope for many enterprises, but it is seen as possible – nay essential – and capable of being taken a good deal further. For example, it could be taken to equate with "one customer-specific version of the system", where the customer could interact with – even interject into – a supplier’s system to select and/or modify the services that are used by that customer. This could work in much the same way as the cookie operates now in individual browsers, but on a more complex and richer scale – something of a cake, perhaps. The key technology here would be a far more complex and powerful development from existing Version Management systems.®