The intelligence of machines and the branch of computer science which aims to create it

Artificial Intelligence Journal

Subscribe to Artificial Intelligence Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Artificial Intelligence Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Artificial Intelligence Authors: Corey Roth, Pat Romanski, Liz McMillan, Yeshim Deniz, Kevin Benedict

Related Topics: Java EE Journal, Artificial Intelligence Journal, SOA & WOA Magazine

J2EE Journal: Article

Next-Generation Service Infrastructure & the Semantic Challenge

Computer science on the edge of a new generation

The main advantage to using semantic properties for service governance is to obtain high-level information about functional and non-functional service's attributes. This allows more accurate ways to manage, select, and compose services to be implemented both at design time and at runtime.

The distributed repository stores metadata about services that include all the information necessary for governance processes: "classical" metadata such as WSDL but also SLA policies, composition models, transformations and mappings, and semantics. This repository offers an API that allows service lookup and discovery based on different flavors: UDDI style (white page, yellow page, green page), policy, and ontology-based semantic services.
The dynamic orchestration engine (see below) provides service composition mechanisms to dynamically react to external events to fulfil SLA contract and governance policies. Dynamic service composition uses semantic information to dynamically adapt service composition according to some events and automatically generate a plan.

A service policy enforcement mechanism takes into account necessary policies' enforcement as specified in SLA contract. The JBI approach sets up a pluggable strategy for governance based on a set of pluggable policy enforcement binding engines: it may be seen as an intermediate layer between the target service and the consumer. (See Figure 3)

SLA Definition and QoS Enforcement
The non-functional properties of services can be expressed in many different ways. These non-functional properties are commonly referred to as QoS properties. A trend is emerging at the junction between the SOA world and the Semantic Web of using ontologies to describe application domains by modeling their (functional and) non-functional properties.

In a service-oriented environment, it's advantageous for service consumers and providers to get guarantees regarding the services that they both require and offer. Usually these guarantees pertain to QoS. WSDL doesn't provide a way to express these guarantees so standards such as WS-Policy and WSLA (Web Service Level Agreement) exist to express additional non-functional attributes. SLAs are similar to the notion of contracts in component architectures, but transposed to service-oriented architectures. An SLA specification should let us correctly express the complex relationship that is established between service consumers and service producers in a SOA environment.

It's foreseen that the semantic WS-Agreement specification could be a good starting point for expressing service level agreements in the PEtALS project, since its formal semantics would come up to our expectations.

WS-Policy9 is a W3C standard that offers mechanisms to represent the capabilities and requirements of Web Services as Policies. Web Services Policy is a machine-readable language for representing the capabilities and requirements of a Web Service. These are called "policies." Web Services Policy offers mechanisms to represent consistent combinations of capabilities and requirements, determine the compatibility of policies, name and reference policies, and associate policies with Web Service metadata constructs such as service, endpoint, and operation. It lets Web Services advertise their policies and Web Service consumers specify their policy requirements.

Infrastructure Monitoring
Infrastructure monitoring is also a crucial issue for such dynamic service governance to provide an SLA enforcement mechanism with sufficient input.

This requirement is addressed by a monitoring infrastructure that can be used for performance monitoring, availability, and QoS reporting. We deploy a dedicated framework based on specifying generic probes associated with an expected QoS level; given a particular service level and configuration we generate corresponding specific probes that are then deployed inside the service infrastructure.

Dynamic Composition
Service composition aims at enabling complex services built from a number of simpler services. The design of dynamic compositions using semantic services is a new challenge. Such an orchestration engine must take into account the semantic properties of each service to establish a coherent composition. The aim is to dynamically select the services that can preserve the global policy of the composition.

Processes being built today need business agility to adapt to customer needs and market conditions quickly. This would include incorporating new customers, partners, or suppliers used in a process. Web Services orchestration is about providing an open standards-based approach for connecting Web Services together to create higher-level business processes. Standards such as BPEL (Business Process Execution Language) and BPMN (Business Process Modeling Notation) are designed to reduce the complexity required to orchestrate Web Services, thereby increasing the overall efficiency and accuracy of business processes.

But, due to their limited expressiveness, such a high level of interoperability is hard to get with the current standard specifications. In fact, they're often dedicated to managing only the functional aspects of Web Services orchestration and on a somewhat low abstraction level. We propose to adapt the BPEL process engine to support:

  • First and foremost, an ontology-based semantic selection of Web Services based on the functional requirements of the business processes and service consumers. To do so we use standards such as SAWSDL (Semantic Annotation for WSDL) and the OWL Web ontology language.
  • A multi-step approach at different times (static/dynamic) to Web Services selection based on their non-functional properties (QoS) and the non-functional requirements of business processes. A two-phase protocol is specified that consist of:

    - Statically filtering the list of registry-published services based on the non-functional requirements to obtain a set of acceptable services.
    - Dynamically querying these services during business process evaluation to obtain their instantaneous and precise QoS values,
    - Selecting the best service for Web Service calls using a QoS optimization decision process.
This engine is based on an autonomic encapsulation of the PVM10 (Process Virtual Machine) based on the OW211 Fractal Framework. The PVM is a general description framework for the process language. Developed by JBoss and Bull and available as an open source Java library, it's currently used to implement jBPL and Orchestra (the BPEL 2.0 engine). The Process Virtual Machine defines a common model that can be shared between all the graph-based execution languages. It also includes a strategy on how process constructs can be seen as software components. This enables support for multiple process languages and clearly shows how process technology fits right into software development projects.

More Stories By Jean-Pierre Lorré

Jean-Pierre Lorré is R&D manager of EBM WebSourcing, founding member of OW2 open-source consortium and member of NESSI, the European Technology Platform dedicated to new wave service architecture.
As R&D manager of EBM WebSourcing, he is in charge of the research activities for next-generation SOA software products, targeting a Web 3.0 service infrastructure. Jean-Pierre graduated from ISMRa (ENSI de Caen) in 1985 with a specialization in Robotics.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.