Web Services technologies are working towards an environment where organizations can make some of their abilities accessible via the Internet. Web Service technology provides a standard and widely accepted way of defining these interfaces
This is done by ‘wrapping’ some computational capability with a Web Service interface, and allowing other organizations to locate it (via UDDI) and interact with it (via WSDL). Hence, Web Service technology allows the description of an interface in a standard way,
Scalability in expansion of scaling the capabilities in geographic location scale in administration of scaling
The Semantic Web Services vision is to combine Web Services as well as Semantic Web technologies and through this to enable automatic and dynamic interaction between software systems.
We can annotate software being offered via Web Service interfaces with machine interpretable descriptions describing what and how the software does (namely the service it provides a potential user). Furthermore, with ontologies able to describe the services that can be provided, we can bring about ‘advertising’ of services in a way which is both rich and machine-interpretable. This allows more sophisticated discovery of services than is currently possible with UDDI.
Service-Providerprovides a service to a Service-Requester when the first party does something for the benefit of the secondTo describe services, the Semantic Web approach uses techniques based on knowledge representationService Description : When describing a service, there are two key design decisions which must be made initially. First, what formal language is going to be used to describe it? Should it be described using horn clause logic, description logic, non-monotonic logic or some other approach?Secondly, what specific concepts and relations are going to be permitted in descriptions? what is the meaning of these?
Hence, the agent property is a role the component takes, rather than some intrinsic property of the component.Often, they will be reactive not proactive, and will be hardwired to follow some pre-determined process.
Grounding : When two parties engage in a conversation, they must each have one or more communication endpoints to send and receive the messages according to some transport protocol. This is referred to as the grounding of the choreography.Orchestration :NOTE: the choreography specifies what is permitted of both parties, while an orchestration specifies what each party will actually do.
Reasoning : if one party is to reason with a description produced by the other party, then some additional reasoning will be necessary to translate between the two approaches. This additional reasoning is termed ontology mediationProtocol : Two components which are to interact with each other may each have been designed with a particular interaction choreography in mind. Unless agreement was reached between the two designers (either directly or indirectly through the adoption of a standard) then it is unlikely that the two choreographies will be identical. Process :Behind any interaction, each party has some internal process which manages the reasoning and resources necessary to bring about that interaction. Like business processIn some cases, even though the two parties are able to interact via some protocol, there may be some difference between their processes which means this interaction will not succeed.
It is key to enabling service interaction to take place automatically
Because all details of the service will be known at the outset (e.g., the provider of the service is not known, and the cost of the service may not be known), the description will be of an abstract service. This abstract service description makes up the service requirement description of the service requester.
Centralized Service Discovery:The most common Centralized Discovery ‘Service’ is a which is contacted by the requester using a Simple Message Exchange Protocol
Random And Analysis Selection: the Selection of which to contact may simply be random, or may involve some analysis of the service providers and choice of which appear in some sense ‘best’
1-When the definition of a service has been agreed, then service delivery can take place ……End: If communication takes place, this is again governed by an interaction choreographyService delivery choreography : covers the exchange of messages associated directly with the delivery of the serviceMonitoring choreography : covers the exchange of messages which allow the service requester to receive information regarding the progress of the service from the providerCancellation/renegotiation choreography: allows the service requester, in certain circumstances, to cancel or alter the service which they are receiving from the provider
HTTP is everywhere — any machine that can run a Web browser supports HTTP because a Web browser’s protocol is HTTP.Firewalls normally allow HTTP traffic; in other words, you can use HTTP to talk to any machine.
WSDL : In other words, it is an advertisement of the service you provide. .
It defines a standard protocol specifying how one application should communicate and exchange data with another one over the Internet
UDDI is an open industry initiative enabling businesses to discover each other and define how they interact over the Internet.Parts: i) A registry of all a web service's metadata including a pointer to the WSDL description of a serviceii) A set of WSDL port type definitions for manipulating and searching that registry
Process Configuration (Discovery and Constraint analysis)Process Execution (Addressing run time heterogeneities like data heterogeneities.)
The Web Services Description Language (WSDL) with Semantic Annotations for WSDL and XML Schema (SAWSDL). The figure shows WSDLcomponents and the SAWSDL annotations that point to semantic concepts for specifying semantics or to schema mappings of data transformations
Annotation of the operation element specifies its behavioral aspects or includes other semantic definitionsAnnotation of the interface elementdescribes the Interface
A tool for execution of OWL-S web services must be able to interpret the Process Model of the service according to its semantics and provide a generic mechanism for invocation of web services represented as atomic processes in the Process Model. OWL-S processor that allows Web services and clients to interact on the basis of the OWL-S description of the Web service and OWL ontologiesexecution engine which can be used to develop applications that need to interact with OWL-S web servicesExecutes the Process Model by going through the Process Model while respecting the OWL-S operational semantics and invoking individual services represented by atomic processes.
Process Call Presents probably the most important event type. For each process type specific event types are defined representing its start and end.
Process Call Presents probably the most important event type. For each process type specific event types are defined representing its start and end. output data binding means the dataflow of the process model specifies that the output is produced by some previous processes).
NOTE : This is application layer security (not network layer security)
XML encryption allows for encryption of any combination of the message body, header, attachments, and sub-structures
SQL injection is a common malicious code. Typical identification method is to look for “;’ (semicolon) that allows for SQL commands to follow.
If the sender previously unknown: send credential to verify oneself.
In any organization, data located may have levels of sensitivity
Access Matrix A general model of access control as exercised by a file or database management system is that of an access matrix
handling activities on the WebEnables greater automation of discovery, selection, invocation, composition, monitoring, and other service management tasksEnabling the use of agents on the WebSimplicity and widespread adoption of WS building blocks are enablers
Semantic Web Services (Standards, Monitoring, Testing and Security)
Semantic Web Services <br />(Standards, Monitoring, Testing and Security)<br />Department of Engineering-Information Technology<br />Presented by : Reza Ghanbari<br />2010<br />
Outline<br />Introduction of Web Service<br />Semantic Web Services<br />Introduction<br />Life Cycle<br />Foundation Standards of Web Service<br />HTTP<br />WSDL<br />SOAP<br />UDDI<br />Foundation Standards of Semantic Web Service<br />OWL-S<br />OWL-S Virtual Machine<br />Monitoring of Semantic Web Service<br />Security of Semantic Web Service<br />Message Level Protection<br />Message Privacy<br />Parameter Checking<br />Authentication<br />Authorization<br />Conclusion of Semantic Web Services<br />References<br />
Web Service<br /><ul><li>A program programmatically accessible over standard internet protocols
Add new level of functionality on top of the current web</li></li></ul><li>Web Services Framework<br />
Problems of Web Services<br />Descriptions are syntactic<br />It says nothing (in machine - interpretable form) about what the software system does, or what sequence of messages is used to interact with it.<br />All tasks associated with web services application development have to be carried out by humans like discovery, composition and invocation<br />Problems of scalability<br />
Semantic Web Services<br />Semantic Web Technology<br /> Machine readable data<br />Ontological basis<br />Applied to<br />Web Services Technology<br />Reusable computational resources<br />To automate all aspects of application development through reuse<br />
Semantic Web Services Concepts<br />Service<br />Service Provider & Requester<br />Concrete Service <br />A specific performance of actions at a given time by one party for another<br />Service Description<br />A computational machine-readable representation of the service, in terms of the value which it provides<br />Abstract Service Description<br />Concrete Service Description<br />
S.W.S. Concepts<br />Agents<br />Software components which represent the parties as agents for the online presence as well as the automated representation<br />Service Provider Agent<br />Service Requester Agent<br />Act as representatives online on behalf of some party<br />
S.W.S. Concepts<br />Communication<br />An online service interaction between the Service Provider Agent and the Requester Agent to exchange of messages according to a certain protocol known by both the parties<br />Choreography<br />A communication protocol among multiple parties during the automated online services<br />Determines the constraints on the ordering of messages sent<br />Grounding<br />One or more communication endpoints to send and receive the messages according to some transport protocol<br />Orchestration<br />A specification of an agent to provide type as well as sending time of a message<br />
S.W.S. Concepts<br />Mediation<br />Data Mediation<br />Consists of transforming from one syntactic format to another which may expect different syntactic formats of the messages provided by different Service Provider Agents<br />Ontology Mediation<br />Is used to make different choices based on the vocabulary when two parties describe services<br />Reasoning <br />One party is to reason with a description produced by the other party<br />Some additional reasoning will be necessary to translate between the two approaches<br />Protocol Mediation<br />Reconciles the two different design of the interaction choreographies<br />Translating a message sequence into a different message sequence to accomplish the same end<br />Process Mediation<br />Reconciles the differences in the internal processes at the side of each party<br />The hardest form of mediation ( may impossible without engaging in process re-engineering)<br />
S.W.S. Concepts<br /> If the messages and choreographies are annotated semantically, then the mediation is possible automatically<br />
S.W.S. Concepts<br />Service Modeling Phase<br />Outset of the discovery phase<br />Service Requester prepares a description of the service what is interested in receiving<br />Service Providers create abstract service descriptions representing the service in which can be provided<br />
S.W.S. Concepts<br />Service Discovery Phase<br />Matching<br />Compatibility of the requirement description and the offer description<br />Centralized Service Discovery<br />SMEP (Simple Message Exchange Protocol)<br />During discovery, a requester may identify several providers which are potentially able to meet their needs<br />
S.W.S. Concepts<br />Service Definition Phase<br />The conversation among the Service Requester and one or more contacted as well as identified Service Providers<br />Random Selection<br />Analysis Selection<br />Service Requester and Provider have agreed a service to be delivered, when the phase is successfully completed between two parties<br />
S.W.S. Concepts<br />Service Delivery Phase<br />It can take place ;<br />Immediately <br />while after service definition has been completed<br />entirely off-line<br />involve communication between the two parties<br />It is again organized by an interaction choreography by;<br /> Service Delivery<br />Monitoring<br />Cancellation<br />
Foundation Standards of Web Service<br />Hypertext Transfer Protocol (HTTP)<br />Communication Protocol to achieve interoperability via the web based on a set of standards built directly upon it regardless of their choice of platform or programming language<br />Benefits:<br />HTTP is everywhere <br />Firewalls normally allow HTTP traffic<br />
Foundation Standards of Web Service<br />Web Service Description Language (WSDL)<br />Is an XML-based language since ;<br />It is a pure text format<br />It is platform independent, <br />It can be easily parsed by any programming language<br />It is fairly easy to read<br />Describes the service including the service name, functions, input and output parameters<br />
Foundation Standards of Web Service<br />Simple Object Access Protocol (SOAP)<br />Its significant lies in its relationship with HTTP<br />Platform and language independent based on XML<br />Communication between applications via Internet <br />format of the sending messages<br />W3C recommendation<br />Simple and extensible<br />Allows to get around firewalls<br />
Foundation Standards of Web Service<br />Universal Description, Discovery and Integration (UDDI)<br />UDDI is an XML-based standard for describing, publishing, and finding Web services.<br />It is a specification for a distributed registry of Web services<br />platform independent, open framework<br />It can communicate via SOAP, CORBA, Java RMI Protocol<br />It uses WSDL to describe interfaces to web services<br />Open industry initiative<br />Parts:<br />A registry of all a web service's metadata<br />A set of WSDL port type definitions<br />
Why add semantics to Web Services?<br />Better Reuse<br />Semantic descriptions of services to help find relevant services<br />Better Interoperability<br />Beyond syntax to semantics, mapping of data exchanged between the services<br />Configuration/Composition<br />Enable dynamic binding of partners<br />Some degree of automation across process lifecycle<br />Process Configuration<br />Process Execution<br />
Foundation Standards of Semantic Web Services<br />Semantic Annotation for WSDL and XML Schema (SAWSDL)<br />Standard finished in 2007<br />Annotating WSDL with semantic information<br />Built on existing Web Services standards using only extensibility elements<br />Mechanism independent of the semantic representation language<br />Provides means for mapping data between different Web Services<br />
Foundation Standards of Semantic Web Services<br />SAWSDL<br />Extensibility attributes<br />modelReference<br />Association between a WSDL component and a concept in some semantic model<br />Annotations<br />WSDL components<br />WSDL Type Definitions<br />liftingSchemaMapping<br />Mappings between WSDL Type Definitions and semantic data<br />loweringSchemaMapping<br />Mappings between semantic data and WSDL Type Definitions<br />
Foundation Standards of Semantic Web Services<br />SAWSDL<br />Annotation of the operation element<br />Carries a reference to a concept in a semantic model that provides a high level description of the operation <br />Annotation of the interface element<br />Provides a reference to a concept or concepts in a semantic model<br />
Foundation Standards of Semantic Web Services<br />SAWSDL<br />Tools<br />SAWSDL4J<br />Java API for manipulating and creating annotated SAWSDL documents<br />WSMO Studio<br />Semantic Web Service and Semantic Business Process modeling environment<br />Set of Eclipse plugins<br />Radiant<br />WSDL-S/SAWSDL Annotation Tool<br />Eclipse plug-in<br />
OWL-S<br />Ontology Web Language for Services<br />Represents an upper ontology for the description of Semantic Web Services expressed in OWL<br />It is a Semantic Web Services description language, expressed in OWL which describes the properties and capabilities of Web services<br />Covers areas as; <br />Web services capability-based search and discovery,<br />Specification of service requester and provider interactions<br />Service execution<br />
OWL-S Virtual Machine<br />The OWL-S Virtual Machine (OVM) <br />A generic OWL-S processor <br />A generic execution engine<br />Executes the Process Model of a given service<br />During the execution, <br />processes inputs of Service Requester and outputs returned by the Service Providers,<br />realizes the control and data flow of the composite Process Model, <br />uses the Grounding to invoke WSDL based web services when needed. <br />
Monitoring<br />During the process model execution<br />What exactly should be monitored?<br />Clear semantics of the process model<br />Which model should be chosen? <br />Analyzing the process model and the grounding (It is possible to identify important events that might be monitored)<br />Event Types<br />Process Call<br />Inputs Assignment<br />Outputs Processing<br />Preconditions evaluation<br />(Conditional) result evaluation<br />Control construct execution<br />Grounding events<br />Failures and erroneous events<br />
Monitoring<br />Event types are derived only from the logic of the process model and therefore can be used in any application<br />Event types are neutral to the purpose for which they can be used<br />Process Call<br />Start events are associated with input values and end events additionally with produced output values and effects. <br />A simple and a composite process represent decomposition of a process into subprocesses while an atomic process represents an execution of an existing web service operation<br />
Monitoring<br />Inputs assignment<br />Input values of processes can be provided either by the user (client) of the process model or by the data binding that is used<br />Outputs Processing<br />Outputs of atomic processes are obtained as a result of the service execution which is covered by the process call event type For simple and composite processes a new event type is needed to represent that the output value of the process is obtained from some output data binding<br />
Monitoring<br />Preconditions evaluation<br />Represents process of the preconditions evaluation with variables values assigned and with the true or false status<br />(Conditional) result evaluation<br />Represents an evaluation of a result comprising the grounded inCondition, produced effects and output bindings. A special event type represents a situation when no result can be applied which can be failed for all conditional results.<br />
Monitoring<br />Control construct execution<br />For each control construct one event type represents its start and one its end<br />For control constructs whose execution depends on an expression evaluation (if-then-else, repeat-while, repeat-until) the information representing this expression evaluation and the branch chosen is included in the starting event type<br />
Monitoring<br />WSDL grounding events<br />Defines mappings of atomic processes to WSDL operations and of inputs and outputs to WSDL messages and message parts<br />Failures and erroneous events<br />For different categories of errors specific event types are defined<br />
Web Services Security Background<br />Standards are proposed or accepted regarding authentication, encryption, and identity management<br />RSA ,Hash Functions and Digital Signature Algorithms<br />Fundamental areas<br />Message level protection<br />Message privacy<br />Parameter checking<br />Authentication<br />Authorization<br />XML signatures<br />SAML – Security Assertion Markup Language<br />
Web Services Security<br />RSA<br />Used for any public/private key pair<br />Properties:<br />E(P, E(M,P)) M<br />E(P, E(M,P)) M<br /> Where M is Sent Message and P is the Public Key<br />Hash/Digest Functions<br />message dependent<br />Digital Signature<br />Used for Authentication , Data Integrity and Non-Repudiation<br />
Message Level Protection<br />Message Integrity<br />A provider gets the hashed message which is created by SHA-1 Algorithm , Then creates the digest again and compares with the one from the sender to verify the integrity of the messages<br />
Message Privacy<br />Confidential Message<br />Message header has token and signature<br />Typically WS are chained together to form a complex service<br />end-to-end encryption schemes unlike SSL<br />Solution: XML encryption<br />
Parameter Checking<br />Message validity<br />To ensure the contents of a message are appropriate to the service and well formed<br />To prevent the SQL injection attack , look for “ ; “ syntax<br />
Authentication<br />Verifying that the requester is who he/she claims to be<br />E.g. user name / password<br />Send credential by issuing certificates to the trusted authorities<br />
Authorization<br />Takes place after authentication and grantees the rights of accessing<br />Access Control Implementations<br />Access matrix<br />Access Control List (ACL)<br />Role Based Access Control (RBAC)<br />
Authorization (Access Control Implementations)<br />Access matrix<br />Subject: An entity capable of accessing objects. The concept of subject equates that of a process<br />Object: Anything to which access is controlled. E.g. files, programs, segments of memory<br />Access right: The way in which an object is accesses by the subject. Examples: read, write, and execute<br />Access Control List (ACL)<br />Access matrix can be decomposed by columns, yielding access control lists<br />For each object, it lists the users and their permitted access rights<br />It may also have a default or public entry to covers subjects that are not explicitly listed<br />Elements of the list may include individual as well group of users<br />
Authorization (Access Control Implementations)<br />Role Based Access Control (RBAC)<br />Reference model<br />Objects, Operations, Permissions, Roles and Users (in-band artifacts)<br />System and Administrative model<br />System functionality, Administrative operations and reviews<br />Permission to access a resource<br />Defines Roles and assigning permissions to Roles<br />NOTE: OWL-S should map Users, Roles, Groups etc. to the ontology<br />
Conclusion of Semantic Web Services<br />It is becoming an important and integral part of the Web (including intranets)<br />It aims to provide an expressive, comprehensive framework for<br />handling activities on the Web<br />Enabling the use of agents on the Web<br />Many tools and applications exist today; mostly prototype<br />It is an active research area<br />Strong interest and many paths to adoption also exist like the standards path<br />
References<br />Introduction to the Semantic Web and Semantic Web Services, by Liyang Yu<br />Semantic Web Services Concepts, Technologies, and Applications by Rudi Studer, Stephan Grimm, Andreas Abecker (Eds.)<br />J. Kopecky, C. Bournez, and E. Prud’hommeaux, “Semantic annotations forwsdl working group,” 2007 http://www.w3.org/2002/ws/sawsdl/<br />R. Akkiraju and B. Sapkota, “Semantic annotations for wsdl and xml schema usage guide,” 2007 http://www.w3.org/TR/sawsdl-guide/<br />K. Verma and A. Sheth, “Using sawsdl for semantic service interoperability,”2007. http://lists.w3.org/Archives/Public/www-archive/2007May/att0081/SAWSDLSTC07-May21.pdf<br />“Sawsdl4j,” http://www.schneier.com/essay-037.pdf<br />“Wsmo studio,” http://www.wsmostudio.org<br />“Radiant,” http://lsdis.cs.uga.edu/<br /> Adding Semantics to Web Services Standards, by KaarthikSivashanmugam, KunalVerma, AmitSheth, John Miller <br />SAWSDL: Semantic Annotations for WSDL and XML Schema, by JacekKopecky, Tomas Vitvar, CarineBournez and Joel Farrell<br />Semantic Web Services Monitoring: An OWL-S based Approach, by Roman Vaculín, KatiaSycara<br />Specifying and Monitoring Composite Events for SemanticWeb Services, by Roman Vaculín, KatiaSycara<br />Web Service Security Management Using Semantic Web Techniques, by Diego ZuquimGuimarães Garcia , Maria Beatriz Felgar de Toledo<br />Authorization and Privacy for Semantic Web Services, by LalanaKagal and Tim Finin, NaveenSrinivasan, and KatiaSycara, SRI International<br />