Service development in Service Oriented Architecture (SOA) is the point where small, functional services can be linked together to achieve some larger goal, and it is the point where computing could finally deliver the productivity gains and functional flexibility that it promised for so long.
It's the crucial last link in the SOA chain and it's fraught with risks and challenges. "Improving service description, then announcing that those services are available, or again, establishing a way the services can be discovered, all are important challenges that need to be addressed," says Matteo Melideo, coordinator of the SeSCE project. "We also need to enhance service composition and offer a way to deliver and monitor services."
The primary goal of SeCSE is to create methods, tools and techniques for system integrators and service providers, and to support the cost-effective development and use of dependable services and service-centric applications.
The project secured a number of leading partners to tackle these challenges. World heavyweights like Microsoft, Computer Associates, DaimlerChrysler, Telefonica and Telecom Italia mix with academic and research partners like the CEFRIEL, University of Lancaster and the European Software Institute. It's a large, four-year project with a budget of €15.2m, €9.2m coming from IST funding.
The group took a multi-faceted approach that involved influencing the development of standards and using established standards for their work to create protocols, develop tools for service composition, and to provide support for services.
"There were four major strands to our work. Service engineering focused on service specifications and testing; Service discovery focused on service discovery at design time, architectural time and run-time; Service-centric system engineering focused on service composition at design, architectural and run-time; and service delivery focused service delivery and monitoring," says Melideo.
The team improved semantics for service description and testing. "There are commercial facets, technical facets and testing facets to these semantic descriptions," says Melideo. "It is vital to test the service both during composition and during run-time, to ensure that the functional and non-functional requirements are met."
For service discovery, for example, the team developed a search engine. "It allows the description of a high-level business model and then searches for the best fit service for that model," says Melideo. Semantics and the search engine are an example of the broad mix of tools, protocols and methods adopted by the group to develop a service development platform.
But the heart of the platform is Service centric system engineering. "It's the core of our work. All the other elements are vital too, because without discovery or description, for example, service centric system engineering wouldn't be possible,” says Melideo. “But it is here that all the work comes together and actually achieves the overall goal."
The project's method provides architecture styles for service centric systems. These are overall outlines indicating how particular services are completed. The Service Composition Tool selects the individual 'best fit' services. Dynamic binding and negotiation allows the service to be enabled at run-time, or when the user requests it.
SeCSE is now halfway through its lifetime and it has a demonstrator of its service composition platform. Combining SMS and GPS services, project partner Telecom Italia will show how a commuter's schedule can be updated to take account of a traffic jam, for example. "If the driver is going to be late for a meeting because of traffic, for example, the service can alert his or her assistant who changes the schedule and re-arranges any meetings. Then an SMS message is sent to the driver's mobile phone providing a confirmation of the new schedule," says Melideo.
While this is a very specific example of service delivery, the nature of SMS means it could be used to provide almost any information, whether it's an alert about a traffic jam or a local attraction or a special offer at a service station en route. It's a promising demonstration of SeSCE's work.
Adaptive service provision and application
Another IST project, the Adaptive Services Grid (ASG) adapts business workflow and service composition techniques to the SOA model. The key features of an ASG-conformant platform are seamless integration of heterogeneous external services, on-demand creation of service compositions and reliable service provision with assured quality of service. Dr Dominik Kuropka, scientific coordinator, says this is very challenging, because the SOA model involves many different parties, which either consume or provide services. This usually leads to major issues when it comes to interoperability. Standardisation of protocols and service specifications up to the semantic level are the solution, he believes.
ASG uses semantic service descriptions to match and, if necessary, compose relevant services to meet a given semantic request. It also monitors the service enactment and it performs compensation activities to handle failures, for example, by finding alternative services or by re-composing the whole workflow.
The team successfully showed that, on their platform, services could autonomously combine functions to achieve some overall goal. But more work needs to be done. "We need better and more mature semantic tools. Semantic matching of service descriptions, and the composition and planning of workflows depends on the availability, stability and reliability of advanced reasoners," says Dr Kuropka.
"A reasoner is a software tool that can derive new facts from a set of given formally annotated facts,” he explains. “Available reasoners either lack the expressiveness power or maturity. The latter one is usually reflected by the absence of stability, reliability, transactional behaviour, support for parallel access or simply persistency of data. It would be useful to combine and integrate reasoners with mature database technology and approaches to open these tools for business."
Still, it's an exciting result and it hints at the real potential for SOA once the service development and application problems are solved. "The integration of software systems is one of the most time and cost-intensive tasks in the application of information technology. At the moment only humans are able to create a bridge between the functionality and structures of two systems. Semantic service provision platforms like ASG are starting to close this gap. They open new fields for automation and have a high potential for time and cost reductions," concludes Dr Kuropka.
Source: IST Results
Explore further: Apple software update protects Macs from 'Bash' bug