1 Linked Data and Web Services Payam Barnaghi Institute for Communication Systems (ICS) Faculty of Engineering and Physical Sciences University of Surrey.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

REST Introduction 吴海生 博克软件(杭州)有限公司.
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Linked-data Architecture Payam Barnaghi Centre for Communication Systems Research University of Surrey FIA Budapest Linked data session Budapest, May 2010.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
1 CS 483 Enterprise and Web Application Programming Week 7 Web Services.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Web Services (SOAP, WSDL, and UDDI)
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Linked-data and the Internet of Things Payam Barnaghi Centre for Communication Systems Research University of Surrey March 2012.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
Chris Kuruppu NWS Office of Science and Technology Systems Engineering Center (Skjei Telecom) 10/6/09.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
1 Engineering Web Based Legacy Systems By Kanchana Eramudugoda Distributed Computing – CS843.
Kemal Baykal Rasim Ismayilov
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Introduction to Web Services
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
Introduction to Web Services
WEB API.
WEB SERVICES DAVIDE ZERBINO.
Introduction to Web Services and SOA
Distributed System using Web Services
Presentation transcript:

1 Linked Data and Web Services Payam Barnaghi Institute for Communication Systems (ICS) Faculty of Engineering and Physical Sciences University of Surrey Spring 2015 Lecture 09: Mobile Applications and Web Services module

2 Metadata and semantic annotations −Semantic description models −Re-usable ontologies −Resource description framework(s) −Structured data, structured query −However, interconnected and linked metadata is even better than stand-alone metadata!

3 What is linked-data? −“The term Linked Data was coined by Tim Berners-Lee in his Linked Data Web architecture note. −The term refers to a style of publishing and interlinking structured data on the Web. −The basic assumption behind Linked Data is that the value and usefulness of data increases the more if it is interlinked with other data. In summary, Linked Data is simply about using the Web to create typed links between data from different sources. −The basic tenets of Linked Data are to: −use the RDF data model to publish structured data on the Web −use RDF links to interlink data from different data sources” Source: How to Publish Linked Data on the Web (Tutorial), by Chris Bizer, Richard Cyganiak, Tom Heath (superseded by the Linked Data book, by Tom Heath and Christian Bizer)

4 Example: Linked data

5 How to publish linked-data on the Web? −The principles in designing the linked data are defined as: −using URI’s as names for things; −using HTTP URI’s to enable people to look up those names; −providing useful RDF information related to URI’s that are looked up by machine or people; −including RDF statements that link to other URI’s to enable discovery of other related concepts of the Web of Data;

6 Linked Open Data Collectively, the 203 data sets consist of over 25 billion RDF triples, which are interlinked by around 395 million RDF links (September 2010).

Web Services 7 Source: the economist

8 Web Services Definition by W3C −A Web service is a software application −identified by a URI, −whose interfaces and binding are capable of being defined, described and discovered by XML artifacts and −supports direct interactions with other software applications −using XML based messages −via internet-based protocols source: Web Services Overview, Sang Shinn, javapassion.com

9 Why Web Services? −Interoperability – connect across heterogeneous networks using ubiquitous web-based standards −Economic – reuse components, no installation and tight integration of software −Automation – no human (or less human) intervention required even for highly complex transactions −Accessibility – legacy assets & internal apps are exposed and accessible on the web −Availability – services on any device, anywhere, anytime −Scalability – extending the scope of applications source: partially adapted from Web Services Overview, Sang Shinn, javapassion.com

10 Web Services −Web Services provide data and services to other applications. −Thee applications access Web Services via standard Web Formats (HTTP, HTML, XML, and SOAP), with no need to know how the Web Service itself is implemented. −You can imagine a web service like a remote procedure call (RPC) which it returns a message in an XML format.

11 Web Services Service Requester (Client) Service Provider Discovery Services Publish (registration) Find (discovery) Interact (delivery) Service Description

Web Application vs. Web Services source: Web Services Overview, Sang Shinn, javapassion.com

Web Services technologies (SOAP-based services) source: W3C.org

Web Services technologies −Web Services use Simple Object Access Protocol (SOAP) −SOAP is an XML-based way to invoke web services −Web Services Description Language (WSDL) is an IDL for web services. −Universal Description, Discovery, and Integration (UDDI) provides a registry technology for web services. −You can imagine a web service like a remote procedure call (RPC) which returns a message in an XML format. −The description of a service in a SOA is essentially a description of the messages that are exchanged.

What is an XML Web Service? SOAP Web Services’ consumers can send and receive messages in XML format. WSDL Web Services Description Language Web Services are defined in terms of the formats and ordering of messages. UDDI Universal Description, Design, and Integration Provide a Directory of Services on the Internet.

Engaging a Web Service source: W3C.org

Simple Object Access Protocol (SOAP) −SOAP is an XML-based protocol for exchanging information in a distributed environment. −SOAP provides a common message format for exchanging data between clients and services. −The basic item of transmission in SOAP is a SOAP message, which consists of a mandatory SOAP envelope, an optional SOAP header, and a mandatory SOAP body. Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools,Ed Ort. java.sun.com

The SOAP Envelope −The envelope specifies two things: an XML namespace and an encoding style. −The XML namespace specifies the names that can be used in the SOAP message. −Namespaces are designed to avoid name clashes. −The same name can be used for different items, provided that the names are in different namespaces. −The encoding style identifies the data types recognized by the SOAP message. Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools, Ed Ort. java.sun.com

The SOAP Message −The SOAP header can be used to indicate some additional processing at an intermediate node, that is, processing independent of the processing done at the final destination. −Typically, the SOAP header is used to convey security-related information to be processed by runtime components. −The body contains the main part of the SOAP message, that is, the part intended for the final recipient of the SOAP message. Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools,Ed Ort. java.sun.com

SOAP Architecture −SOAP is an extensible XML framework −SOAP defines: −A standard XML framing mechanism that can be used with any transport −A standard representation for errors −A standard processing model − SOAP itself doesn't define: −A standard metadata (type) system Source: Aaron Skonnard, Pluralsight,

SOAP Framing −SOAP framing allows extensibility −Headers pushed into XML to decouple functionality from transport <soap:Envelope xmlns:soap=" Headers define additional layers (WS-*) Source: Aaron Skonnard, Pluralsight,

Sample SOAP Message source: W3C.org

SOAP request/response source: Introduction to SOAP, W3cSchools.com

What SOAP is Not −Not a component model −So it will not replace objects and components. −Not a programming language −Not a solution for all −So it will not replace other distributed computing technologies source: Web Services Overview, Sang Shinn, javapassion.com

Web Services Description Language (WSDL) −WSDL is an XML-based language used to define web services. −WSDL describes how to access the web services. −WSDL is a suggestion by Ariba, IBM and Microsoft to describe services for the W3C XML Activity on XML Protocols.

Web Service Description Language (WSDL) −WSDL defines an XML schema for describing a web service. −To uncover the description for a Web service, a client needs to find the service's WSDL document. −One way, perhaps the most typical way, to do this is for the client to find a pointer to the WSDL document in the web service's registration, which can be in a UDDI registry or an ebXML registry/repository. Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools, Ed Ort. java.sun.com

What is WSDL? −XML language for describing web services −Web service is described as −A set of communication endpoints (ports) −Endpoint is made of two parts −Abstract definitions of operations and messages −Concrete binding to networking protocol (and corresponding endpoint address) and message format −Why this separation? −Enhance reusability (as we will see in UDDI reference to WSDL document) source: Web Services Overview, Sang Shinn, javapassion.com

Why WSDL? −Enables automation of communication details between communicating partners −Machines can read WSDL −Machines can invoke a service defined in WSDL −Discoverable through registry −Arbitration −3rd party can verify if communication conforms to WSDL source: Web Services Overview, Sang Shinn, javapassion.com

Service and messages 29 Adapted from: Aaron Skonnard, Northface University, Operations

The WSDL Document Structure −A WSDL document describes a web service using these major elements: − The operations performed by the web service − The messages used by the web service − The data types used by the web service − The communication protocols used by the web service source: W3C Schools,

The WSDL Document Structure 31 Source: Ethan Cerami, Web Services Essentials, Distributed Applications with XML-RPC, SOAP, UDDI & WSDL, Oreilly, 2002,

WSDL Example −A simplified fraction of a WSDL document: source: W3C Schools,

UDDI −The Universal Description, Discovery, and Integration (UDDI) specifications define how to publish and discover information about services in a UDDI-conforming registry. −More specifically, the specifications define a UDDI schema and a UDDI API. −The UDDI schema identifies the types of XML data structures that comprise an entry in the registry for a service. Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools,Ed Ort. java.sun.com

UDDI −Think of a UDDI registry as a "Yellow Pages" for web services. −Like the Yellow Pages directory for phone numbers. −A UDDI registry provides information about a service such as the name of the service, a brief description of what it does, an address where the service can be accessed, and a description of the interface for accessing the service. Source: Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools,Ed Ort. java.sun.com

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: server- controlled 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. 35 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.

RESTful services −REST is mainly used to build Web services that are lightweight, maintainable, and scalable. −A service based on REST is called a RESTful service. −REST is not dependent on any protocol, but almost every RESTful service uses HTTP as its underlying protocol. −A RESTful service is stateless and does not maintain the application state for any client. An extra implementation is required to create a stateful service using HTTP. 36 Source: RESTful Web Services: A Tutorial, M. Vaqqas, September 23, 2014,

RESTful Web Servcies −Exposing a system's resources through a RESTful API is a flexible way to provide different kinds of applications with data formatted in a standard way. −It helps to meet integration requirements that are critical to building systems where data can be easily combined (mashups) and to extend or build on a set of base, RESTful services into something much bigger. 37 Source: Alex Rodriguez, IBM,

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 38

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. 39 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.

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 wireless standard, ISM (industrial, scientific, medical) band telemetry radios, and low-rate power-line communications (PLC), all while using very simple embedded microcontrollers. 40 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.

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. 41 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.

HTTP and the Constrained Application Protocol (CoAP) 42 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.

Further reading −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.