Upload
twin-oaks-computing-inc
View
1.017
Download
1
Embed Size (px)
DESCRIPTION
The Data Distribution Service (DDS) technology may not be as well known or understood as other middleware communications technologies like Corba, JMS, Web Services or even traditional sockets that are key components of nearly all distributed applications. Developers everywhere are familiar with these conventional data communications solutions, and may be comfortable customizing them to their particular domain and application. However, the flexibility and configurability of DDS makes it a better solution for applications in a wide variety of industries, from enterprise servers to deeply embedded applications. This paper focuses on the DDS technology in embedded environments and compares it with Sockets, Corba, JMS, and SOA Web Services.
Citation preview
1
What can DDS do for you?January 2012
The Data Distribution Service (DDS) technology may not be as well known or understood as other middleware communications technologies like Corba, JMS, Web
Services or even traditional sockets that are key components of nearly all distributed applications.
The flexibility and configurability of DDS makes it a better solution for applications in a wide variety of industries, from
enterprise servers to deeply embedded applications.
This paper focuses on the DDS technology in embedded environments and compares it with Sockets, Corba, and
JMS Web Services.
Abstract
DDS, the Data Distribution Service, is a data communications standard managed by the OMG (http://www.omg.org) that describes low-latency data communications for distributed applications.
There are currently several commercial and open source implementations of the DDS standard available for use, including products built for and targeting embedded communications.
What is DDS?
Easy to use, well defined Application Programming
Interface (API), which allows for portable code
References the Real Time Publish Subscribe (RTPS)
Wire Protocol, which allows for interoperability
DDS is a peer-to-peer communication model
requiring no gateways, servers, or daemons that
must be run or configured.
Each application that will communicate over DDS
contains the DDS API and provides the discovery,
and other required communication details.
DDS Standard
Aerospace and Defense Cloud Computing Communications Consumer Electronics Energy Financial Healthcare Simulation Transportation Unmanned Vehicles
Industries Implementing DDS
Publish Subscribe Architecture
DDS provides a flexible publish subscribe architecture, promoting a loose
coupling between data architecture that is flexible and dynamic; it is easy to
adapt and extend DDS based systems to changing environments and
requirements.
Strengths of DDS
Publish/Subscribe System
An application may be a publisher of data, a subscriber of
data, or both a publisher and subscriber. An application
may participate in multiple Domains and include multiple
publishers and subscribers.
Strengths of DDS
Dynamic Discovery The application does not have to know
or configure the endpoints for communications because they are automatically discovered by DDS.
DDS will discover if the endpoint is publishing data, subscribing to data, or both. It will discover the type of data being published or subscribed to. It will also discover the publisher’s offered communication characteristics and the subscriber’s requested communications characteristics.
DDS participants can be on the same machine or across a network: the application uses the same DDS API for communications.
Strengths of DDS
Strong Type Safety DDS provides strong type
safety by requiring the application to specify the types of data used for communications. The application then reads and writes typed data.
This allows for more errors to be caught early in the development cycle, reducing development costs.
Strengths of DDS
QoS Policies DDS provides a rich set of
Quality of Service (QoS) policies to tailor the behavior of communications.
QoS policies affect reliability, performance, persistence of data, and amount of system resources used.
QoS policies set DDS apart from all other communication middleware solutions.
Strengths of DDS
Interoperability DDS Interoperability is the ability of DDS implementations
from different vendors to communicate. Not all DDS implementations are interoperable, however,
CoreDX DDS can exchange data and communicate with every other implementation of DDS.
Strengths of DDS
Performance DDS is a low-latency high
performance communication architecture
DDS has a compact data encoding on the wire, light-weight notification mechanisms, and the ability for the application to specify resources limits: allowing DDS to pre-allocate memory and reduce the number of memory allocations during run-time.
DDS implementations are efficient, low-overhead, and high-performance.
Strengths of DDS
The architecture between the TCP Sockets API and DDS is
fundamentally different: TCP Sockets are connection oriented, a point-to-point, client-server architecture.
This requires that clients and servers know each other’s location in order to connect.
DDS has a publish-subscribe architecture . With DDS, the development of distributed applications is simplified.
DDS provides a common API regardless of operating system or hardware architecture.
DDS handles the discovery and management of remote endpoints. DDS handles the details of communication behaviors like filtering, reliability,
durability, saving historical data, detecting deadline misses and changes in liveliness, and many more.
DDS provides low-latency, high-throughput data communications. DDS can run in resource constrained environments, and can also be easily ported to run on and use custom hardware and operating systems.
DDS vs. Sockets API
The CORBA and DDS technologies are both Open standards managed by the OMG (however, DDS vendors have shown a unique cooperation in testing and demonstrating inter-product interoperability). Both employ client-server middleware, based on remote procedure calls, or “remote invocations” in CORBA terminology.
CORBA provides a layer of abstraction using an Object Request Broker (ORB) to manage connections, and Clients and Servers need to know about each other directly or use a Naming Service.
DDS vs. CORBA
Java Messaging Service (JMS) and DDS are both publish-subscribe middleware technologies.
JMS uses a server for communications that must be configured with the queues or topics that will be used. Each application participating in JMS communications must connect to a JMS server. The JMS server handles the details of connecting publishers and subscribers.
DDS does not require any servers or daemons: DDS handles discovery and management of endpoints in each DDS application. Using DDS eliminates the need for a server, reducing complexity.
DDS vs. Java Messaging Service (JMS)
The Twin Oaks Advantage
There are a number of factors that contribute to the complexity of a software system, all of which increase schedule budget and risk. Using a communications middleware reduces system complexity, making this line of increasing complexity a linear one. CoreDX DDS further reduces this complexity with advanced features.
Small Footprint: With a small footprint and full Quality of Service coverage, CoreDX DDS is designed specifically to meet the performance and complexity requirements of real-time, embedded, time-critical, and mission-critical applications, while still being small in size and conservative in memory usage.
CoreDX DDS Advantages
Small Source Code Baseline: CoreDX DDS is well designed and compact with a low line of code count. Code bloat results in in-efficient code, code that is more likely to contain errors, and code that is harder to extend, maintain, and port to additional platforms.
CoreDX DDS Advantages
CoreDX DDS offers High Performance: CoreDX DDS provides exceptionally low latency and sustained high throughput numbers across all supported hardware architectures.
CoreDX DDS Advantages
CoreDX DDS is highly scalable: CoreDX DDS has the ability to communicate data to thousands of subscribers without requiring high powered machines or typical desktop memory resources. This allows the network to scale to large numbers of DDS entities while conserving run-time memory resources.
CoreDX DDS Advantages
CoreDX DDS supports advanced reliable communications technology: CoreDX DDS can easily be employed reliably in wireless and other unreliable network environments. CoreDX DDS has lightweight, reliable communications protocols that have higher efficiency and scalability than TCP.
CoreDX DDS Advantages
CoreDX DDS has proven vendor interoperability: CoreDX DDS can exchange data and communicate with every other implementation of DDS.
CoreDX DDS Advantages
CoreDX DDS does not have a single point of failure: CoreDX DDS does not require any operating system services or daemons. This eases installation, deployment and maintenance, and eliminates the concern that if one process fails, so would all DDS communications
CoreDX DDS Advantages
CoreDX DDS has advanced support for single and multi-core architecture: Applications running on multi-core hardware can take advantage of all cores by simply using CoreDX DDS for communications. CoreDX DDS can also be used in single threaded mode to improve performance on smaller, single-core hardware.
CoreDX DDS Advantages
Dynamic Types: CoreDX DDS Dynamic Types allows the run time creation and determination of DDS topics and Data Types. This technology eases integration challenges, enables flexible bridging between disparate systems, and reduces static memory usage.
CoreDX DDS Advantages
CoreDX DDS supports multiple development languages and environments: Languages: C, C++, C#, and Java. Operating Systems: Linux, Windows, Solaris,
QNX, VxWorks, NexusWare, LynxOS, Android. Hardware Architectures: x86 (32 & 64 bit),
UltraSPARC, ARMv5, ARVMv7, PPC, MIPS, Microblaze, FPGAs.
Transports: IP, VME, cPCI, Serial, and Xbee.
CoreDX DDS Advantages
CoreDX DDS is the leading small footprint implementation of Data Distribution Standard (DDS)
CoreDX DDS has a small footprint and a small source code baseline CoreDX DDS is well designed and compact with a low line of code count CoreDX DDS has small run time requirements CoreDX DDS offers high performance CoreDX DDS is highly scalable CoreDX DDS supports advanced reliable communications technology CoreDX DDS has proven vendor interoperability CoreDX DDS does not have a single point of failure CoreDX DDS has advanced support for single and multi-core architecture CoreDX DDS has dynamic types CoreDX DDS supports multiple development languages and environments
Key Points
Using DDS for data communications between distributed applications provides a
number of benefits over other traditional data communication solutions. Dynamic DiscoveryStrong Type SafetyQoS policiesInteroperabilityPerformance
While the DDS technology has been available for nearly two decades, until
recently these implementations required resources not available to embedded
application designers. Today, all the benefits of DDS are available in a
significantly smaller footprint, the perfect solution for not only embedded
environments, but also safety critical applications that must certify every line of
code.
Conclusion
Twin Oaks Computing, Inc. is a company dedicated to developing and delivering quality software solutions. Our staff has extensive experience developing and supporting robust communication architectures. We leverage this world-class technical experience to provide innovative and useful communication software systems. We build the software that collects, manages, and distributes information in a wide range of industries. Our software is in use around the world supporting critical missions.
Equally important, our clients are amazed and totally satisfied with our super responsive customer service. One of our early customers in China states,
“Twin Oaks Computing [provided] great porting work during very short period of time (each porting for
about 2-3 weeks). This made me really appreciate the portability framework of CoreDX DDS.” - Mr. Huang “There is nothing I don’t like about working with Twin Oaks Computing. In particular, working with
Nina is a singular pleasure in today’s world of technical support - she is very responsive and helpful.”
- Dr. Michael Mezzino
Super-small and blazingly fast, our flagship product, CoreDX DDS is the leading Publish-Subscribe middleware available for small-footprint and embedded systems.
For more information please visit www.twinoakscomputing.com.
About Twin Oaks Computing