Service Oriented Architecture (SOA) software design promises to populate the world's networks with many small, lightweight, reusable programs that can automatically combine to perform a vast range of services. This will allow simple functions to unite to perform complicated tasks. But a major challenge exists.
That challenge is how to find a robust, efficient and economical way to introduce all these tiny programs to each other, and to alert other programs of their function. Or as Dr Dominik Kuropka, scientific coordinator of the IST-funded Adaptive Services Grid (ASG) project, puts it: "How can we represent the functionality of real world services in a way that computers can deal with it?"
ASG has implemented a reference platform for semantic service provision. Their platform is possibly the first to show that software can autonomously combine functions to achieve some overall goal. The team developed two sample services, booking a visit to a tourist attraction and automated supply chain management, to validate their system.
Part of that work was to develop a way to represent, in a way machines could understand, the function of each service, such as booking, payment and so on. This is important. Services must be able to advertise their own function, and discover the function of other services.
It enables software to combine and execute independently, without human intervention. A flight service, for example, must be able to understand what a payment service is for before it can invoke it to execute the credit card charge.
A question of semantics
Happily, there is a proven, machine-readable method for finding software and objects on the Web using semantics and ontologies. Semantic descriptions outline the nature or function of files and programs in a specific way, based on a lexicon of agreed terms, called an ontology. Vitally, it is machine-readable.
Accurately describing services enables powerful discovery and service composition mechanisms. The challenge facing the creation of an ontology is to find the correct level of granularity. Coarse-grained ontologies are relatively easy to develop, but they result in vague service descriptions making service discovery and composition difficult with a high risk of low precision results, and the need for major human intervention to overcome these drawbacks.
On the other hand, developing fine-grained ontologies is laborious, but it allows for accurate descriptions of service semantics, which eases service discovery and composition and leads to more precise results and a higher level of automation.
But while detailed semantics and ontologies produce the best results, they come at a cost: extreme complexity. Each field of human endeavour, or domain, needs an ontology specific to it, so you need one ontology for healthcare, another for government and a third for travel. They must cover every type of business information and function for that domain. The number of terms and ontologies mounts quickly. It becomes expensive and time consuming to create and adapt them towards new developments.
"This is an area that needs more research," says Dr Kuropka. "What is a proper level of expressiveness for modelling of semantic services, which provides a good balance between the investment in ontology and service modelling and obtainable level of utility and automation?" How much detail should an ontology contain before the costs begin to exceed the benefits?
It's an important question, and Dr Kuropka managed to find the beginnings of an intriguing answer during research in ASG. Dr Kuropka studied how well services performed at increasingly detailed levels of description. Unsurprisingly, he found that the performance of services improved as the level of detail increased. So far, so predictable.
Less predictable, though, is that the rate of improvement varied at different levels of detail. While performance rises slowly in high and low-levels of detail, Dr Kuropka says that in the middle there appears to be a steep rise in performance.
This is an initial result and Dr Kuropka says the area needs a lot more study, but his observation does suggest that there are particularly cost effective levels of description that may provide a method for balancing costs and benefits.
Services must be able to advertise their own function and discover the function of other services
An alternative two-step approach
INFRAWEBS is another IST project in this field that has been developing a framework for open development platforms for Web service-enabled applications using Semantic Web technologies. It took a slightly different, two-step approach to the problem of identifying services.
"One of the main results is the development of an architecture, which reflects a novel approach for solving problems during the creation of Semantic Web service applications - the tight integration of similarity-based and logic-based reasoning," says Dr HJ Nern, scientific coordinator and Prof G Agre, the senior scientist, of the INFRAWEBS project.
Similarity-based reasoning matches services based on general function, logic-based reasoning uses elaborate logical definitions. "The similarity-based reasoning is used for fast retrieving of an approximate solution, which is further clarified by the logic-based reasoning." Instead of one detailed ontology, INFRAWEBS uses a vague ontology to cover a broad area, and highly precise ontologies to cover a smaller number of precise definitions. It increases speed and reduces the complexity tied to the development of ontologies.
The team also developed a way to use simple expressions in the user interface to create complex logical descriptions of semantic service components. "Such an approach allows a provider of non-semantic Web services to easily become a designer of semantic services, without the need to learn a complex logical language," says Dr Nern. INFRAWEBS also tackled the problem of defining user goals, one of the crucial factors in Web services. If services cannot accurately identify the overall goal, how does it decide what service elements to recruit?
Problems remain. As with the ASG project, the first problem is a level of granularity to be used for creating semantic descriptions of a service. Another serious problem is a lack of commonly accepted ontologies for different domains.
"The creation of such general ontologies is not an easy task and in general should be done in conjunction by domain experts and logicians," says Prof Agre. "A consequence of this is the problem of semantic interoperability. That is still an open problem for the Web Service Modelling Ontology community."
It remains a challenge for the development of Semantic Web services but one that experts in the field are actively seeking to resolve.
Cite This Page: