Inmidio an interoperable middleware for service discovery and service interaction
Sponsored Links
This presentation is the property of its rightful owner.
1 / 17

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on
  • Presentation posted in: General

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn. Daniele Sacchetti Daniele.Sacchetti@inria.fr. Outline. Context INMIDIO Solution Objective Service discovery and interaction interoperability Supported protocols: overview INMIDIO Web page Conclusion.

Download Presentation

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn

Daniele Sacchetti

Daniele.Sacchetti@inria.fr


Outline

  • Context

  • INMIDIO Solution

    • Objective

    • Service discovery and interaction interoperability

    • Supported protocols: overview

  • INMIDIO Web page

  • Conclusion


The Networked Home

  • Integrating and composing the functionalities of the heterogeneous networked (software & hardware) resources


1. Which services are present ?

2. May I interact with it ?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Middleware heterogeneity

  • Two base middleware functions for networked home

    • Service discovery protocols (SDP) (ex: UPnP, SLP, WS-Discovery)

    • Service interaction protocols (SIP) for communication between services (ex: SOAP, RMI)


Application services developed using existing legacy middleware

Middleware-layer interoperability is transparent to applications

Legacy SIP

INMIDIO Solution to service discovery and interaction interoperability

Applications

Legacy SDP

RMI

SLP

Dynamic SI

interoperability

Dynamic SDP

interoperability

UPnP

SOAP


SLP :239.255.255.23 : 427

UPnP : 239.255.255.250 : 1900

SDP3: Group-Multicast-3 : Port Z

Monitor

Component

SDPs

  • All SDPs use:

    • Reserved multicast address & a UDP port assigned by IANA

  • The SDI monitor component:

    • Listens on all the ports provided by the table

  • Null cost in terms of bandwidth consumption as the monitor passively listens on SDP ports


SLP

2

Events

Instantiator

Parser

Parser

1

Parser

Parser

Parser

Parser

3

Monitor

Component

5

6

4

UPnP unit

UPnP

SLP unit

Composer

Composer

SLP

9

8

7

UPnP

SDP Interoperability


Unit

  • Communication between unit’s components based on semantic events

  • Coordination state machine specifies the process coordination associated with the SDP unit

  • Parser transforms the raw data flow into a series of semantic events

  • Composer transforms the series of semantic events into a raw data flow

  • Socket component decouples the parser and composer from the transport protocol


2

3

1

5

9

8

7

6

4

SDP

Detection

SDP

Interoperability

Service Interaction Interoperability (SII)

Mobile B

SLP

Requests

SDI

UPnP

Application

UPnP

Mobile A

RMI

Interaction

SII

Interoperability

SII


INMIDIO: SD+ SI + PROXY

INMIDIO

2

1

SDP1

SDP2

3

MONITOR

5

7

6

4

8

Client

SDP1+SIP1

Service

SDP2+SIP2

PROXY

11

9

10

SIP1

SIP2

12

14

13

Network messages

Semantic Events

Unit

  • Discovery: steps 1-5,7

  • Proxy Generation: steps 6,8

  • Interaction: steps 9-14


2

1

UPnP

SLP

3

MONITOR

5

7

6

4

8

Client

UPNP

Service

SLP + RMI

UPnPProxy

11

9

10

SOAP

RMI

12

14

13

Network messages

Semantic Events

Example of INMIDIO Configuration


Service Location Protocol (SLP)

  • Specifications: RFC2608

    • 239.255.255.253:427

    • Supported messages :

      • Service Request

      • Service Reply

      • Service Registration

      • … … …

  • INMIDIO: RMI+SLP for clients and services development

  • INMIDIO components for SLP Unit

    • SLPparser, SLPcomposer, UDPSocket, UDPMulticastSocket

  • INMIDIO supported API:

    • Service Request

    • Service Reply

      • only one URL entry in the SrvRply message


Universal Plug and Play (UPnP)

  • Specifications (http://www.upnp.org/download/UPnPDA10_20000613.htm)

    • Discovery: SSDP - 239.255.255.250:1900

    • Description: XML Devices + Services

    • Control: SOAP

    • Eventing

    • Presentation

  • INMIDIO components for UPnP Unit

    • SSDPparser, SSDPcomposer, UDPSocket, UDPMulticastSocket.

    • DeviceDescriptionParser, ServiceDescriptionParsers, DeviceDescriptionComposer,

      ServiceDescriptionComposer, HTTPSocket

  • INMIDIO Supported API

    • Discovery is supported.

      • Advertisement NOTIFY: ssdp:byebye and ssdp:alive not supported

      • Discovery ssdp:discover (M-SEARCH) and Response: supported

    • Description is supported

      • The XML specification language for description of devices and service is completely supported: 1 service for device.

      • UPnP description specification does not support arrays and complex types

      • the middleware supports only a limited set of simple data types: string, integer and boolean.

    • Control is partially supported: Requests and responses are supported by the SOAP unit

      • UPnPError fault and Query for variable: not supported.

    • Eventing, Presentation: not supported


Web Services Dynamic Discovery (WS-Discovery)

  • Specifications: (http://schemas.xmlsoap.org/ws/2005/04/discovery/)

    • 239.255.255.250:3702

    • Based on XML

    • Supported messages:

      • Hello, Bye, Probe, ProbeMatch, Resolve, ResolveMatch

    • Interaction: SOAP/HTTP

    • Service description: WSDL

  • INMIDIO components for WSDiscovery Unit

    • WSDparser, WSDcomposer,UDPSocket, UDPMulticastSocket

    • WSDLParser, WSDLComposer, HTTPsocket

  • INMIDIO supported API:

    • Hello: recognized by WSDparser, events not generated

    • Bye: recognized by WSDparser, events not generated

    • Probe:Supported.

    • ProbeMatch: Supported.

    • Resolve: recognized by WSDparser, events not generated

    • ResolveMatch: recognized by WSDparser, events not generated


Remote Method Invocation (RMI)

  • Specifications:

    • Java Remote Method Protocol (JRMP)

      • Out stream: Call, Ping, Dgcack

      • In stream: ReturnData, HttpReturn, PingAck

    • Java Object Serialization: ObjectIdentifier,Operation,Hash,Arguments

  • INMIDIO components for RMI Unit

    • JRMPparser, JRMPcomposer, Objectparser, Objectcomposer

  • INMIDIO supported API:

    • JRMP protocol: only supported is Call, ReturnData

    • Object serialization protocol:

      • JDK1.1 and Java 2 serialization protocol supported

      • Return value: not supported. RMIHolders classes

        • (one Holder class is defined for each basic type String, Integer)

      • Argument types

        • supported: int, Boolean and string.

        • Complex types and arrays: not supported

      • Exceptions in return value are not supported.


Simple Object Access Protocol (SOAP)

  • Specifications: http://www.w3.org/2000/xp/Group/

    • Based on XML

    • one-way messages and request/response interactions

    • Binding: HTTP,….

  • INMIDIO components for SOAP Unit

    • SOAPparser, SOAPcomposer, HTTPSocket

  • INMIDIO supported API:

    • SOAP RPC requests and response: supported.

      • Only HTTP binding supported. Only the HTTP Header POST command is supported.

      • Argument types supported: int, boolean and string. Complex types and arrays are not supported.

      • SOAP Fault specification is not supported


INMIDIO Web site

  • INMIDIO Web site

    http://www-rocq.inria.fr/arles/download/inmidio/index.html

    • INMIDIO Middleware Software Developer Guide

      • Code description: Monitor, Units, Parsers, Composers, Sockets, Events, Messages

      • Details for each protocol supported:

        • Supported API

        • State machine diagram

      • Extend the middleware with new components

    • INMIDIO Middleware User Guide

      • Tutorial with examples of clients and services

    • INMIDIO source code

    • Samples code


  • Login