Java 5 API for DDS RFP (out of date)


Published on

Presentation to a Technical Meeting of the Object Management Group (OMG) proposing the issuance of an RFP for an improved Java API for DDS in December 2009. Following this presentation, the RFP was voted for issuance.

This presentation has been superseded by later ones on the same subject.

Published in: Technology, News & Politics
  • Be the first to comment

Java 5 API for DDS RFP (out of date)

  1. 1. Proposed RFP:Java 5 PSM for DDSMARS – Long Beach, CA – Dec., 2009<br />Rick Warren, RTI<br /><br />document number: 2009-12-02<br />
  2. 2. Introduction Summary & Conclusion<br />Java is a mature platform<br />Established conventions, design patterns<br />Emphasis on portability, safety, manageability<br />Java is an important DDS platform<br />Many of largest, most sophisticated users use it<br />…often alongside other language(s)<br />A vibrant ecosystem requires portability <br />At runtime<br />Across DDS implementations<br />IDL-based DDS Java API does not reflect / support these<br />Doesn’t look, work like most other Java code<br />Requires frequent memory allocation<br />Observation: JMS does reflect / support these<br />© 2009 RTI - All rights Reserved<br />2<br />
  3. 3. IntroductionGoals<br />Improve robustness<br />…by improving type safety<br /> (e.g. with generic types, first-class enumerations)<br />…by streamlining error handling<br /> (e.g. with appropriate exceptions)<br />Increase performance<br />…by improving memory loan API<br />Simplify integration, flatten learning curve<br />…by following Java conventions / best practices<br /> (e.g. naming, organization, design patterns)<br />…by leveraging built-in capabilities<br /> (e.g. generics, collections, beans, serialization, run-time type safety, …)<br />Grow the DDS ecosystem<br />…by improving performance and portability<br />…by improving usability<br />…by increasing credibility, which comes from all of the above<br />© 2009 RTI - All rights Reserved<br />3<br />
  4. 4. IntroductionNot the Goals<br />Define new middleware concepts or protocols:this is about DDS / RTPS<br />Invalidate the existing IDL PSM:don’t break existing implementations, applications<br />Improve / replace the IDL  Java language mapping:won’t solve the aforementioned problems<br />© 2009 RTI - All rights Reserved<br />4<br />
  5. 5. IntroductionProcess<br />Presented proposed RFP contents in San Antonio<br />Submitted RFP by Long Beach 4-week deadline<br />Incorporated feedback from AB reviewer<br />Thanks to HuguesVincent of Thales<br />This presentation reflects those changes<br />Vote to issue this week<br />Open Question from Hugues:Assuming this RFP is issued: Is it our intention to roll this PSM (and the new C++ PSM) into a future version of DDS itself, or will they remain separate?<br />© 2009 RTI - All rights Reserved<br />5<br />
  6. 6. IntroductionWhat Do We Mean by Java 5?<br />Java Language, versions 5 and later<br />Corresponding versions of Java Edition platforms<br />Modern language features<br /><ul><li>Generic types
  7. 7. First-class, type-safe enumerations
  8. 8. Annotations</li></ul>Rich standard libraries<br /><ul><li>Improved wide character support
  9. 9. Built-in JMX
  10. 10. Comprehensive collections (since Java 1.2, improved in Java 5)
  11. 11. Built-in serialization (since Java 1.1)
  12. 12. Reflection, Java Beans (since Java 1.1, improved in Java 1.4)</li></ul>© 2009 RTI - All rights Reserved<br />6<br />
  13. 13. Mandatory Requirements<br />The proposed PSM shall:<br />Provide a PSM, derived from the DDS PIM, targeting the Java 5 language. Include the rules by which this PSM was derived from that PIM.<br />Implement the DDS PIM in its entirety.<br />Have no impact on interoperability.<br />Avoid the introduction of new container types; use instead Java-standard types.<br />Not modify the existing language used for user-defined data types or their language mapping.<br />Support runtime portability between DDS implementations.<br />Not introduce dependencies on any other communications middleware technology—including, but not limited to, CORBA or JMS.<br />Indicate which Edition(s) they target (Micro, Standard, Enterprise).<br />Be designed such that they can co-exist with other technologies. For example, they should not interfere with the namespaces used by other OMG specifications or commonly used packages.<br />Include an API to allow DDS applications to use QoS profiles.<br />Encompass any APIs introduced by “Extensible and Dynamic Types.”<br />© 2009 RTI - All rights Reserved<br />7<br />
  14. 14. Optional Requirements<br />The proposed PSM may:<br />Define how QoS may be configured and status notifications monitored using JMX.<br />Define how data written and read through DDS may integrate with the built-in data serialization support in the Java platform.<br />Define how dynamic applications can take advantage of the reflective capabilities of the Java platform. Possible uses of reflection include, but are not limited to:<br />Comply with Java Beans-compatible design patterns.<br />Integrate “Extensible and Dynamic Types” with the built-in Java type introspection capability.<br />Provide reflective instantiation of, and/or access to, DataReaders and DataWriters corresponding to a given Java type.<br />Define how applications can load and access a DDS implementation in the context of OSGi.<br />© 2009 Real-Time Innovations, Inc. <br />8<br />
  15. 15. Issues to Be Discussed<br />Performance!<br />Memory usage<br />Vendor extensions: how to make them consistent w/o side effects<br />Consistency w/ existing PSM vs. Java conventions<br />Issues with respect to Java 6, Java 7<br />Entity lifecycle management<br />Ensuring interoperability<br />Ensuring runtime portability<br />Choice of Java Edition(s)<br />© 2009 Real-Time Innovations, Inc.<br />9<br />
  16. 16. Road Map<br />© 2009 Real-Time Innovations, Inc.<br />10<br />
  17. 17. Conclusion<br />Provide rigorous runtime portability<br />Improve robustness<br />Increase performance<br />Simplify integration, flatten learning curve<br />Grow the DDS ecosystem<br />…with a new Java 5+ PSM<br />…that takes advantage of platform-specific<br />Technologies<br />Best practices<br />Conventions<br />© 2009 RTI - All rights Reserved<br />11<br />