Metro 2.2 One Pager(template version 1.92)
1. Introduction1.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 1.3. Date of This Document:04/26/11 2. Project Summary2.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 Summary3.1. Problem Area:3.1.1. Modular DatabindingEnable other databinding providers other than JAXB RI. WLS requirement. 3.1.2. Unified configurationIntroduce one single configuration file to improve usability and allow for integration with WLS. 3.1.3. Tubes.next / Tube splicingSupport NonAnonymous responses. 3.1.4. AsyncClientTransportFeature, AsyncClientHandlerFeature, ClientIdentityFeatureIntroduce WLS interfaces. 3.1.5. Common loggingPlug into WLS logging. 3.1.6. Common monitoring and managementPlug into WLS monitoring and management. 3.1.7. Exposing WSDL model / tooling improvementsImprove 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 wsimportEnable WLS integration. 3.1.10. Unified annotation programming modelUse the same package names as WLS annotations. 3.1.11. JAX-WS 2.2 Rev. a MRJAX-WS spec updates. 3.1.12. Clean/split up Metro OSGi bundlesMake 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 StreamingAttachmentFeatureImplement and clear test cases. 3.1.14. Security improvementsMultiple minor improvements: https://stbeehive.oracle.com/teamcollab/wiki/GlassFish-Security:GlassFish+3.2+Metro+Security+Tasks 3.1.15. Update Maven pushing using POMsThe 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 pluginsMake sure the existing plugins work with the current JAX-WS release. 3.2. Justification:3.2.1. Modular DatabindingJAX-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 configurationEnable 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 splicingEnable proper asynchronous message handling by JAX-WS. 3.2.4. AsyncClientTransportFeature, AsyncClientHandlerFeature, ClientIdentityFeatureRequired for WLS integration. 3.2.5. Common loggingRequired for WLS integration. 3.2.6. Common monitoring and managementRequired for WLS integration. 3.2.7. Exposing WSDL model / tooling improvementsImprove 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 wsimportRequired for WLS integration. 3.2.10. Unified annotation programming modelRequired for WLS integration. 3.2.11. JAX-WS 2.2 Rev. a MRThe JAX-WS and Java EE reference implementation needs to support the latest spec revision. 3.2.12. Clean/split up Metro OSGi bundlesEnable 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 StreamingAttachmentFeatureEnsure this feature works. 3.2.14. Security improvementsBug fixes and minor features required by various sources. 3.2.15. Update Maven pushing using POMsKeep Metro build maintainable. 3.2.16. Update JAX-WS Maven pluginsMake sure JAX-WS use in Maven based projects remains feasible. 4. Technical Description:4.1. Details:4.1.1. Modular Databindinghttp://java.net/jira/browse/JAX_WS-882 4.1.2. Unified configurationhttp://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Unified+configuration 4.1.3. Tubes.next / Tube splicinghttp://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Tubes.next 4.1.4. AsyncClientTransportFeature, AsyncClientHandlerFeature, ClientIdentityFeature4.1.5. Common logginghttp://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Common+logging 4.1.6. Common monitoring and managementhttp://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/Common+monitoring+and+management 4.1.7. Exposing WSDL model / tooling improvementshttp://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 wsimporthttp://java.net/jira/browse/JAX_WS-927 4.1.10. Unified annotation programming model4.1.11. JAX-WS 2.2 rev. A MRhttp://jcp.org/aboutJava/communityprocess/maintenance/jsr224/224changelog-2_2_rev_a.html 4.1.12. Clean/split up Metro OSGi bundles4.1.13. Improve test coverage of StreamingAttachmentFeature4.1.14. Security improvementshttps://stbeehive.oracle.com/teamcollab/wiki/GlassFish-Security:GlassFish+3.2+Metro+Security+Tasks 4.1.15. Update Maven pushing using POMsCurrently, JAX-WS RI uses ant based build system. It is increasingly getting difficult to use ant task to push maven artifacts. 4.1.16. Update JAX-WS Maven pluginsMany 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 InterfacesList new, public interfaces this project exports.
4.5.2 Private Interfaces4.5.3 Deprecated/Removed Interfaces:4.6. Doc Impact: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. PackagingProposal will affect only the existing set of Metro OSGi bundles already shipped with the GlassFish server. 4.10.2. DeliveryNo 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 ImpactNot anticipated. 4.13. Dependencies:4.13.1 Internal Dependencies4.13.2 External Dependencies4.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 |