1 / 53

Introduction to the Eclipse Web Tools Platform Project

. Deliver vendor-neutral tools and frameworks for Web applications on the Eclipse platform.. Open Standards Open Source. Eclipse WebTools Project. Agenda. Eclipse BackgroundWTP OverviewWeb Standard Tools (WST) FeaturesJava Standard Tools (JST) FeaturesFuture Plans. BEA's Eclipse Involvement. S

rolf
Download Presentation

Introduction to the Eclipse Web Tools Platform Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Introduction to the Eclipse Web Tools Platform Project Dr. Tim Wagner WTP PMC co-lead BEA Systems Sr. Manager www.eclipse.org/webtools This presentation provides a broad overview of the 0.7 release of the Web Tools Platform Project (“WTP”) – a top-level Eclipse project. Speaker biography: Dr. Wagner is a senior manager at BEA Systems, heading the open source tooling for both languages and Web Tools/J2EE. He is also the co-chair of the WTP PMC, the managing committee for the Eclipse WTP project. His Eclipse-focused activities include serving on the architecture and planning councils, as well as chairing the EclipseCon2006 program.This presentation provides a broad overview of the 0.7 release of the Web Tools Platform Project (“WTP”) – a top-level Eclipse project. Speaker biography: Dr. Wagner is a senior manager at BEA Systems, heading the open source tooling for both languages and Web Tools/J2EE. He is also the co-chair of the WTP PMC, the managing committee for the Eclipse WTP project. His Eclipse-focused activities include serving on the architecture and planning councils, as well as chairing the EclipseCon2006 program.

    2. Eclipse WebTools Project The WTP project is intended to extend the range of Eclipse tooling into Web and J2EE applications. It provides end user tools, but is also designed to provide a vendor-neutral platform that can be used by ISVs to deliver their own customized tools. WTP is chartered to provide open source tooling based on open standards – a combination that provides a solid foundation for Eclipse users while still permitting vendors room to innovate in new technology areas. The WTP project is intended to extend the range of Eclipse tooling into Web and J2EE applications. It provides end user tools, but is also designed to provide a vendor-neutral platform that can be used by ISVs to deliver their own customized tools. WTP is chartered to provide open source tooling based on open standards – a combination that provides a solid foundation for Eclipse users while still permitting vendors room to innovate in new technology areas.

    3. Agenda Eclipse Background WTP Overview Web Standard Tools (WST) Features Java Standard Tools (JST) Features Future Plans For those not familiar with Eclipse, this talk will provide a very quick introduction to the Eclipse ecosystem, followed by a high-level discussion of the WTP project as a whole – its charter, the companies involved, and the high-level themes of the current release. The bulk of the presentation will be an exploration of the features provided by the two parts of WTP – the Web Standard Tools, or WST, and the Java Standard Tools, or JST. Finally, the talk will close by looking forward to the content and direction of future WTP releases. For those not familiar with Eclipse, this talk will provide a very quick introduction to the Eclipse ecosystem, followed by a high-level discussion of the WTP project as a whole – its charter, the companies involved, and the high-level themes of the current release. The bulk of the presentation will be an exploration of the features provided by the two parts of WTP – the Web Standard Tools, or WST, and the Java Standard Tools, or JST. Finally, the talk will close by looking forward to the content and direction of future WTP releases.

    4. 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 AspectWerks / AspectJ merge LDT technology project proposed JRockit profiling and memory leak detection Involvement with Pollinate (tools for Beehive) In February 2005, BEA announced its intention to join the Eclipse community at the highest participation level by becoming a corporate Strategic Developer, joining the Eclipse board and contributing financial support to the foundation. This decision was coincided with plans to build all future tooling in open source, using Eclipse and WTP as the basis for WebLogic WorkshopTM and other tools. To further these plans and to support the Eclipse community in these efforts, Tim Wagner, Senior Manager of BEA’s Workshop IDE, joined the WTP project as co-lead just prior to EclipseCon 2005. BEA has already begun contributing code and development resources to WTP, and will continue to support the project with leadership and committer resources. BEA is also involved with several other Eclipse projects, including the addition of a new component to the Java Development Toolkit to support the JDK 1.5 annotation processing technology, work on aspect-oriented programming tools, a new generic language technology proposal, JRockit VM profiling tools, and support of the Pollinate project for Beehive tooling.In February 2005, BEA announced its intention to join the Eclipse community at the highest participation level by becoming a corporate Strategic Developer, joining the Eclipse board and contributing financial support to the foundation. This decision was coincided with plans to build all future tooling in open source, using Eclipse and WTP as the basis for WebLogic WorkshopTM and other tools. To further these plans and to support the Eclipse community in these efforts, Tim Wagner, Senior Manager of BEA’s Workshop IDE, joined the WTP project as co-lead just prior to EclipseCon 2005. BEA has already begun contributing code and development resources to WTP, and will continue to support the project with leadership and committer resources. BEA is also involved with several other Eclipse projects, including the addition of a new component to the Java Development Toolkit to support the JDK 1.5 annotation processing technology, work on aspect-oriented programming tools, a new generic language technology proposal, JRockit VM profiling tools, and support of the Pollinate project for Beehive tooling.

    5. Large (and Growing) Ecosystem Eclipse represents a large and growing ecosystem, with goals well beyond the traditional Java IDE. BEA is only one of many companies that are actively contributing to this multi-vendor open source tooling effort, and even more companies are choosing to build their solutions on top of Eclipse’s rich client platform, IDE, or other tooling technologies.Eclipse represents a large and growing ecosystem, with goals well beyond the traditional Java IDE. BEA is only one of many companies that are actively contributing to this multi-vendor open source tooling effort, and even more companies are choosing to build their solutions on top of Eclipse’s rich client platform, IDE, or other tooling technologies.

    6. Depth and Breadth 95 corporate members Over 800 third-party plugins (over 500 on SourceForge) Over 30 million downloads in 2004 alone 41 mirrors in 22 countries 6 top-level projects; 18 technology projects + 6 new proposals The pace of Eclipse’s growth makes it impossible to keep statistics up to date. These numbers represent a snapshot from early May, and are already outdated. They indicate the breadth and depth of Eclipse adoption and involvement, facilitated by vendor-positive licensing terms and a firm commitment to the transparency and neutrality of the open source process. The pace of Eclipse’s growth makes it impossible to keep statistics up to date. These numbers represent a snapshot from early May, and are already outdated. They indicate the breadth and depth of Eclipse adoption and involvement, facilitated by vendor-positive licensing terms and a firm commitment to the transparency and neutrality of the open source process.

    7. Delivery Model The Eclipse platform project provides the base on which WTP and all other Eclipse projects are layered. WTP extends the basic Java IDE and RCP platform with Web- and J2EE-based tools, as well as providing its own APIs that ISVs can build on. The open source model succeeds because it provides a useful division of labor – the platform layers are open source, which means that the plumbing – and the cost of creating it – can be shared across many companies. These foundation layers are free, and therefore ubiquitous, guaranteeing market penetration and framework adoption. This arrangement leaves companies such as BEA or IBM free to concentrate on providing their own value add on top of WTP – the customer-centric functionality that differentiates these proprietary offerings and represents the unique portion of the stack. Like the Eclipse platform itself, WTP’s platform APIs are specifically designed to be vendor neutral and adoption friendly. The Eclipse platform project provides the base on which WTP and all other Eclipse projects are layered. WTP extends the basic Java IDE and RCP platform with Web- and J2EE-based tools, as well as providing its own APIs that ISVs can build on. The open source model succeeds because it provides a useful division of labor – the platform layers are open source, which means that the plumbing – and the cost of creating it – can be shared across many companies. These foundation layers are free, and therefore ubiquitous, guaranteeing market penetration and framework adoption. This arrangement leaves companies such as BEA or IBM free to concentrate on providing their own value add on top of WTP – the customer-centric functionality that differentiates these proprietary offerings and represents the unique portion of the stack. Like the Eclipse platform itself, WTP’s platform APIs are specifically designed to be vendor neutral and adoption friendly.

    8. Agenda Eclipse Background WTP Overview WST Features JST Features Future Plans The remainder of the talk will focus on WTP specifically. WTP development is nearly a year old, and getting ready for its public debut – the 0.7 release is scheduled to ship next month. WTP releases nightly builds, a weekly integration build, and roughly one milestone build every eight weeks. The next, and final, milestone build for 0.7 is M5 and is slated to arrive at the beginning of July. Early adopters responded that locating and installing all the prerequisites for WTP was burdensome, so milestone builds and releases offer a “prepackaged” download option that includes the Eclipse platform plus all prerequisite projects. In addition, an Eclipse download site at SourceForge simplifies the job of downloading new versions of Axis, WSDL4J, WSIL4J, and UDDI4J. The remainder of the talk will focus on WTP specifically. WTP development is nearly a year old, and getting ready for its public debut – the 0.7 release is scheduled to ship next month. WTP releases nightly builds, a weekly integration build, and roughly one milestone build every eight weeks. The next, and final, milestone build for 0.7 is M5 and is slated to arrive at the beginning of July. Early adopters responded that locating and installing all the prerequisites for WTP was burdensome, so milestone builds and releases offer a “prepackaged” download option that includes the Eclipse platform plus all prerequisite projects. In addition, an Eclipse download site at SourceForge simplifies the job of downloading new versions of Axis, WSDL4J, WSIL4J, and UDDI4J.

    9. Major WTP Themes (0.7 Release) Extend Eclipse into the domain of J2EE 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 J2EE-related languages WTP’s initial release, numbered 0.7, concentrates on several areas. The overarching goal is to take Eclipse tooling into the domain of Web and J2EE application development. WTP models different types of server runtimes and individual servers themselves, as well as modules deployed to these servers and tools to visualize server and deployment state. WTP assists tool developers by providing models for common J2EE artifacts, such as deployment descriptors. Internally, these are represented by EMF (Eclipse Modeling Framework) models. Tools are provided for end users, and may also be exploited by tool developers wanting to extend or modify them to provide customized offerings. WTP’s tools include a variety of source editors that extend the Java editing functionality of the Eclipse JDT into the multitude of Web languages, including HTML, CSS, JSP, XML, and others.WTP’s initial release, numbered 0.7, concentrates on several areas. The overarching goal is to take Eclipse tooling into the domain of Web and J2EE application development. WTP models different types of server runtimes and individual servers themselves, as well as modules deployed to these servers and tools to visualize server and deployment state. WTP assists tool developers by providing models for common J2EE artifacts, such as deployment descriptors. Internally, these are represented by EMF (Eclipse Modeling Framework) models. Tools are provided for end users, and may also be exploited by tool developers wanting to extend or modify them to provide customized offerings. WTP’s tools include a variety of source editors that extend the Java editing functionality of the Eclipse JDT into the multitude of Web languages, including HTML, CSS, JSP, XML, and others.

    10. Contributing Organizations BEA Eteration Exadel IBM Inoopract JBoss ObjectWeb SAS Thales Turkcell University of Karlsruhe Many companies and organizations have contributed resources to the WTP project, including initial code contributions from IBM and Eteration and initial project management from ObjectWeb. The WTP project is openly soliciting contributions and development resources, so please contact the PMC if you’d like to get involved. In a late-breaking newsflash, Oracle has announced their plans to contribute Java Server Faces tooling as a component of WTP. The project will start this summer and target a future release of WTP. Many companies and organizations have contributed resources to the WTP project, including initial code contributions from IBM and Eteration and initial project management from ObjectWeb. The WTP project is openly soliciting contributions and development resources, so please contact the PMC if you’d like to get involved. In a late-breaking newsflash, Oracle has announced their plans to contribute Java Server Faces tooling as a component of WTP. The project will start this summer and target a future release of WTP.

    11. Commercial Product Adopters IBM – Rational Application Developer BEA – WebLogic Workshop Eteration – Lomboz Genuitec – myEclipse Innoopract – Yoxos Exadel – Exadel Studio JBoss – JBoss IDE SAP – NetWeaver Studio Others to be announced… Despite its pre-release status, many companies have already stated their intentions to deliver commercial offerings built on, or incorporating WTP. Look for additional announcements regarding WTP adoption between now and the 0.7 release next month. Despite its pre-release status, many companies have already stated their intentions to deliver commercial offerings built on, or incorporating WTP. Look for additional announcements regarding WTP adoption between now and the 0.7 release next month.

    12. Project Charter Each Eclipse project, including WTP, has a written charter that describes its scope, high-level goals, and internal organization. WTP is intentionally scoped to be standards based – that is, its tools and APIs target runtime technologies based on specifications from recognized standards bodies such as OASIS, W3C, and JCP. Out of scope, therefore, are technologies not subject to such specifications; of course, ISVs building on top of WTP are free to supply tools and APIs in these areas, and can make this part of their product differentiation. Internally, WTP is roughly organized by language, with the J2EE tools contained in the JST project, and technologies that do not rely on J2EE standards in the WST project. Each Eclipse project, including WTP, has a written charter that describes its scope, high-level goals, and internal organization. WTP is intentionally scoped to be standards based – that is, its tools and APIs target runtime technologies based on specifications from recognized standards bodies such as OASIS, W3C, and JCP. Out of scope, therefore, are technologies not subject to such specifications; of course, ISVs building on top of WTP are free to supply tools and APIs in these areas, and can make this part of their product differentiation. Internally, WTP is roughly organized by language, with the J2EE tools contained in the JST project, and technologies that do not rely on J2EE standards in the WST project.

    13. WTP Architecture This chart provides a bird’s eye view of the WTP architecture. You can see the JST layered on top of the WST plus the JDT – the Java Development Toolkit – and other platform technologies. WTP also depends on three additional Eclipse projects – EMF for modeling tools, GEF for graphical viewer construction, and JEM for Java language modeling. Additionally, WTP incorporates a large number of open source technologies apart from Eclipse itself, as suggested by the box on the right showing the use of Xerces and Axis. Note that WTP is strictly about tooling – it does not contain any run-time technologies, although it supports several of them. It’s also useful to note what is explicitly out of the charter for WTP: Data tools are now a separate top-level project, as are test and performance tools. Two new technology projects have been formed by Oracle and Versant to pursue object-relational mappings as part of EJB 3.0 tooling.This chart provides a bird’s eye view of the WTP architecture. You can see the JST layered on top of the WST plus the JDT – the Java Development Toolkit – and other platform technologies. WTP also depends on three additional Eclipse projects – EMF for modeling tools, GEF for graphical viewer construction, and JEM for Java language modeling. Additionally, WTP incorporates a large number of open source technologies apart from Eclipse itself, as suggested by the box on the right showing the use of Xerces and Axis. Note that WTP is strictly about tooling – it does not contain any run-time technologies, although it supports several of them. It’s also useful to note what is explicitly out of the charter for WTP: Data tools are now a separate top-level project, as are test and performance tools. Two new technology projects have been formed by Oracle and Versant to pursue object-relational mappings as part of EJB 3.0 tooling.

    14. 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 WST includes four major areas of functionality: a framework for constructing language services, known as the structured source editor, or “SSE”, and the actual Web language editors based on it, Internet tools, tools and frameworks for working with servers, and tools and frameworks targeting Web Services. WST includes four major areas of functionality: a framework for constructing language services, known as the structured source editor, or “SSE”, and the actual Web language editors based on it, Internet tools, tools and frameworks for working with servers, and tools and frameworks targeting Web Services.

    15. 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 The structured source editor framework is designed to support multiple languages, each with its own notion of editing semantics, coupled with a more powerful document model that understands the concept of nested regions and mappings of these regions to language-specific editing services. The goal is to extend the high fidelity features users associate with Eclipse’s Java editing experience to HTML, CSS, and other languages, without requiring each new language to reinvent the wheel. SSE therefore provides framework support for syntax highlighting based on lexical analysis, syntactic and semantic diagnostic reporting, outline and property views, and content assistance. These facilities are then customized on a per language basis to create the actual tools that are part of WTP. The structured source editor framework is designed to support multiple languages, each with its own notion of editing semantics, coupled with a more powerful document model that understands the concept of nested regions and mappings of these regions to language-specific editing services. The goal is to extend the high fidelity features users associate with Eclipse’s Java editing experience to HTML, CSS, and other languages, without requiring each new language to reinvent the wheel. SSE therefore provides framework support for syntax highlighting based on lexical analysis, syntactic and semantic diagnostic reporting, outline and property views, and content assistance. These facilities are then customized on a per language basis to create the actual tools that are part of WTP.

    16. Structured Source Editor Framework ISVs can also use SSE to support editing of new languages or additional types of documents. The framework itself supports the notion of content-based editing, and can be embedded within multi-page editors that enable simultaneous source and graphical editing. Outline and property view interaction can be customized, as can validation and content assistance. SSE models document content as both text and DOM (i.e., structural representation), and uses fault-tolerant, recovering parsers to map accurately between the two representations. Third parties can leverage this infrastructure by providing their own parsers with similar characteristics.ISVs can also use SSE to support editing of new languages or additional types of documents. The framework itself supports the notion of content-based editing, and can be embedded within multi-page editors that enable simultaneous source and graphical editing. Outline and property view interaction can be customized, as can validation and content assistance. SSE models document content as both text and DOM (i.e., structural representation), and uses fault-tolerant, recovering parsers to map accurately between the two representations. Third parties can leverage this infrastructure by providing their own parsers with similar characteristics.

    17. HTML Editing Wizards for file creation Delimiter completion As-you-type checking Property editing All of the languages supported by WTP are built using the SSE framework. HTML support includes customizable templates for wizard-based file creation and source editing features such as syntax highlighting, automatic delimiter completion, syntactic and semantic checks, editing via the property view, and link following. HTML editing is also supported in mixed-document cases, such as JSP files. All of the languages supported by WTP are built using the SSE framework. HTML support includes customizable templates for wizard-based file creation and source editing features such as syntax highlighting, automatic delimiter completion, syntactic and semantic checks, editing via the property view, and link following. HTML editing is also supported in mixed-document cases, such as JSP files.

    18. CSS Editing Content assist Outline view Bracket matching Property view Structured selection Similarly, CSS supports content assist, outline and property views, bracket matching, and structural selection. As we go through the multitude of languages supported, a natural question that arises is whether new languages outside of WTP should also be built on SSE. In fact, BEA has proposed a new technology project known as “LDT” for “Language Development Toolkit” to explore the question of combining JDT and SSE features into a general purpose toolbox for people wishing to add new languages to Eclipse. IBM and BEA are jointly working on the creation proposal for this project. Similarly, CSS supports content assist, outline and property views, bracket matching, and structural selection. As we go through the multitude of languages supported, a natural question that arises is whether new languages outside of WTP should also be built on SSE. In fact, BEA has proposed a new technology project known as “LDT” for “Language Development Toolkit” to explore the question of combining JDT and SSE features into a general purpose toolbox for people wishing to add new languages to Eclipse. IBM and BEA are jointly working on the creation proposal for this project.

    19. ECMAScript Editing Syntax highlighting Content assist Delimiter highlighting Outline view Limited support for ECMAScript editing is also provided, chiefly syntax and delimiter highlighting with some content assist and a basic outline view. WTP is actively recruiting parties interested in enhancing support for ECMAScript and other scripting languages. Limited support for ECMAScript editing is also provided, chiefly syntax and delimiter highlighting with some content assist and a basic outline view. WTP is actively recruiting parties interested in enhancing support for ECMAScript and other scripting languages.

    20. XML Editing Syntax highlighting Content assist Schema catalog Outline view WTP includes rich support for the entire XML family. In addition to all the basic source editing services, an on-disk schema catalog is present to enable schema validation to occur without a live network connection. Significant performance analysis has resulted in a scalable implementation that can support even large XML data files. WTP includes rich support for the entire XML family. In addition to all the basic source editing services, an on-disk schema catalog is present to enable schema validation to occur without a live network connection. Significant performance analysis has resulted in a scalable implementation that can support even large XML data files.

    21. XML Editing Property editor Delimiter highlighting Presentation preferences “Hover” help Smart insert (closing delimiter, e.g.) Property editing enables top-down document construction, driven by the schema.Property editing enables top-down document construction, driven by the schema.

    22. XML Editing Flexible content type association Find-occurrences Powerful document (re)formatting Since not all XML syntax is contained within files ending in “.xml”, WTP enables the user to establish more complex mappings between files and their content type. XML source editing also includes smart content assist that exploits schema information to filter the proposals offered to the user. Support for renaming elements and reformatting is also included. Since not all XML syntax is contained within files ending in “.xml”, WTP enables the user to establish more complex mappings between files and their content type. XML source editing also includes smart content assist that exploits schema information to filter the proposals offered to the user. Support for renaming elements and reformatting is also included.

    23. 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) ISVs can also provide customizations of the XML experience for more refined document types. This includes the ability to control the XML catalog, direct use of the recovering XML parser and DOM content model, along with the ability to customize views and validation. XML source editing and related views can also be embedded within a multipage editor, for instance, one which provides a graphical preview of the document as an alternate visualization.ISVs can also provide customizations of the XML experience for more refined document types. This includes the ability to control the XML catalog, direct use of the recovering XML parser and DOM content model, along with the ability to customize views and validation. XML source editing and related views can also be embedded within a multipage editor, for instance, one which provides a graphical preview of the document as an alternate visualization.

    24. XSD Editing Graphical and source views WTP exposes the XSD tools of the EMF project, providing users with both graphical and source editors for XSDs. WTP also includes support for source editing of DTDs. One possible feature in future WTP releases is the extension of the Java project model to embrace XML Schema and other languages. BEA and others are actively pursuing this concept as a way to more tightly integrate schema-to-Java binding technologies into a first-class editing experience for users. WTP exposes the XSD tools of the EMF project, providing users with both graphical and source editors for XSDs. WTP also includes support for source editing of DTDs. One possible feature in future WTP releases is the extension of the Java project model to embrace XML Schema and other languages. BEA and others are actively pursuing this concept as a way to more tightly integrate schema-to-Java binding technologies into a first-class editing experience for users.

    25. Internet Tools Built-in browser and caching support Moved to platform in 3.1 TCP/IP monitor Proxy settings reflected in Eclipse preferences WTP includes a built-in Internet browser and cache. This functionality was moved into the platform in 3.1, and is being released this week as part of the 3.1 GA. WTP also includes a TCP/IP traffic monitor and support for proxy settings as part of the Eclipse preferences. WTP includes a built-in Internet browser and cache. This functionality was moved into the platform in 3.1, and is being released this week as part of the 3.1 GA. WTP also includes a TCP/IP traffic monitor and support for proxy settings as part of the Eclipse preferences.

    26. Basic Server Framework Models types of servers, installed server runtimes, deployable units (modules) Language- and deployment-neutral Provides extensible, vendor-neutral framework for implementing new server types WST can model multiple types of runtimes, known as installed server runtimes or server types, as well as multiple instances of each such runtime. Deployable units or modules can be published to individual servers. WST’s server framework is language and technology neutral; it can be used for database servers, Web servers, indeed, anything that can be construed as a stateful container. ISVs can exploit this framework by adding additional server types, defining new servers, and customizing the type and behavior of deployment modules. WST can model multiple types of runtimes, known as installed server runtimes or server types, as well as multiple instances of each such runtime. Deployable units or modules can be published to individual servers. WST’s server framework is language and technology neutral; it can be used for database servers, Web servers, indeed, anything that can be construed as a stateful container. ISVs can exploit this framework by adding additional server types, defining new servers, and customizing the type and behavior of deployment modules.

    27. Server View Actions: start, stop, deploy, debug, add/remove modules View: current server status, module deployment The server view provides a graphical visualization of the state of each server, including module deployment status. This view enables users to manage individual servers, including starting and stopping them, as well as managing the deployment status of each module on the server. Wizards also exist to support the installation of new server types and the definition of new servers. Users can target applications to a specific server, add and remove projects from servers, publish applications to servers, and debug running applications. The server view provides a graphical visualization of the state of each server, including module deployment status. This view enables users to manage individual servers, including starting and stopping them, as well as managing the deployment status of each module on the server. Wizards also exist to support the installation of new server types and the definition of new servers. Users can target applications to a specific server, add and remove projects from servers, publish applications to servers, and debug running applications.

    28. 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 J2EE 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 The WST server framework defines a collection of provisional APIs to enable ISVs to define new server types, create additional types of modules or customize the deployment semantics of existing modules, adapt client behavior for the “Run on Server” operation, and extend or customize the control of running servers. Vendors can use these APIs to deliver customized browsing or testing environments, alter the look and feel of the server view, or create functionality for new classes of servers. The WST server framework defines a collection of provisional APIs to enable ISVs to define new server types, create additional types of modules or customize the deployment semantics of existing modules, adapt client behavior for the “Run on Server” operation, and extend or customize the control of running servers. Vendors can use these APIs to deliver customized browsing or testing environments, alter the look and feel of the server view, or create functionality for new classes of servers.

    29. WSDL Editor Graphical and source editing modes GEF/EMF-based Integrated XSD editor WST includes several tools designed to enable Web Services. WSDL editing enables users to easily create new WSDL files and to view and modify existing WSDL definitions. The WTP WSDL editor is based on the Eclipse Graphical Editing Framework (“GEF”) technology. WSDL editing is integrated with the XSD editor, so that nested schemas can also be edited. WST includes several tools designed to enable Web Services. WSDL editing enables users to easily create new WSDL files and to view and modify existing WSDL definitions. The WTP WSDL editor is based on the Eclipse Graphical Editing Framework (“GEF”) technology. WSDL editing is integrated with the XSD editor, so that nested schemas can also be edited.

    30. Web Services Explorer Integrated Web application UDDI publish and query Dynamically execute WSDL The Web Services Explorer is an integrated Web application that enables discovery and testing of existing Web Services, as well as the UDDI publishing of newly created services. With the WSExplorer, WTP supports the entire Web Service lifecycle, from authoring, through deployment, debugging, testing, and UDDI publication. The Web Services Explorer is an integrated Web application that enables discovery and testing of existing Web Services, as well as the UDDI publishing of newly created services. With the WSExplorer, WTP supports the entire Web Service lifecycle, from authoring, through deployment, debugging, testing, and UDDI publication.

    31. 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 The WS-I validation project, formerly separate, has been merged into WTP, and provides support for compliance testing of both WSDL and SOAP messages against the WS-I basic profile. This enables users to ensure that the Web Services they’re developing are known to be interoperable. ISVs can further customize the Web Service functionality at the various points in the lifecycle.The WS-I validation project, formerly separate, has been merged into WTP, and provides support for compliance testing of both WSDL and SOAP messages against the WS-I basic profile. This enables users to ensure that the Web Services they’re developing are known to be interoperable. ISVs can further customize the Web Service functionality at the various points in the lifecycle.

    32. Agenda Eclipse Background WTP Overview WST Features JST Features J2EE tools and platform Flexible project model Server integration Servlet tools JSP editing Java-based Web Services Future Plans JST is the portion of WTP that is J2EE specific. Its goal is to provide tools and platform APIs specifically designed to model and support JCP standards targeting Web or application servers in J2SE and J2EE. The current release of WTP support J2EE versions 1.2, 1.3, and 1.4. There are six principal areas of functionality within JST: basic J2EE tools and modeling, the flexible project structure, support for J2EE application servers, servlet tools, the JSP editor, and Java-based Web Services functionality. JST is the portion of WTP that is J2EE specific. Its goal is to provide tools and platform APIs specifically designed to model and support JCP standards targeting Web or application servers in J2SE and J2EE. The current release of WTP support J2EE versions 1.2, 1.3, and 1.4. There are six principal areas of functionality within JST: basic J2EE tools and modeling, the flexible project structure, support for J2EE application servers, servlet tools, the JSP editor, and Java-based Web Services functionality.

    33. JST Features – Extend JDT, WST JST is layered on top of WST and JDT – the Eclipse platform Java Development Toolkit. JSP editing, for example, relies on the platform’s Java IDE feature set. JST is layered on top of WST and JDT – the Eclipse platform Java Development Toolkit. JSP editing, for example, relies on the platform’s Java IDE feature set.

    34. J2EE Tools New J2EE perspective and project explorer Support for new project types (EAR, EJB) Ability to create J2EE module structures and artifacts within projects Import/export J2EE deployable archives Validate J2EE artifacts to ensure compliance with the specification A perspective in Eclipse is a an arrangement of views and editors designed to facilitate a particular set of activities. WTP defines a J2EE perspective that makes it easy to access the navigational and editing aids most frequently needed when working with applications. Another ease-of-use feature is the project explorer, which provides a virtual view of the application resources, giving the user a visualization of both on-disk resources as well as virtual resources like servlets, EJBs, and deployment descriptor artifacts. EAR projects enable the user to compose applications from multiple projects, including the new EJB projects. This is an even more powerful compositional model than hierarchical arrangements, since it permits a single project to exist in multiple EARs simultaneously. JST also defines deployable J2EE modules, enables import and export of archives, and includes validation for J2EE artifacts. A perspective in Eclipse is a an arrangement of views and editors designed to facilitate a particular set of activities. WTP defines a J2EE perspective that makes it easy to access the navigational and editing aids most frequently needed when working with applications. Another ease-of-use feature is the project explorer, which provides a virtual view of the application resources, giving the user a visualization of both on-disk resources as well as virtual resources like servlets, EJBs, and deployment descriptor artifacts. EAR projects enable the user to compose applications from multiple projects, including the new EJB projects. This is an even more powerful compositional model than hierarchical arrangements, since it permits a single project to exist in multiple EARs simultaneously. JST also defines deployable J2EE modules, enables import and export of archives, and includes validation for J2EE artifacts.

    35. J2EE Framework Natures and builders J2EE 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 A significant effort has been made in WTP to make the J2EE framework suitable for tool vendors to build on and customize. The build infrastructure in particular is worth mentioning, since it’s been in flux between the M4 and M5 milestones. There is now one build target directory per project per server type, and build output will no longer be nested within the workspace. This places the “bin” directory back under the user’s control for normal build activities. “Structure builders” are being replaced with a publisher assembly step, which performs better and can include server-specific actions. Project export and optional archive generation are still available as before. A significant effort has been made in WTP to make the J2EE framework suitable for tool vendors to build on and customize. The build infrastructure in particular is worth mentioning, since it’s been in flux between the M4 and M5 milestones. There is now one build target directory per project per server type, and build output will no longer be nested within the workspace. This places the “bin” directory back under the user’s control for normal build activities. “Structure builders” are being replaced with a publisher assembly step, which performs better and can include server-specific actions. Project export and optional archive generation are still available as before.

    36. Flexible Project Model The flexible project model was introduced in WTP to handle two problems: first, the fact that a natural project boundary might actually encompass multiple deployable modules within it, and second, the fact that development-time directory structure is not necessarily a one-to-one map for the deployment layout. WTP generalizes the platform project model for the first case, and discussions with the platform team about merging these changes in 3.2 are ongoing.The flexible project model was introduced in WTP to handle two problems: first, the fact that a natural project boundary might actually encompass multiple deployable modules within it, and second, the fact that development-time directory structure is not necessarily a one-to-one map for the deployment layout. WTP generalizes the platform project model for the first case, and discussions with the platform team about merging these changes in 3.2 are ongoing.

    37. 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, JONaS, WebLogic 8.1, WebLogic 9.0 As with WST, support for defining new server types is a major focus of JST – in this case, J2EE-based application servers. There are two different ways in which server type definitions can be provided to WTP. The generic server definition approach was created to support a simple, XML-based configuration facility that doesn’t require complex coding. Using this approach, a new server can be added simply by defining some basic actions and server-specific properties. Ant tasks can be used for publishing. While limited to basic operations, this is the easiest way to add a new server type. Definitions for several common server types are provided with the WTP download. As with WST, support for defining new server types is a major focus of JST – in this case, J2EE-based application servers. There are two different ways in which server type definitions can be provided to WTP. The generic server definition approach was created to support a simple, XML-based configuration facility that doesn’t require complex coding. Using this approach, a new server can be added simply by defining some basic actions and server-specific properties. Ant tasks can be used for publishing. While limited to basic operations, this is the easiest way to add a new server type. Definitions for several common server types are provided with the WTP download.

    38. 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 Of course, commercial tool vendors will typically want to exploit the additional features or performance advantages available from a specific application server. To achieve this, a custom server type can be created using WTP extension points. Custom server types enable arbitrarily complex implementations of the build, assemble, deploy, run, debug, and monitor actions. Server-specific features such as incremental redeployment that are not available with the generic approach can be accessed using these APIs. A custom server type definition for Apache Geronimo is included in WTP 0.7. (WST also includes support for the Apache Tomcat Web server.) Of course, commercial tool vendors will typically want to exploit the additional features or performance advantages available from a specific application server. To achieve this, a custom server type can be created using WTP extension points. Custom server types enable arbitrarily complex implementations of the build, assemble, deploy, run, debug, and monitor actions. Server-specific features such as incremental redeployment that are not available with the generic approach can be accessed using these APIs. A custom server type definition for Apache Geronimo is included in WTP 0.7. (WST also includes support for the Apache Tomcat Web server.)

    39. Servlets – Wizards and “Run As...” WTP also makes it easy to work with servlets. Wizards support the creation of servlets from templates. The project navigator includes a virtual representation of the servlets in a web project, as well as access to the conventional view of web-app.xml, and the “Run As…” context menu enables easy deployment and testing on any running server or configured server definition. WTP also makes it easy to work with servlets. Wizards support the creation of servlets from templates. The project navigator includes a virtual representation of the servlets in a web project, as well as access to the conventional view of web-app.xml, and the “Run As…” context menu enables easy deployment and testing on any running server or configured server definition.

    40. JSP Editing JSP rounds out the list of languages provided by WTP, and it’s the most complex and feature-rich. Content assist is available for both Java and HTML portions of the document, and the all the checking and completion support of the JDT – including its Java 1.5 support – is available for the Java regions of a JSP file. Custom tags and support for JSP 2.0 expression language, including content assist within it, are provided. One of the newest features is refactoring participation, so that, for example, renaming a Java method will also catch references to it within a JSP file. JSP rounds out the list of languages provided by WTP, and it’s the most complex and feature-rich. Content assist is available for both Java and HTML portions of the document, and the all the checking and completion support of the JDT – including its Java 1.5 support – is available for the Java regions of a JSP file. Custom tags and support for JSP 2.0 expression language, including content assist within it, are provided. One of the newest features is refactoring participation, so that, for example, renaming a Java method will also catch references to it within a JSP file.

    41. JSP Debugging (JSR 045) WTP also supports JSP debugging with a JSR 045-compliant implementation. WTP also supports JSP debugging with a JSR 045-compliant implementation.

    42. Web Service Wizards Top-down (start from WSDL) Bottom-up (start from Java) Extension points for codegen, deploy, test, ... Creating new Web Services is simplified by the Web Service wizards, which support both top-down (start from WSDL) and bottom-up (start from Java) scenarios. The wizards support creation of both client and server side code. The client generation wizard includes proxy and test client generation, so that a running test browser can be hitting the target Web Server just by pointing at the appropriate WSDL and clicking a few buttons. ISVs can customize these wizards in various ways, including code generation and wizard-driven commands. Creating new Web Services is simplified by the Web Service wizards, which support both top-down (start from WSDL) and bottom-up (start from Java) scenarios. The wizards support creation of both client and server side code. The client generation wizard includes proxy and test client generation, so that a running test browser can be hitting the target Web Server just by pointing at the appropriate WSDL and clicking a few buttons. ISVs can customize these wizards in various ways, including code generation and wizard-driven commands.

    43. 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 Most Web Service functionality was covered in WST, but there are some portions which are Java specific, including JAX-RPC code generation, support for Apache Axis, and JSR 109-based deployment. WTP also supports a start-from-Java scenario for Web Service creation, using POJO’s, and support for JavaDoc annotations is also enabled for tool providers. Most Web Service functionality was covered in WST, but there are some portions which are Java specific, including JAX-RPC code generation, support for Apache Axis, and JSR 109-based deployment. WTP also supports a start-from-Java scenario for Web Service creation, using POJO’s, and support for JavaDoc annotations is also enabled for tool providers.

    44. Other JST Features JavaDoc-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 JavaDoc-based development WTP 0.7 includes support for JavaDoc-based annotations for defining EJBs, Web Services, or other forms of start-from-Java code generation. Future releases will migrate to the JSR 175 annotations, now that they are present in J2SE 1.5. To prepare for this, BEA is actively contributing a new component to the JDT to support the processing of annotations and the incorporation of apt-like functionality from the 1.5 JDK in Eclipse. WTP and other Eclipse projects will be able to build on this foundation in future versions, making tooling for JSR 181 and other annotation-based definitions possible. Finally, WTP includes support for session and management beans in 0.7, including models, editing support, JavaDoc-based development, and specialized project types. Both Oracle and Versant have proposed technology projects to pursue EJB 3.0 tooling, particularly the object-relational mapping technologies and data tooling. Future releases of WTP will likely see EJB 3.0 support, including support for entity beans, that make use of these and other emerging tool solutions in Eclipse.WTP 0.7 includes support for JavaDoc-based annotations for defining EJBs, Web Services, or other forms of start-from-Java code generation. Future releases will migrate to the JSR 175 annotations, now that they are present in J2SE 1.5. To prepare for this, BEA is actively contributing a new component to the JDT to support the processing of annotations and the incorporation of apt-like functionality from the 1.5 JDK in Eclipse. WTP and other Eclipse projects will be able to build on this foundation in future versions, making tooling for JSR 181 and other annotation-based definitions possible. Finally, WTP includes support for session and management beans in 0.7, including models, editing support, JavaDoc-based development, and specialized project types. Both Oracle and Versant have proposed technology projects to pursue EJB 3.0 tooling, particularly the object-relational mapping technologies and data tooling. Future releases of WTP will likely see EJB 3.0 support, including support for entity beans, that make use of these and other emerging tool solutions in Eclipse.

    45. Agenda Eclipse Background WTP Overview WST Features JST Features Future Plans

    46. Release Timeline WTP’s initial release, numbered 0.7, will occur in approximately a month, roughly 30 days after the Eclipse 3.1 platform ships. WTP is currently in rampdown mode, fixing bugs and engaging in fit & finish polishing, documentation, and performance analysis. In the initial release, all APIs are provisional, to enable time for clients to adopt WTP, build on, and provide comment before anything is made final. Subsequent releases will finalize increasingly large portions of the API surface area, but in general there will be at least a one release lag between an APIs introduction in provisional status and its finalization. The next release of WTP will be in December 2005, followed by a release in summer 2006 designed to coordinate with the platform. WTP’s initial release, numbered 0.7, will occur in approximately a month, roughly 30 days after the Eclipse 3.1 platform ships. WTP is currently in rampdown mode, fixing bugs and engaging in fit & finish polishing, documentation, and performance analysis. In the initial release, all APIs are provisional, to enable time for clients to adopt WTP, build on, and provide comment before anything is made final. Subsequent releases will finalize increasingly large portions of the API surface area, but in general there will be at least a one release lag between an APIs introduction in provisional status and its finalization. The next release of WTP will be in December 2005, followed by a release in summer 2006 designed to coordinate with the platform.

    47. 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) The 1.0 release is primarily focused on hardening. In feature terms, work is concentrated on finalizing the modeling of server functionality and the resolution of open issues, including possible platform migration, around the flexible project model. The 1.0 will also contain bug fixes and will be based on the next platform point release, presumed to be 3.1.1 Performance enhancements and updates to documentation and the help system are also planned. Finally, feedback from the community will be used to determine which of the provisional APIs in the 0.7 release to make permanent. The 1.0 release is primarily focused on hardening. In feature terms, work is concentrated on finalizing the modeling of server functionality and the resolution of open issues, including possible platform migration, around the flexible project model. The 1.0 will also contain bug fixes and will be based on the next platform point release, presumed to be 3.1.1 Performance enhancements and updates to documentation and the help system are also planned. Finally, feedback from the community will be used to determine which of the provisional APIs in the 0.7 release to make permanent.

    48. 1.5 Release (Summer ’06) Support J2SE 1.5 (especially annotations) Leverage new apt component in JDT Support J2EE 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-*, … The 1.5 release is slated to come out next summer, and will be the first WTP release to coordinate its ship schedule with the Eclipse platform and other fundamental projects, including EMF. The primary themes of the 1.5 release are to support J2SE 1.5 features such as annotations and the new features of J2EE 1.5, such as JSR 181, the annotated Web Service definition. Other supported versions will be revved as time permits. The 1.5 release will also focus on increasing the number of server type definitions, both open source and commercial, and on solving some of the overlap issues between WTP and the platform and between WTP and other projects, such as DTP (the Data Tools Platform project) and TPTP (the Test and Profiling Tools Platform project). Additional features will be added as time permits, likely including standardized deployment support, possibly additional WS specifications, enhanced editing support for JSP, HTML, and XML, and project modeling for schemas. The 1.5 release is slated to come out next summer, and will be the first WTP release to coordinate its ship schedule with the Eclipse platform and other fundamental projects, including EMF. The primary themes of the 1.5 release are to support J2SE 1.5 features such as annotations and the new features of J2EE 1.5, such as JSR 181, the annotated Web Service definition. Other supported versions will be revved as time permits. The 1.5 release will also focus on increasing the number of server type definitions, both open source and commercial, and on solving some of the overlap issues between WTP and the platform and between WTP and other projects, such as DTP (the Data Tools Platform project) and TPTP (the Test and Profiling Tools Platform project). Additional features will be added as time permits, likely including standardized deployment support, possibly additional WS specifications, enhanced editing support for JSP, HTML, and XML, and project modeling for schemas.

    49. For More Information See demos at Eclipse or BEA booths today www.eclipse.org/webtools Download M5 milestone next week! Tutorials and documentation Planning and requirements gathering (1.0, 1.5) Community information Newsgroups, mailing lists, developer support Attend EclipseWorld2005 in NYC this August Upcoming apt preview from BEA Vendor announcements post-0.7 ship For additional information during the JavaOne conference, see the Eclipse booth or the BEA booth in the Pavilion. The project website at www.eclipse.org/webtools is a great source of information for both users and developers. The EclipseWorld conference is being held in New York City this August, and will feature at least 5 sessions focusing on WTP. The apt functionality being contributed to the JDT by BEA will be in preview mode later this summer; look for updates on dev2dev and the Eclipse JDT website. Finally, look for product announcements from BEA and other vendors regarding commercial tools and services based on WTP around its GA date of July 29th. For additional information during the JavaOne conference, see the Eclipse booth or the BEA booth in the Pavilion. The project website at www.eclipse.org/webtools is a great source of information for both users and developers. The EclipseWorld conference is being held in New York City this August, and will feature at least 5 sessions focusing on WTP. The apt functionality being contributed to the JDT by BEA will be in preview mode later this summer; look for updates on dev2dev and the Eclipse JDT website. Finally, look for product announcements from BEA and other vendors regarding commercial tools and services based on WTP around its GA date of July 29th.

    50. Q&A

    51. Introduction to the Web Tools Platform Project Dr. Tim Wagner WTP PMC co-lead BEA Systems Sr. Manager www.eclipse.org/webtools

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

    53. 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 communityDelivers 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

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

More Related