Semantic Web Services and Cloud Platforms

Similar documents
Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Business Process Modelling & Semantic Web Services

Wang Jian, He Keqing, SKLSE, Wuhan University, China

Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web

Service Oriented Architectures Visions Concepts Reality

INTRODUCTION Background of the Problem Statement of the Problem Objectives of the Study Significance of the Study...

SEMANTIC DESCRIPTION OF WEB SERVICES AND POSSIBILITIES OF BPEL4WS. Vladislava Grigorova

Lesson 5 Web Service Interface Definition (Part II)

Experiences with OWL-S, Directions for Service Composition:

Distributed and Cloud Computing

W3C Workshop on the Web of Things

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

Cloud Based IoT Application Provisioning (The Case of Wireless Sensor Applications)

Semantic SOA - Realization of the Adaptive Services Grid

DAML: ATLAS Project Carnegie Mellon University

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) APPLYING SEMANTIC WEB SERVICES. Sidi-Bel-Abbes University, Algeria)

SERVICE-ORIENTED COMPUTING

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson

METEOR-S Process Design and Development Tool (PDDT)

(9A05803) WEB SERVICES (ELECTIVE - III)

Semantics Enhanced Services: METEOR-S, SAWSDL and SA-REST

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

APPLYING SEMANTIC WEB SERVICES TO ENTERPRISE WEB

Web Services Annotation and Reasoning

Enhanced Semantic Operations for Web Service Composition

ISO/IEC JTC1/SC32/WG2 N1485. SKLSE, Wuhan University, P.R. China

Semantic Technologies for the Internet of Things: Challenges and Opportunities

Semantics to energize the full Services Spectrum Ontological approach to better exploit services at technical and business levels

Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC

Web Services: OWL-S 2. BPEL and WSDL : Messages

Semantic Web Services for Satisfying SOA Requirements

Introduction. Semantic Web Services

Topics on Web Services COMP6017

Carnegie Mellon University. Carnegie Mellon University

CmpE 596: Service-Oriented Computing

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

Semantic Web Systems Web Services Part 2 Jacques Fleuriot School of Informatics

Distribution and web services

Cloud Computing and Service-Oriented Architectures

RESTful Web service composition with BPEL for REST

Cloud Computing Chapter 2

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

Internet of Things: An Introduction

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015

Chapter 8 Web Services Objectives

An Efficient Semantic Web Through Semantic Mapping

Motivation and Intro. Vadim Ermolayev. MIT2: Agent Technologies on the Semantic Web

Introduction to Web Services & SOA

Web Services and Planning or How to Render an Ontology of Random Buzzwords Useful? Presented by Zvi Topol. May 12 th, 2004

Web Services Development for IBM WebSphere Application Server V7.0

Web Services Choreography and Process Algebra

A Semantic Search Engine for Web Service Discovery by Mapping WSDL to Owl

An Overview on Protocol Adaptors for Service Component Integration

Web Services Architecture Directions. Rod Smith, Donald F Ferguson, Sanjiva Weerawarana IBM Corporation

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May

MASSiVE, Unità di Torino

Semantics to Empower Services Science: Using Semantics at Middleware, Web Services and Business Levels

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

A Dream of Software Engineers -- Service Orientation and Cloud Computing

Integrating Legacy Assets Using J2EE Web Services

Large Scale Computing Infrastructures

SERVICE ORIENTED ARCHITECTURE DESIGN PRINCIPLES. Some Key Concepts and Ideas

Overview SENTINET 3.1

Software Design COSC 4353/6353 DR. RAJ SINGH

ABSTRACT I. INTRODUCTION

02267: Software Development of Web Services

SA-REST: Using Semantics to Empower RESTful Services and Smashups with Better Interoperability and Mediation

Enriching UDDI Information Model with an Integrated Service Profile

Survey: Grid Computing and Semantic Web

Module Day Topic. 1 Definition of Cloud Computing and its Basics

BPEL Research. Tuomas Piispanen Comarch

DS 2009: middleware. David Evans

Semantic Web Services for Ocean Knowledge Management

Internet of Things: The story so far

Services Oriented Architecture and the Enterprise Services Bus

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

Introduction to Cloud Computing. [thoughtsoncloud.com] 1

Introduction to Web Services & SOA

Goal: Offer practical information to help the architecture evaluation of an SOA system. Evaluating a Service-Oriented Architecture

Oracle Developer Day

Ranking-Based Suggestion Algorithms for Semantic Web Service Composition

SOA: Service-Oriented Architecture

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Udaipur, Rajasthan, India. University, Udaipur, Rajasthan, India

Service-Oriented Computing in Recomposable Embedded Systems

Introduction to Semantic Web Services and Web Process Composition

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

A Conceptual Architecture for Semantic Web Services Development and Deployment

Draft Requirements Document for the Development of the ICE2 Specification

Distributed systems. Distributed Systems Architectures

Engineering an MAS Platform for Semantic Service Integration based on the SWSA

Presented by: David Martin (SRI)

Distributed Invocation of Composite Web Services

Service oriented Middleware (SOM)

JADE Web Service Integration Gateway (WSIG)

A Technical Comparison of XPDL, BPML and BPEL4WS

Transcription:

Semantic Web Services and Cloud Platforms Lecture 10: Mobile Applications and Web Services module Payam Barnaghi Institute for Communication Systems (ICS) Faculty of Engineering and Physical Sciences University of Surrey Spring 2015 1 Web Services Find (discovery) Discovery Services Service Description Publish (registration) Service Requester (Client) Interact (delivery) Service Provider Service Description 2 1

RESTful services Representational State Transfer (REST) is an architectural style that makes information available as resources identified by URIs: applications communicate by exchanging representations of these resources using a transfer protocol such as HTTP. Resources are key to Web architecture: servercontrolled abstractions an application process makes available, identified via URIs. Clients access these server controlled resources in a synchronous request response fashion using methods such as GET, PUT, POST and DELETE. Bormann, C.; Castellani, A.P.; Shelby, Z., "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," Internet Computing, IEEE, vol.16, no. 2, pp.62,67, March-April 2012. 3 Services for mobile world In mobile environments the devices can take two key roles: Service Provider Service Consumer To run and/or consume a service in mobile environments you need to consider: Mobility and ubiquity issues Energy-consumption and power efficacy Bandwidth and delay and in general QoS Reliability and Quality of Information 4 2

Services for Tiny Devices The Constrained Application Protocol (CoAP) CoAP is a transfer protocol for constrained nodes and networks, such as those that will form the Internet of Things. CoAP uses the REST architectural style. It is based on UDP. CoAP s aim is to achieve its modest goals with considerably less complexity. Bormann, C.; Castellani, A.P.; Shelby, Z., "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," Internet Computing, IEEE, vol.16, no. 2, pp.62,67, March-April 2012. 5 IPV6 on constrained devices- 6LoWPAN The IETF has already undertaken much standardization work to make the packets flow. The IPv6 over Low-Power Wireless Area Networks (6LoWPAN) standards (RFCs 4944 and 6282) now enable IPv6 even on very constrained networks including the popular IEEE 802.15.4 wireless standard, ISM (industrial, scientific, medical) band telemetry radios, and low-rate power-line communications (PLC), all while using very simple embedded microcontrollers. Bormann, C.; Castellani, A.P.; Shelby, Z., "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," Internet Computing, IEEE, vol.16, no. 2, pp.62,67, March-April 2012. 6 3

CoAP A central element of CoAP s reduced complexity is that, instead of TCP, it uses UDP and defines a very simple message layer for retransmitting lost packets. It is based on XML and its compact binary representation, EXI. Bormann, C.; Castellani, A.P.; Shelby, Z., "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," Internet Computing, IEEE, vol.16, no. 2, pp.62,67, March-April 2012. 7 HTTP and the Constrained Application Protocol (CoAP) Bormann, C.; Castellani, A.P.; Shelby, Z., "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," Internet Computing, IEEE, vol.16, no. 2, pp.62,67, March-April 2012. 8 4

Web Services and Semantics Semantic Web focuses on interoperable data and knowledge representation. Services focus on interoperable software design. A match made in heaven! Semantic Web Service (Semantics + Web Service) 9 Why we need Semantic descriptions for the Services To have more flexibility, adaptability, automation Ability of discover existing services Need to create processes spawning several subprocess from various sources Ability to be able to optimise a business process; To be able to achieve interoperability between heterogeneous data formats and types Discover, Negotiate, Compose, Configure, various distributed resources. 10 5

Web Services WS Agreement WSDL WS Correlation WS Reliable Messaging WS Policy Current SOA standards/ specifications Need to go beyond syntax and to semantics Too many overlapping and non-interoperating Structural and syntactic How do they relate to each other? What is needed to enable a process to satisfy all these concerns? WS Transaction UDDI Source: Amit Sheth, Web Services to Semantic Web processes 11 Semantic Web Services Publication: Make available the description of the capability of a service Discovery: Locate different services suitable for a given task Selection: Choose the most appropriate services among the available ones Composition: Combine services to achieve a goal Mediation: Solve mismatches (data, protocol, process) among the combined Execution: Invoke services following programmatic conventions [M. Stollberg and A. Haller, 05] 12 6

Semantic Web Services define exhaustive description frameworks for describing Web Services and related aspects (Web Service Description Ontologies) support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect) define semantically driven technologies for automation of the Web Service usage process (Web Service aspect) 13 Key issues Representation models Some common models include: WSDL, OWL-S, WSDL-S, WSMO Discovery UDDI, Ontology Based Discovery Data heterogeneity/ Interoperability Annotating Web services with ontologies Composition Some techniques include: Finite State Machines, Petri Nets, Process Algebra, semantically-enabled solutions. 14 7

Representation and Discovery - Issues Industry solutions based on syntactic standards WSDL, UDDI, SOAP Logic based representation OWL, F-logic Major issues Expressiveness vs. Computability Mapping to industry standards Source: Amit Sheth, Web Services to Semantic Web processes 15 Representation WSDL (2000) An extensible, platform independent XML language for describing services. Provides functional description of Web services: IDL description, protocol and binding details. OWL-S (2001+) It is a W3C member submission (but not a W3C recommendation). Upper ontology of web services Description Logics Based description of services Inputs, Outputs, Preconditions and Effects Process Model Binding with WSDL added (2003) Source: Amit Sheth, Web Services to Semantic Web processes 16 8

Representation WSDL-S (2003-2005) Use extensibility features in WSDL to associate semantics to it Functions for mapping WSDL to ontologies METEOR-S philosophy based on adding semantics to Web service standards LSDIS/UGA-IBM Technical note released (2005). WSMO (2004+) First Order Logic based description of Web services Uses mediators for bridging goals, capabilities, Web services, Ontologies Petri-nets for execution semantics It has not been really adapted by industry. Source: Sivashanmugam, K., Verma, K., Sheth, A., Miller, J., Adding Semantics to Web Services Standards, ICWS 2003 http://www.wsmo.org 17 OWL-S Tasks OWL-S is expected to enable: Automatic Web service discovery Automated location of WSs that provide a particular service and adhere to requested constraints Automatic Web service invocation Automated execution of an identified WS by a computer program or agent Automatic Web service composition and interoperation Automatic selection, composition and interoperation of WSs to perform some task (e.g. arrangement for a conference) Automatic Web service execution monitoring Individual services and composition services generally require some time to execute completely It is useful to know the state of execution of services. Source: http://www.w3.org/submission/owl-s/ 18 9

OWL-S Capability specification General features of the Service Quality of Service Classification in Service taxonomies Mapping to WSDL communication protocol (RPC, HTTP, ) marshalling/serialization transformation to and from XSD to OWL Control flow of the service Black/Grey/Glass Box view Protocol Specification Abstract Messages [M. Stollberg and A. Haller, 05] 19 Process Model Process Model Describes how a service works: internal processes of the service Specifies service interaction protocol Specifies abstract messages: ontological type of information transmitted Facilitates Web service invocation Composition of Web services Monitoring of interaction Source: Katia Sycara, Semantic Web Service Ontologies, HICSS 39, 2006 20 10

Definition of Process A Process represents a transformation (function). It is characterized by four parameters Inputs: the inputs that the process requires Preconditions: the conditions that are required for the process to run correctly Outputs: the information that results from (and is returned from) the execution of the process Results: a process may have different outcomes depending on some condition Condition: under what condition the result occurs Constraints on Outputs Effects: real world changes resulting from the execution of the process Source: Katia Sycara, Semantic Web Service Ontologies, HICSS 39, 2006. 21 Atomic and Simple Processes Atomic processes correspond to the actions a service can perform by engaging it in a single interaction; composite processes correspond to actions that require multi-step protocols and/or multiple server actions; simple processes provide an abstraction mechanism to provide multiple views of the same process. Source: http://www.w3.org/submission/owl-s/ 22 11

Web services and Data Interoperability Loosely coupled nature of web services Reduced inter dependence between components Tremendous increase in schema/data level heterogeneities Heterogeneous schemas/structures Heterogeneous data formats and representations Solution Relate Web services to domain models Domain models captured in OWL Problem of mapping XML to OWL Source: Amit Sheth, Web Services to Semantic Web processes 23 Data mapping in workflows and web services One of the most important challenges of workflows Data flow (mapping between components) more than control flow (workflow execution) Data mapping in Web services is more complex more independently developed systems Issue of annotations with multiple ontologies Use of Ontologies in Semantic Web Services Automate service discovery, process composition; semantic description enable machine interpretable expression of service attributes, service data and compositions; Shared semantic models and service annotations provide interoperable description of services and workflows. Partially adapted from : Amit Sheth, Web Services to Semantic Web processes 24 12

Discovery Syntactic Web Services UDDI Static discovery based tags/keywords Not suited to automated discovery Semantic-enabled solutions Use Ontology based reasoning (e.g., OWL-S, WSMO, SWSA, ) Hybrid methods (using machine learning techniques for indexing and logical reasoning) 25 Problems with UDDI Centralised registry model not very popular Private registries prevalent Discovery requires solving two problems Finding appropriate registry Finding services in the registry Semantic discovery: Using semantic matching and reasoning for deciding on the degree of match between service request and advertisement. Semantic search and query based on different service parameters and also inputs and outputs. Source: Amit Sheth, Web Services to Semantic Web processes 26 13

Service Composition Developers and service consumers can solve complex problems by combining different available basic services and creating a workflow to solve their problem requirements. A composed service can include multiple basic and also other composed services. 27 Composite Services Composite services are constructed using other service as building blocks. The native services in a composition construct the sequence of business flows. A composite service orchestrates the invocation sequence of discrete Web services into a meaningful end-to-end business process. The composition and sequence of native web services can be defined through a Web service composition language BPEL (business process execution language). 28 14

Goal-oriented Service Composition A user describes her/his overall goal by specifying the list of message types s/he can possibly input to the system (e.g. credit card, expiry date, budget, ), restrictions on their types. Goal is formulated as a list of expected outputs. 29 Goal-oriented Service Compositiondefinitions The requirements that are expressed to allow discovering a a Semantic Web Service are called atomic goals. An atomic goal is an abstraction to describes requirements for the web services that expect/ produce messages that a user is looking for. Defining a goal is like defining a query that can be used to retrieve semantic web services form a repository. 30 15

Goal-oriented Service Compositiondefinitions A role is the abstraction of the messages exchanged by the goals; An abstraction of input and output messages. Counterpart of input/outputs of the matching semantic web services. A composite goal is a set of atomic goals together with the inter-connection and constraints that apply to roles and goals. 31 Semantic Web Services- composition Using ontologies to extend the traditional Web Services usually focuses on: the definition of data contained in the messages exchanged by Web Services Describing functions (and functional attributes) Describing profile (and non-functional attributes) Definition of the composition of other Web Services to a particular service 32 16

Choreography vs Orchestration Choreography describes how the service can be consumed from a user point of view (message exchange patterns). Orchestration describes the workflow of the service, including internal computations and calls to external Semantic Web Services. Orchestration is generally hidden to the user. 33 Alternatives to capture the semantics of composite services Finite State Machines Statechart diagrams Petri Nets Process Algebra (or process calculi) 34 17

Finite State Machines Finite State Machines (FSM) are used for modelling sequential behaviour that depends not only on inputs but also on the state of a system when an input is received. FSM consist of five elements: states, state transition, conditions, input events, output events. 35 Finite State Machines A state provides information about something that has already happened. Transitions indicate a change of a state and are described by a condition. Actions are activities that are performed at a given time. 36 18

Finite State Machines FSMs are rule-based. FSMs can be a useful mechanism to model the internal and external behaviour of services as a sequence of transitions between states. 37 Statechart Diagrams FSMs can be a used a mechanism for describing the dynamic behaviour of the services; but in complex services and when the number of state may grow exponentially the complexity of FSMs can become unmanageable. Statechart diagrams are proposed as an extension of the notion of FSMs to include the concepts of hierarchy, state clustering, modularity and concurrency. 38 19

Petri Nets Petri Nets are mathematical models for describing concurrent, asynchronous and parallel behaviour of distributed systems. Petri Nets are represented as bipartite graphs with place nodes, transition nodes and directed arcs. Transitions may fire as long as sufficient tokens are available at the input places. 39 Petri Nets - issues There some issues in using Petri Nets for modelling asynchronous distributed systems and (in our case web service compositions) Scalability issues- the complexity of Petri Nets increases as the number of states increases. Termination: does the Petri Net terminate? Deadlock: Is there a state where no transition can fire? 40 20

Process Algebra Process Algebra or Process Calculi (Л-Calculus) Provides a formal foundation for modelling programs can run concurrently in parallel and which can interact with each other. It provides a higher-level description of interactions, communications, and synchronisations between a set of independent processes. The π calculus approach offers concise notation with powerful reduction mechanisms, which facilitate specification of complex services. 41 Composite Services Composite services are constructed using other service as building blocks. The native services in a composition construct the sequence of business flows. A composite service orchestrates the invocation sequence of discrete Web services into a meaningful end-to-end business process. The composition and sequence of native web services can be defined through a Web service composition language BPEL (business process execution language) 42 21

BPEL BPEL is an orchestrating language: it sets down exactly how the Web services will cooperate to carry out the overall business process. In other words, you can use technologies such as SOAP and WSDL to build individual Web services, but with BPEL you specify how to combine individual services to enact an entire business process. Source: Louridas, P., "Orchestrating Web Services with BPEL," Software, IEEE, vol.25, no.2, pp.85,87, March-April 2008 43 BPEL BPEL has several core features. Actions are performed through activities, such as invoking a Web service or assigning a new value in an XML document. Activities such as while or switch offer the developer control over activity execution. It is designed to implement only the collaboration In terms of logic BPEL offers only basic activities. BPEL describes communication with partners using partner links, and messages exchanged by partners are defined using WSDL. 44 22

BPEL Structure Source: Louridas, P., "Orchestrating Web Services with BPEL," Software, IEEE, vol.25, no.2, pp.85,87, March-April 2008 45 BPEL example Source: Louridas, P., "Orchestrating Web Services with BPEL," Software, IEEE, vol.25, no.2, pp.85,87, March-April 2008 46 23

Cloud Computing Cloud computing refers to a set of resources and services that are offered through the Internet. The word Cloud is a metaphor for the Web- as the space for the computing and resources. The main objective of Cloud Computing is to efficiently use distributed resources and provide sufficient storage, computing, memory and processing capabilities for large-scale operations and/or provide virtualised and reliable computing resources for applications and services. The Cloud environment The cloud environment can be regarded as a distributed environment that offers services via a communication network (usually the Internet and TCP/IP). Users may not know the exact location of the resources that they use. Resources can be shared among a large number of users. Different service can be offered for storage, processing, handling the data and services in the Cloud. 24

Architecture The services provided by Cloud Computing can be divided into three main categories: Infrastructure-as-a-service (IaaS) Platform-as-a-service (PaaS) Software-as-a-service (SaaS) Cloud Computing Architecture Source: Sadiku, M.N.O.; Musa, S.M.; Momoh, O.D., "Cloud Computing: Opportunities and Challenges," Potentials, IEEE, vol.33, no.1, pp.34,36, Feb. 2014 25

Infrastructure-as-a-service This is the basic service provided by the Cloud. This can involve providing and delivery of largescale resources such as storage, processing, and network. It gives the ability to remotely access the resources. It can be based on pay-per-use model. It can also help providing secure, reliable resources. Examples: Amazon Elastic Computing Cloud (E2C). IaaS- Example: Amazon EC2 See the vide at: http://aws.amazon.com/ec2/ 52 26

Platform-as-a-service (PaaS) PaaS provides a set of application program interfaces to cloud applications. It allows to provide platform applications and services to be offered as Cloud servcies. PaaS allows the users to creates their software using tools and libraries that are offered by a provider. Examples: Google App engine and Microsoft Azure. PaaS Example: Microsoft Azure 54 27

Software-as-a-service (SaaS) SaaS provides services that can be directly used by end-users. It is a software deployed in the Cloud (i.e. the internet). It is an alternative to running applications on users computer or offering access to them via dedicated services. In SaaS the services run on the Cloud platform and several resources can offer the same service and access and load balancing between them is done via the Cloud management and is transparent to the consumer. Cloud: Benefits and Challenges It can provide large-scale resources in reliable, secure and scalable ways. It provides on-demand, ubiquitous and location independent access and resource pooling. It can help to support and manage quality of services and reliability. Two of the key challenges are privacy and security. Latency in accessing the application and load balancing can be also other challenges. 28

Further reading Sadiku, M.N.O.; Musa, S.M.; Momoh, O.D., "Cloud Computing: Opportunities and Challenges," Potentials, IEEE, vol.33, no.1, pp.34,36, Feb. 2014. Louridas, P., "Orchestrating Web Services with BPEL," Software, IEEE, vol.25, no.2, pp.85,87, March-April 2008. Bormann, C.; Castellani, A.P.; Shelby, Z., "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," Internet Computing, IEEE, vol.16, no.2, pp.62,67, March- April 2012. Acknowledgements Some of the slides are adapted from the following resources: Stollberg et al, Semantic Web Services Tutorial, 5th International Conference on Web Engineering (ICWE 2005), Sydney, Australia. Semantic Web Services Tutorial, Michael Stollberg and Armin Haller, DERI, 3rd International Conference on Web Services (ICWS 2005), 2005. Vipul Kashyap et al, The Semantic Web, Semantics for Data and Services on the Web, Springer, 2008. Rudi Studer et al, Semantic Web Services: Concepts, Technologies and Applications, Springer, 2007. 58 29