Sign In

Communications of the ACM

ACM News

Architects Compose Symphony of Computing Services

View as: Print Mobile App Share:
symphony concert

The Economist saw the writing on the wall in 2003 when it suggested computing would soon become a utility and software a service. Applications, it posited, would no longer be a block of immovable software running on a computer's operating system, but a mix of Web services developed on application servers.

Services are finding homes in a growing number of applications, from e-learning to manufacturing. But the IT industry's rush to meet demand for services has been ad hoc and undisciplined, according to the EU-funded Sensoria project, leading to a number of leaks in current software development — reliability, flexibility, security, cost factors.

Whether it is answering a relatively simple request like a dictionary translation or a more complex banking system, existing software is missing some of the key elements to be called a true symphony of "wrapped services" working together independently.

Current technologies basically only define high-level communication between services, but the computers themselves have no way to reassure themselves that they agree on the meaning of the exchanged data, suggests Prof. Dr Martin Wirsing of the Institute for Informatics at Ludwig-Maximilians University of Munich, coordinator of Sensoria.

In other words, applications have the ability to "talk" to each other but they do not "understand" what they are talking about. It is like traveling in China with no knowledge of Chinese, Wirsing suggests. "Sure, you can hand a taxi driver your destination written on a piece of paper, but if it's illegible or has missing information, you are in trouble."

Making the technology simple

Sensoria has come up with its own Software Development Environment which makes composing services easier using graphical design tools. The resulting services can be located dynamically and triggered by other services. The relationship between the services is, by nature of the SOC architecture, loose and flexible.

Sensoria goes to lengths in its platform to "hide" the complexity. In the front-end, service-oriented applications are designed using a standard Unified Modelling Language (UML) or domain-specific modelling languages, as needed. The back-end, performing the hard-core mathematical analysis, does the quiet job of revealing bottlenecks, errors or violations of service contracts.

To get to this point, Sensoria — or its full project name 'Engineering of software systems for service-oriented overlay computers' — had to go back to the drawing board to develop all-new mathematic foundations, techniques and approaches to more pragmatic and reliable software engineering. This massive undertaking needed the collective wisdom of Europe's leading universities and IT labs.

The key to scalable, cost-effective SOC, according to Sensoria, is the ability to "compose" existing services so they can perform higher-level functions. These compositions — also called "orchestrations" — form new services in their own right, which can be re-orchestrated into even higher-level compositions.

"You can compare this to the music composed for an orchestra where the combination of different instrument groups allows the composer to create textures and sound-scapes that are much more sophisticated and complex than what can be achieved by any single instrument in the orchestra," notes Wirsing.

Real-world examples revealed

But when complex orchestrations go wrong, the consequences can be grave. Vulnerabilities have already been found, for example, in various implementations of SCADA (Supervisory Command/Control And Data Acquisition) software used to control important utilities like electricity, water, oil, or in petrochemical plants. What if hackers exploited these leaks to gain access to the plants' control centres?

In the USA last year, recalls Wirsing, a real-world threat was reported. A nuclear power plant executed an emergency shutdown after a software update was installed on a computer operating in the plant’s business network. "It should never have been possible for a computer in that part of the network to affect the control of the reactor core," stresses Wirsing. "In Sensoria, we provide methods to ensure that similar kinds of [undesirable] interactions cannot happen."

These examples show that failure is not an option. The stakes are just too high. Industry increasingly relies on software services and consumers’ penchant for ever-richer experiences on their mobile devices is driving whole new compositions.

Architect as developer

A basic analogy of the benefits of "service-oriented computing" is that of a master builder or architect. Building a house requires a set of services — plumbers, carpenters, plasterers, tilers, etc. Each has a function to perform in relation to the building, but also must "orchestrate" a number of other functions, or "service compositions" — ordering parts, hiring equipment, scheduling deliveries — to be able to carry out their core contribution. Failure in any one of the smaller tasks can jeopardise the whole job.

In the context of SOC, as developed by the project, this can span organizations, or whole continents as need be. Overlaying like this navigates many of the current problems facing service-oriented architecture, among them error-prone data exchange and querying, the need for unbroken service, especially in critical applications like banking, network failure and security attacks, as well as weaknesses in software performance testing — analysis, validation and verification during development.

What’s next?

Sensoria focused on four domains — e-business, automotive, e-learning and telecom — to validate its techniques and methods, but its solutions apply equally to many other systems, from embedded controllers to industrial process automation, and robotics. The team demonstrated its service development approach for analyzing and controlling robot performance at last November’s ICT 2008 congress.

Sensoria's platform caught the eye of a major player in SOA at the CeBIT 2008 event as well, which has led to several meetings with that company exploring future collaboration opportunities.

"We are also in contact with a German company that has developed an open source framework for SOA development. This company is interested in our results, in particular the UML profile and our tools, which they intend to integrate in their framework. Among the Sensoria partners, two commercial spin-offs are currently being prepared, one for commercialising the Sensoria orchestration language Jolie, and another for exploiting the soft-constraint optimisation techniques developed as part of the project."

Sensoria received funding under the ICT strand of the European Union's Sixth Framework Program for research.

From ICT Results


No entries found