370 likes | 383 Views
WTP Incubation and Roadmap. Tim Wagner (BEA), WTP PMC Lead David Williams (IBM), WST Project Lead. Before I get started…. EclipseCon Call for Participation Submit or comment on proposals at www.eclipsecon.org WTP is looking for long and short talks, tutorials, demos, etc. Outline.
E N D
WTP Incubationand Roadmap Tim Wagner (BEA), WTP PMC Lead David Williams (IBM), WST Project Lead
Before I get started… EclipseCon Call for Participation Submit or comment on proposals at www.eclipsecon.org WTP is looking for long and short talks, tutorials, demos, etc.
Outline • WTP Organization • JSF Overview and Demo • ATF Overview and Demo • Dali was presented earlier today; see Shaun Smith for info, demos, Q&A, etc.
WTP Organization • WTP provides tools for Java Web application development • Tools for application developers • Platform for tool developers/adopting companies • Graduated subprojects have shipping versions in Callisto • Web Standard Tools – IETF, W3C, OASIS, WS-I, ANSI, etc • J2EE Standard Tools – JCP • Incubating subprojects allow new technologies to grow…
WTP Organization • Currently three incubating subprojects: • JSF: Java Server Faces tools • Dali: JPA / EJB 3.0 persistence tools • ATF: AJAX-related tools and APIs • What can you do? • Try them out – download, watch videos, read docs, etc. • Participate! Join the community via newsgroup; become a committer on code, docs, or website. • Find, report, and/or fix bugs. • Develop products and services based on these tools.
Project Lifecycle • Proposed • Created • Incubating/milestones ATF (Feedback wanted!) • Released (tech preview / pre-1.0) JSF, Dali • Graduated • Released (1.0 or higher)
Components can incubate, too… • Sybase visual editor contribution inside JST is an example
Outline • WTP Organization • JSF Overview and Demo • ATF Overview and Demo
JSF Tools Project Overview Project Vision Provide comprehensive support to the Eclipse Web Tools Project to simplify development and deployment of JavaServer Faces (JSF) applications. Roadmap • June 2006: 0.5 Release, based on WTP 1.5. • September 2006: 0.5 Release update, based on WTP1.5.1 • Ongoing: Coordinated Europa milestones (with WTP) • June 2007: Graduation and release as part of WTP 2.0 Key Contributions • Oracle – Project Leadership (Raghunathan Srinivasan) • Sybase – Faces Configuration Editor • IBM – EMF Model of the Faces Configuration resource
JSF Tools Features • JSF-JSP Source Editor Features • Enhance productivity for JSF users • Simplify JSF tooling extensions for 3rd party adopters • Examples of user functionality: • Component palette • Content assist for values of tag attributes • Quick Assist and Quick Fix • Hyperlink • JSF page validation • Refactoring support • JSF Search Page
JSF Tools Features • Visual editor for page flow and other configuration resources • Multi-page Editor • Overview page • Summary of elements in the configuration file • Navigation page • Graphical diagram editor for navigational rules • Managed bean page • Form-based editor, wizards • Component Page • Source Page • EMF model of the application configuration resource files • Programmatic access
JSF Tools Features • JSF library registry • Enables definition of a named collection of JARs, including tag libraries, JSF reference implementations and utility jars • Add, remove libraries associated with a project • Automate build classpath settings and deployment
More Information • The JSF Tools Project: http://www.eclipse.org/webtools/jsf/ • JavaServer Faces (JSR-127 & JSR 252): http://www.jcp.org • JSF Central (Community Website): http://jsfcentral.com DEMO
Outline • WTP Organization • JSF Overview and Demo • ATF Overview and Demo
AJAX Project Overview • ATF provides • Tools to develop any DHTML/AJAX application • Tooling to facilitate use of various AJAX toolkits • Tight integration with existing user interface and development paradigms • Based on / built on WTP • Targets AJAX application developers (users), tool vendors (adopters), and AJAX library authors who want to provide tooling for their runtimes. • Goal is to improve productivity for AJAX developers and to enable 3rd parties to provide high-quality value added features.
AJAX Toolkit Framework are Eclipse Plugins E C L I P S E AJAX Toolkit Framework Eclipse WebTools ATF builds on WTP deployment and editing infrastructure ATF uses an embedded Mozilla browser for debugging and DOM inspection Mozilla XULRunner & Javaconnect
AJAX Toolkit Framework Components Eclipse Plugins Java Script Debugger DOM Inspector And JavaScript Console JavaScript Syntax Validator Personalities Personalities Personality Builder Another Personality Dojo Personality Zimbra Personality Rico Personality Embedded Mozilla Browser Dojo Zimbra Ajax-x Rico Personality Common Libraries Mozilla XULRunner & JavaConnect Eclipse WebTools
AJAX Toolkit Framework Components • Project and Application Creation • Project creation, Drag and Drop application snippets • Embedded Mozilla Browser • Run/Debug an Ajax application in the embedded Mozilla browser • Browser Tooling • DOM Source view, DOM Inspector, Browser Console, XHRequest Monitor, and CSS Tools • JavaScript Editor • Integrated JavaScript editor with batch and as-you-type syntax validation • JavaScript Debugger • Stack frame, variables and script views; breakpoints and browser control • Application Deployment • Deployment of an AJAX application to a server. • Personality Builder • Ability to create tooling for new AJAX toolkits (runtime libraries)
Project and Application Creation • Built in support for three AJAX runtimes today • Dojo, Rico, and Zimbra • Personality Builder simplifies adding new runtimes • Eclipse Project Integration • Static Web, Dynamic Web, or PHP project can be AJAX-enabled • Support can be added to existing projects • Application Creation Wizard • Template to create initial AJAX-enabled application • Drag and Drop snippets to source file
Browser Tooling • CSS View • Style Rules • Shows the rules and their defined properties • Able to edit and add a property • Open CSS file for the rule and property • Highlights the DOM elements using a selected style rule or property • Computed Styles • Shows every style rule computed by the browser • Box Model • Shows the dimensions, x-y coordinates, padding, border, and margin information • Diffs • Shows the changes made to CSS rules and properties
JavaScript Editor • Enhanced Editor with Validation • Integrated JavaScript editor • Batch and as-you-type syntax validation • Syntax checker based on the Mozilla Rhino engine • Validator based on JSLint • Detects undesirable or ambiguous constructs considered to be bad practice • JSLint errors are consider warnings. • Drag and Drop snippets to Application Source File
URL Debugging/Running • HTTP or File URL support • Able to launch and debug an AJAX application using a URL • Application doesn’t have to reside in eclipse • All tooling supports handling files by URL • Editor • Debugger • Browser tooling • Breakpoint Management • User has to manually delete breakpoints
More Information • Download from www.eclipse.org/atf/downloads/index.php • Project website: www.eclipse.org/atf • Newsgroup: atf-dev@eclipse.org • Screencasts: www.eclipse.org/atf/flash/index.php DEMO
WTP Incubationand Roadmap Tim Wagner (BEA), WTP PMC Lead David Williams (IBM), WST Project Lead
Release Roadmap and 2.0 Planning • 1.5.x Line: Focused on stability and adopter-readiness of 1.5 • Callisto fall update (released 9/29/06) included WTP 1.5.1 • Bug fix release WTP 1.5.2 planned for late October • Callisto winter update (early Feb?) will include WTP 1.5.3 • Subsequent 1.5.x maintenance releases on an as-needed basis (none planned currently)
Release Roadmap and 2.0 Planning • 2.0: Synchronized with Europa release train • Coordinated milestones and release candidates • “Preview ready” for EclipseCon ’07 • Maintenance packs will include (at least) Europa’s updates • Same release methodology and vehicles as with Callisto • Joint update site, all-in-one bundles, WTP download site, etc.
WTP 2.0 Plan • Enable EE 5 • Focus on graduating technologies currently in incubation: • JSF: graduation with WTP 2.0 • Dali: graduation with WTP 2.0 • Visual editor: graduated component of JST/JSF with WTP 2.0 • ATF tech preview late ’06; graduation with WTP 2.0 • Alignment with platform and other projects in overlap areas • RDB DTP migration, common undo, etc. • Continued improvements for adopters and user support • http://wiki.eclipse.org/index.php/Web_Tools_Requirements_2.0 for details or to participate in requirements analysis
Embedded Mozilla Browser • Integrated Mozilla browser • Uses XULRunner to provide a seamless experience for both development and browsing activities • Provides the engine for AJAX Tooling • Debugger • JavaScript Engine • Browser Views • Mozilla perspective • Includes DOM display features
Browser Tooling • DOM Inspector • Displays the DOM tree as rendered by the browser • Dynamically updated to reflect changes within the browser • Attributes of a node can be edited, added to, and removed • A “breadcrumb trail” to the currently selected node is maintained • DOM Source View • Displays the HTML source of the selected DOM node • Source can edited, validated, and updated back to the browser • Realtime synchronization state indicator
Browser Tooling • Browser Console • Shows all browser (i.e JavaScript, CSS) errors, warnings, and logging messages • Doubling clicking on an error opens to the relevant line of code • XMLHTTPRequest Monitor • Observe XMLHTTPRequest request/response information • Formatting of the response body based on content-types
JavaScript Debugger • Breakpoints • Ability to set breakpoints in JavaScript • Any file type with JavaScript content (html, js, php). • Breakpoints can be enabled/disabled • Debug Views for JavaScript • Call Stack • Variables • Breakpoints • Scripts View • Debug Preference options • Suspend at start • Suspend on JavaScript Exceptions or Errors • Suspend on JavaScript debugger keywords
Application Deployment • Multiple Server Types • HTTP Web Server • J2EE Servers • HTTP Web Server • Support defining a HTTP Web Server in eclipse • Ability to specify publish directory • Defining the HTTP server port • Support for Home Page URLs (~username) • J2EE Servers • Multiple J2EE Servers (Tomcat, JBOSS. etc.) • Testing done using Tomcat • Publishing Options • Automatically publish to server • Never publish to server
Personality Builder • Wizard that simplifies facet creation based on • Artifact data (AJAX toolkit libraries) • Build requirements data • New application templates • Code patterns • Deployment data • Wizard outputs a facet configuration • Provides necessary features targeted for the new runtime • Enables customization and addition of functionality by 3rd parties
Recent ATF Enhancements • HTTP Web Server Support • Ability to configure, deploy, and run/debug on a Web Server • HTTP or File URL support • Able to launch and debug an AJAX application using a URL • Application doesn’t have to reside in eclipse • Simplified AJAX Project Creation • Ability to add AJAX support to existing project • JavaScript Debugger Enhancements • Expression support • New preference items
Browser Tooling Enhancements in Latest Release • New CSS View • Viewing of style properties • Highlighting elements in browser for selected style. • Editing of CSS style properties. • DOM Source View • Improve DOM Source View and Browser interaction. • DOM Inspector • Linked breadcrumb trail • XHR Monitor • Formatting to format XHR response body
Possible Future Enhancements to ATF • Further improvements to provide Robust JavaScript Tooling • Real JavaScript Model, Enhanced code completion, Enhanced Outline view , Code formatting, etc • Debugger enhancements • Improve Install by providing better support for run time dependencies • Personality Builder improvements through multiple runtime version support • Multiple Browser Support (IE, Opera, etc) • Integration with WTP