33
OOPSLA, San Diego Oct. 16-20, 2005 1 Eclipse Foundation - www.eclipse.org Content provided under the terms and conditions of the Eclipse Public License Version 1.0 Lawrence Mandel, IBM Eclipse Web and J2EE Development

Eclipse Web and J2EE Development

  • 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

Page 1: Eclipse Web and J2EE Development

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

Page 2: 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

Page 3: Eclipse Web and J2EE Development

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

Page 4: Eclipse Web and J2EE Development

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

Page 5: Eclipse Web and J2EE Development

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

Page 6: Eclipse Web and J2EE Development

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

Page 7: Eclipse Web and J2EE Development

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

Page 8: Eclipse Web and J2EE Development

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

Page 9: Eclipse Web and J2EE Development

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!

Page 10: Eclipse Web and J2EE Development

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

Page 11: Eclipse Web and J2EE Development

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

Page 12: Eclipse Web and J2EE Development

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

Page 13: Eclipse Web and J2EE Development

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.

Page 14: Eclipse Web and J2EE Development

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

Page 15: Eclipse Web and J2EE Development

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.)

Page 16: Eclipse Web and J2EE Development

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

Page 17: Eclipse Web and J2EE Development

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)

Page 18: Eclipse Web and J2EE Development

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

Page 19: Eclipse Web and J2EE Development

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

Page 20: Eclipse Web and J2EE Development

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.

Page 21: Eclipse Web and J2EE Development

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

Page 22: Eclipse Web and J2EE Development

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

Page 23: Eclipse Web and J2EE Development

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

Page 24: Eclipse Web and J2EE Development

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

Page 25: Eclipse Web and J2EE Development

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

Page 26: Eclipse Web and J2EE Development

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

Page 27: Eclipse Web and J2EE Development

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

Page 28: Eclipse Web and J2EE Development

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

Page 29: Eclipse Web and J2EE Development

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

Page 30: Eclipse Web and J2EE Development

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

Page 31: Eclipse Web and J2EE Development

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]

Page 32: Eclipse Web and J2EE Development

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?

Page 33: Eclipse Web and J2EE Development

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]