The adoption of service-oriented architecture (SOA) has introduced flexibility and reuse into the IT infrastructure. But according to Eric Guilloteau, CEO and founder of user interface software provider Corizon, SOA has yet to improve the lives of end users.
“Our contention,” he says, “is that SOA does not deliver user-centric applications.”
The reason for this, Guilloteau says, is that SOA platforms make no consideration for the user interface. More concerned with repurposing legacy code and easing integration, SOA projects treat interface design as an after-thought, he argues.
And to neglect the user experience is to jeopardise the business benefit of any software project.
A common approach has been to present web services side by side on a portal screen. This is tolerable for those services that merely present information. But when services perform transactional operations, this juxtaposition – as opposed to functional integration – is little improvement on the historical situation, common within call-centres, in which agents find themselves constantly switching between multiple applications.
An alternative technique is to create composite applications – known as ‘mash-ups’ – using simple application programming interfaces (API). These, Guilloteau argues, are too simplistic to be scaled for enterprise use.
That leaves organisations who are deploying SOA at a corporate level with no plausible option but to hand-code applications that bring together the relevant services in a tightly coupled fashion. This runs counter to the very point of SOA – promoting swift, modular and reusable development code, Guilloteau suggests.
What is more, developing software in-house with the sophistication to handle governance issues such as security and resilience to performance deterioration requires expensive skill sets – and time.
Guilloteau believes the solution to this problem is what Corizon describes as user-interface services. These services are ‘building blocks’ with which to create an interactive user interface. They sit above the underlying application services and translate them into segments of functionality that make sense to the business user.
The key benefit of the ‘UI service’ approach is that by simplifying the underling services, it allows the people who know a system best – those people who use it – to design the interface. In so doing, a UI service-based system can help to shorten the perennial divide between IT and business, Guilloteau argues.
“The reason why IT and business find it difficult to collaborate is that they do not have a common language,” he explains. “There is no better way to provide a common language than with a visual system to which they can both refer.”
UI services, he continues, give control of the function of the service to the consumer, while the back-end work
of supporting and maintaining the underlying services resides with IT. The model is well-suited to an organisation that outsources application development offshore, Guilloteau says, because building and maintaining application services is distinct from the process of designing and optimising the user’s experience of the application.
And, of course, the interface approach brings the benefits of SOA-based development – especially reuse – to the end-user environment.
An early deployment of Corizon’s UI services system was at UK telecoms provider BT. At first, BT built its business-to-business broadband customer service system using agile development methods and the Corizon platform, a project that took three months.
It then built the equivalent system for its consumer broadband customer service division, a job that took only six weeks thanks to between 70% and 80% of the code from the first development task being available for reuse, as a result of its basis in UI services. The project went on to pick up an Information Age Effective IT Award.
The focus, to date, of many SOA projects has been improving the efficiency and productivity of internal development teams. Guilloteau’s argument serves as a reminder that this must not be at the expense of the end-user’s ability to do their job.