SWIM - Flight data distribution using Web Services and publish/subscribe technologies



Similar documents
DDS and SOA Interfaces to ESB

Vortex White Paper. Simplifying Real-time Information Integration in Industrial Internet of Things (IIoT) Control Systems

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

A Survey Study on Monitoring Service for Grid

Simplifying Processes Interoperability with a Service Oriented Architecture

THE SESAR CONCEPT AND SWIM. David Bowen Head of ATM Operations & Systems SESAR Joint Undertaking

Event-based middleware services

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

A standards-based approach to application integration

Closer Look at Enterprise Service Bus. Deb L. Ayers Sr. Principle Product Manager Oracle Service Bus SOA Fusion Middleware Division

WSO2 Message Broker. Scalable persistent Messaging System

C-DAX: A Cyber-Secure Data and Control Cloud for Power Grids C-DAX Consortium

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Middleware Lou Somers

Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1

ActiveVOS Server Architecture. March 2009

Tier Architectures. Kathleen Durant CS 3200

Cisco Application Networking for IBM WebSphere

COM 440 Distributed Systems Project List Summary

Cisco Application Networking for BEA WebLogic

DDS-Enabled Cloud Management Support for Fast Task Offloading

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

SONIC ESB 7. KEY CAPABILITIES > Connects, mediates and controls. KEY BENEFITS > Creates new processes using

Classic Grid Architecture

Web Services, CORBA and other Middleware

JoramMQ, a distributed MQTT broker for the Internet of Things

How To Improve The Performance Of Anatm

Enterprise Integration

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Unified Messaging for Single Dealer Platforms

CHAPTER 1 INTRODUCTION

CHAPTER 7 SUMMARY AND CONCLUSION

Integrating F5 Application Delivery Solutions with VMware View 4.5

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Distributed Objects and Components

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

The Enterprise Service Bus: Making Service-Oriented Architecture Real

Persistent, Reliable JMS Messaging Integrated Into Voyager s Distributed Application Platform

Service Oriented Architecture

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

Technical White Paper Integration of ETERNUS DX Storage Systems in VMware Environments

PART III. OPS-based wide area networks

Enterprise Application Integration

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

ZooKeeper. Table of contents

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

How To Integrate With An Enterprise Service Bus (Esb)

Software-Defined Networks Powered by VellOS

SERVICE ORIENTED ARCHITECTURE

Service-Oriented Architecture and Software Engineering

What Is the Java TM 2 Platform, Enterprise Edition?

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

MIDDLEWARE SOLUTIONS FOR AUTOMATION APPLICATIONS CASE RTPS

Developing New ATM Network Management Systems with External Partners A White Paper

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

Service Oriented Architectures

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

Fast Innovation requires Fast IT

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Enterprise Application Designs In Relation to ERP and SOA

Resource Utilization of Middleware Components in Embedded Systems

The Service Availability Forum Specification for High Availability Middleware

J12.5 AN EXAMPLE OF NEXTGEN WEATHER INFORMATION INTEGRATION AND MANAGEMENT

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

This presentation provides an overview of the architecture of the IBM Workload Deployer product.

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Chapter 2: Enterprise Applications from a Middleware Perspective

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

Developers Integration Lab (DIL) System Architecture, Version 1.0

Architectural Overview

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

Huang-Ming Huang and Christopher Gill. Bala Natarajan and Aniruddha Gokhale

System types. Distributed systems

Data Center Virtualization and Cloud QA Expertise

CA Process Automation

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

Mitra Innovation Leverages WSO2's Open Source Middleware to Build BIM Exchange Platform

Overview of CORBA 11.1 I NTRODUCTION TO CORBA Object services 11.5 New features in CORBA Summary

SOA REFERENCE ARCHITECTURE: SERVICE TIER

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

SOA Blueprints Concepts

1 What Are Web Services?

MuleSoft Blueprint: Load Balancing Mule for Scalability and Availability

1 What Are Web Services?

Part 2: The Neuron ESB

Transcription:

SWIM - Flight data distribution using Web Services and publish/subscribe technologies Antonio Strano astrano@sesm.it Dario Di Crescenzo ddicrescenzo@sesm.it OMG's Workshop on Real-Time Embedded and Enterprise-Scale Time-

Outline SWIM concept SWIM-SUIT project Objectives Design Principles / requirements SWIM-SUIT Prototype architecture overview Testing & Validation Test Scenarios Some test results

SWIM concept (simplified) SWIM (System Wide Information Management) aims to establish a seamless interoperability among heterogeneous ATM stakeholders common data representation coherent view on current ATM information (e.g. Flight Data, Aeronautical Data, Weather..) SWIM may be seen as a common data/service bus on which systems having to interoperate are connected

SWIM-SUIT project objectives Analyse the (SESAR) SWIM concept defining (high level) requirements Identify the right technologies Design and Implement the first SWIM prototype Validate the SWIM prototype capabilities in order to demonstrate the feasibility of the SWIM concept Identify the lessons learnt to support the SESAR activities

Design Principles / Requirements (1/2) Following SESAR definitions the prototype : has been designed using a domain based approach (Flight, Surveillance, etc. like a data model based systems integration) has been implemented using a standard based approach well known data and information models (e.g. ICOG2 for the flight data domain) standard technologies (Web Services, EJB, DDS) decouples external adapters/systems from internal knowledge about the SWIM implementation

Design Principles / Requirements (2/2) Request/Reply Supported by Web Services (basically a synchronous access) Publish/Subscribe Supported by JMS/DDS (asynchronous access) SWIM Information Pool 1. request S1 (Legacy) System I System I 1. publish A 2. consume A System II Client Application 2. response 3. request 4. response S2 (Legacy) System II 4. consume B 5. get X 2. consume A 3. publish B 7. consume C System III System IV 6. publish C

SWIM-SUIT prototype The prototype (named SWIM-BOX ) has been conceived as a sort of common data/service bus on which legacy applications are connected AOC AOC Flight Simulator ACC/APP ATM Virtual Information Pool FMS ACC ISPOC Prototype ATFCM USA SWIM MXP AIRPORT Heathrow CDM EAD (CFMU)

SWIM-SUIT Prototype architecture 1/3 The Adapter translates data/services among (pre SWIM- SUIT ) Legacy and SWIM-BOX The SWIM BOX acts as a mediator between different legacy systems enabling the end-to-end communication (req/reply and pub/sub) Each Adapter might be further decomposed in different adapters dedicated to the served Data Domains (Flight, Surveillance, etc) Logical interface ATM System ATM System ATM System A B N Adapter A Adapter B Adapter N SWIM-BOX A SWIM-BOX B SWIM-BOX N Data Exchange Common Infrastructure

SWIM-SUIT Prototype architecture 2/3 LEGACY Adapter SWIM-BOX RMI / MOM / DB / other techs JBOSS AS JBOSS AS Web Services Web Services & JMS/DDS Legacy FDD Currently just the WS technology is supported at adapter/swim-box interface but J2EE enables to expose this interface also using different technologies (e.g. CORBA, MoM, etc)

T Dat rom ATM eholders SWIM-SUIT Prototype architecture 3/3 Flight Data Domain Ownership Mng Data Transf. Mng Surveillance Data Domain Data Transf. Mng Aeronautical Data Domain Data Transf. Mng Authenticat ion Mng. Authorizati on Mng. SWIM Core Middleware Tech. Indep Layer Req/Repl Techn Pub/Sub Tech. Indep. Layer Pub/Sub Techn. 1 Pub/Sub Techn. 2

SWIM Data Domains Offers services for the specific domain (e.g. create, update and publish flight object) and offer some extra management and utility (e.g. filtering) services Defines a standard data representation and translate it in a flexible format (XML in the prototype) On a domain basis, manages the roles taking into account a subset of information Provides facilities for consuming services exposed by the adapters\legacies through the SWIM-BOX For the prototype three Data Domains have been implemented: FDD (Flight Data Domain) : ICOG2 data & information standard (providing specific extensions) SDD (Surveillance Data Domain) : ASTERIX Category 62 data standard (binary & XML representations) AID (Aeronautical Information Service Domain) : Aeronautical Information Exchange Model (AIXM)

SWIM-BOX Core It is loosely impacted by changes in the data representation and by changes in the services exposed in the SWIM Data Domains (it acts as much as possible as a transport layer) Two main components : SWIM-SUIT DataStore : provides services for sharing data across the SWIM-BOX network (distributed, persistent and transactional cache) SWIM-SUIT PublishSubscribe : provides services required for the pub/sub pattern (subscribe, publish, content based filtering, etc)

SWIM-BOX Core - PubSub SWIM middleware should be able to minimize impact of technology change In order to shield domains components from such technology change, a thin PubSub technology abstraction layer has been introduced The technology dependent layer has been implemented using JMS and DDS (multiple products) JMS and DDS implementations provide different QoS support RBAC (Role Based Access Control ) & XML encryption Content based filtering Asynchronous (data listeners) and Synchronous (read/take) subscription styles Interoperability between different DDS implementations on going activity

JMS clustered configuration JMS: JBoss Messaging in a clustered configuration has been set up Uses JGroups protocol on multicast to synchronize the JBM brokers Uses TCP connections among JBM brokers to exchange messages At application level, the message broker is always local JBoss AS (A) JBoss AS (B) JBoss AS (C) SWIM-BOX A Abstraction Layer JBM Broker A SWIM-BOX B Abstraction Layer JBM Broker B SWIM-BOX C Abstraction Layer JBM Broker C LAN or WAN (VPN)

Testing & Validation activities Pseudo Operative Tests (Legacy Systems involved) Suite of operative scenarios (e.g. management of the airport arrival sequence) to validate the prototype capabilities and to demonstrate the feasibility of the SWIM concept WAN Performance Tests (no Legacy Systems involved) on going Automatic test suite to evaluate the prototype behavior (e.g. average response time, data loss, throughput, etc.) building specific workloads (e.g. service invocation rate, data publication rate, number of published data, number of flight data, etc.) LAN & WAN

Test cases Tests are organized on a functional basis Test and evaluate performances when creating a number N of Flight Objects (i.e. flight clusters) every X ms with different technologies (DDS, JMS) each creation implies an amount of data sent on the wire of circa 60KB Test and evaluate performances when requesting N times an update of a Flight Object every X ms with different technologies (DDS, JMS) each update request triggers a new distribution of a number of flight clusters - each update implies an amount of data sent on the wire of circa 30KB

The ICOG2 Flight Object FLIGHT IDENTIFICATION FLIGHT KEY DEPARTURE ARRIVAL SCRIPT TRAJECTORY. It can be seen as a single entity comprising different information (flight object clusters) related to a flight Information are clusterised in self-consistent XML parts (Departure, Arrival, Trajectory, etc) When having to share/update information to the interested parties, just clusters are distributed

Tests deployment view Flight Publisher JBoss AS JBoss AS SWIM-BOX Machine B Machine A SWIM-BOX LAN or WAN (VPN) JBoss AS SWIM-BOX Machine C Flight Subscribe r

What we measure Measures are performed at client side ( Adapter level in our architecture): On the publisher, the time to complete each create or update operation is measured On the subscribers, the time among two subsequent notifications (Inter- Arrival Time) is measured On-going work activities to develop an infrastructure to measure (without modify the current prototype implementation) the time spread across different architecture layers (Adapter, Data Domain, Core Service, etc) Publishing Adapter SB1 SB2 Subscribing Adapter Time To Complete Wait time (WT) Inter-Arrival Time (IAT) Time

Time to complete(ms) Test case 2 FO update on LAN (Publisher) 200 Time to complete (Wait Time 200ms, 1000 Flight updates) - LAN 180 160 140 120 100 80 JMS PUB DDS1 PUB DDS2 PUB

Inter-Arrival Time(ms) Test case 2 FO update on LAN (Subscribers) Inter-Arrival Times (Wait Time 200 ms, 1000 Flight updates) - LAN 450 400 350 300 250 200 JMS SUB1 DDS1 SUB1 DDS2 SUB1 JMS SUB2 DDS1 SUB2 DDS2 SUB2

Time to complete(ms) Test case 2 FO update on WAN (Publisher) Time to complete (Wait Time 200ms, 1000 Flight updates) - WAN 1400 1200 1000 800 600 400 200 JMS PUB DDS1 PUB

Inter-Arrival Time(ms) Test case 2 FO update on WAN (Subscribers) Inter-Arrival Time (Wait Time 200ms, 1000 Flight updates) - WAN 3500 3000 2500 2000 1500 1000 500 0 JMS SUB1 DDS1 SUB1 JMS SUB2 DDS1 SUB2

Some practical experiences (1/2) What actually came out from our hands on experience when using both technologies? DDS provides a wide set of capabilities (wrt JMS) which better support the development activities (e.g. content based filtering, partitioning) and the system integrators activities (e.g. QoS tuning) Different DDS implementations are interoperable but when moved in WAN environment much more effort have been spent on DDS to determine a good WAN configuration

Some practical experiences (2/2) What could help developers/system integrators life (from our point of view)? An open (at least semi-automatic) test suite allowing to estimate, in user defined context/scenarios, optimal configuration parameters (e.g. buffer sizes, latency buckets etc..) Asking for more, a strategy/tool for on-line determining such parameters (where applicable) thus supporting system automatic re-configuration according to context changes (e.g. bandwidth, network load, etc..)

Questions? http://www.swim-suit.aero/swimsuit/