Eclipse WTP Project Web Service Tools Open House Chris Brealey 2005.05.26 DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 1 Contents Contributors ■ Function ■ Plugins ■ API ■ Quality ■ Development ■ Appendices ■ DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 Contributors ■ Gilbert Andrews (IBM) ■ – Web Services Explorer – JAX-RPC JSP Generation ■ Chris Brealey (IBM) – Committer – Axis Web services ■ – Committer / Component lead ■ ■ Rupam Kuehner (IBM) – Web services scenarios – J2EE / Server integration Kathy Chan (IBM) – Committer – Axis Web services ■ Naci Dai (Eteration) ■ – Web services GUI DATE Peter Moogk (IBM) – Environment / Command FW – Web services wizards ■ Joan Haggarty (IBM) Raymond Lai (independent) – Web Services Explorer – Committer – J2EE subproject lead – Axis Web services ■ Sinan Konya (Eteration) Seng Phung-Lu (IBM) – Performance – J2EE / Server integration Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 3 Function - XML Web Service Tools ■ EMF Models – Schema 1.0 Second Edition – WSDL 1.1 ■ Validators – Schema 1.0 Second Edition – WSDL 1.1 – WS-I WSDL validation and SOAP message monitoring ■ XSD Editor – Graph and code-assisted source views ■ WSDL Editor – Graph and code-assisted source views – Extensible, like the WSDL spec itself ■ Wizards – New WSDL – New Schema ■ Web Services Explorer – Native WSDL browsing and invocation – UDDI publication and discovery ■ Preference pages DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 4 Function - Java Web Service Tools ■ EMF Models – JSR-109 – JSR-921 – webservices.xml, webservicesclient.xml, jaxrpc-mapping.xml, etc. ■ Project Explorer – Web service clients – Local and remote Web services – Quick access to WSDL, descriptors, implementations, handlers ■ Extensible Wizards – Discover, create, run, test, publish – Create clients (requestors) from WSDL – Create services (providers)... • Top down from WSDL (aka. Skeleton) • Bottom up from existing implementation ■ ■ ■ ■ Handler Configuration Wizard Support for Apache Axis 1.1 and/or 1.2 Preference pages Popup actions DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 5 Plugins - WST ■ ws – – – – ■ ■ – – – – org.eclipse.wst.ws org.eclipse.wst.ws.explorer org.eclipse.wst.ws.parser org.eclipse.wst.ws.ui wsdl ■ – org.eclipse.wsdl – org.eclipse.wsdl.ui – org.eclipse.wsdl.validation ■ wsi ■ WSDL WS-I – WS-I validators (from WSVT) – SOAP validation UI (from WSVT) xsd ■ – org.eclipse.wst.xsd.contentmodel – org.eclipse.wst.xsd.ui – org.eclipse.wst.xsd.validation DATE Frameworks and utilities Web Services Explorer WSIL, DISCO, HTML parsing General preferences – EMF model (extends JWSDL) – WSDL editor – WSDL validation (from WSVT) – org.eclipse.wst.wsi – org.eclipse.wst.wsi.ui ■ XML Web services XSD – EMF model – Schema editor – Schema validation Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 6 Plugins - JST ■ ws – – – – – – – ■ org.eclipse.jst.ws org.eclipse.jst.ws.consumption org.eclipse.jst.ws.consumption.ui org.eclipse.jst.ws.creation.ejb.ui org.eclipse.jst.ws.creation.ui org.eclipse.jst.ws.uddiregistry org.eclipse.jst.ws.ui Java Web Services – – – – – – – Provisional frameworks and utilities Extensible client creation scenario Extensible client creation scenario Service creation from EJBs* Extensible service creation scenario** UDDI registry provider integration point General preferences – org.eclipse.jst.ws.axis.consumption.core – Apache Axis client support – org.eclipse.jst.ws.axis.consumption.ui – Apache Axis client support – org.eclipse.jst.ws.axis.creation.ui – Apache Axis creation support** * likely to be merged with creation.ui. ** to be split into UI / non-UI. DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 7 Plugins - Dependencies ■ Eclipse – The usual suspects: Platform, GEF, JEM, EMF ■ WTP – Common stuff Eg: • Environment / command framework • URI resolver – Server Tools – J2EE Tools – XML Tools – SSE Tools ■ Open source – – – – – – DATE WSDL4J WSIL4J UDDI4J Apache Axis Apache Tomcat Apache Geronimo (coming soon) Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 8 API - Status ■ Public API limited to org.eclipse.wst.wsdl – WSDL EMF model API – Extends javax.wsdl API (aka. WSDL4J, JWSDL, JSR 110) – Models Core WSDL + SOAP, MIME and HTTP bindings ■ Vast majority of frameworks are internal / provisional – It is premature to lock in API for most of the Web services platform – Proposed API is relatively young – Proposed API has not been validated by third parties. Eg: • The only Web service runtime extension is ours for Apache Axis • The only WSDL model extensions are ours for standard bindings – API will go public as adopters use, help evolve and build confidence in it ■ Provisional API include – – – – DATE WSDL Validation framework WSDL Editor framework Web Service provider / requestor framework Web Service finder / consumer framework Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 9 Quality ■ Initial contribution: – Shipped in previous products and very stable ■ Since initial contribution: – Major refactoring and reaction to refactored dependencies – Design of new, mostly provisional, API for extenders – Adaptation to changes and enhancements in dependencies • Eg: Server Tools API • Eg: J2EE Flexible projects – Emphasis shifting from function to stabilization • Bug fixes • JUnit test automation ■ Bugs as of 2005.05.26: – – – – – – DATE jst.ws: 37 wst.ws: 9 wst.wsdl: 50 wst.wsi: 1 wst.xsd: 30 Majority (~88%) are normal or lower in severity Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 10 Quality - Queries ■ This query will show bugs... – From components wst.ws, wst.wsdl, wst.wsi, wst.xsd, jst.ws – With severities from trivial to blocker (i.e. no enhancements) https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&sh ort_desc_type=allwordssubstr&short_desc=&product=Web+Tools&co mponent=wst.ws&component=wst.wsdl&component=wst.wsi&compo nent=wst.xsd&component=jst.ws&long_desc_type=allwordssubstr&lo ng_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keyword s_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIG NED&bug_status=REOPENED&bug_severity=blocker&bug_severity= critical&bug_severity=major&bug_severity=normal&bug_severity=min or&bug_severity=trivial&emailtype1=substring&email1=&emailtype2= substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom =&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=bugs.bug_sev erity&field0-0-0=noop&type0-0-0=noop&value0-0-0= DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 11 Development - WTP 1.0 ■ Stabilization – Bug fixes – GUI Fit and finish – JUnit testcase development ■ Provisional frameworks – Web service finders – Web service consumers ■ Apache – Apache Axis 1.2 – Apache Tomcat 5.5 – Apache Geronimo ■ Details are in the milestone plans wst.ws: http://www.eclipse.org/webtools/wst/components/ws/M5/milestone_plan.html wst.wsdl: http://www.eclipse.org/webtools/wst/components/wsdl/M4/milestone_plan.html wst.wsi: http://www.eclipse.org/webtools/wst/components/wsi/M4/milestone_plan.html wst.xsd: http://www.eclipse.org/webtools/wst/components/xsd/M4/milestone_plan.html jst.ws: http://www.eclipse.org/webtools/jst/components/ws/M5/milestone_plan.html DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 12 Development - Beyond WTP 1.0 ■ Tools for New / Emerging Standards and Open Source Platforms – – – – – – – – – – – – – – – DATE Apache Axis 2 WS-I Basic Security Profile WS-Policy WS-Policy Attachments WS-Security Policy WS-Addressing WS-Reliable Messaging WS-Resource Framework WS-Lots ‘n’ lots more! SOAP 1.2 WSDL 2.0 MTOM JSR 181 - Web Service Metadata JSR 224 - JAX-RPC 2.0 JSR 235 - SDO Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 13 Development - Help! Apache Axis ■ JUnit testcase development ■ Identify and resolve performance issues ■ Identify and resolve memory issues ■ Identify and resolve thread safety issues ■ Clean up warnings (e.g. use of deprecated symbols) ■ Support for new and emerging standards ■ Get Involved! DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 14 Appendices Links ■ Screenshots ■ Framework diagrams ■ DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 15 Appendix - Links ■ Most details are available via these sites... – http://www.eclipse.org/webtools/wst/components/ws/index.html – http://www.eclipse.org/webtools/jst/components/ws/index.html ■ Including... – – – – DATE Milestone plans Test plans Tutorials Designs Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 16 Appendix - Screenshots Just a few samples follow ■ More are available via the tutorials... ■ – http://www.eclipse.org/webtools/jst/components/ws/index.html – http://www.eclipse.org/webtools/wst/components/wsdl/tutorials/WSDLEditorTutorial.html – http://www.eclipse.org/webtools/testtutorials/M2/xml/XMLSchemaEditorTutorial.html DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 17 WSDL Editor DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 18 WSDL Editor DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 19 Web Services Explorer DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 20 Web Service Creation Wizard DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 21 Web Service Creation Wizard DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 22 Appendix - Frameworks Diagrams A sampling of diagrams follow ■ For more framework details, see... ■ – http://www.eclipse.org/webtools/jst/components/ws/designs/index.html – Bugzilla Enhancements... https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&sh ort_desc_type=allwordssubstr&short_desc=&product=Web+Tools&co mponent=wst.ws&component=wst.wsdl&component=wst.wsi&compo nent=wst.xsd&component=jst.ws&long_desc_type=allwordssubstr&lo ng_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keyword s_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIG NED&bug_status=REOPENED&bug_severity=enhancement&emailty pe1=substring&email1=&emailtype2=substring&email2=&bugidtype=i nclude&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue= &cmdtype=doit&order=bugs.bug_severity&field0-0-0=noop&type0-00=noop&value0-0-0= DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 23 Web Service Runtime DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 24 Web Service DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 25 Discovery DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 26 Test Facility DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 27 Publication DATE Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 28