• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cloud Messaging with OpenSplice DDS
 

Cloud Messaging with OpenSplice DDS

on

  • 2,357 views

The Cloud computing trend is increasingly commoditizing and delocalizing several different elements of the computing stack. It all started with bare hardware, but we are now at the point where ...

The Cloud computing trend is increasingly commoditizing and delocalizing several different elements of the computing stack. It all started with bare hardware, but we are now at the point where organizations are starting to recognize the benefits of cloud messaging, either in the form of public or private clouds.

This presentation introduce the use case for cloud messaging, the key requirements it poses on messaging technology and will showcase how OpenSplice DDS uniquely addresses these needs. The webcast will conclude with a demo showing how OpenSplice DDS could be used to quickly build a simple twitter application.

A WebEx recording for this presentation is available at http://bit.ly/1Sreg

Statistics

Views

Total Views
2,357
Views on SlideShare
2,212
Embed Views
145

Actions

Likes
2
Downloads
113
Comments
0

3 Embeds 145

http://www.prismtech.com 109
http://www.enscada.com 35
http://icorsaro.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Cloud Messaging with OpenSplice DDS Cloud Messaging with OpenSplice DDS Presentation Transcript

    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging with OpenSplice DDS Angelo Corsaro, Ph.D. Chief Technology Officer OMG DDS SIG Co-Chair PrismTech angelo.corsaro@prismtech.com
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./traditional-messaging
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Stand-Alone Messaging ‣ Stand-Alone Messaging is typically found in distributed, yet stand-alone, applications ‣ The scope of the system is well known and completely managed by a single entity ‣ Resources are controlled and abundant ‣ Examples: Control System (car, airplane, ships), etc.
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Federated-Messaging ‣ Collections of messaging buses interconnected through the Internet ‣ Federated system with good control over federates ‣ Often relies on leased lines ‣ Examples: Banks, Legacy ATC Systems, etc.
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./cloud-messaging
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging [1/2] ‣ Cloud Messaging allows messaging to be promoted to the rank of an “Internet Service” ‣ Applications can be completely shielded from the specifics of REST/HTTP the messaging DDSI/RTPS XMPP ‣ Applications “connect” to the Cloud Messaging XMPP platform using a wide DDSI/RTPS REST/HTTP variety of protocols, e.g., HTTP, DDSI, XMPP, etc.
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging [2/2] ‣ Cloud Providers supply the infrastructure required to build a Cloud Messaging solution ‣ The Cloud Messaging providers supply the messaging platform REST/HTTP and the infrastructure as a DDSI/RTPS XMPP consumable service can e xploit ne: you oud XMPP om-Li helf cl DDSI/RTPS Bott he-s ur own REST/HTTP t an off- ing or roll yo m essag
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging Desirable Properties Scalability ‣ Effectively support localized as well as global applications potentially spanning over the whole globe
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging Desirable Properties Throughput ‣ Cope effectively with single-stream as well Messaging Bus as aggregated high throughputs Cloud Messaging Internet Messaging Bus Bank Exchange
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging Desirable Properties QoS Control ‣ Provide control over key QoS impacting resource usage (e.g. network bandwidth) as well as end-to-end message deliver
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging Desirable Properties Push/Pull/Push-Pull Communication ‣ To allow the optimization of the performance/resource-usage trade- off, the cloud messaging should support different notification Push-Pull Pull paradigms Push Push
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Cloud Messaging Desirable Properties Connectivity ‣ Provide access to the messaging service via multiple REST/HTTP protocols, and technologies, DDSI/RTPS such as, REST, SOAP, HTTP, XMPP DDS/RTPS. XMPP, etc. XMPP DDSI/RTPS REST/HTTP
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./dds
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD The OMG DDS The OMG DDS Standard ‣ Introduced in 2004 to address the Data distribution challenges typical of Defense and Aerospace Mission Critical Applications ‣ Key requirements for the standard were high performance and scalability from embedded to ultra-large-scale deployments ‣ Today recommended by key administrations worldwide and widely adopted well beyond Aerospace and Defense in domains, such as, Automated Trading, Simulations, SCADA, Telemetry, etc.
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD DDS Recommendations ! The infrastructure evolution cycle is churning… – New -> Emerging -> Standard -> Commodity – Middleware is emerging as OS declines ! …DDS is maturing… Increasingly Mandated/Recommended by Administrations – OMG focus ‣ US Navy: Open Architecture – Wire spec – Tools ‣ DISR/DISA: Net-centric Systems integration – Enterprise – Multiple products fielded ‣ EuroControl: Air Traffic Control applications! – Deployed Center Operational Interoperability! …and adoption is on the rise – Navy ‣ QinetiQ & MILVA: –Recommending DDS for Vehicles DISR Electronic ArchitectureFCS/SoSCOE –
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./opensplice-on-the-cloud
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD OpenSplice DDS on the Cloud ‣ Addresses keys properties Application required to implement a good Cloud Messaging Infrastructure Ownership Durability Content Subscription API ‣ Open and Interoperable Minimum Profile International Standard (API + Data Centric Publish/Subscribe (DCPS) WireProtocol) Protocol Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol ‣ High quality Open Source Implementation with large UDP/IP deployed base
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Scalability ATCC ‣ OpenSplice DDS has proven ATCC Reims Brest ATCC Paris to be scalable from small ATCC embedded systems to system Zurich ATCC Geneve of systems like the CoFlight ATCC ATCC ATCC Milano Padova Bordeaux Air Traffic Control System ATCC Aix-en- Provence ‣ OpenSplice DDS v5.4 has ATCC Roma several new optimizations ATCC Brindisi that further its scalability over very large systems
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Throughput -./0/1/23' 456/' #+(+%++' &&++%++' ")(%&!' ""&%,&'&+++%++' $+(+%++' "*(%)+' !"#$%&#' "!+%++' "++%++' ‣ OpenSplice DDS can )"#%*)' )$,%$*' !+(+%++' )++%++' deliver millions of &'$($)$*+% *!#%,&' !"#$% ,+(+%++' *++%++' ()(!%(*' messages per second on (+(+%++' &")&%+)' #++%++' traditional COTS HW &+(+%++' $&"%,,' &!(,%!)' $++%++' ),,%$#' !++%++' ,*+%&)' !,*%))' ,($%!+' (("%!"' &&)%*$' $"%"$' ,+%($' ,++%++' (+%++' )' &#' ,(' #!' &()' ($#' $&(' &+(!' (+!)' !+"#' !*$$,(*%-./*%
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS ‣ DDS provides a rich set of QoS that allow control of: ‣ resource usage, ‣ end-to-end data delivery, and ‣ data availability
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS [ex-1] Cloud Messaging Internet Bank Exchange ‣ Batching ‣ Data Durability ‣ Priority ‣ Redundancy ‣ Deadline ‣ Data History
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS ‣ DDS provides a rich set of QoS that allow control of: ‣ resource usage, ‣ end-to-end data delivery, and ‣ data availability
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS [ex-2] ‣ Temporal Filtering Cloud ‣ Batching Messaging Internet ‣ Data History
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Communication Model odel liver y my the ata de neral b imal d s in ge T he opt epend twork and netraints ‣ DDSI/RTPS supports multiple delivery d application cons models: ‣ Push: Data is pushed to subscribers ‣ Push-Pull: Notification of new data are pushed to subscriber which in turn pull data when needed Cloud ‣ The Pull delivery model is available Messaging supported by the Web-Enabled DDS Internet protocols (e.g. via REST)
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Connectivity ‣ OpenSplice DDS Apache Connector provides you REST/HTTP access to DDS from the DDSI/RTPS 80 connectors (REST, XMPP JMS, AMQP, XMPP, HTTP, DBMS, etc.) currently XMPP DDSI/RTPS available in Apache REST/HTTP Camel http://fusesource.com/wiki/display/CAMELOPENSPLICE/Home
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./putting-it-all-together
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD XM PP DDSI/RTPS RE S T /H TT P DDSI/RTPS RE ST /HT P T OpenSplice on the Cloud
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./tweetter
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD A “Tweet” with DDS Topic: Tweet ‣ Unit of information Name exchanged between Publisher and Subscribers. Type Topic QoS ‣ An association between a unique name, a type and { TweetType a QoS setting Reliable, Persistent, ... }
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD A “Tweet” with DDS Topic Type: ‣ Type describing the data associated with one or more struct TweetType { Topics string userId; string tweet; ‣ A Topic type can have a key }; #pragma keylist Tweet userId represented by an arbitrary number of attributes ‣ Expressed in IDL (or XML)
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tweeting With DDS @bird @ocell ‣ Tweeters come... DDS Global Data Space ‣ Tweeters go... @oiseau @lintu @lind @vogel
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tweeting With DDS {@ocell, @oiseau} @bird @ocell ‣ Tweeters follow DDS (subscribe) to Global Data Space @oiseau @lintu other tweeters {@vogel} {@oiseau, @bird, ocell} @lind @vogel
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tweeting With DDS {@ocell, @oiseau} @birdTopic @ocellTopic @ocell ‣ Each Tweeter @bird can be @oiseauTopic represented @lintuTopic with a unique @oiseau @lindTopic @lintu topic {@vogel} {@oiseau, @bird, ocell} @vogelTopic @lind @vogel
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tweeting With DDS {@ocell, @oiseau} ‣ ...or all Tweeters use the same @ocell @bird topic ‣ Content @TweetTopic filtering or @oiseau @lintu queries are {@vogel} {@oiseau, @bird, ocell} used to extract relevant data @vogel @lind
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tweeting With DDS Note: D DS pa rtit ions c by usi ng an ied be specif er.* e.g . tweet wildc ards, {@ocell, @oiseau} ‣ ...or each tweeter.bird tweeter.ocel Tweeter can @TweetTopic @TweetTopic @ocell be represented @bird with a unique @TweetTopic tweeter.oiseau partition @TweetTopic @oiseau @lintu @TweetTopic tweeter.lintu ‣ All tweeters {@vogel} tweeter.lind {@oiseau, @bird, ocell} use the same @TweetTopic topic tweeter.vogel @lind @vogel
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tweeting With DDS in C++ Writing Tweets Reading Tweets dds::Topic<TweetType> topic("TweetTopic"); dds::Topic<TweetType> topic("TweetTopic"); std::vector<std::string> partitions = { dds::PublisherQos pubQoS; "tweeter.ocel", pubQoS.set_partition("Tweeter.bird"); "tweeter.oiseau" dds::Publisher pub(pubQoS); }; dds::PublisherQos pubQoS; dds::DataWriter<TweetType> dw(pub); pubQoS.set_partition(partitions); dds::Publisher pub(pubQoS); TweetType tt = { "@bird", dds::DataReader<TweetType> dr(pub); "Writing next-gen tweeter in DDS" }; std::vector<TweetType> data; std::Vector<SampleInfo> info; dw.write(tt); dr.read(data, info);
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD ./demo
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Epilogue ‣ Cloud Messaging provides an opportunity to scale out applications to a global scale as well as increase connectivity without upfront investments ‣ OpenSplice DDS is the perfect technology for (1) user to roll their own cloud messaging, and (2) for cloud provider to roll their own cloud messaging offering ‣ OpenSplice DDS is currently in use to implement in cloud messaging in several “Private Clouds”
    • OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD nice -20 ./questions
    • OpenSplice DDS Delivering Performance, Openness, and Freedom http://www.opensplice.com/ References http://www.opensplice.org/ http://www.slideshare.net/angelo.corsaro emailto:opensplicedds@prismtech.com http://bit.ly/1Sreg http://twitter.com/acorsaro/ http://www.youtube.com/OpenSpliceTube http://opensplice.blogspot.com