www.arrowhead.eu
Arrowhead Protocol Translation
IPSO Protocol committee March 10th 2016 Webex
1
lHasan Derhamy lLuleå tekniska universitet
www.arrowhead.eu
Overview of presentation
• Briefly introduce Arrowhead project and framework • Introduce the topic of protocol interoperability, our perspective. • Arrowhead Protocol Translation – Service Translation?
www.arrowhead.eu
Introducing Arrowhead
Four year Artemis Innovation Project from 2013-2016 Now in final year – Pilot demonstrations at IECON2016 in Florence More Information at Arrowhead website http://www.arrowhead.eu/about/general-overview/ 81 partners including Schneider Electric, Airbus, AVL, Ford, Infineon, NXP, ST, Thales, and many more industry and academic institutions. Pilot areas in Production, Electro-mobility, Virtual Market of Energy, Smart Buildings and Infrastructure, Energy Production and End Users Services.
www.arrowhead.eu
Introducing Arrowhead
Service Oriented Architecture based framework for integrating multi-vendor applications
www.arrowhead.eu
Motivation JSON
XML
EXI
HTTP
MQTT
CoAP
SenML IPSO
IPSO
HTTP
HTTP
CoAP
CoAP
MQTT
MQTT
MQTT
XML
XML
JSON
BSON
EXI
JSON
BSON SenML
Broker
XMPP XML
???
www.arrowhead.eu
Middleware?
More and more Internet based applications Service Oriented Architecture is promising Centralized software buses or static protocol adaptors/bridges used in closed systems.
www.arrowhead.eu
CoAP
Sit at edge of network Forced to segregate total network into sub-networks Still acting similar to middleware Overhead in network setup, configuration and change
Gateway or proxy?
CoAP
CoAP
CoAP
HTTP
HTTP
Gateway
www.arrowhead.eu
Recap what interoperability in Arrowhead means!
• Service contract = specific set of documents
Service A Contract System P
ASD AIDD ASP
ACP
Service A
System C
www.arrowhead.eu
Arrowhead Service Contract Interoperability
ASD AIDD ASP
ACP
Service A Contract
ASD A*IDD ASP
A*CP
Service A* Contract
Service A Service A*
System P System C
• Service A contract using HTTP • Service A* contract using CoAP
Contract Miss-match!!
www.arrowhead.eu
Arrowhead Service Contract Interoperability
Arrowhead translator can help to bridge the contract miss-match!
ASD AIDD ASP
ACP
Service A Contract
Service A System P
ASD A*IDD ASP
A*CP
Service A* Contract
Service A*
System C Translator
www.arrowhead.eu
Transparency!!
Translator
System Consumer
System Producer
Orchestration System
1
4
2
5
Use Orchestration to make translation transparent! Zero-Configuration!!
3
www.arrowhead.eu
Arrowhead Translator
CoAP
CoAP
CoAP
HTTP
HTTP
Translator
Translator
Arrowhead Core Service Registry – Orchestration - Authorization
HTTP
XMPP CoAP
www.arrowhead.eu
Arrowhead Translation Architecture
www.arrowhead.eu
Message API - Initialization
Users: Orchestrator – to setup the translator and receive the fully defined service endpoint. <translatorsetup>
<serviceproviderdnssdrecord> … </serviceproviderdnssdrecord> <serviceconsumertype> “” </serviceconsumertype> </translatorsetup>
www.arrowhead.eu
Message API – Initialization – Possible future
Make use of a Service Inventory which will hold much more detail regarding the Service Contract [ServiceDescription/ InterfaceDesignDescription/ CommunicationProfile/ SemanticProfile]
<translatorsetup> <serviceproviderdnssdrecord> … </serviceproviderdnssdrecord> <serviceconsumertype> “” </serviceconsumertype> <serviceinventoryreferences> <provider> </provider> <consumer> </consumer> </serviceinventoryreferences> </translatorsetup>
www.arrowhead.eu
Message API - Usage
Users: Service consumer systems Can interact with this API as the original Service Contract
www.arrowhead.eu
Arrowhead Translation Architecture
www.arrowhead.eu
Translator Service Hub 1 Hub 2 Hub N
Architecture cont.
www.arrowhead.eu
Intermediary Format
Key – unique identifier assigned by Hub Payload – UTF-8 payload to be sent (no translation of payload) Payload type – To be passed onto the translated payload Method – HTTP method enumeration Object – This can be URL path, topic, or chat room Error – Intermediate error codes
www.arrowhead.eu
Conclusion and future work
This work has delivered: 1) Defined a concept for increasing Service Interoperability without middleware 2) Produced an open-source prototype with design documentation Future work: 1) Implement an Orchestrator which can utilize the Translation System 2) Implement capability for XMPP Spoke 3) Any pilots would like to integrate with other pilots running a different
communication protocol??