Semantic Web Services discovery and composition: paths along workflows
C´ assio V. S. Prazeres
Universidade de S˜ ao Paulo
S˜ ao Carlos, Brazil
prazeres@icmc.usp.br
Cesar A. C. Teixeira
Universidade Federal de S˜ ao Carlos
S˜ ao Carlos, Brazil
cesar@dc.ufscar.br
Maria da Grac ¸a C. Pimentel
Universidade de S˜ ao Paulo
S˜ ao Carlos, Brazil
mgp@icmc.usp.br
Abstract—Semantic Web Services discovery and composi-
tion: paths along workflows Web Services allow the compo-
sition of new services on top of existing, partial ones. Using
standard languages, Semantic Web Services can provide
the description of their input parameters and preconditions
for execution, as well as the output and effects of their
execution. The availability of such descriptions demand the
investigation of systematic approaches for the composition
of Web Services based on their description. After presenting
our approach for service discovery, we detail our proposal
for modeling the composition problem using graphs. Next, we
present the algorithm we implemented for the composition
of Web Services, detailing the cost-based policy underlying
our graph-based model. We also present the results of
experiments we executed based on artificial data describing
Web Services.
Keywords-OWL-S; web service; composition; graph; min-
imal paths;
I. I NTRODUCTION
OWL, the Web Ontology Language
1
, has been designed
so that it can be used by applications able to process
information – instead of just presenting information to
humans.
2
OWL-S: Semantic Markup for Web Services has been
proposed as an ontology of services that allows users
and software agents to be able to, with a high degree
of automation, discover, invoke, compose, and monitor
Web resources which offer particular services and present
particular properties.
3
OWL-S, as an ontology language for Web Services [?],
allows that explicit semantics be associated with the
specification of Web Services. Such semantics should be
exploited in order to allow that tasks such as service dis-
covery, service composition, service selection and service
invocation. Moreover, it supports the design of tools and
methodologies associated with Semantic Web Services [?].
When semantic information is not available, the dis-
covery process is limited to keyword-based searches on
registries conforming to the UDDI (Universal Description,
Discovery and Integration)[?] specification which does
not support taxonomy-based or semantic-based inferences.
The OWL-S language allows the use of ontologies
to describe functional and non-functional attributes of a
service, which can be made public in the service profile –
1
http://www.w3.org/TR/owl-ref/
2
http://www.w3.org/TR/owl-features/
3
http://www.w3.org/Submission/OWL-S/
this information can be used in semantic searches based on
relationships such as subsumption, which take into account
the hierarchy of the classes in the ontologies, as well as
reasoning [?].
The discovery process may result in different levels
of success. The best case is when one or more services
that match the request is found. The worst case is when
not a single service that matches at least part of the
request is found. The other alternative is when several
services that attend partially the requests are found. The
last alternative occurs in several scenarios since many
services are static compositions of other partial services.
For instance, an online store may involve the composition
of services such as product search, shopping cart, payment
options, delivery options.
Static compositions are created at the time of the design
of new services. Some standards are available to allow the
specification of compositions. For instance, WS-BPEL [?],
[?] is an industry standard that allows developers to
manually specify compositions using their expertise with
respect to their knowledge of Web Service available.
The use of standards such as WS-BPEL does not allow
the automatic composition of services: this would demand
that the developer’s expertise be made explicit so as to be
processed by software agents, for instance. According to
Martin et al. [?], industry standards do not allow such
modeling. A language such as OWL-S has potential to
support web services automatic composition because is
allows the semantic description of the services capabilities
(inputs, outputs), conditions relating the inputs (precon-
ditions), as well conditions relating the outputs (effects).
Such explicit knowledge can be exploited by applications
aiming at computing automatic service compositions.
Automatic web services composition is the process
of automatically planning, selecting and invocation web
services according to some specified requirements [?].
Planning aims at discovering services which, combined,
fulfill the given functional requirements, and define a
execution workflow involving the discovered services. The
planning takes into account the information relative to
input, output, preconditions and effects for the available
services.
Selection is a post-planning activity aimed at choosing
among the available services those which best matches the
requirements in term of non-functional requirements (e.g.
QoS, service cost, service availability).
2009 Seventh IEEE European Conference on Web Services
978-0-7695-3854-9/09 $26.00 © 2009 IEEE
DOI 10.1109/ECOWS.2009.25
58
2009 Seventh IEEE European Conference on Web Services
978-0-7695-3854-9/09 $26.00 © 2009 IEEE
DOI 10.1109/ECOWS.2009.25
58