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

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


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

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn. Daniele Sacchetti [email protected] 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

INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn

Daniele Sacchetti

[email protected]


Outline

Outline

  • Context

  • INMIDIO Solution

    • Objective

    • Service discovery and interaction interoperability

    • Supported protocols: overview

  • INMIDIO Web page

  • Conclusion


The networked home

The Networked Home

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


Middleware heterogeneity

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)


Inmidio solution to service discovery and interaction interoperability

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


Inmidio an interoperable middleware for service discovery and service interaction

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


Sdp interoperability

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


Inmidio an interoperable middleware for service discovery and service interaction

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


Service interaction interoperability sii

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: 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


Example of inmidio configuration

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

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

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

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

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

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

  • 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