Eclipse WTP The Eclipse Web Tools Platform Project Dominique De Vito – Thales IS (dominique.devito@thales-is.com) A top-level project with coleadership, BEA and the ObjectWeb Consortium Legal redistribution under the licensing terms of Creative Commons Attribution NonCommercial-NoDerivs 2.0 - © 2005 Thales What is this project about? A new top level project at Eclipse.org to build a generic, extensible and standards-based tool platform upon which software providers can create specialized, differentiated offerings for J2EE and Web-centric application development. Key objectives to combine product innovation with adherence to vendor-neutral standards and technologies, while delivering practical solutions to real development concerns. build on the Eclipse Project, and other core Eclipse technologies, to provide a common foundation of frameworks and services for tooling products. To deliver tooling products both for exemplary purposes and to validate the underlying foundation. © Thales 2005 Slide # 2 Our Values Extension of the Eclipse value proposition To follow the high standard for technical excellence set by the Eclipse project functional innovation and overall extensibility within the Java IDE domain. Vendor ecosystem vs. commoditization To support a vital application development market rather than to "commoditize" viable commercial product spaces with an open source alternative. Vendor neutrality To encourage Eclipse participation and drive Eclipse market acceptance by strengthening the long-term product value propositions of the widest possible range of application development vendors. Standards-based innovation To deliver an extensible, standards-based tooling foundation on which the widest possible range of vendors can create value-added development products for their customers and end-users. Agile development Agile development and planning process, incremental progress, focused near-term deliverables, and flexible long-term planning. Inclusiveness & diversity To assimilate the best ideas from the largest number of participants representing the needs of the widest range of end-users (market and geographical domains) . © Thales 2005 Slide # 3 WTP kick-off support © Thales 2005 Slide # 4 WTP Scope definition Standard Runtime Infrastructure Non Java WEB Standard Tools J2EE Standard Tools HTML XML XSL SQL CSS ... JDBC JAXP Servlet JSP EJB ... SSI JSF JDO PHP ASP .NET ... Struts Cocoon XMLC Velocity ... Non-Standard Runtime Infrastructure © Thales 2005 Java Slide # 5 Architecture/Subprojects future/commercial/OSS third-party Tools J2EE Standard Tools Web Standard Tools Generic tooling Generic tooling Eclipse platform Expected deliverables = tools + tooling foundation Architecture with extensibility as target (=> some basis for multilanguage support) Overall goal : support of a vital IDE tools market © Thales 2005 Slide # 6 Web Standard Tools Scope Languages of open-standard bodies (e.g. W3C, OASIS) for Web applications (e.g. HTML, CSS, JavaScript, XML, SVG, SQL, XQuery). Not in scope : JCP standards => JDT or J2EE Standard Tools subprojects, other technologies => future (?) subprojects Components Models: Project, Editor, Web Artifacts, Server Tools: supporting the base standards and extensible (e.g. an extensible HTML editor to support HTML-based template languages such as PHP and JSP) Examples of Tools : source editors (HTML, JavaScript), graphical editors (SQL, WSDL/XSD), XML utitilies, server tools, web service explorer, builders, validators and EMF models… © Thales 2005 Slide # 7 J2EE Standard Tools Scope J2EE 1.4 specifications Other JCP specifications : on a case by case (e.g. JSF, JDO) Not in scope : Support of frameworks not covered by the JCP (ex: Struts, Hibernate, XMLC) => Eclipse Technology project Components J2EE Models: Project, Editor, Artifacts, Server Tools: supporting the base standards and extensible Examples of Tools : server tooling (Launchers - Run, Debug), tools for J2EE modules (build, package, validate), editors for J2EE components (JSP, EJB…), tools for navigation & refactoring (through perspectives, view) © Thales 2005 Slide # 8 IBM contribution Server tools web service editor graphical editor source editor © Thales 2005 XML editor Slide # 9 ObjectWeb contribution EJB support server tools J2EE view source editor © Thales 2005 wizards Slide # 10 WTP dates December 2003 : first contacts Eclipse/ObjectWeb April June 2004 : WTP proposal Creation review September 2004 : real start of WTP October 2004 : M1 on time ! November 2004 : IBM code refresh in CVS, IBM back with full support, increasing interest from the community December 2004 : M2 on time ! January 2005 : ObjectWebCon’05 with WTP presentations February 2005 : EclipseCon’05 with WTP presentations and code camp + BEA has joined (!) the WTP project, bringing new development forces + M3 on time ! Over time, increasing attractivity of WTP Future April-June 2005 : API stabilisation (M4 : API definition, M5 : API implementation) July 2005 : WTP version 1.0 © Thales 2005 Slide # 11 WTP attractivity OSS projects New participants: Other Eclipse projects : XSD, WSVT, Pollinate, PHPEclipse (?) OSS Eclipse developers : Quantum DB, WDTE (Web Development Tools for Eclipse), DbEdit (?) Other Eclipse projects Commercial companies OSS Eclipse projects Web Tools Platform OSS projects : HSQLDB, Derby Commercial companies : JBoss, SAP, Sysdeo (?), Novell (?), Cap Gemini (?) Experience merge Workload share More to come! Code refresh into CVS now enables to attract more participants © Thales 2005 Better tools Broader scope Slide # 12 WTP as a galaxy WTP: a top-level Eclipse project Including 2 subprojects : Web Standard Tools and J2EE Standard Tools More subprojects possible WTP in relationships with other Eclipse projects Technology subprojects : XSD, WSVT, Pollinate SOA (future Technology subproject) : 3-4 months under Technology cover, then under WTP cover PHP (future Technology subproject ?) © Thales 2005 Slide # 13 WTP basic blocks for ESB Underlying technologies: Spans both subprojects (Web/J2EE Standard Tools) : XML, XQuery, JMS, JCA, web services… WTP Components: Models: Project, Editor, Artifacts, Server Tools: supporting the base standards Examples of Tools : server tooling (Launchers - Run, Debug), tools for modules (build, package, validate), editors for components, validators, tools for navigation & refactoring (through perspectives, view) Basic blocks for ESB: WTP Models and Tools : could be used AS IS or extended (built with extension in mind) © Thales 2005 Slide # 14 WTP and ESB/SOA BEPL editor proposal : Tool to create and deploy BPEL4WS, BPML, and other types of workflow application editors Brian DeCamp/founder of Blackstone Bay Software http://www.blackstonebay.com/bpef Future SOA Eclipse project (!?) Proposal in the pipeline Volunteers to tackle SOA efforts To join further WTP © Thales 2005 Slide # 15 Pollinate project (1/2) Under Technology project Goal : to build IDE + toolset that leverages the Apache Beehive application framework (Beehive makes J2EE easier by building a simple object model on J2EE and Struts – use of JSR-175 metadata annotations to reduce J2EE coding) Pollinate includes : NetUI PageFlows – These are built on top of struts, and allow easier tooling as well as automatic updating of struts config files with the use of metadata. Controls – These are a lightweight component framework that helps programmers build components that incorporate metadata into their programming model. [Apache Beehive] will come with a few pre-made controls as well. Web Services – This will be the Reference Implementation of JSR-181, which is an annotation driven programming model for Web Services. © Thales 2005 Slide # 16 Pollinate project (2/2) Simply put : Pollinate will provide an IDE that enables developers to visually build and assemble enterprise-scale web applications, JSPs, web services, and leverage the Java controls framework for creating and consuming J2EE components; optimized for a service-oriented architecture Built on top of WTP (!) © Thales 2005 Slide # 17 WTP feed-back WTP project works quite well and continues to attract new entrants In February, BEA has joined WTP and taken the WTP co-leadership During EclipseCon’05 (February/March), WTP has attracted a lot of interest The life of an OSS project WTP benefits from the Eclipse great popularity As a successful OSS project, WTP has had an increasing attractivity ObjectWeb has played an instrumental role for the WTP restart – OSS projects need a kernel of people dedicated to their success to live ! Projects on top of WTP Collaboration between projects inside Eclipse ecosystem (WTP and WSVT, Pollinate…) works well Different companies are waiting WTP v1.0 (July 2005) to build their own, commercial or OSS, projects on top of WTP. Stabilized APIs are mandatory to bring project reuse and collaboration to the next level © Thales 2005 Slide # 18 Join us ! We welcome new contributions ! See the web site : http://www.eclipse.org/webtools/ See ‘how to contribute’ details See where you want to contribute Contact us: wtp-dev@eclipse.org mailing list news://news.eclipse.org/eclipse.webtools © Thales 2005 Slide # 19