Release Notes v5.2.3
1 Supported Platforms
RTI® Web Integration Service is supported on the platforms in Table 1.
Platform | Operating System |
---|---|
Linux® | CentOS 5.4, 5.5 |
CentOS 6.0, 6.2-6.4 | |
Red Hat® Enterprise Linux 5.0 | |
Red Hat Enterprise Linux 5.1, 5.2, 5.4, 5.5 | |
Red Hat Enterprise Linux 6.0-6.5 | |
Red Hat Enterprise Linux 7 | |
Ubuntu® Server 12.04 LTS and 14.04 LTS | |
Mac® | Mac OS X 10.8 |
Mac OS X 10.10 | |
Mac OS X 10.11 | |
Windows® | All Windows platforms listed in the RTI Connext DDS Core Libraries Platform Notes for the same version number. |
2 Compatibility
2.1 Connext DDS Compatibility
Web Integration Service can be used to bridge data from applications built with RTI Connext DDS™, as well as RTI Data Distribution Service 4.5[b-e], and 4.4d, except as noted below.
- Web Integration Service is not compatible with applications built with RTI Data Distribution Service 4.5e and earlier releases when communicating over shared memory. For more information, please see the Transport Compatibility section in the RTI Connext DDS Core Libraries Release Notes.
- Starting in Connext DDS 5.1.0, the default
message_size_max
for the UDPv4, UDPv6, TCP, Secure WAN, and shared-memory transports changed to provide better out-of-the-box performance. Web Integration Service also uses the new value formessage_size_max
. Consequently, Web Integration Service is not out-of-the-box compatible with applications running older versions of Connext DDS or RTI Data Distribution Service. Please see the RTI Connext DDS Core Libraries Release Notes for instructions on how to resolve this compatibility issue with older Connext DDS and RTI Data Distribution Service applications.
2.2 Command-Line Options Compatibility
- Starting in Web Integration Service 5.2.3, you must use
-cfgName
to specify the configuration to be used when instantiating all the applications.
2.3 XML Compatibility
- Starting in Web Integration Service 5.2.3,
<application>
tags are children of<web_integration_service>
tags. As a result, only the applications under the configuration indicated via the-cfgName
command-line option are instantiated when the service is started. In previous versions, all the applications were children of the<dds>
top-level tag and were automatically instantiated when the service was started.
3 What's New In 5.2.3
3.1 JSON Support for Writing and Reading Samples
Users can now write and read data samples using JSON. This complements the default XML format, making it simpler to map the data samples that are sent and received with Javascript objects. However, the definition of entities and QoS settings must be done in XML.
3.2 Simple Authentication Mechanism
Web Integration Service implements a simple authentication mechanism that ensures—if enabled—that only client applications with the appropriate API key can perform operations via the REST API. API keys are stored in an Access Control List file that can be created with Web Integration Service's executable. HTTPS must be enabled to ensure that API keys are not intercepted by malicious applications.
3.3 Service Configurations
For consistency with other RTI infrastructure services such as Routing Service or Persistence Service, we have introduced the concept of a Web Integration Service configuration. A service configuration contains a set of applications that are instantiated when the service is loaded. As a result, users need to specify a configuration when starting the service. Applications created via Web Integration Service's REST API will automatically be appended to the list of applications under the running configuration.
3.4 Improved Debugging Messages
To make it simpler to debug an application, Web Integration Service provides detailed logging information when the service is run with verbosity levels of 5 or greater. These messages are logged via command line and can be enabled using the -verbosity
command-line option.
3.5 Query Strings to Configure Elements to Read from DataReader's Queue
We have added a set of query strings to select the samples from the DataReader's queue that must be read or taken. This includes filtering samples based on status conditions and filter expressions. We have also added the ability to configure whether to perform a take or a read operation (i.e., whether the samples read must be deleted from the DataReader's cache or not).
3.6 Updated REST APIs to Comply with the Latest Revision of Web-Enabled DDS OMG Specification
- Changed DomainParticipant's resource name on URLs from
participants/
todomain_participants/
. - Changed DataWriter's and DataReader's resource name on URLs from
datawriters/
anddatareaders/
todata_writers/
anddata_readers/
. - Changed the default value of the
Content-Type
header
fromapplication/webdds+xml
toapplication/dds-web+xml
. - Added support for
OMG-DDS-API-Key
header. - Changed XML tags from "camelCase" to "snake_case" in the read data samples in the data and metadata sections.
4 What's Fixed In 5.2.3
4.1 Error Generating Log Messages with More than 1000 Characters
We have normalized the error message representation that we include in HTTP responses. As a result, we have fixed a crash in Web Integration Service when logging error messages longer than 1,000 characters.
[RTI Issue ID WEBINT-88]
4.2 Error Accessing Web Integration Service Concurrently
We have fixed a thread-safety issue in the internal DDS functions that look up entities. Because these functions were not thread safe in previous versions of RTI Connext DDS, concurrent access to Web Integration Service could result in a hang that required a service restart.
[RTI Issue ID WEBINT-98]
5 Known Issues
5.1 Configurations and Their Applications cannot use Same Name
Due to current limitations in Connext DDS's XML Parser, the name of the Web Integration Service configuration tag and the name of the applications within that configuration cannot be the same. For example:
<web_integration_service name="ShapesDemo">
<application name="ShapesDemo"/>
</web_integration_service>
To workaround this limitation, use different names for the service configuration tag and the applications within. For example:
<web_integration_service name="ShapesDemo">
<application name="ShapesDemoApplication"/>
</web_integration_service>
[RTI Issue ID CORE-3542]