Using Semantics to Discover Web Services Based on Partial Data: An Update of Previous Research

Using Semantics to Discover Web Services Based on Partial Data: An Update of Previous Research

Catarina Ferreira da Silva, Paulo Melo, Paulo Rupino da Cunha, Pedro Milheiro, Parisa Ghodous
DOI: 10.4018/ijsita.2013100103
(Individual Articles)
No Current Special Offers


The authors developed an algorithm and a proof-of-concept tool to help business analysts search a pool of hundreds or thousands of services to find the closest ones to their needs when they are composing business processes, even when an exact match does not exist. The authors achieve this by semantically annotating the services with properties from an ontology, while, traditionally, only the concepts are used. This enables them to generate finer-grained partial semantic mappings between a query and the signature of the services published in a registry, despite potentially different parameter cardinalities and types. Their searches return a ranked list of those services available in the registry that most closely match the query specification. The analyst can then study the hits to see which of the suggested alternatives is more convenient. Such an approach is fundamental to effectively manage reuse in large service-oriented deployments, where the number of services in the registry becomes too voluminous for browsing individually or even syntactic searches that rely on some degree of memorization by the analyst.
Article Preview


By nature, all large systems are heterogeneous, i.e. they lack uniformity. Their components were initially developed to address various purposes and evolved towards accretions of different platforms, programming languages, and even middleware. The SOA paradigm enables dealing with such heterogeneous systems in a decentralized way as much as possible. Decentralization helps to obtain loose coupling, one of SOA’s key technical concepts along with services and interoperability. We briefly describe these three concepts below.

Although several definitions exist, in short, a service is an information technology (IT) representation of self-contained business functionality.

Loose coupling minimizes dependencies and thus helps scalability, flexibility and fault tolerance. When dependencies are reduced, modifications have minimized effects and the systems still run when part of them are down. When problems occur, it is important to decrease their effects and consequences. Josuttis (2007) elaborates on several strategies to apply loose coupling.

The ISO terminology recommendation (ISO/IEC JTC-1 (ISO) 1993) describes interoperability as the capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units. Thus, interoperability enables systems to communicate, understand each other and exchange information. Syntactic and structural interoperability is already set up with transformations, for instance, using standards like XML and XML Schema and associated tools. Syntactic and structural transformations are used to convert schema representations into a target format. However, approaches that target at enhancing interoperability based on structure and on syntax can only produce improvements when a certain conceptual homogeneity between graphs to compare exists. Solving mismatches on the semantic level, i.e. to come up to semantic interoperability, is a complex accomplishment. An increasing number of semantic resources is available, namely in the Web, that portray many different cognitive viewpoints over application domains.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing