ISO/IEC JTC1/SC32/WG2 N1485 MFI-7: Metamodel for Service Registration Zaiwen Feng, Keqing He, Chong Wang, Jian Wang, Peng Liang SKLSE, Wuhan University, P.R. China 2010.11.0911 09 1
Outline Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 2
Outline Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary
Motivation of this Work Heterogeneity in service Different Description languages WSMO, OWL-S, WADL, WSDL, SAWSDL, SA-rest Solution: Providing a metamodel as the common registration mechanism for different kinds of services. 4
Outline Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 5
Definitions of Service Service (systems architecture): the provision of a discrete function within a systems environment In the context of Enterprise architecture, Service-orientation, and Serviceoriented architecture, the term service refers to a set of related software functionality, together with the policies that should control their usage. From: wikipedia (http://en.wikipedia.org/wiki/service_(systems_architecture)) Web service: a software system to support interaction over a network OASIS : a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. Web services are frequently just Internet Application Programming g Interfaces (API) that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services From: Wikipedia Web Service 6
Service Definition in MFI-7 Service is defined as a modular functionality entity with provision ii of value that t can be invoked by accessing its interface. Currently, we focus on SOAP Web service Restful Web service Web API 7
Outline Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 8
Scope of MFI-7(1/2) Common Facilities in MFI WSDL: Web Services Description Language (W3C) OWL-S: Web Ontology Language for Services(W3C) WSMO: Web Service Modeling Ontology(W3C) WADL: Web Application Description Language(W3C) SA-Rest: Semantic Annotation-representational state transfer(wright State University, US) SAWSDL: Semantic Annotation Web Services Description Language(W3C) SWSO: Semantic Web Service Ontology (W3C) Registration Service Registry based on MFI-7 Interoperation Specification WADL SAWSDL OWL-S SA-REST SWSO WSMO 9
It is intended to Scope of MFI-7(2/2) specify a metamodel for registering services that can enable users to discover appropriate services. define the common functional and nonfunctional description of services. promote semantic interoperation between various services. It does not specify the elements expressed in specific languages details of service composition 10
Outline Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 11
Overview of Service Semantics in MFI-7 Objective Semantic Functional Semantic Service Semantic Interaction Semantic Non Functional Semantic 12
Objective Semantics of Service Objective Semantics Objective that a client may have when consulting a Web Service For example: WSMO: It describe Objective semantic by post-condition and effect in service goal 13
Function Semantics of Services Function Semantics describes service functionality, i.e. what a service can offer to its clients when it is invoked. It includes that: Capability: the functionality defined d using conditions which must hold before and after service invocation 14
Function Semantics of Services For example: Function Semantics WSMO: It describes function semantics by preconditon, postcondition(constrained input/output), and assumption, effect (conditions for service usage) SWSO: It describes function of service by input, output, precondition and effect SAWSDL(WSDL): It describes function of service by interface_name, operation_name, input and output OWL-S Profile: It describes feature of service by specifying the category of a given service, for example, the category of service within the UNSPSC classification system. Further, it shows function semantics through input, output, pre- condition and post-condition 15
Interaction Semantic of Service Interaction semantic: It is the formal description which defines a service s public behavior. MFI-7 focuses on External behavior, which describes a protocol that can be used by the client to consume the service functionality We call the public behavior of service is choreography in MFI-7 16
Interaction Semantic of Service Interaction semantic OWL-S: From orchestration perspective, it describes a process model inside service WSMO: From choreography view, it specifies the behavior interface for service consumption; and from orchestration view, it specifies how the functionality of a web service is achieved by aggregating other web services SWSO: From orchestration view, it defines how to construct a process model inside a service 17
Non-Function Semantic of Service Non-Function Semantic: It describes attributes specifying quality of service We describe quality of service based on WS-Policy framework in MFI-7 WS-Policy contains an attachment specification, WS- PolicyAttachment, which defines mechanisms for associating policies with policy subjects 18
Non Function Semantic of Service Non Functional Semantic of Service For example: WSDL-S 1.0: It investigates how to represent QoS assertions using ontologies and rules by extending the WS-Policy framework (future work) OWL-S Profile: It provides information about quality rating of service SWSO: It consists of various attributes in the part of Service Descriptors, e.g. Service Trust, Service Reliability and Service Cost in order to describe QoS WSMO: It describes Web Service specific non-functional properties in the part of Capability, e.g. Accuracy, Availability, Financial 19
How MFI-7 is constructed Harmonization of Service models for registration WSDL (Web Services Description Language, W3C, 2007) OWL-S (Web Ontology Language for Services, W3C, 2007) WSMO (Web Service Modeling Ontology, W3C, 2005) SAWSDL(Semantic Annotation for WSDL, W3C, 2007) SWSO(Semantic Web Service Ontology, W3C, 2005) WADL (Web Application Description Language, W3C, 2009) SA-Rest: Semantic Annotation-representational state transfer (W3C, 2010) 20
How to select elements and relationships from current service-related specifications? Function Semantics Non-Function Semantics Objective Semantics Interaction Semantics 21
Service concepts in OWL-S 22
Service concepts in WSMO 23
Service concepts in SAWSDL hassemantics hassemantics 1..* 1..* 1..* hasinput 1..* hassemantics hasinfault hasoutfault 1 hasoutput 1..11 1..11 1..1 1..1 hassemantics hasoperations 1..* 1..1 24
Service concepts in SWSO From: W3C, Semantic Web Services Ontology, http://www.w3.org/submission/swsf-swso/ access on: 2010-11-09 25
Service concepts in SA-REST From: W3C, SA-REST: Semantic Annotation of Web Resources, http://www.w3.org/submission/sa-rest/ access on: 2010-11-09 26
Service Concept in WADL From: W3C, Web Application Description Language, http://www.w3.org/submission/wadl/ access on: 2010-11-09 27
MFI-7: Metamodel for Service Registration presentedby 1..1 1..* 1..1 StateSignature presentedby hasstatesingature 1..1 TransitionRules hastransitionrules -Condition[1..*] : string Choreography -Action[1..*] : string 1..* 1..1 1..1 hasinteraction 1..1 -URI[1..1] : string Service 1..1 Assertion -valuetype : ConceptfromDomainOntology -comparisonoperator : ConceptfromDomainOntology -assertionname : ConceptfromDomainOntology haspolicy 0..* 1..1 Alternative Policy -Quality_Property_Type[1..*] : string 1..* 0..* Input hasinput -Message_Type[1..1] : Parameter_Type -annotation[0..*] : Concept_URI 1..* 1..11 constrainedby 0..* 1..11 1..11 haspostcondition hasprecondition 0..* Precondition -Parameter[1..*] : ConceptfromDomainOntology -Predicate[1..1] : ConceptfromDomainOntology 1..* Output -Message_Type[1..1] : Parameter_Type -annotation[0..*] : Concept_URI 0..* 1..* constrainedby 0..* Postcondition -Parameter[1..*] : ConceptfromDomainOntology -Predicate[1..1] : ConceptfromDomainOntology 0..* hasoutput
Comparison between MFI-7 and Other Specifications MFI-7 WSMO OWL-S SWSO SAWSDL Service Web services Service Service Web service Input precondition Input input input Output postcondition Output output output Policy Quality ServiceParameter Service Aspects Trust/Reliability/ Cost Precondition assumption Condition precondtion Postcondition effect Result effect Interaction choreography 29
Function-related Metaclasses(1) Precondition specifies the state that should be satisfied before a service is invoked Postcondition specifies the state that should be satisfied after a service is invoked successfully Their properties are Parameter and Predicate 1..1 1..1 haspostcondition hasprecondition 0..* Precondition Postcondition 0..* 30
Function-related Metaclasses(2) Input, output the link between service and outer space Their type can be depicted as Message_Type Message_Type specifies the type of message that is used, as input variable, out variable. It can be the domain concepts in Ontology 31
Non-Function Related Metaclass(1) Policy: It provides a grammar for representing the non-functional attributes of entities in a Web service based XML environment Quality_Property_Type: t Current WS-Policy specification makes assertion in different domains, e.g. security, transaction, cost 32
Non-Function Related Metaclass(2) A policy is defined as a finite set of alternatives. It can also be expressed as a disjunction of all its alternatives An alternative ti is defined d as a finite it set of assertions. It can also be expressed as a conjunction of all its assertions 33
Non-Function Related Metaclass(3) Assertion: A policy assertion represents an individual requirement, capability, or other property of a behavior. valuetype: It is used to specify whether an assertion is a numeric or a non-numeric assertion comparisonoperator: It is used to represent the relationship between the assertion name and value assertionname: It describes name of assertion <semsecurity:tokentype assertiontype="sempolicy:requirement" valuetype="owl:object" comparisonoperator="sempolicy:eq"> p p semsecurity:kerberosv5tgt </semsecurity:tokentype > 34
Interaction Related Metaclass Choreography The Choreography h interface describes the behaviour of the service from the client's point of view (W3C Glossary, 2004) Users may be other Web Services, applications or human beings Transitionrule It deals with basic operations on instance data, such as adding, removing and updating instances to the states. State It defines the state ontology used by the service together with the definition of the types of modes the concepts and relations may have 35
Choreography example Choreography y_ Item 1 phonenumber before monthnumber Choreography_Item 2 passwordbefore monthnumber Choreography_Item 3 monthnumber after authentication result Choreography 36
Relationships with Other Parts in MFI Metaclass from MFI-5 Metaclass from MFI-8 annotation attributes are annotated by Ontology_Atomic_Construct from MFI-3 37
Outline Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 38
Registration example(1/4) in WSMO Case study: Book Ticket Description The service can achieve the goal which specifies the intent of buying a ticket for a trip from one place to another Service Language WSMO 39
Registration example(2/4) in WSMO Reservation Request WS1 Booking Book Ticket WS WS2 Paying Reservation P1 Booking P2 Paying creditcard ticket I want to book a ticket! 40
Maybe, In the above example, we should register three Web Services: Web Service1: Booking (for invoking by business process) Web Service2: Paying (for invoking by business process) Web Service3: Book Ticket WS (the whole service) 41
Registration example(2/4) in WSMO reservationrequest temporaryreservation Reservation Request creditcard Book Ticket WS Reservation ticket Book Ticket WS temporaryreservation creditcard reservation ticket What is my Goal? temporaryreservation ti creditcard negative I want to book a ticket! 42
What can we find proper service by? Objective Semantic MFI-8 Functional Semantic Service Semantic Interaction Semantic Non Functional Semantic MFI-7 MFI-7 Response time <= 5 seconds Security is high MFI-7 43
Registration example (3/4) in WSMO 44
Registration example (3/4) in WSMO 45
Registration example (4/4) in WSMO 46
Registration example (4/4) in WSMO 47
Registration example (4/4) in WSMO 48
Registration example(1/4) in WADL Case study: Amazon item search service Description The service provided by Amazon is to search items in Amazon Internet Shop. Browser will return item information after user inputs keywords or index of item Service Language WADL 49
Registration example(2/4) in WADL SubscriptionId SearchIndex KeyWord ResponseGroup Amazon Item Search name description price I want to search item in Amazon?
Registration example(3/4) WADL 51
Registration example(4/4) WADL 52
Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 53
MFI-7 v.s. UDDI UDDI lacks description of service semantics mainly considers SOAP Web services MFI-7 Provides a mechanism m to register service e semantics based on MFI-3&-5&-8 Considers other kinds of services different protocols, such as SOAP, HTTP, Restful Web Service, Mashup, 54
Motivation of this Work Definition of Service Scope of MFI-7 Metamodel for Service Registration Service Registration Example MFI-7 v.s. UDDI Summary 55
Summary and Future Work Summary MFI-7 provides a means to register interaction information and capability of services Future work Submit CD version in 2010 Coordinate with other specifications Support interoperation between services in cloud computing Refer more Web Services non-functional specifications to MFI-7 (E.g. SLA ) 56
Thank you! Q&A 57