260 likes | 402 Views
Web Tools 1.5 in the Callisto Simultaneous Release Full Release Review. July 27, 2006. Introduction: WTP 1.5 Release Review. Eclipse Web Tools Platform Project Original project proposal submitted by ObjectWeb Original code contributions from IBM and Eteration (“ObjectWeb Lomboz”)
E N D
Web Tools 1.5 in the Callisto Simultaneous ReleaseFull Release Review July 27, 2006
Introduction: WTP 1.5 Release Review • Eclipse Web Tools Platform Project • Original project proposal submitted by ObjectWeb • Original code contributions from IBM and Eteration (“ObjectWeb Lomboz”) • Major Milestones and Previous Releases • Eclipse Foundation creation review June 2004 • Full-time development since October 2004 • WTP 0.7 July, 2005 and subsequent 0.7.1 • WTP 1.0 December 2005 and subsequent 1.0.1/2/3
WTP Requirements Process • Requirements group • Chaired by Jochen Krause, Innoopract (PMC member) • Participation by major WTP developers and consumers • IBM, BEA, Oracle, Genuitec, JBoss • Periodic telecons open to community; minutes posted to WTP website • Delivers WTP requirements document to PMC for each major release, summarizing themes, major goals, supported platforms • Planning document provided through Eclipse WTP Wiki • wtp-requirements@ mailing list created to solicit community requirements • Detailed requirements, plans tracked via Bugzilla • Themes and high-level requirements coordinated through Eclipse Requirements Council representation
WTP 1.5 Project Themes • Coordination with other projects in the Callisto release • Ongoing API declaration where appropriate • Quality, reliability, stability • Large-scale development • User experience – improved graphical WSDL, schema editors and simplified Web Service wizards • Responsive UI – improvements to validation infrastructure • Architectural alignment – integrate with platform’s project model, navigator, undo/redo stack, property pane, etc.
Feature Set - WST • Basic Server Tools • Support for server types and server connectivity, including web and DB • Configure, publish, start/stop, debug • Structured Source Editor Framework • Web Language Tools • HTML source editor • CSS source editor • JavaScript source editor • XML Language Tools • XML source editor • XSD editor - Graphical and source editing • DTD source editor • Facets – technique and UI for modeling server features
Feature Set – WST (continued) • Web Service Tools • WSDL Editor • Graphical and source modes • Integrated XSD editor • Web Service Explorer • Query and publish to UDDI • Dynamically execute WSDL • Web Service Wizard • Extension points for codegen, deploy, test, etc. • WS-I Test Tools - Validate WSDL and SOAP for WS-I compliance • Data Tools [migrating to DTP] • Database server explorer • SQL scrapbook • Output view • RDB and SQL models
Feature Set – JST • Java EE Core • Natures and Builders • Java EEViews and Navigators • Java EE Models • Java EE Projects and Modules • Support for WAR, EJB-JAR, EAR, etc • Models and source editors for deployment descriptors • Java EE Navigator view • Ability to target on different servers • Servlet Tools – wizard, “Run As…” • JSP Language Tools • JSP editor including syntax highlighting, code assist for HTML, Java, EL’s, JavaScript, taglibs • JSR-45 compliant debugging
Feature Set – JST (continued) • Java EE Server Tools - extends WST server tools with Java EE deployment • Supports deploy, debug, project restart on Java EE runtimes • Generic server adapter • XML based configuration files for quick setup • Includes JOnAS, WebLogic, WebSphere, Oracle Application Server, JBoss • Custom (Java) server adapter for total control • Includes Tomcat (included), Geronimo adapters (downloadable) • JavaDoc Annotation Support • Extensible facility to define tagsets • Code assist in Java Editors + builders for code generation • EJB – wizard, editing support, JavaDoc annotation support • Java Web Services • Extensible Web service wizard • JAX-RPC codegen • JSR 109 deployment ready • Servlet (or in the future EJB) based • Includes Axis support • Models and source editors for deployment descriptors • Integrated into Java EE Navigator
APIs • Some additional API definition in editors relative to 1.0.x releases • Provisional API where functionality is new or still in flux • “No API before its time”; one release provisional required • API scanning tool used internally and externally • Detect API use violations within WTP and between WTP and prerequisites. • Track API changes across versions (milestones, releases) • Enable adopters to discover, track reliance on provisional API • Track JUnit coverage • Track JavaDoc coverage
Developer/API Documentation • Project-wide architectural overview (website) • Describes nature and relationship of components • Presentations and tutorials provide drill down on selected topics (such as server definition) • Component overview (website) • Describes operation of an individual component and relationships among its parts, lifecycle issues, and other emergent properties of component • JavaDoc Package documentation • Describes contents and inter-relationship of package contents • Per-file JavaDoc • Conventional JavaDoc guidelines apply; scope is the class/interface being documented and its immediate surface area • Extension point documentation
User Documentation and Examples • WTP 1.5 download includes online documentation • Professional technical writer (IBM) contributing to 1.5 documentation • Tutorials and presentation materials available on www.eclipse.org/webtools • Includes copies of conference presentations (EclipseCon, JavaOne, EclipseWorld), articles, etc. • Ecosystem lead (Lawrence Mandel) assists with tutorial and other educational collateral • NL-enabled; non-English language packs included in Callisto • Two books, one “JST Pro” published by 3rd party, another in progress
Architectural Issues • Project boundary alignment (with platform) remaining: • Internet proxy preferences • Project boundary alignment (between projects) • Validation (WTP, TPTP) • TCPIP Monitor (WTP, TPTP) • RDB and DTP (WTP and DTP) – moving in 2.0 timeframe
End-of-Life • None • Deprecations: Note that RDB tools will be moving to DTP in a subsequent release (currently planned for 2.0/Europa).
Defect Statistics as of 07/27/2006 P1: 3 P2: 143 P3: 1856 P4: 102 P5: 4 Total: 2108 • Release Exit Criteria: zero P1/blocker defects & 100% automated test pass rate where static analysis is feasible • – Test results posted with each build • – All tests are in CVS Bug statistics as of May 08, 2005
API Delta • New APIs, API changes, API graduations since WTP 1.0.x • See http://www.eclipse.org/webtools/adopters/1.5APIdelta.html
Supported Standards • WST: W3C and OASIS standards • HTML 4.01, XHTML 1.0 / 1.1, XML Catalog 1.0, CSS 2.0, ECMAScript 262 • SQL99 / SQL2003, XML 1.0, XSD 1.0, WSDL 1.1, WS-I Basic Profile 1.1 • SOAP 1.1, WS-I Attachment Profile 1.0. • JST: JCP standards • J2EE 1.2 / 1.3 / 1.4: Servlet, JSP, EJB, JAX-RPC, JSR109, JSR045, JSR109, JSR921 • JDBC 2.1
Schedule • 1.5: Callisto schedule train joined circa January ’06 • WTP is a “level 2 dependency project” in milestone and rampdown plans • Maintenance releases (1.5.1, 1.5.2) will synchronize with Callisto • Tech preview of Dali and JSF coincident with Callisto • For 2.0: Europa schedule, same plans, matching all milestones beginning with the first • WTP may elect to deliver additional maintenance, tech preview, or off-cycle releases in addition to the above schedule if adopter or user requests warrant.
Process: Committers and Activities • Many active committers from several companies (including individuals) • Committer elections and removals have followed charter principles • Continuing to recruit additional contributors (organizations and individuals) • http://www.eclipse.org/webtools/people/contributors.html • Open communications via 5 WTP mailing lists, plus newsgroup • PMC, overall dev, WST, JST, JSF, ATF, Dali, Requirements mailing lists • 2.0 plans available: http://wiki.eclipse.org/index.php?title=Web_Tools_Requirements_2.0 • Meetings, meeting, meetings – numerous, open, and documented • Weekly PMC, weekly dev status, requirements as needed, bi-weekly architecture • PMC minutes available on website: http://www.eclipse.org/webtools/development/pmc_call_notes.html • Weekly status telecon minutes available on website: http://www.eclipse.org/webtools/development/status-telecons/ • Open and inclusive release planning and tracking processes • Bugzilla used to request and track all defects, enhancements, and milestone plans • Additional reports (defect summaries, test stats, etc) used to enhance planning / tracking • All contributions made directly to Eclipse CVS • Nightly, weekly integration builds, and release builds available to the community • Coordination/cooperation with other Eclipse projects • Platform, DTP, TPTP, EMF, GEF, VE • Leveraging other open source technologies in the project
Process: Community • Substantial WTP download activity for milestones and releases • WTP is one of the most popular downloads • Substantial website content • Download links, New & Noteworthy, mailing lists, presentation DB • Tutorials, documentation, presentation summary, • “people pages” • Evangelism and outreach in the market & broader community • Ecosystem lead (Lawrence Mandel) • Website lists WTP events (conferences, etc.) • Multiple commercial implementations • Working with Eclipse and industry press to promote WTP • Presence at EclipseCon, Eclipse World, Colorado Software Summit, BEAworld, others • Blogs, articles, press releases, etc. to promote and eduate
Process: Incubation and Fostering • Java Server Faces (JSF) • First technology preview coincident with Callisto (0.5 release) • Planning to exit incubation and ship 1.0 as part of Europa • Dali (JPA) • First technology preview coincident with Callisto (0.5 release) • Planning to exit incubation and ship 1.0 as part of Europa • AJAX Tooling Framework (ATF) • Gathering additional community • Planning technology preview (0.5 release) now
Contributing Organizations (current and previous) • BEA • Eteration • Exadel • IBM • Innoopract • JBoss • ObjectWeb • Oracle • SAS • Thales • University of Karlsruhe • SAP • Sybase
Commercial Adopters • IBM – Rational Application Developer • BEA – WebLogic Workshop and WebLogic Studio • Eteration – Lomboz • Genuitec – MyEclipse • Innoopract – Yoxos • Exadel – Exadel Studio • JBoss – JBoss IDE • SAP – NetWeaver Studio • Borland
Supported Servers • Open Source • Apache Tomcat • Apache Geronimo • Apache Derby • JBoss • ObjectWeb JONAS • Glassfish: https://glassfishplugins.dev.java.net/ • Commercial • IBM WebSphere • BEA WebLogic • Oracle Application Server
Intellectual Property: Processes • Accepting Contributions (In-Bound Licensing) • All new code provided under Eclipse Public License (EPL) • Redistribution of 3rd-party (non-EPL) components approved by EMO • DTD and schema download licensing available • Licensing Contributions (Out-Bound Licensing) • WTP 1.0 provided under EPL • “about.html” / licenses: 3PC listed, standard “about.html” completed • Due Diligence and Record Keeping • All WTP Committers completed Committer Agreement & approved by PMC/EMO • EMO maintains list of all 3rd-party (non-EPL) components used by WTP • Source scan and due diligence requested of EMO • Review History • Creation Review approved July 2004 Eclipse Foundation IP Policy: http://www.eclipse.org/org/documents/Eclipse%20IP%20Policy2003_12_03%20Final.pdf
IP Cleanliness • About files and license files are complete and correct: Yes • All significant and third-party contributions have been reviewed by Eclipse Legal • Yes: See project log for complete list • Project log complete and has been reviewed by Eclipse Legal • The URL is http://www.eclipse.org/webtools/development/ip_log.html
Thanks and… Feedback, Feedback, Feedback! • Please provide us with your feedback, requirements, issues • Submit enhancement requests / defects in Bugzilla https://bugs.eclipse.org/bugs/enter_bug.cgi?product=WTP • Submit questions / issues in the WTP Newsgroup: news://news.eclipse.org/eclipse.webtools • Engage with the WTP devs to contribute: wtp-dev@eclipse.org