Introduction to the Eclipse Web Tools Platform Project
Introduction to the Eclipse Web Tools Platform Project Dr. Tim Wagner WTP PMC co-lead BEA Systems Sr. Manager www. eclipse. org/webtools TS-7909 2005 Java. One. SM Conference | Session TS-7909
Eclipse Web. Tools Project Open Standards + Open Source Deliver vendor-neutral tools and frameworks for Web applications on the Eclipse platform. wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 2
Agenda Eclipse Background WTP Overview Web Standard Tools (WST) Features Java Standard Tools (JST) Features Future Plans wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 3
BEA’s Eclipse Involvement • • Strategic Developer and board member 2/2005 Co-leading WTP project management committee WTP contributors JDT project to add 1. 5 apt/mirror support Aspect. Werks / Aspect. J merge LDT technology project proposed JRockit profiling and memory leak detection Involvement with Pollinate (tools for Beehive) wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 4
Large (and Growing) Ecosystem wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 5
Depth and Breadth • 95 corporate members • Over 800 third-party plugins (over 500 on Source. Forge) • Over 30 million downloads in 2004 alone • 41 mirrors in 22 countries • 6 top-level projects; 18 technology projects + 6 new proposals wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 6
Delivery Model Ubiquity User Shared Costs “Plumbing” Value-add Proprietary Workshop Customer-centric WTP Platform wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 7
Agenda Eclipse Background WTP Overview WST Features JST Features Future Plans wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 8
Major WTP Themes (0. 7 Release) • Extend Eclipse into the domain of J 2 EE Web Application Development • Define servers, runtimes, and modules • Provide platform API and suitable models for tool developers • Provide core tools for application developers • High quality tools in their own right, plus exemplars for tool developers • Collection of high-fidelity editing services for Web and J 2 EE-related languages wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 9
Contributing Organizations • • • BEA Eteration Exadel IBM Inoopract JBoss • • • Object. Web SAS Thales Turkcell University of Karlsruhe wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 10
Commercial Product Adopters • • • IBM – Rational Application Developer BEA – Web. Logic Workshop Eteration – Lomboz Genuitec – my. Eclipse Innoopract – Yoxos Exadel – Exadel Studio JBoss – JBoss IDE SAP – Net. Weaver Studio Others to be announced… wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 11
Project Charter OASIS, W 3 C, … HTML Server Tools S t a n JCP JSP EJB Language PHP d a r d ? wwww. eclipse. org/webtools Hibernate 2005 Java. One. SM Conference | Session TS-7909 | 12
WTP Architecture EJB J 2 EE Core Annotations Projects Modules Java WS Servlets Web resources JDT XML Web Projects Navigator Views Advanced WTP Server Runtime Common JSP Web Services JST RDB SQL Server Runtime Advanced WST Apache Internet Basis Xerces Validation Command Common Axis Frameworks EMF GEF JEM Platform Projects/Resources Debugging wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 13
Agenda Eclipse Background WTP Overview WST Features • • • Structured Source Editor (SSE) framework HTML, CSS, ECMAScript editors XML, DTD, XSD, WSDL editors Internet tools Basic server tools and framework Web service tools and framework JST Features Future Plans wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 14
Structured Source Editor Framework • Multi-language editing support • Extends basic Eclipse text editor… • Partitions documents into language regions • Associates editing services to each language • Goal: create editors with “JDT-like” features • • • Syntax highlighting As-you-type validation/checking Outline view Property view Content assist wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 15
Structured Source Editor Framework • Light weight Framework for content based editing • Easily embedded in other (multi-page) editors • Easy to extend outline view, properties view, source validation for “mark up” languages, content assist • Extensible: based on content. Type and nested content. Type • Model Text and DOM APIs • • Fault tolerant, incremental parsing Careful tracking of exact source locations Translation from one source representation to another Notification to keep models “in synch” wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 16
HTML Editing • • Wizards for file creation Delimiter completion As-you-type checking Property editing wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 17
CSS Editing • • • Content assist Outline view Bracket matching Property view Structured selection wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 18
ECMAScript Editing • • Syntax highlighting Content assist Delimiter highlighting Outline view wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 19
XML Editing • • Syntax highlighting Content assist Schema catalog Outline view wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 20
XML Editing • Property editor • Delimiter highlighting • Presentation preferences • “Hover” help • Smart insert (closing delimiter, e. g. ) wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 21
XML Editing • Flexible content type association • Find-occurrences • Powerful document (re)formatting wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 22
XML Framework Provides Extensibility • • Catalog control Highly-recovering parser DOM content model Outline view configuration Content assist extensions Validation framework (manual and automatic) Multipage editors (e. g. adding a preview) wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 23
XSD Editing • Graphical and source views wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 24
Internet Tools • Built-in browser and caching support • Moved to platform in 3. 1 • TCP/IP monitor • Proxy settings reflected in Eclipse preferences wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 25
Basic Server Framework • Models types of servers, installed server runtimes, deployable units (modules) • Language- and deploymentneutral • Provides extensible, vendorneutral framework for implementing new server types wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 26
Server View • Actions: start, stop, deploy, debug, add/remove modules • View: current server status, module deployment wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 27
Server Framework (Provisional) APIs • Server Providers • Add support for additional servers • Tomcat, JBoss, Geronimo, … • Module Providers • Add additional module types and “Run on Server” support • J 2 EE Tools • Client App Providers • Provide clients for “Run on Server” operation • Web browser • Client Users • Use API to configure and launch servers, check runtime target • Web Services, DD editors wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 28
WSDL Editor • Graphical and source editing modes • GEF/EMF-based • Integrated XSD editor wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 29
Web Services Explorer • Integrated Web application • UDDI publish and query • Dynamically execute WSDL wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 30
Web Services Tools and Framework • Preferences • WS-I test tools • Validate WSDL and SOAP for WS-I compliance • Extension points for • • Discovery Develop / Assemble / Deploy / Install / Run Test Publish wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 31
Agenda Eclipse Background WTP Overview WST Features JST Features • • • J 2 EE tools and platform Flexible project model Server integration Servlet tools JSP editing Java-based Web Services Future Plans wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 32
JST Features – Extend JDT, WST EJB J 2 EE Core Annotations Projects Modules Servlets Web resources JDT XML Java WS Web Projects Navigator Views Advanced WTP Server Runtime Common JSP Web Services JST RDB SQL Server Runtime Advanced Internet WST Basis Validation Command Common wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 33
J 2 EE Tools • New J 2 EE perspective and project explorer • Support for new project types (EAR, EJB) • Ability to create J 2 EE module structures and artifacts within projects • Import/export J 2 EE deployable archives • Validate J 2 EE artifacts to ensure compliance with the specification wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 34
J 2 EE Framework • • • Natures and builders J 2 EE views and navigators Models (based on EMF) Support for WAR, EAR, other archive formats Models and source editors for deployment descriptors • Server and deployment model wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 35
Flexible Project Model • Arbitrary development-time directory structures • Supports multiple modules/project • Support for WAR, EJB-JAR, EAR, . . . wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 36
Server Integration: Generic • No coding: XML-based server definition • Definition divided into two parts • Runtime definition (start, stop, publisher, classpath) • Properties (per-server values) • Properties can by provided using flexible server tooling UI • ANT build file-based publisher available • Generic server definitions for JBoss 3. 2. 3, JONa. S, Web. Logic 8. 1, Web. Logic 9. 0 wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 37
Server Integration: Custom • Coding required… • Powerful API for adding new server types • • • Build Assembly Publish/[re]Deploy Run/Debug Monitor/Configure • Tomcat, Geronimo support included wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 38
Servlets – Wizards and “Run As. . . ” wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 39
JSP Editing • • • Content assist As-you-type checking Custom tag support Refactoring participation JSP 2. 0 EL support wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 40
JSP Debugging (JSR 045) * only available with JSR 45 compliant servers, e. g. Tomcat >=5 wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 41
Web Service Wizards • Top-down (start from WSDL) • Bottom-up (start from Java) • Extension points for codegen, deploy, test, . . . wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 42
Java Web Services • • • Extends basic Web Service wizard Supports start-from-Java case JAX-RPC codegen, support for Apache Axis JSR 109 deployment Servlet- or EJB-based wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 43
Other JST Features • Java. Doc-based annotation infrastructure • Extensible facility to define tagsets (EJBs, Web Services, etc. ) • Code assist in Java Editors • Use builders for code generation • EJB • • • EJB project type Session and MBean wizards EMF models Editing support (pop-up actions) Support for Java. Doc-based development wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 44
Agenda Eclipse Background WTP Overview WST Features JST Features Future Plans wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 45
Release Timeline JUN JUL AUG SEP OCT NOV DEC JAN 3. 1 FEB MAR APR JUN 3. 2 WTP 0. 7 WTP 1. 0 WTP 1. 5 wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 46
1. 0 Release (December) • Complete flexible project model and enhancements to server functionality modeling • Capture platform point release (3. 1. 1) • Extend documentation coverage • Hardening: bug fixes, performance • APIs (based on community feedback) wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 47
1. 5 Release (Summer ’ 06) • Support J 2 SE 1. 5 (especially annotations) • Leverage new apt component in JDT • Support J 2 EE 1. 5 • JSR 181, e. g. • Rev other standards/supported versions • • Soap 1. 2, WSDL 2. 0 New WS-I profiles WS Security Axis 2. 0 • Additional server types in distribution • Architectural harmonization with other projects • New features: JSR 88, WS-*, … wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 48
For More Information • See demos at Eclipse or BEA booths today • www. eclipse. org/webtools • • • Download M 5 milestone next week! Tutorials and documentation Planning and requirements gathering (1. 0, 1. 5) Community information Newsgroups, mailing lists, developer support • Attend Eclipse. World 2005 in NYC this August • Upcoming apt preview from BEA • Vendor announcements post-0. 7 ship wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 49
Q&A 2005 Java. One. SM Conference | Session TS-7909 | 50
Introduction to the Web Tools Platform Project Dr. Tim Wagner WTP PMC co-lead BEA Systems Sr. Manager www. eclipse. org/webtools TS-7909 2005 Java. One. SM Conference | Session TS-7909
Build Model • Target: one directory per project per server type • No longer nested in workspace • “bin” directory back under user control • Structure builder publisher step • No longer part of build step • Publishing can now do server-specific work • Optional archive generation • Could be added to a custom publish step • Project export still available (manual) wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 52
WTP Requirements Process • Requirements group • Chaired by Jochen Krause, Innoopract (PMC member) • Participation by major WTP developers and consumers • IBM, BEA, Oracle, Genuitec, JBoss • Bi-weekly telecons open to community. Delivers WTP requirements document to PMC for each major release, summarizing themes, major goals, supported platforms • Reviews incoming requirements for clarity, scope (c. f. charter), alignment with themes, target release, and priority • Proposes release numbering and interaction with prerequisite releases • wtp-requirements@ mailing list created to solicit community requirements • Requirements tracked via Bugzilla wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 53
Architectural Harmonization • RDB tools in WTP moving to new DTP project • • Database server explorer SQL scrapbook Output view RDB and SQL models • 3. 2 Platform alignment • Flexible project model (resource layer) • Operations, undo/redo, tabbed view, extensible navigator • Other projects • Validation framework, TCP/IP monitor (TPTP) wwww. eclipse. org/webtools 2005 Java. One. SM Conference | Session TS-7909 | 54
- Slides: 54