Weitere ähnliche Inhalte Ähnlich wie Java 5 API for DDS RFP (out of date) (20) Mehr von Rick Warren (11) Kürzlich hochgeladen (20) Java 5 API for DDS RFP (out of date)1. Proposed RFP:Java 5 PSM for DDSMARS – Long Beach, CA – Dec., 2009 Rick Warren, RTI rick.warren@rti.com document number: 2009-12-02 2. Introduction Summary & Conclusion Java is a mature platform Established conventions, design patterns Emphasis on portability, safety, manageability Java is an important DDS platform Many of largest, most sophisticated users use it …often alongside other language(s) A vibrant ecosystem requires portability At runtime Across DDS implementations IDL-based DDS Java API does not reflect / support these Doesn’t look, work like most other Java code Requires frequent memory allocation Observation: JMS does reflect / support these © 2009 RTI - All rights Reserved 2 3. IntroductionGoals Improve robustness …by improving type safety (e.g. with generic types, first-class enumerations) …by streamlining error handling (e.g. with appropriate exceptions) Increase performance …by improving memory loan API Simplify integration, flatten learning curve …by following Java conventions / best practices (e.g. naming, organization, design patterns) …by leveraging built-in capabilities (e.g. generics, collections, beans, serialization, run-time type safety, …) Grow the DDS ecosystem …by improving performance and portability …by improving usability …by increasing credibility, which comes from all of the above © 2009 RTI - All rights Reserved 3 4. IntroductionNot the Goals Define new middleware concepts or protocols:this is about DDS / RTPS Invalidate the existing IDL PSM:don’t break existing implementations, applications Improve / replace the IDL Java language mapping:won’t solve the aforementioned problems © 2009 RTI - All rights Reserved 4 5. IntroductionProcess Presented proposed RFP contents in San Antonio Submitted RFP by Long Beach 4-week deadline Incorporated feedback from AB reviewer Thanks to HuguesVincent of Thales This presentation reflects those changes Vote to issue this week 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? © 2009 RTI - All rights Reserved 5 13. Mandatory Requirements The proposed PSM shall: 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. Implement the DDS PIM in its entirety. Have no impact on interoperability. Avoid the introduction of new container types; use instead Java-standard types. Not modify the existing language used for user-defined data types or their language mapping. Support runtime portability between DDS implementations. Not introduce dependencies on any other communications middleware technology—including, but not limited to, CORBA or JMS. Indicate which Edition(s) they target (Micro, Standard, Enterprise). 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. Include an API to allow DDS applications to use QoS profiles. Encompass any APIs introduced by “Extensible and Dynamic Types.” © 2009 RTI - All rights Reserved 7 14. Optional Requirements The proposed PSM may: Define how QoS may be configured and status notifications monitored using JMX. Define how data written and read through DDS may integrate with the built-in data serialization support in the Java platform. 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: Comply with Java Beans-compatible design patterns. Integrate “Extensible and Dynamic Types” with the built-in Java type introspection capability. Provide reflective instantiation of, and/or access to, DataReaders and DataWriters corresponding to a given Java type. Define how applications can load and access a DDS implementation in the context of OSGi. © 2009 Real-Time Innovations, Inc. 8 15. Issues to Be Discussed Performance! Memory usage Vendor extensions: how to make them consistent w/o side effects Consistency w/ existing PSM vs. Java conventions Issues with respect to Java 6, Java 7 Entity lifecycle management Ensuring interoperability Ensuring runtime portability Choice of Java Edition(s) © 2009 Real-Time Innovations, Inc. 9 16. Road Map © 2009 Real-Time Innovations, Inc. 10 17. Conclusion Provide rigorous runtime portability Improve robustness Increase performance Simplify integration, flatten learning curve Grow the DDS ecosystem …with a new Java 5+ PSM …that takes advantage of platform-specific Technologies Best practices Conventions © 2009 RTI - All rights Reserved 11 Hinweis der Redaktion Already working on improved PSM for C++. This presentation will motivate why we need to do the same for Java and what that entails. Java + C++: important opportunity for DDS, since has standard APIs for bothI can’t sell you a reusable DDS-enabled component if it’s coupled to the DDS implementation.