Metro 2.2 One Pager (template version 1.92)
1. Introduction 1.1. Project/Component Working Name: Metro 2.2 1.2. Name(s) and e-mail address of Document Author(s)/Supplier: Martin Grebac: snajper at java dot net Kumar Jayanti: kumarjayanti at java dot net Jitendra Kotamraju: jitu at java dot net Rama Pulavarthi: ramapulavarthi at java dot net Fabian Ritzmann: ritzmann at java dot net 1.3. Date of This Document: 04/26/11 2. Project Summary 2.1. Project Description: Metro Web Services stack evolution 2.2. Risks and Assumptions: WLS common logging, monitoring and management requirements have not been received to date. 3. Problem Summary 3.1. Problem Area: 3.1.1. Modular Databinding Enable other databinding providers other than JAXB RI. WLS requirement. 3.1.2. Unified configuration Introduce one single configuration file to improve usability and allow for integration with WLS. 3.1.3. Tubes.next / Tube splicing Support NonAnonymous responses. 3.1.4. AsyncClientTransportFeature, AsyncClientHandlerFeature, ClientIdentityFeature Introduce WLS interfaces. 3.1.5. Common logging Plug into WLS logging. 3.1.6. Common monitoring and management Plug into WLS monitoring and management. 3.1.7. Exposing WSDL model / tooling improvements Improve integration with IDEs and improve WSDL processing performance. 3.1.8. Fix outstanding issues in WS-AT (collocated case) WS-AT fixes that didn't make it into GlassFish 3.1. 3.1.9. Provide a plug-in mechanism in wsimport Enable WLS integration. 3.1.10. Unified annotation programming model Use the same package names as WLS annotations. 3.1.11. JAX-WS 2.2 Rev. a MR JAX-WS spec updates. 3.1.12. Clean/split up Metro OSGi bundles Make Metro OSGi bundles work in other OSGi environments than GlassFish. Split webservices-osgi.jar into smaller bundles to improve performance. 3.1.13. Improve test coverage of StreamingAttachmentFeature Implement and clear test cases. 3.1.14. Security improvements Multiple minor improvements: https://stbeehive.oracle.com/teamcollab/wiki/GlassFish-Security:GlassFish+3.2+Metro+Security+Tasks 3.1.15. Update Maven pushing using POMs The current push relies on scripts massaging POMs before a push. That is error-prone when new POM are added or POMs are modified. 3.1.16. Update JAX-WS Maven plugins Make sure the existing plugins work with the current JAX-WS release. 3.2. Justification: 3.2.1. Modular Databinding JAX-WS RI works only with JAXB RI. However, there is a need to work with other databinding frameworks like EclipseLink JAXB/SDO impl. That means features from other databinding frameworks can be used with the core RI abstractions and protocols like WS-RM etc can be used with JAX-WS RI+any databinding framework. Required for WLS integration. 3.2.2. Unified configuration Enable tighter integration with WLS. This feature was originally planned for GlassFish 3.1 and had to be postponed to 3.2. 3.2.3. Tubes.next / Tube splicing Enable proper asynchronous message handling by JAX-WS. 3.2.4. AsyncClientTransportFeature, AsyncClientHandlerFeature, ClientIdentityFeature Required for WLS integration. 3.2.5. Common logging Required for WLS integration. 3.2.6. Common monitoring and management Required for WLS integration. 3.2.7. Exposing WSDL model / tooling improvements Improve uptake and support of JAX-WS by IDEs and avoid duplication of work and bugs by providing a reference implementation that processes WSDL. 3.2.8. Fix outstanding issues in WS-AT (collocated case, recovery) WS-AT fixes that are already done but did not make it into GlassFish 3.1. 3.2.9. Provide a plug-in mechanism in wsimport Required for WLS integration. 3.2.10. Unified annotation programming model Required for WLS integration. 3.2.11. JAX-WS 2.2 Rev. a MR The JAX-WS and Java EE reference implementation needs to support the latest spec revision. 3.2.12. Clean/split up Metro OSGi bundles Enable integration of Metro into other OSGI based products. Avoid loading of the big Metro bundles when an application depends on a simple XML library (which all Java EE applications do). 3.2.13. Improve test coverage of StreamingAttachmentFeature Ensure this feature works. 3.2.14. Security improvements Bug fixes and minor features required by various sources. 3.2.15. Update Maven pushing using POMs Keep Metro build maintainable. 3.2.16. Update JAX-WS Maven plugins Make sure JAX-WS use in Maven based projects remains feasible. 4. Technical Description: 4.1. Details: 4.1.1. Modular Databinding http://java.net/jira/browse/JAX_WS-882 4.1.2. Unified configuration http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Unified+configuration 4.1.3. Tubes.next / Tube splicing http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Tubes.next 4.1.4. AsyncClientTransportFeature, AsyncClientHandlerFeature, ClientIdentityFeature http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/AsyncClientTransportFeature%2C+AsyncClientHandlerFeature%2C+ClientIdentityFeature 4.1.5. Common logging http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Common+logging 4.1.6. Common monitoring and management http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Common+monitoring+and+management 4.1.7. Exposing WSDL model / tooling improvements http://aseng-wiki.us.oracle.com/asengwiki/display/ASDevJDeveloper/JAX-WS+RI+Tooling+Enhancements 4.1.8. Fix outstanding issues in WS-AT (collocated case, recovery) http://java.net/jira/browse/WSIT-1524http://java.net/jira/browse/WSIT-1525 4.1.9. Provide a plug-in mechanism in wsimport http://java.net/jira/browse/JAX_WS-927 4.1.10. Unified annotation programming model 4.1.11. JAX-WS 2.2 rev. A MR http://jcp.org/aboutJava/communityprocess/maintenance/jsr224/224changelog-2_2_rev_a.html 4.1.12. Clean/split up Metro OSGi bundles 4.1.13. Improve test coverage of StreamingAttachmentFeature http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Improve+test+coverage+of+StreamingAttachmentFeature 4.1.14. Security improvements https://stbeehive.oracle.com/teamcollab/wiki/GlassFish-Security:GlassFish+3.2+Metro+Security+Tasks 4.1.15. Update Maven pushing using POMs Currently, JAX-WS RI uses ant based build system. It is increasingly getting difficult to use ant task to push maven artifacts. Hence, maven can be used to push maven artifacts and rest of the build system would still use ant. 4.1.16. Update JAX-WS Maven plugins Many developers use JAX-WS RI/metro maven artifacts. But maven plugins for tools (for e.g. wsimport) are using the older versions of the RI and do not use any features introduced in the recent releases. Hence, there is a need to update these plugins with the latest JAX-WS RI release 4.2. Bug/RFE Number(s): https://github.com/javaee/glassfish/issues/16454http://java.net/jira/browse/WSIT-1525http://java.net/jira/browse/WSIT-1524http://java.net/jira/browse/JAX_WS-927http://java.net/jira/browse/JAX_WS-882 4.3. In Scope: 4.4. Out of Scope: 4.5. Interfaces: 4.5.1 Public Interfaces List new, public interfaces this project exports.
- Interface: metro-webservices.xml
- Comment: New single Metro configuration file for unified configuration
- Interface: Annotation namespace com.oracle
- Comment: New proprietary annotations are added under this namespace.
4.5.2 Private Interfaces 4.5.3 Deprecated/Removed Interfaces: 4.6. Doc Impact: Metro User Guide 4.7. Admin/Config Impact: An additional proprietary deployment descriptor/configuration file will be supported for web service configuration. No changes to GlassFish GUIs, CLI, agents, plugins are expected however. 4.8. HA Impact: Not anticipated. 4.9. I18N/L10N Impact: Not anticipated. 4.10. Packaging, Delivery & Upgrade: 4.10.1. Packaging Proposal will affect only the existing set of Metro OSGi bundles already shipped with the GlassFish server. 4.10.2. Delivery No impact on delivery. The module is already included in the distribution. 4.10.3. Upgrade and Migration: All changes either introduce a new functionality or are intended to remain backward-compatible. There is no known impact on existing instances or clients at this time. 4.11. Security Impact: Metro security is fully aligned with GlassFish security concepts, mechanisms and APIs. 4.12. Compatibility Impact Not anticipated. 4.13. Dependencies: 4.13.1 Internal Dependencies 4.13.2 External Dependencies 4.14. Testing Impact: Existing Metro test suite will be extended with additional SQE, E2E and unit tests as appropriate for each feature of the project. 5. Reference Documents: http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Metro+2.2+features+and+tasks 6. Schedule: 6.1. Projected Availability: http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Metro+2.2+features+and+tasks |