inmidio an interoperable middleware for service discovery and service interaction
Download
Skip this Video
Download Presentation
INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn

Loading in 2 Seconds...

play fullscreen
1 / 17

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


  • 100 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn' - lore


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

slide6

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
slide8
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
ad