Presentation is loading. Please wait.

Presentation is loading. Please wait.

RDA3 high-level – API & architecture 26th JUNE 2013

Similar presentations


Presentation on theme: "RDA3 high-level – API & architecture 26th JUNE 2013"— Presentation transcript:

1 RDA3 high-level – API & architecture 26th JUNE 2013
Ilia Yastrebov BE-CO-IN

2 RDA3 High-Level - API & Architecture
RDA3 Design Principles Functional aspects Controls Middleware based on Device/Property model Operations: GET, SET (sync and async), SUBSCRIBE Enhanced runtime diagnostics & statistics Technical aspects C++ & Java support Lightweight (minimum dependencies, small footprint) Non-blocking communication QoS guarantees (priorities for clients & subscriptions) Scalable Half-Sync/Half-Async threading pattern Sync: Event demultiplexer (Reactor) Async: Message priority queue + Threadpool (Scheduler) API based on interfaces and Dependency Injection 26th June 2013 RDA3 High-Level - API & Architecture

3 RDA3 High-Level - API & Architecture
RDA3 Architecture Transport Layer Implements P2P non-blocking request-reply communication Wraps ZeroMQ behind the interface Detects disconnections / Provides reconnection facilities High Layer Client and Server API Maintains connection state & client sessions Extensible protocol independent of TL Serialization Subscriptions (with notifications ordering) Processing engine (scheduler) Integrates with Directory Service and RBAC (authorization) Implements QoS (client & subscription priorities) Application RDA3 High Layer Transport ZeroMQ 26th June 2013 RDA3 High-Level - API & Architecture

4 Client API: Request-Reply (GET & SET)
26th June 2013 RDA3 High-Level - API & Architecture

5 Client API: Subscriptions
26th June 2013 RDA3 High-Level - API & Architecture

6 RDA3 High-Level - API & Architecture
Client Flow Diagram 26th June 2013 RDA3 High-Level - API & Architecture

7 RDA3 High-Level - API & Architecture
Subscription States 26th June 2013 RDA3 High-Level - API & Architecture

8 Server API: Request-Reply
26th June 2013 RDA3 High-Level - API & Architecture

9 Server API: Subscriptions
26th June 2013 RDA3 High-Level - API & Architecture

10 RDA3 High-Level - API & Architecture
Server Flow Diagram 26th June 2013 RDA3 High-Level - API & Architecture

11 RDA3 High-Level - API & Architecture
Serialization Evaluated several 3rd party solutions Google Protobuf (IDL based, huge project) MessagePack (no IDL, many deps, slow for double arrays) Ended up with home-made serialization Small project, easy to implement No dependencies Performance gain Data object with 3 arrays (int[], double[], String[]) of 40 elements each. Results for serialization+deserialization iterations 26th June 2013 RDA3 High-Level - API & Architecture

12 RDA3 High-Level - API & Architecture
Conclusions Alpha version of RDA3 Client & Server is done for Java Work on RDA3 C++ Server is in progress Plan to release alpha version in July 2013 Work in close collaboration with users Regular meetings with most important users Presented all components of RDA3, approved by clients API was reviewed and approved by all major users Questions? 26th June 2013 RDA3 High-Level - API & Architecture


Download ppt "RDA3 high-level – API & architecture 26th JUNE 2013"

Similar presentations


Ads by Google