Skip to main content

2008 | Buch

Implementing Semantic Web Services

The SESA Framework

herausgegeben von: Dieter Fensel, Mick Kerrigan, Michal Zaremba

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

Service-oriented computing has become one of the predominant factors in IT research and development efforts over the last few years. In spite of several standardization efforts that advanced from research labs into industrial-strength technologies and tools, there is still much human effort required in the process of finding and executing Web services.

Here, Dieter Fensel and his team lay the foundation for understanding the Semantic Web Services infrastructure, aimed at eliminating human intervention and thus allowing for seamless integration of information systems. They focus on the currently most advanced SWS infrastructure, namely SESA and related work such as the Web Services Execution Environment (WSMX) activities and the Semantic Execution Environment (OASIS SEE TC) standardization effort. Their book is divided into four parts: Part I provides an introduction to the field and its history, covering basic Web technologies and the state of research and standardization in the Semantic Web field. Part II presents the SESA architecture. The authors detail its building blocks and show how they are consolidated into a coherent software architecture that can be used as a blueprint for implementation. Part III gives more insight into middleware services, describing the necessary conceptual functionality that is imposed on the architecture through the basic principles. Each such functionality is realized using a number of so-called middleware services. Finally, Part IV shows how the SESA architecture can be applied to real-world scenarios, and provides an overview of compatible and related systems.

The book targets professionals as well as academic and industrial researchers working on various aspects of semantic integration of distributed information systems. They will learn how to apply the Semantic Web Services infrastructure to automate and semi-automate tasks, by using existing integration technologies. In addition, the book is also suitable for advanced graduate students enrolled in courses covering knowledge management, the Semantic Web, or integration of information systems, as it will educate them about basic technologies for Semantic Web Services and general issues related to integration of information systems.

Inhaltsverzeichnis

Frontmatter

Foundations

1. From Web to Semantic Web
Although the targeted audience of this book is professionals and researchers who are presumably somewhat familiar with the current state of the art when it comes to the Internet, World Wide Web, Web programming, semantic technologies, etc., this chapter will provide a very brief background of the history of the World Wide Web and its current relevant technologies essential to semantically enabled serviceoriented architectures. Second, to bring the reader “up-to-speed” and to establish a common ground to base the rest of the chapters on, this chapter will emphasize the limits of the current Web technologies in order to clearly motivate the need for the technological advancements proposed in this book. The chapter’s twofold purpose is then to provide sufficient background information and to prove that the technologies of the SemanticWeb provide the foundation on which Semantically Enabled Serviceoriented Architecture (SESA) is able to functionally operate.
2. Semantic Web Services
The Semantic Web transforms the current, syntactic Web into a Web that is aware of and fully utilizes explicit semantics in order to overcome the prevalent mismatches in understanding and integration of data structures and data vocabulary. With a Semantic Web as a fundamental basis it is possible for human users to find meaningful data and to interact with the Web in a semantically defined and precise way. Going beyond data and information processing, Web Services bring the aspect of dynamic and distributed computation into the current Web by making the Web infrastructure a device for distributed computing on a worldwide scale. However, Web Services, like the current Web, are syntactic in nature, making even simple dynamic composition and computation impossible in an automated fashion, let alone real and complex applications. Therefore, it is necessary to combine the Semantic Web and Web Services into a new paradigm named Semantic Web Services that supports not only distributed computation, but also dynamic discovery and computation of services, ultimately leading to goal-based computation that is fully declarative in nature. This chapter motivates the need for Semantic Web Services and outlines the vision of semantic computation.
3. WSMO and WSML
As introduced in the previous chapter Semantic Web Services offer a mechanism for enabling dynamic integration of services by providing explicit descriptions of the function of services, the data they describe, and the mechanisms to interact with them. In order for Semantic Web Services to be successful it is necessary to define a conceptual model that contains all those elements needed to successfully describe Semantic Web Services and on the basis of this conceptual model to provide a modeling language through which SemanticWeb Services can be actually described. Within the context of the book the Web Service Modeling Ontology (WSMO) and its formalism the Web Service Modeling Language (WSML) are used in these two roles to successfully describe Semantic Web Services. This chapter provides an introduction to these two technologies, providing the reader with the key foundational knowledge needed for the rest of the book, as well as a reference source that the reader can browse when needed.

SESA Environment

4. Introduction to Semantically Enabled Service-oriented Architectures
Computer science is on the edge of an important new period of abstraction. A generation ago we learned to abstract from hardware and currently we are learning to abstract from software in terms of Service-Oriented Architectures (SOA). A SOA is essentially a collection of services. It is the service that counts for a customer and not the specific software or hardware components that are used to implement this service. It is a common expectation that SOAs will quickly become the leading software paradigm. However, we believe that these SOAs will not scale without significant mechanization of service discovery, service adapation, service negotiation, service composition, service invocation, and service monitoring, as well as data, protocol, and process mediation. We envisage the future of applied computer science in terms of SOAs which are empowered by adding semantics as a means to deal with heterogeneity and mechanization of service usage. This approach is called Semantically Enabled Service-oriented Architectures or SESA for short.
5. SESA Middleware
This chapter provides a technical description for the middleware layer of the semantically enabled service-oriented architecture (SESA), introduced in the last chapter, following the view-centric guidelines of the IEEE Recommended Practice for Architectural Descriptions of Software-Intensive Systems (IEEE 1471). We look in more detail at the functionality required of each of the middleware services and suggest technology-neutral interfaces for them. The chapter also includes a description of the technology used to design and implement an open-source prototype for the SESA middleware and provides the middle chapter of three describing the overall SESA environment. The last chapter provided a high-level view of what is meant by SESA. This chapter extends the technical description by providing a view of the processes supported by SESA and how they are defined.
IEEE 1471 [89] recommends that software architecture descriptions be organized into one or more constituents called architectural views. Each view is used to represent the concerns of a particular viewpoint of one or more stakeholders in the architecture. In this context, stakeholders have an interest in, or concerns relative to, the system. Concerns include system considerations such as performance, reliability, scalability, security, etc.
6. SESA Execution Semantics
The advent of service-orientated architecture (SOA) makes it more practical to separate the definition of how a system operates from the implementation of the system itself. We define execution semantics as formal descriptions of the operational behavior of the system (analogous to business process descriptions in BPEL, but at the system level). By separating the description of the system behavior from the system’s implementation, we can achieve greater flexibility in how the implementations of the Semantically Enabled Service-Oriented Architectures can be used and avoid the necessity to rebuild the system in the event of a new or changed requirement for how the system should operate. In terms of the behavior of the architecture, we differentiate two types of services: middleware services and business services. Middleware services provide the functional services required by SESA to operate. Business services are exposed by information systems external to the SESA and the role of the SESA platform is to coordinate interoperation between them. The execution semantics is defined in terms of the middleware services describing in a formal, unambiguous way how the system built of loosely coupled middleware services operates.
This chapter describes mandatory execution semantics which should be supported by SESA. We identify three fundamental scenarios that should be supported and present them graphically using Unified Modeling Language (UML) activity diagrams to allow their essence to be easily grasped. We do not constrain execution semantics only to these mandatory scenarios provided in the subsequent sections. On the contrary, we envision new, dynamically created execution semantics reflecting changing business needs where middleware services can be composed in the flexible way according to the principles of SOA. We provide an example which shows how execution semantics operating on middleware services can be used to solve existing problems. We also look at the execution semantics from a WSMX technical perspective.

SESA Services

7. Reasoning
This chapter tackles the often abused and underdefined term “reasoning.” Since reasoning is so frequently ambiguously referred to, at least within the semantic technologies community, there are several sections in this chapter that cover the topic from different perspectives. First, from a conceptual perspective, highlighting the fact that reasoning lies at the heart of Semantically Enabled Service-oriented Architectures (SESAs), and proving the necessity of an efficient reasoner within SESA in the abstract examination of what must be present in order to draw conclusions of any sort, i.e., a knowledge base (e.g., the Web), and a way to form judgments or draw conclusions based on some sort of logical process (e.g., a reasoner) (Sect. 7.1). Section 7.2 provides a brief background on two well-known logical formalisms, namely, description logics and logic programming. Subsequently we focus on current reasoning tasks in these two formalisms, as well as their benefits and drawbacks. Moreover Sect. 7.3 highlights the WSML variants and their specific requirements for reasoning engines. Section 7.4 focuses on reasoning within SESA by outlining which components require which reasoning functionalities. A generic framework for reasoning with WSML, namely, WSML2Reasoner, is introduced in Sect. 7.5. Section 7.6 focuses on an additional layer to the standard reasoner architecture, a Rule Interchange Format (RIF) layer, which aims to specify a common format for rules in order to allow rule interchange between diverse rule systems. The development of this format (or language), which shares a common agenda with the W3C RIF Working Group, will conclusively provide an interlingua into which rule languages can be mapped, allowing rules written in different languages to be executed in the same reasoner engine. Finally Sect. 7.7 discusses future research and concludes by returning to the conceptual perspective and highlighting the importance of reasoning within SESAs.
8. Discovery
Realizing the vision of the Semantically Enabled Service-oriented Architecture (SESA) involves a number of tasks. Within this chapter we will focus on the discovery task, the annotations necessary to automate it, and the tools to process them (discovery engine).
WSMO provides a conceptual framework for semantically describing Web Services and their specific properties. We discuss how WSMO can be used for service discovery and provide a proper conceptual grounding. We will discuss how different mechanisms can be used to discoverWeb Services and especially what consequences those mechanisms have on the complexity of the required annotations as well as on the quality of the results. It is important to understand the conceptual model and the particular assumptions underlying a discovery solution in order to utilize their results properly.
9. Selection
This chapter discusses one important Semantic Web Service related task, namely, selection. Selection is the process where one service which best satisfies the user preferences is selected from the candidate services returned from the service discovery stage. Before describing the service selection process itself, the first part of this chapter will present our solution for modeling nonfunctional properties of services. These descriptions are vital for selection, since scenarios such as “I want the cheapest and fastest service,” involving price and execution time nonfunctional properties, are very common. The last part of this chapter focuses on the service selection process describing our approach with a strong emphasis on a core subprocess, namely, service ranking.
10. Mediation
An intense research activity regarding the Semantic Web, Web Services, and their combination, Semantic Web Services, has been going on during the last few years. But only the semantic descriptions attached to data or to the Web Services deployed using today’s technologies do not solve the heterogeneity problem that may occur owing to the distributed nature of the Web itself. As such, the heterogeneity existing in representing data, in the multitude of choices in representing the requested and the provided functionalities, and in the differences in the communication patterns (public processes) are problems that have to be solved before we are able to fully benefit from the semantically enabled Web and Web Services. Considering that these problems cannot be avoided, dynamic mediation solutions that fully exploit the semantic descriptions of data and services are required.
This chapter is formed of two main parts: the first describes the main techniques for data mediation in a semantic environment, while the second focuses on behavior mismatches and process mediation.
The data mediation scenario to be analyzed in this chapter is the automatic transformation of the data part of heterogeneous messages exchanged in peer-to-peer (P2P) communications. One of the main assumptions in a semantic environment is that all manipulated data is described in terms of ontologies. As such, data to be mediated represents in fact ontology instances and the automatic mediation task relies on ontology mappings created during design time.
While data mediation solutions are mandatory in heterogeneous contexts, they are not enough to enable communication when mismatches at the behavioral level are also present. Solutions towards behavior mediation, where behavior is represented as processes, are discussed and a classification of solvable/unsolvable mismatches is provided.
11. Storage and Internal Communication
This chapter describes the functionality and working of storage and internal component communication of Semantically Enabled Service-oriented Architectures (SESA). The storage component is responsible for providing a means to persistently store the Semantic Web Services elements (e.g., Web service descriptions, mediators, goals, and ontologies) as well as intermediate workflow and event data and execution semantics. Moreover, it further investigates the use of the triple space computing paradigm [73] for communication and coordination of the individual components of SESA, based on the principle of publishing and reading the semantic data. It further details how internal communication using triple space computing can help in decoupling the individual components and their effective communication [129] within the SESA framework.
The storage and internal communication service in SESA is required to provide support in two major aspects. Firstly, for storing information in distributed and scalable storage repositories and, secondly, using the persistent publication to carry out the communication based on the publication and reading of data in order to make it compatible with the principle of the Web.
The rest of the chapter has been structured as follows. It gives an introduction to the triple space computing concept and provides the internal design details of triple space computing kernel architecture. It explains the role of triple space computing in SESA in different aspects. It further provide details of some evaluation strategies that are to be analyzed to determine the benefits obtained from using triple space computing in SESA, followed by a summary.

SESA Application and Compatible Systems

12. SESA Application
In this chapter we show how the Semantically Enabled Service-oriented Architecture (SESA) can be applied to real-world scenarios from the business-to-business (B2B) integration domain and the telecommunications domain. We describe how business services can be modeled semantically and how these services can be executed on the SESA middleware. We show how service discovery operates on the semantic descriptions of services as well as how the middleware performs the conversation between services with data and process mediation applied where necessary.
13. Compatible and Related Systems
This chapter will discuss in detail the nature of one Semantically Enabled Serviceoriented Arhitecture (SESA) compliant system, IRS-III, which also informs the OASIS standardization work on semantic Service-Oriented Architecture. It will also consider tools that have been independently produced to fulfill separate tasks within the architecture, specifically those which address discovery and composition. Next tools from tools from the OWL-S community will be considered from the point of view of the SESA. Finally the METEOR-S toolset, and its input into the WSDL-S standardization, will be considered.
14. Conclusions and Outlook
In the course of this book we have illustrated how to enable Semantic Web Services by means of Semantically Enabled Service-oriented Architectures (SESAs). Currently there is little or no demand for dynamic or scalable Service-Oriented Architectures (SOAs). Not only are the few SOAs in production relatively small, and thus do not yet pose scalability problems, but also current technologies are inadequate for service discovery, negotiation, adaptation, and composition. In the real (nonautomated) world, business transactions are governed by legal, regulatory, financial, tax, and other agreements or obligations. Partners who wish to automate business transactions do so after defining the terms by which automated actions must correspond to the relevant governance. At the same time, these partners establish terms of recourse or remuneration in the case of failures. Such agreements, referenced above as nonfunctional requirements, are a long way from being dynamically discovered, selected, and enacted.
Backmatter
Metadaten
Titel
Implementing Semantic Web Services
herausgegeben von
Dieter Fensel
Mick Kerrigan
Michal Zaremba
Copyright-Jahr
2008
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-540-77020-6
Print ISBN
978-3-540-77019-0
DOI
https://doi.org/10.1007/978-3-540-77020-6

Premium Partner