OOPSLA, San DiegoOct. 16-20, 2005
1Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Lawrence Mandel, IBM
Eclipse Web and J2EE Development
OOPSLA, San DiegoOct. 16-20, 2005
2Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
My Background
■ Software Developer at IBM Toronto Lab– Focus on Web Service and XML Tools– Rational Application Developer V6– WebSphere Studio Application Developer V5
■ Eclipse Web Tools Platform Project – Ecosystem Lead– Work on validators, URI Resolver framework, Cache
■ Committer on Apache Woden Project– Building a WSDL 2.0 validating parser
OOPSLA, San DiegoOct. 16-20, 2005
3Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
J2EE Scenario
■ Java class accesses data from a database
■ Java class exposed as a Web service
OOPSLA, San DiegoOct. 16-20, 2005
4Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Agenda
■ Overview
■ Demo of the Web and J2EE Tools
■ Extending the Web Tools Platform
■ Call for Participation
■ Q&A
OOPSLA, San DiegoOct. 16-20, 2005
5Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
■ WTP has two subprojects:
–Web Standard Tools (WST)
–J2EE Standard Tools (JST)■ Includes tools for HTML, XML, Web Services, J2EE,
Data■ Includes Server tools for integrating application servers,
e.g. Tomcat, Geronimo, JBoss, WebSphere, WebLogic
OOPSLA, San DiegoOct. 16-20, 2005
6Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
WTP Subproject Scopes
IETFW3COASISWS-IECMAANSI
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
PHP Struts Hibernate Spring
JDOSQL
JCP
Apache ObjectWeb SourceForge
OOPSLA, San DiegoOct. 16-20, 2005
7Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
8Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
9Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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!
OOPSLA, San DiegoOct. 16-20, 2005
10Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
11Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Relational Database Tools
■ Connection Wizard– Easily create live
connections to a database server using a JDBC driver
■ Multi-vendor support– Apache Derby– MySQL– DB2
OOPSLA, San DiegoOct. 16-20, 2005
12Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
13Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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.
OOPSLA, San DiegoOct. 16-20, 2005
14Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
XML Tools
■ XML and XSD graphical editors– Assisted editing of XML
content– Constraints enforced– Concise overview of
documents
OOPSLA, San DiegoOct. 16-20, 2005
15Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
XML Tools
■ XML Catalog– Customize XML
resource resolution– Based on OAGIS
XML Catalog standard
– Add DTD, XSD, or any XML resource (WSDL, XSL, etc.)
OOPSLA, San DiegoOct. 16-20, 2005
16Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Web Service Tools
■ Graphical WSDL/XSD Editor – Edit your WSDL file without wrestling with the syntax– Visual overview of Web service
OOPSLA, San DiegoOct. 16-20, 2005
17Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Web Service Tools
■ XML Schema, WSDL, and WS-I validators– Ensure your documents conform to standards (WSDL, XSD) and
standard extensions (WS-I)
OOPSLA, San DiegoOct. 16-20, 2005
18Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Web Service Tools
■ WS-I Test Tools integration in the Eclipse Web Tools– Preference for setting the WS-I conformance level
OOPSLA, San DiegoOct. 16-20, 2005
19Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
20Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Web Service Tools
■ Web Service Explorer– Publish/Discover Web
services.– Invoke Web services
dynamically. No code generation required for testing.
OOPSLA, San DiegoOct. 16-20, 2005
21Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Server Tools
■ Server runtime preference page– Add multiple runtimes
■ Multi-vendor support– Apache Tomcat, JBoss,
JoNAS, WebSphere
OOPSLA, San DiegoOct. 16-20, 2005
22Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Server Tools
■ Server control view– Start, stop, publish, debug, configure servers– Shows current server state
OOPSLA, San DiegoOct. 16-20, 2005
23Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
J2EE Tools
■ New Web project wizard– Select server– Select J2EE version– Customize environment
OOPSLA, San DiegoOct. 16-20, 2005
24Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
J2EE Tools
■ New Servlet wizard– Manage deployment
descriptor– Create Servlet class
OOPSLA, San DiegoOct. 16-20, 2005
25Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
J2EE Tools
■ EJB preference page and wizard– Uses XDoclet
OOPSLA, San DiegoOct. 16-20, 2005
26Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Extending the Web Tools Platform
■ WTP is a platform that allows for extension
■ Some interesting WTP extension points– Server– Structured Source Editing
OOPSLA, San DiegoOct. 16-20, 2005
27Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
28Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
29Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
OOPSLA, San DiegoOct. 16-20, 2005
30Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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
– http://www.eclipsecon.org
OOPSLA, San DiegoOct. 16-20, 2005
31Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
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:
http://www.cs.ubc.ca/~lkf/wtpStudy/or contact Leah Findlater: [email protected]
OOPSLA, San DiegoOct. 16-20, 2005
32Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
Q&A
■ Questions?
OOPSLA, San DiegoOct. 16-20, 2005
33Eclipse Foundation - www.eclipse.orgContent provided under the terms and conditions of the Eclipse Public License Version 1.0
More information is available from…
■ WTP websitehttp://www.eclipse.org/webtools
■ WTP newsgroupnews://news.eclipse.org/eclipse.webtools
■ WTP Community Resources (articles, tutorials, events)
http://www.eclipse.org/webtools/community/community.html
■ Lawrence [email protected]