rti connext 5.2.0
TRANSCRIPT
© 2015 Real-‐Time Innova3ons, Inc.
RTI Connext 5.2.0 The Real-‐3me Connec3vity Pla>orm for the Industrial Internet of Things Jan Van Bruaene -‐ VP of Engineering Vien Chan – Senior Product Manager
© 2015 Real-‐Time Innova3ons, Inc. 3
What we’ll cover
• What’s in the box • Customer feedback • Suppor3ng new use cases • The big boulders of this release • Interoperability • Transi3oning to 5.2.0
© 2015 Real-‐Time Innova3ons, Inc. 5
New RTI Connext bundling
• Host bundle: all non-‐compiler specific files, such as documenta3on, header files, tools, services executables (e.g., Rou3ng Service or Persistence Service).
• Target bundle: libraries. Target bundles are shipped in a new RTI packaging format.
© 2015 Real-‐Time Innova3ons, Inc. 6
New RTI Connext bundling – Cont.
• Package types: Core, Basic, Pro, Eval, and add-‐ons – Core package includes basic libs, does not include RTI applica3ons/ services products.
– Basic, Pro and Eval all have the same func3onality. The bundles differ in which components are license managed.
– Installers are now available for all host package types.
– Targets are installed through the new RTI package mgr.
© 2015 Real-‐Time Innova3ons, Inc. 7
New RTI Package Manager
The RTI package file (.rtipkg) is a compressed file containing: – package.properties (file) describing the package – MANIFEST.xml (file) containing a list of files to be installed. – Compressed files and directory structure to be installed
The package manager handles backups and patch installa3ons.
Use the RTI Package Manager (bin/rtipkginstall, or from the Launcher GUI) to install target bundles,
patches, ports and feature accelera3ons.
© 2015 Real-‐Time Innova3ons, Inc. 8
New Directory Structure
“SDK”
RunTime resources: Resources used by the RTI provided tools, applica3ons and services.
Startup Scripts
Crea3on of a User Workspace
When you start any RTI applica3on
© 2015 Real-‐Time Innova3ons, Inc. 9
New documenta3on look and format
HTML
Search
Available at Community.r3.com
© 2015 Real-‐Time Innova3ons, Inc. 10
More pla>orms are now supported
• RHEL 6.5 on x86 and x64 • RHEL 7 on x86 and x64 • Ubuntu 14.04 • Windows 8, 8.1 (VS2013) • Windows 8 and server 2012 R2 (VS2013) on x64
• OS X 10.10 (Yosemite) on x64 … including tools on MacOS.
• Android 2.3 – 4.4 on ARMv7a • VxWorks 6.9.4 on PPC (e500v2) • VxWorks 7.0 on x86 • Integrity 11.0.4 on p4080, x86 • AIX 7.1 on POWER7 x86 • RT NI Linux/ ARM7
Check out the pla>orm notes for details, including which compila3on flags we
used, what are required system libs
© 2015 Real-‐Time Innova3ons, Inc. 11
More complete product support
• .NET API Support – for Custom Content Filter – for Op3onal Members
• Ada language binding available today – Ada compiler upgraded to GNAT 7.3.2
• Database Adapter for Microson SQL Server • RTI DDS LabVIEW Toolkit support for real-‐3me NI Linux/ARMv7
© 2015 Real-‐Time Innova3ons, Inc. 12
Addressing customer use cases Beper support for large data or variable sized samples
• Enable the number of elements in a Sequence to be unbounded. • Enable the number bytes in a String to be unbounded • Support unbounded Sequences and Strings for key fields • Support use of Content Filter with unbounded sequence and strings • Support in the following languages: C, C++/CLI, .NET, Dynamic Data and Built-‐
in-‐types • Limita3ons:
• Does not support Java (yet) (for generated Java Code. It is supported in Dyn Data.) • Persistence Service does not support unbounded sequence/strings out-‐of-‐the-‐box. • Recorder supports only serialized recording of variable sized samples. • Excel currently already disallows work with unbounded types. • Does not support Database Integra3on Service
© 2015 Real-‐Time Innova3ons, Inc. 13
Addressing customer use cases Ability to serialize sample into buffer and deserialize sample from buffer • Two new TypeSupport opera3ons to serialize a sample into a buffer and deserialize a sample from a buffer.
• The sample serializa3on/deserializa3on uses CDR representa3on.
• Supported in the following languages: – Generated Code: C, C++, Java and .NET – Dynamic Data: C, C++ (tradi3onal and modern)
© 2015 Real-‐Time Innova3ons, Inc. 14
Addressing customer use cases • TCP transport support for load balancers, tested with F5 hardware LB. • New op3on to release the resources associated to a disposed instance. We
now also support the standard service_cleanup delay in PS. • Several TCP and TLS enhancements: more scalable and robust • Ability to supervise the end-‐point discovery provides addi3onal level of control
of who can be discovered. • Ability to Add Metadata Flags to Samples • Allow out-‐of-‐order type defini3ons in XML configura3on files • Enable user to apach response to an applica3on acknowledgement message
and no3fy the writer. • Enable users to provide user-‐managed threads to the middleware. … and tons more. èPlease check the Release Notes for more details.
© 2015 Real-‐Time Innova3ons, Inc. 15
Stable connec3vity pla>orm for IIoT Addressing product issues • Beper TCP transport! More robust and more scalable. • Resolved communica3on issue for two par3cipants on the same node when
one has SHMEM transport disabled. • Resolved memory growth issues in more dynamic environments • Dynamic Data API fixes • DW/DR Liveliness QoS Policy fixes • Resolved interoperability issue when using UDPv6 transport • Large data sample repair fix • Domain Par3cipant crea3on fixes related when no shared memory segment
is available, or when no unique IP address is available (MacOS) • Resolved issues related to DDS en3ty destruc3on.
èPlease check the Release Notes for a descrip3on of all bug fixes. We’ve spent a lot of effort addressing product issues to make this a very stable release.
© 2015 Real-‐Time Innova3ons, Inc. 16
Big boulders
• R3ddsgen2.0 • C++ PSM • Queuing Service • Data Visualiza3on • New Launcher
© 2015 Real-‐Time Innova3ons, Inc. 18
Why a new code generator?
up to 10x faster Code genera3on
Customizable templates
© 2015 Real-‐Time Innova3ons, Inc. 19
R3ddsgen2.0 -‐ Con3nued • Obfuscate op3on to share IDL with others • New genera3on op3ons (-create, -update) to avoid erroneously
overwri3ng previously generated example, type or make files R3ddsgen2.0 Limita3ons • XSD-‐based code genera3on to be supported aner 5.2 release • No support for bi>ields • -corba, -metp è use the r3ddsgen1.0-‐based code generator. This
capability is provided through corresponding add-‐on products.
© 2015 Real-‐Time Innova3ons, Inc. 21
C++ PSM (Pla>orm Specific Model) • A New C++ API for C++03 and C++11
– A modern C++ API which works well with the standard library
– An API that is efficient, expressive, easy-‐to-‐use, and easy-‐to-‐learn.
– Generic programming, automa3c resource management, use of excep3ons, C++11 features such as move opera3ons.
• Same feature support as the other RTI supported language APIs, including RTI extensions and XML applica3on crea3on. Note: Tradi3onal C++ PSM
is s3ll supported
© 2015 Real-‐Time Innova3ons, Inc. 22
A P2P distributed applica3on in under 35 lines of C++11 Code (see blog post)
Shorter Easier to maintain More robust
© 2015 Real-‐Time Innova3ons, Inc.
Queuing Service Add-‐on product offering available on select pla;orms
© 2015 Real-‐Time Innova3ons, Inc. 24
Suppor3ng 3 key communica3on paperns
2004
2015
2013
Publish-‐Subscribe
Request / Reply
Queuing -‐ At least once -‐ At most once
© 2015 Real-‐Time Innova3ons, Inc. 25
Use Case: High Speed Processing in Cloud • Eze Sonware delivers
financial trading sonware to more than 1,500 buy-‐side and sell-‐side ins3tu3ons in 30 countries
• RTI will be the core middleware for the Eze financial trading pla>orm.
Analy3cs
Connext TCP (WAN)
Client Client Client Client
Logging
Redundant, Load-‐Balanced Reliable Mul3cast
Data Center Cloud
Gateway Processor
Gateway Processor
Gateway Processor
Gateway Processor
Load Balancer (F5)
Con
next
Inpu
t Bus
Connext Processing Bus
Monitor Queue Queue Queueing
Service
© 2015 Real-‐Time Innova3ons, Inc. 26
Shared Reader Queues
Load balance and Redelivery among DRs • Round Robin (RR) • RR with explicit
Queue Consumer availability
Queuing Service
Shared Subscriber
SharedReader Queue
SharedReaderQueue
DW
DW
DR
DR
DR
1 2
1 2
1
2
1 2
Tools (e.g., r=ddsspy)
Non-‐Queue Consumers (e.g., tools) can s3ll subscribe
© 2015 Real-‐Time Innova3ons, Inc. 27
Support for Request/Reply papern • Implemented with two SharedReaderQueues: One for the request and one for the reply
Requester Applica=on
Queuing Service
Shared Subscriber
Request Shared ReaderQueue DW
Response Shared ReaderQueue DR
Req 1
Res 1
Replier Applica=on
DR
DW Res 1
Req 1
© 2015 Real-‐Time Innova3ons, Inc. 28
Producer/Consumer Wrapper API
Queuing Service
Shared ReaderQueue
.NET only
© 2015 Real-‐Time Innova3ons, Inc. 29
Requester/Replier Wrapper API
Queuing Service
Request SRQ
Reply SRQ .NET only
© 2015 Real-‐Time Innova3ons, Inc. 32
Features
• Visualize live data flowing in the system – Subscribe to topics and visualize them through:
• A table with one row per instance (Instance Table) • A log of data from one or more topics (Sample Log) • A chart of value(s) versus 3me (Time Chart) • A view which shows all fields and meta-‐data (Sample Inspector)
– Export data to CSV & text files – Drag & Drop for quick and simple configura3on – Remembers and restores your views and subscrip3ons
© 2015 Real-‐Time Innova3ons, Inc. 34
Subscrip3on Dialog Advanced Op3ons
Narrow down what is displayed • QoS Profiles • Content Filters • DataWriter Filters
© 2015 Real-‐Time Innova3ons, Inc. 36
Sample Inspector
Live values of all fields and meta-‐data of the selected instance in the Sample Inspector
© 2015 Real-‐Time Innova3ons, Inc. 40
Launcher 2.0 -‐ New Implementa3on
Using Java and SWT – Na3ve Look on all OS
© 2015 Real-‐Time Innova3ons, Inc. 41
Launcher 2.0 – Cont. Extensible at Run Time
New Third Party Tab
New License Dialog
New Command History Dialog
Automa3c downloadable components
New Installed Products Table
New Documenta3on and Help Links Panel
© 2015 Real-‐Time Innova3ons, Inc. 42
Interoperability • UDPv6 class ID is now RTPS spec compliant
– Admin console will help you iden3fy the compa3bility issue – Connext 5.1 backward compa3bility mode
(dds.transport.use_510_compa=ble_locator_kinds property)
• Issue when using built-‐in topics to monitor Rou3ng Service, Queuing Service or Data Integra3on Service while mixing 5.1 / 5.2 versions
• Monitoring types are not backwards compa3ble • Solaris Sparc Shared memory compa3bility issue
© 2015 Real-‐Time Innova3ons, Inc. 43
New QoS values for
• New defaults for – DDS_DynamicDataProperty_t.buffer_max_size – DiscoveryConfig Built-‐In Writer autopurge_unregistered_instances_delay
– DataReader Resource Limits: dynamically_allocate_fragmented_samples and max_fragments_per_sample
• HighThroughput and AutoTuning built-‐in QoS profiles changed to resolve an issue where communica3on may fail when wri3ng small samples
© 2015 Real-‐Time Innova3ons, Inc. 44
Transi3oning from 5.1 to 5.2
• Regenerate and recompile • Automa3on scripts will need to be updated due the new directory structure – Change scripts which launch applica3ons like r3ddsgen, rou3ng_service, etc.
– Change the build path to point to the new SDK directory – Change library path to point to the new directory
© 2015 Real-‐Time Innova3ons, Inc. 45
Community.r3.com
• RTI Connext examples are updated for 5.2.0.
© 2015 Real-‐Time Innova3ons, Inc. 46
Stay tuned for blog posts (hpp://blogs.r3.com) with lots of details on the various 5.2.0 features
These slides will be available at hpp://www.slideshare.net/RealTimeInnova3ons