Middleware for Ubiquituous Computing

Similar documents
DS 2009: middleware. David Evans

Middleware for Ubiquituous Computing

Service oriented Middleware for IoT

Service oriented Middleware (SOM)

Unit 7: RPC and Indirect Communication

Middleware for Ubiquituous Computing

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

CAS 703 Software Design

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Service Integration - A Web of Things Perspective W3C Workshop on Data and Services Integration

Chapter 5: Distributed objects and remote invocation

Lecture 5: Object Interaction: RMI and RPC

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems

Distributed Middleware. Distributed Objects

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

SAI/ST course Distributed Systems

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Chapter 2 Distributed Computing Infrastructure

CORBA (Common Object Request Broker Architecture)

Distributed Systems Middleware

Chapter 4 Communication

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

A short introduction to Web Services

Middleware in Context: 2016 David E. Bakken. Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019

RPC and RMI. 2501ICT Nathan

A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability

MODELS OF DISTRIBUTED SYSTEMS

COMMUNICATION IN DISTRIBUTED SYSTEMS

Today: Distributed Objects. Distributed Objects

Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, Middleware in Context: 2016 David E. Bakken

1.264 Lecture 16. Legacy Middleware

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A

Electronic Payment Systems (1) E-cash

DISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware MIDDLEWARE. Distributed Object based: Slide 1. Slide 3. Message-oriented: Slide 4

Applications MW Technologies Fundamentals. Evolution. Applications MW Technologies Fundamentals. Evolution. Building Blocks. Summary.

A Report on RMI and RPC Submitted by Sudharshan Reddy B

05 Indirect Communication

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Technologies - overview & GIPSY Communication Procedure

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

A Study on Middleware Technologies in Cloud Computing

DISTRIBUTED OBJECTS AND REMOTE INVOCATION

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI

Lecture 06: Distributed Object

UNIT 4 CORBA 4/2/2013 Middleware 59

02 - Distributed Systems

Remote Invocation Vladimir Vlassov and Johan Montelius

02 - Distributed Systems

Introduction to Web Services & SOA

MODELS OF DISTRIBUTED SYSTEMS

Advanced Topics in Operating Systems

CSCI 3130 Software Architectures 1/3. February 5, 2013

Distributed Objects. Object-Oriented Application Development

Distributed Systems Principles and Paradigms

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

IIOP: Internet Inter-ORB Protocol Make your code accessible even in future, with the next universal protocol

Structured communication (Remote invocation)

Distribution and web services

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

CSci Introduction to Distributed Systems. Communication: RPC

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

ID2208 Programming Web Services

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

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

CHAPTER 2. Introduction to Middleware Technologies

Communication. Outline

Software Architecture

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Verteilte Systeme (Distributed Systems)

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications

Distributed Systems. Prof. Dr. Schahram Dustdar Distributed Systems Group Vienna University of Technology. dsg.tuwien.ac.

Distributed Systems. Lehrstuhl für Informatik IV RWTH Aachen. Organisation. Classification of the lecture. Literature

Distributed Systems. Lehrstuhl für Informatik 4. RWTH Aachen. Organization. Literature. Classification of the lecture

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Architecture of Software Intensive Systems

Communication. Distributed Systems Santa Clara University 2016

Introduction to Distributed Systems (DS)

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

Application Servers in E-Commerce Applications

CHAPTER - 4 REMOTE COMMUNICATION

Software Components and Distributed Systems

Middleware and Interprocess Communication

UPnP Services and Jini Clients

Introduction to Web Services & SOA

What is CORBA? CORBA (Common Object Request Broker Architecture) is a distributed object-oriented client/server platform.

Programming Web Services in Java

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Incorporating applications to a Service Oriented Architecture

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Chapter 5: Remote Invocation. Copyright 2015 Prof. Amr El-Kadi

Transcription:

Middleware for Ubiquituous Computing Middleware from distributed systems to network of things UbiComp Middleware : http://www.tigli.fr/doku.php?id=cours:muc_2014_2015 Main Instructor : Ass. Prof. Jean-Yves Tigli http://www.tigli.fr at Polytech of Nice - Sophia Antipolis University Email : tigli@polytech.unice.fr 1

Middleware for Internet of Things : reference Middleware Solutions for the Internet of Things, Delicato, Flávia C., Pires, Paulo F., Batista, Thais, Sep 2013, Springer, ISBN 978-1-4471-5481-5 2

New challenges in ubiquitous computing : reference [2013] Gaëlle Calvary, Thierry Delot, Florence Sèdes, Jean-Yves Tigli, editors. Computer Science and Ambient Intelligence 335 pages, ISTE Ltd and Wiley & Sons Inc, March 2013, ISBN 978-1-84821-437-8 [2012] Gaëlle Calvary, Thierry Delot, Florence Sèdes, Jean-Yves Tigli. Informatique et Intelligence Ambiante : des Capteurs aux Applications (Traité Informatique et Systèmes d'information, IC2) Hermes Science, July 2012, ISBN 2-7462-2981-1 3

Course Outline Middleware for Internet of Things and Web of Things Web Service for Device UPnP Tutorial Services for Device Composition Lightweight Component based Composition Tutorial Validation and Model checking Synchronous Language to model software component and composition -Tutorial Adaptation and Dynamic composition of Services for Device Tutorial : Aspect of Assembly 4

Examination Evaluated Tutorial on Synchronous Language and Model checking A final paper exam and/or or computer exam 5

Introdution : Ubiquitous Computing since 1991 Pervasive, Ubiquitaire, Disappearing, Ambient Computing [Weiser 1991] «Silicon-based information technology, is far from having become part of the environment» They are Things 2014-2015 6 MIDDLEWARE for INTERNET of THINGS SI5 MASTER IFI / UBINET ESPRIT SLEAM5

Introduction : Internet of Things It is predicted that there will be 31 billion things connected to the internet Environments, buildings, vehicles, clothing, portable devices and other objects will have the ability : to sense, to act analyse, communicate, network and produce new information 7

Video What are «Things», Internet of Things, Adaptation and Dynamic composition of Services for Things and Device, in our everyday life. http://www.tigli.fr/doku.php?id=cours:muc_2013_2014 8

Middleware for distributed Computers From Distributed Computing to Ubiquituous Computing 9

From Von Neumann Computer : E/S CPU DATA Pervasion 1960 Temps 2014-2015 Adapté MIDDLEWARE de «Nano-informatique INTERNET of THINGS et intelligence SI5 MASTER ambiante IFI / UBINET», JB ESPRIT Waldner, SLEAM5 Hermes Science Publishing, 10 2007

To Distributed Computing COM E/S CPU DATA Energy Pervasion 1970 1960 time 2014-2015 Adapté MIDDLEWARE de «Nano-informatique INTERNET of THINGS et intelligence SI5 MASTER ambiante IFI / UBINET», JB ESPRIT Waldner, SLEAM5 Hermes Science Publishing, 11 2007

What is Middleware? What is Middleware? Layer between OS and distributed applications Provides common programming abstraction and infrastructure for distributed applications Hiding distribution, i.e. the fact that an application is usually made up of many interconnected parts running in distributed locations. Hiding the heterogeneity of the various hardware components, operating systems and communication protocols that are used by the different parts of an application. Supplying a set of common services to perform various general purpose functions, in order to avoid duplicating efforts and to facilitate collaboration between applications. Distributed Applications Middleware Operating System Comms Operating System Comms Network Network 12

Generic definition The intersection of the stuff that network engineers don t want to do with the stuff that applications developers don t want to do. [Kenneth J. Klingenstein ('99)] But mainly to deal with distribution of software applications at the beginning 13

Middleware Layers Middleware can be a Stack of Middlewares : E. Schantz and D. C. Schmidt Taxonomy (2002) Schantz and Schmidt decomposed middleware into four layers: Domain-Services Tailored to a specific class of distributed applications Common-Services Functionality such as fault tolerance, security, load balancing and transactions Distribution Programming-language abstraction Host-Infrastructure Platform-abstraction Application Domain-Services Common-Services Distribution Host-Infrastructure Kernel kernel boundary process boundary layer boundary 14

Middleware and software distribution The term middleware first appeared in the late 1980s to describe network connection management software It did not come into widespread use until the mid 1990s, when network technology had achieved sufficient penetration and visibility. MAIN REFERENCE: http://sardes.inrialpes.fr/~krakowia/mw-book/chapters/preface/preface.html 15

Middleware and Communication Patterns I: Remote Procedure Call (RPC) Historic interest II: Object-Oriented Middleware (OOM) Ex. Java RMI Ex. CORBA III: Message-Oriented Middleware (MOM) Ex. Java Message Service IV: Event-Based Middleware Cambridge Event Architecture They are prerequisites! If you need practice, feel free to ask some tutorials and references 16

I: Remote Procedure Call (RPC) Masks remote function calls as being local Client/server model Request/reply paradigm usually implemented with message passing in RPC service Marshalling of function parameters and return value Caller RPC Service RPC Service Remote 1) Marshal args Function 2) Generate ID message 3) Start timer 4) Unmarshal call( ) 5) Record ID fun( ) 8) Unmarshal 9) Acknowledge 6) Marshal 7) Set timer 17

Properties of RPC Language-level pattern of function call easy to understand for programmer Synchronous request/reply interaction natural from a programming language point-of-view matches replies to requests built in synchronisation of requests and replies Distribution transparency (in the no-failure case) hides the complexity of a distributed system 18

Disadvantages and limitations of RPC Synchronous request/reply interaction tight coupling between client and server client may block for a long time if server loaded leads to multi-threaded programming at client slow/failed clients may delay servers when replying multi-threading essential at servers Distribution Transparency Not possible to mask all problems RPC paradigm is not object-oriented invoke functions on servers as opposed to methods on objects fork( ) remote call join( ) 19

Do you know? Any example for RPC based Middleware? in your background Example : See XML-RPC : http://www.tutorialspoint.com/xml-rpc/ One kind of Web Service Middleware Communication paradigm is RPC See W3C consortium : http://www.w3schools.com/webservices/ 20

II: Object-Oriented Middleware (OOM) Objects can be local or remote Object references can be local or remote Remote objects have visible remote interfaces Masks remote objects as being local using proxy objects Remote method invocation local OOM OOM remote object A object request broker / object manager object request broker / object manager skeleton object B proxy object B object B 21

Properties of OOM Support for object-oriented programming model objects, methods, interfaces, encapsulation, exceptions (were also in some RPC systems) Synchronous request/reply interaction same as RPC Location Transparency system (ORB) maps object references to locations 22

Do you know? Any example for OOM? in your background Examples 23

Java Remote Method Invocation (RMI) Covered in Java programming Distributed objects in Java public interface PrintService extends Remote { int print(vector printjob) throws RemoteException; } RMI compiler creates proxies and skeletons RMI registry used for interface lookup Entire system written in Java (single-language system) 24

CORBA Common Object Request Broker Architecture Open standard by the OMG (Version 3.0) Language and platform independent Object Request Broker (ORB) General Inter-ORB Protocol (GIOP) for communication Interoperable Object References (IOR) contain object location CORBA Interface Definition Language (IDL) Stubs (proxies) and skeletons created by IDL compiler 25

CORBA IDL Definition of language-independent remote interfaces Language mappings to C++, Java, Smalltalk, Translation by IDL compiler Type system basic types: long (32 bit), long long (64 bit), short, float, char, boolean, octet, any, constructed types: struct, union, sequence, array, enum objects (common super type Object) Parameter passing in, out, inout basic & constructed types passed by value objects passed by reference typedef sequence<string> Files; interface PrintService : Server { void print(in Files printjob); }; 26

Advantages and Disadvantages of OOM Totally transparent distributed programming Synchronous request/reply interaction only So CORBA oneway semantics added Asynchronous Method Invocation (AMI) But implementations may not be loosely coupled Distributed garbage collection Releasing memory for unused remote objects OOM rather static and heavy-weight Unadapted for ubiquitous systems and embedded devices 27

III: Message-Oriented Middleware (MOM) Communication using messages Messages stored in message queues message servers decouple client and server Various assumptions about message content Client App. Server App. Message Servers local message queues message queues local message queues Network Network Network 28

Properties of MOM Asynchronous interaction Client and server are only loosely coupled Messages are queued Good for application integration Processing of messages by intermediate message server(s) May do filtering, transforming, logging, Networks of message servers 29

Java Message Service (JMS) API specification to access MOM implementations Two modes of operation *specified*: Point-to-point one-to-one communication using queues Publish/Subscribe cf. One pattern for Event-Based Middleware (ex. Java) JMS Server implements JMS API JMS Clients connect to JMS servers Java objects can be serialised to JMS messages 30

Disadvantages of MOM Poor programming abstraction (but has evolved) Rather low-level (cf. Packets) Request/reply more difficult to achieve, but can be done Message formats originally unknown to middleware No type checking (JMS addresses this implementation?) Queue abstraction only gives one-to-one communication Limits scalability (JMS pub/sub heavy implementation of event based communications) 31

IV: Event-Based Middleware 1 emitter N receiver With broadcast communications (ex. UDP) With unicast communications or peer to peer (ex. TCP), multiple communications are required 32

IV: Event-Based Middleware, ex. Publish/Subscribe Pattern Publishers (advertise and) publish events (messages) Subscribers express interest in events with subscriptions Event Service notifies interested subscribers of published events Events can have arbitrary content (typed) and name/value pairs Publisher Publisher publish publish Event Service (event-broker network) subscribe notify subscribe notify Subscriber Subscriber Publisher publish subscribe notify Subscriber 33

Properties of Publish/Subscribe Asynchronous communication Publishers and subscribers are loosely coupled Many-to-many interaction between pubs. and subs. Scalable scheme for large-scale systems Publishers do not need to know subscribers, and vice-versa Dynamic join and leave of pubs, subs (Topic and) Content-based pub/sub very expressive Filtered information delivered only to interested parties 34

Composite Event Detection (CED) Content-based pub/sub may not be expressive enough Potentially thousands of event types (primitive events) Subscribers interest: event patterns Composite Event Detectors (CED) Subscribe to primitive events and publish composite events Alternative Implementation (need multicast communications) Publisher Publisher Publisher Publisher CED CED CED Subscriber Subscriber 35

Summary Middleware is an important abstraction for building distributed systems 1. Remote Procedure Call 2. Object-Oriented Middleware 3. Message-Oriented Middleware 4. Event-Based Middleware Synchronous vs. asynchronous communication Scalability, many-to-many communication Language integration Ubiquitous systems, mobile systems 36

New Trends for Distributed Computing : SOM The SOA style is structured around three key architectural components: (i) service provider, (ii) service consumer, and (iii) service registry. The SOA design is structured around four key functionalities : service description, discovery, access and composition in the Future Internet of services The Service-Oriented Middleware (SOM) is in charge of enabling the deployment of services and coordination among the four key conceptual elements and four key functionalities that characterize the SOA style and design. 37

New Networked Systems and Ubiquitous/Pervasive Computing Mobile Computers and then Devices, Things, Objects 38

Mobile Computing COM E/S CPU DATA Energy Pervasion 1990 1970 1960 time 2014-2015 Adapté MIDDLEWARE de «Nano-informatique INTERNET of THINGS et intelligence SI5 MASTER ambiante IFI / UBINET», JB ESPRIT Waldner, SLEAM5 Hermes Science Publishing, 39 2007

Ubiquitous Computing COM E/S CPU DATA Energy Pervasion 1990 2000 1970 1960 time 2014-2015 Adapté MIDDLEWARE de «Nano-informatique INTERNET of THINGS et intelligence SI5 MASTER ambiante IFI / UBINET», JB ESPRIT Waldner, SLEAM5 Hermes Science Publishing, 40 2007

Things are mainly based on Inputs / Outputs evolution Things can be sensors Things can be actuators Things can be physically coupled sensors and actuators (heater : electrical resistance and temperature sensor) Things can be logically coupled sensors and actuators (electrical switch and controlled light) 41

Trends Web of Things Two kind of Approches Service oriented Architectures : ROA (DAO) : Ressource or data oriented SOA : Sevice oriented REST is an example for the first approach 42

Ressource Oriented Architecture 43

RESTful Web Services REpresentational State Transfer Architecture inherent in all web based system since 1994, not explicitly described as an architecture until later An architecture - not a set of standard Web Services is both an architecture and a set of standards Goal: To leverage web based standards to allow inter-application communication as simply as possible Matches the standard web interaction model 44

REST architecture Uses HTTP operations: GET = "give me some info" (Retrieve) POST = "here's some update info" (Update) PUT = "here's some new info" (Create) DELETE = "delete some info" (Delete) Typically exchanges XML documents But supports a wide range of other internet media types Example of client side REST request: GET /shoppingcart/5873 Server must be able to correctly interpret the client request as there is no explicitly defined equivalent to an interface definition 45

Web Server The standard Web architecture HTTP GET request URL 1 Response (HTML doc) HTTP response Parts List HTTP GET request URL 2 Response (HTML doc) HTTP response Part Data PO HTTP POST URL 3 (HTML) URL to submitted PO HTTP response PO Copyright [2005]. Roger L. Costello, Timothy D. Kehoe.

Web Server The RESTful architecture HTTP GET request URL 1 Response (XML doc) HTTP response Parts List HTTP GET request URL 2 Response (XML doc) HTTP response Part Data PO HTTP POST URL 3 (XML) URL to submitted PO HTTP response PO Copyright [2005]. Roger L. Costello, Timothy D. Kehoe.

REST Architecture Servers are stateless and messages can be interpreted without examining history Messages are self-contained There is no such thing as a service. There are just resources which are accessed through URI URI = generalisation of URL Clients navigate through a series of steps towards a goal by following hypertext links (GET) and submitting representations (POST). 48

ROA and Mashup Mashups is A way to create new Web applications by combining existing Web resources utilizing data and Web APIs [Benslimane et al., 2008] ROA is Well-adapted for Mashups (Composite Web Applications) Well-adapted for Web Sensors Network (WSN) Data sensors But lacks for non sensor device like actuators Things - Physical Objects as Ressources 49

VIDEO Difference between Ambient Applications and Mashups for IoT 50

REST strong versus weak Pure REST should use pure URI only E.g. GET /shoppingcart/5873 Many REST implementations also allow parameter passing E.g. GET /shoppingcart/5873?sessionid=123 Allowing parameter passing makes REST a lot more usable but blurs the architectural principle of statelessness Indeed Data can be specific command like instruction code 51 But is it the purpose? Is this not another way to rebuild a SOA stack?

Service oriented architecture (SOAP-WS) 52

SOA : Service oriented Architecture A service provides business functions to its consumer and in ISO 19119 [ISO/TC-211] it is defined as Distinct part of the functionality that is provided by an entity through interfaces. SOAP based Web Service, the alternative Also called WS-* (for * recommendations, Cf. http://www.w3.org/) 53

WS-*architecture more than ROA SOAP+WSDL+UDDI defines a general model for a web service architecture. SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Description and Discovery Protocol Service consumer: User of a service Service provider: Entity that implements a service (=server) Service registry : Central place where available services are listed and advertised for lookup 2013-2014 MIDDLEWARE FOR UBIQUITOUS COMPUTING SI5 MASTER IFI / UBINET ESPRIT SLEAM5 54

WS-* Models Stack of WS-standards The W3C and OASIS WS-stack provide a framework / toolbox for constructing web service architectures 2013-2014 MIDDLEWARE FOR UBIQUITOUS COMPUTING SI5 MASTER IFI / UBINET ESPRIT SLEAM5 55

SOAP-WS versus REST Model 2013-2014 MIDDLEWARE FOR UBIQUITOUS COMPUTING SI5 MASTER IFI / UBINET ESPRIT SLEAM5 56

Disadvantages of Web Services Low-level abstraction leaves a lot to be implemented Interaction patterns have to be built one-to-one and request-reply provided one-to-many? still synchronous service invocation, rather than notification No location transparency 57

Interroperability and Research Challenges Interroperability between Technology : Thanks to a common software platform Thanks to a common network protocol Research Challenge : Adpative Middleware like Emergent Middleware Emergent Middleware by Paul Grace, Gordon S. Blair and Valerie Issarny, [5,6] 58

What we lack, so far General interaction patterns we have one-to-one and request-reply one-to-many? many to many? notification? Dynamic joining and leaving Location transparency (good or bad thing?) anonymity of communicating entities Support for Device data values from sensors lightweight software And other requirements for Ubiquitous Computing 59

60

Web Service for Device UPnP, DPWS. 61

Related material Reading List: http://aspire.surrey.ac.uk/lists/35640fc8-892d-e309-e66c- F07C3D9BCB28.html ETSI, Machine to Machine Communications http://www.etsi.org/technologies-clusters/technologies/m2m Machine-to-Machine Communications, OECD Library, http://www.oecd-ilibrary.org/science-and-technology/machine-to-machinecommunications_5k9gsh2gp043-en W3C Semantic Sensor Networks http://www.w3.org/2005/incubator/ssn/xgr-ssn-20110628/ 62

References From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices, Dominique Guinard, Vlad Trifa, Friedemann Mattern, Erik Wilde, Architecting the Internet of Things, 2011, pp 97-129, Editors: Dieter Uckelmann, Mark Harrison, Florian Michahelles, ISBN: 978-3-642-19156-5 (Print) 978-3-642-19157-2 (Online) - http://www.vs.inf.ethz.ch/publ/papers/dguinard-fromth-2010.pdf Services Mashups: The New Generation of Web Applications, Issue No.05 - IEEE Internet Computing - September/October (2008 vol.12), pp: 13-15, Djamal Benslimane, Lyon University, Schahram Dustdar, Vienna University of Technology, Amit Sheth, Wright State University http://www.infosys.tuwien.ac.at/staff/sd/papers/servicesmashups_ic.pdf 63

References M. Satyanarayanan. Pervasive computing : Vision and challenges. IEEE [see also IEEE Wireless Communications] Personal Communications, 8(4) :10 17, 2001. https://www.cs.cmu.edu/~aura/docdir/pcs01.pdf ISO/TC-211, ISO 19119 Geographic information - Services. 2005. Fielding, R.T., Architectural Styles and the Design of Network-based Software Architectures, Ph.D. dissertation, in University of California, Irvine, 2000. https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf Peter R. Pietzuch, Event-Based Middleware: A New Paradigm for Wide-Area Distributed Systems?, In 6th CaberNet Radicals Workshop, February 2002 Hennadiy Pinus, Middleware: Past and Present a Comparison, June 2004 Wolfgang Emmerich. Software engineering and middleware: a roadmap. In Proceedings of the Conference on The future of Software engineering, pages 117-129, 2000. Hurwitz, Judith "Sorting Out Middleware". DBMS magazine, January, 1998 64

References D.E. Bakken, Middleware, in Encyclopedia of Distributed Computing, 2003, http://www.eecs.wsu.edu/~bakken/middleware-article-bakken.pdf. A Perspective on the Future of Middleware-based Software Engineering. V. Issarny, M. Caporuscio, N. Georgantas. In Future of Software Engineering 2007 (FOSE) at ICSE (International Conference on Software Engineering). L. Briand and A. Wolf editors, IEEE-CS Press. 2007. Sacha Krakowiak, Krakowiak, Sacha. "What's middleware? ", 2005, http://sardes.inrialpes.fr/~krakowia/mw-book/chapters/intro/intro.html Service-Oriented Middleware for the Future Internet: State of the Art and Research Directions, Valérie Issarny, Nikolaos Georgantas, Sara Hachem, Apostolos Zarras, Panos Vassiliadis, Marco Autili, Marco Aurelio Gerosa, Amira Ben Hamida, Journal of Internet Services and Applications 2, 1 (2011) 23-45 65

Main event : WoT, Web of Things (Ubicomp conference) W3C Regular Workshop WoT (Web of Things) During UbiComp Conference (also Pervasive and ISWC since 2013) 4 th in 2013 http://www.w3.org/community/wot/ The aim of the Web of Things Community Group (CG) is to accelerate the adoption of Web technologies as a basis for enabling services for the combination of the Internet of Things with rich descriptions of things and the context in which they are used. 66