Eclipse WTP The Eclipse Web Tools Platform Project Dominique De Vito – Thales IS (firstname.lastname@example.org) A top-level project with coleadership, BEA and the ObjectWeb Consortium
What is this project about? • A new top level project at Eclipse.org • to build • ageneric, 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.
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 marketrather 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 flexiblelong-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) .
Generic tooling Generic tooling Architecture/Subprojects future/commercial/OSS third-party Tools J2EE Standard Tools • Expected deliverables = tools + tooling foundation • Architecture with extensibility as target (=> some basis for multi-language support) • Overall goal : support of a vital IDE tools market Web Standard Tools Eclipse platform
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)
IBM contribution Server tools web service editor graphical editor source editor XML editor
ObjectWeb contribution EJB support server tools J2EE view wizards source editor
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
OSSEclipseprojects OtherEclipseprojects OSSprojects Commercialcompanies Experience mergeWorkload share Better toolsBroader scope WTP attractivity • New participants: • Other Eclipse projects : XSD, WSVT, Pollinate, PHPEclipse (?) • OSS Eclipse developers : Quantum DB, WDTE (Web Development Tools for Eclipse), DbEdit (?) • OSS projects : HSQLDB, Derby • Commercial companies : JBoss, SAP, Sysdeo (?), Novell (?), Cap Gemini (?) • More to come! • Code refresh into CVS now enables to attract more participants Web Tools Platform
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 ?)
WTP basic blocks for ESB • Underlying technologies: • Spansboth 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)
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
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.
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 (!)
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
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: • email@example.com mailing list • news://news.eclipse.org/eclipse.webtools