Upload
seanna
View
39
Download
0
Embed Size (px)
DESCRIPTION
Eclipse Web and J2EE Development. Lawrence Mandel, IBM. 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 - PowerPoint PPT Presentation
Citation preview
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]