Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Jeffrey Liu, IBM Lawrence Mandel, IBM Teaching Web and J2EE Development with Eclipse Free Software and Open Source Symposium
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Our Background ■ Lawrence Mandel –Software Developer at IBM Toronto Lab Focus on Web service and XML tools Rational Application Developer –Eclipse Web Tools Platform Project Ecosystem Lead Work on validators, URI Resolver framework, Cache ■ Jeffrey Liu –Software Developer at IBM Toronto Lab Focus on Web services and performance Rational Application Developer –Eclipse Web Tools Platform Project Performance Lead Work on release engineering and Web services
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - J2EE Scenario ■ Java class accesses data from a database ■ Java class exposed as a Web service
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Agenda ■ Overview ■ Demo of the Web and J2EE Tools ■ Extending the Web Tools Platform ■ Call for Participation ■ Q&A
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Overview ■ Historically Eclipse is a Java IDE ■ Eclipse Web Tools Platform (WTP) project –formally launched in June 2004 –Extends the Eclipse Platform with tools and APIs for Web and J2EE application development ■ Clean separation of Web and J2EE in subprojects: –Web Standard Tools (WST) –J2EE Standard Tools (JST) ■ Includes industry standard tools for HTML, XML, Web Services, J2EE, Data ■ Includes Server tools for integrating application servers, e.g. Tomcat, JBoss, WebSphere, WebLogic
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - WTP Subproject Scopes IETF W3C OASIS WS-I ECMA ANSI De Jure Standards De Facto Standards Web Technologies Java Technologies WST HTML, XML, XSLT, CSS, JS, WSDL, SOAP, UDDI JST Servlet, JSP, EJB, JAX-RPC, JDBC, JAXP, JSF, J2EE PHPStruts Hibernate Spring JDOSQL JCP Apache ObjectWeb SourceForge
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - WTP Support and Collaboration ■ WTP has support of companies, organizations, academia – BEA, IBM, Oracle, JBoss, ObjectWeb, UBC, UofT ■ WTP collaborates with other open projects and standards bodies –Apache, W3C, WS-I *In fact, the WS-I Java test tools are developed by WTP
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - WTP Roadmap ■ WTP 0.7, July 2005 – End User Tools ■ WTP 1.0, December 2005 – Platform APIs ■ WTP 1.5, June 2006 – Java EE 5.0
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Demo ■ Stage 1: expose existing Java class as Web service ■ Stage 2: modify Java class to retrieve data from database ■ Stage 3: modify Web service interface new!
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - The Web and J2EE Tools ■ There are several different types of development tools for Web and J2EE development ■ Relational Database ■ XML ■ Web Services ■ Server ■ J2EE
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Relational Database Tools ■ Connection Wizard –Easily create live connections to a database server using a JDBC driver ■ Multi-vendor support –Apache Derby –MySQL –DB2
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Relational Database Tools ■ Server Explorer –view database elements including tables, views, stored procedures, and user-defined functions. –Supports both Live and Offline modes ■ Dependency constraints indicated ■ Browse Data directly from the tables
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Relational Database Tools ■ SQL Scrapbook –A SQL utility/editor which can be used to test SQL commands to be executed to a connected server in the Server Explorer.
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - XML Tools ■ XML and XSD graphical editors –Assisted editing of XML content –Constraints enforced –Concise overview of documents
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - XML Tools ■ XML Catalog –Customize XML resource resolution –Based on OAGIS XML Catalog standard –Add DTD, XSD, or any XML resource (WSDL, XSL, etc.)
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Web Service Tools ■ Graphical WSDL/XSD Editor –Edit your WSDL file without wrestling with the syntax –Visual overview of Web service
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Web Service Tools ■ XML Schema, WSDL, and WS-I validators –Ensure your documents conform to standards (WSDL, XSD) and standard extensions (WS-I)
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Web Service Tools ■ WS-I Test Tools integration in the Eclipse Web Tools –Preference for setting the WS-I conformance level
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Web Service Tools ■ Wizard to create Web service top-down (from WSDL) and bottom-up (from Java). ■ Wizard creates a Java stub that binds to a Web service. ■ Wizard can optionally configure test client and deployment of your Web service
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Web Service Tools ■ Web Service Explorer –Publish/Discover Web services. –Invoke Web services dynamically. No code generation required for testing.
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Server Tools ■ Server runtime preference page –Add multiple runtimes ■ Multi-vendor support –Apache Tomcat, JBoss, JoNAS, WebSphere
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Server Tools ■ Server control view –Start, stop, publish, debug, configure servers –Shows current server state
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - J2EE Tools ■ New Web project wizard –Select server –Select J2EE version –Customize environment
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - J2EE Tools ■ New Servlet wizard –Manage deployment descriptor –Create Servlet class
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - J2EE Tools ■ EJB preference page and wizard –Uses XDoclet
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Extending the Web Tools Platform ■ WTP is a platform that allows for extension ■ Some interesting WTP extension points –Server –Structured Source Editing
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Server Extensions ■ Server Tools –Comes with server adapters for Tomcat, etc. ■ Extension points allow you to… –add other server adapters ■ Useful to… –Create adapters for servers with no current adapter e.g. Apache Web Server –Create adapters for custom servers e.g. those created as part of course work
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Structured Source Editing Extensions ■ Structured Source Editing (SSE) –Editing framework for XML-like file types (XML, JSP, HTML) ■ Extension points allow you to… –Add custom context actions, content assist, syntax highlighting, as- you-type validation to editors –Configure property page and outline views –Receive notifications of model changes and perform custom synchronization between model type (eg. EMF and DOM) ■ Useful to… –Create new XML-like editors – e.g. XSL, DocBook, ASP –Customize existing editors by adding function – e.g. new format or snippet options, publish to blog
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Additional API and Extension Points ■ Some additional API and extension points defined for: –Common Add custom validators –Web services Customize the Web services wizard ► Allow for addition of steps in Web service creation ► Create Web service deployment for another language, e.g. PHP Add support for new binding types to WSDL editor and validator –J2EE Add custom steps to artifact import and creation –Data Add custom database definitions and wizard pages –XML Add actions to graphical XML and XSD editors Add entries to XML catalog
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Translation ■ IBM delivered language packs for WTP ■ Arabic ■ Czech ■ French ■ German ■ Hungarian ■ Italian ■ Japanese ■ Korean ■ Polish ■ Portuguese (Brazil) ■ Russian ■ Simplified Chinese ■ Spanish ■ Traditional Chinese
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Call for Participation ■ Become a user and tell your friends and colleagues ■ Test and report bugs ■ Write tutorials, articles ■ Fix bugs ■ Contribute enhancements ■ Become a committer ■ Develop plug-ins based on WTP ■ Develop Web and J2EE Curriculum ■ Create research projects that extend or use WTP –Volunteer for the WTP usage study ■ Participate at EclipseCon 2006 –
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Eclipse WTP Usage Study ■ Goals: –Improve Eclipse IDE user experience –Improve organization of commands in Eclipse base and Eclipse-based projects ■ Minimal commitment: –Simply use Eclipse WTP for your daily work –About 10 minutes / week to upload data ■ Data collected: –Edits, navigations, commands, but no identifying information ■ For more information: or contact Leah Findlater:
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - Q&A ■ Questions?
Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Seneca, Toronto, ON Oct. 24, Eclipse Foundation - More information is available from… ■ WTP website ■ WTP newsgroup news://news.eclipse.org/eclipse.webtools news://news.eclipse.org/eclipse.webtools ■ WTP Community Resources (articles, tutorials, events) ■ Jeffrey Liu- ■ Lawrence Mandel-