Semantic Web Services
Semantic Web Services, like conventional web services, are the server end of a client–server system for machine-to-machine interaction via the World Wide Web. Semantic services are a component of the semantic web because they use markup which makes data machine-readable in a detailed and sophisticated way (as compared with human-readable HTML which is usually not easily "understood" by computer programs).
The problem addressed by Semantic Web Services
The mainstream XML standards for interoperation of web services specify only syntactic interoperability, not the semantic meaning of messages. For example, Web Services Description Language (WSDL) can specify the operations available through a web service and the structure of data sent and received but cannot specify semantic meaning of the data or semantic constraints on the data. This requires programmers to reach specific agreements on the interaction of web services and makes automatic web service composition difficult.
Semantic web services are built around universal standards for the interchange of semantic data, which makes it easy for programmers to combine data from different sources and services without losing meaning. Web services can be activated "behind the scenes" when a web browser makes a request to a web server, which then uses various web services to construct a more sophisticated reply than it would have been able to do on its own. Semantic web services can also be used by automatic programs that run without any connection to a web browser.
A directory of Semantic Web Services providing semantic web service investigators with an index to projects, standards and bibliographical references of semantic web service proposals was created and is maintained by Dr. Khalid Belhajjame.
A Semantic Web Services platform that uses OWL (Web Ontology Language) to allow data and service providers to semantically describe their resources using third-party ontologies is SSWAP: Simple Semantic Web Architecture and Protocol. SSWAP establishes a lightweight protocol (few OWL classes and predicates; see the SSWAP Protocol) and the concept of a "canonical graph" to enable providers to logically describe a service. A service is essentially a transformation of some, possibly null, input (or subject) to some, possibly null, output (or object). Services are semantically discoverable based on their subsumption hierarchies as well as their input and output data types.
SADI (Semantic Automated Discovery and Integration) is a Semantic Web Service initiative that consists of a set of design-practices for Semantic Web Service publishing that minimizes the use of non-standard protocols and message structures. SADI Services natively consume data in RDF Resource Description Framework format, where input and output data must be instances of (OWL Individuals of) input and output Classes defined in OWL-DL. Unlike canonical Web Services, SADI Services do not use the SOAP messaging protocol, and unlike SSWAP, SADI services have no project-specific messaging scaffold; services are invoked by passing RDF instance data to the Service endpoint through HTTP POST, and multiplexing is achieved by sending more than one OWL Individual in the HTTP POST invocation. SADI imposes a single constraint on the behavior of the Service: that the URI of the output individual must be the same as the URI of the corresponding input individual. In practice, this results in Services that create semantic linkages between the input and output of the service. Thus, chaining SADI services together into a workflow results in an uninterrupted Linked Data graph.
Choreography vs. orchestration
Choreography is concerned with describing the external visible behavior of services, as a set of message exchanges optionally following a Message Exchange Pattern (MEP), from the functionality consumer point of view.
Orchestration deals with describing how a number of services, two or more, cooperate and communicate with the aim of achieving a common goal.
Semantic Web languages:
- Ontology Inference Layer (OIL)
- DARPA Agent Markup Language (DAML)
- Web Ontology Language (OWL)
- Resource Description Framework (RDF)
- Web Services Modeling Language (WSML)
- Web Services Semantics (WSDL-S)
- Rule Based Service Level Agreements (RBSLA based on RuleML)
Semantic Web Service frameworks:
- Ongoing projects funded in the Seventh Framework Programme
- Ongoing and previous projects funded in the Sixth Framework Programme
- Previous projects funded in the Fifth Framework Program
- The ESSI or European Semantic Systems Initiative brings together six European FP6 projects working in the domains of Semantic Web Services and semantically empowered service-oriented architectures.
- RBSLA - Rule Based Service Level Agreements. A project of RuleML for representing SLAs and service contracts and policies.
- QuASAR. Quality Assurance of Semantic Annotations for Services. A project of the school of computer science, University of Manchester.
- SWSI. The Semantic Web Services Initiative is an ad hoc initiative of academic and industrial researchers, many of which are involved in DARPA and research projects funded by the European Community.
- METEOR-S. A project of the LSDIS Lab, University of Georgia and Kno.e.sis Center, Wright State University.
- HALEY. A Web service composition project of the LSDIS Lab, University of Georgia
- 3S@kno.e.sis. Semantics(Services, Science) : The 3S project at the Kno.e.sis Center, Wright State University, Dayton, OH.
- Gessler, Damian; Schiltz, Gary; May, Greg; Avraham, Shulamit; Town, Christopher; Grant, David; Nelson, Rex (2009). "SSWAP: A Simple Semantic Web Architecture and Protocol for semantic web services". BMC Bioinformatics 10: 309. doi:10.1186/1471-2105-10-309. PMC 2761904. PMID 19775460.
- Wilkinson, Mark; Vandervalk, Benjamin; McCarthy, Luke (2011). "The Semantic Automated Discovery and Integration (SADI) Web service Design-Pattern, API and Reference Implementation". J Biomed Semantics 2: 8. doi:10.1186/2041-1480-2-8. PMC 3212890. PMID 22024447.
- Sinuhe Arroyo; et al. (2004). Semantic Aspects of Web Services in Practical Handbook of Internet Computing. Chapman Hall and CRC Press. ISBN 1-58488-381-2.
- Belhajjame, Khalid, Embury, Suzanne M., and Paton, Norman (March 2013). "Verification of Semantic Web Service Annotations Using Ontology-Based Partitioning" (PDF). IEEE Transactions on Services Computing (IEEE): 1–14. doi:10.1109/TSC.2013.4.
- Belhajjame, K., Embury, S.M., Paton, N.W., Stevens, R. and Goble, A.C., (April 2008). "Automatic Annotations of Semantic Web Services Based on Workflow Definitions". ACM Transactions on the Web 2 (2): 1–34. doi:10.1145/1346337.1346239.
- Dong, Hai, Hussain, Farookh Khadeer, and Chang, Elizabeth (May 2013). "Semantic Web Service matchmakers: state of the art and challenges" (PDF). Concurrency and Computation: Practice and Experience (Wiley) 25 (7): 961–988. doi:10.1002/cpe.2886.
- Kuropka, D.; Tröger, P.; Staab, S.; Weske, M. (Eds.) (2008). Semantic Service Provisioning. Springer. ISBN 3-540-78616-3.
- McIlraith, Sheila, Son, Tran Cao, and Zeng, Honglei (March 2001). "Semantic Web Services" (PDF). Intelligent Systems (IEEE) 16 (2): 46–53. doi:10.1109/5254.920599.