© 2006 IBM Corporation Jazz Foundation Deep Dive Agile Planning’s Scripting Tools
© 2006 IBM Corporation Agile Planning’s JavaScript Experience > 3 years of experience with JavaScript and Dojo Used WTP (JSDT), Aptana, Dashcode, Text Editors Writing JavaScript code is easy... …evolving and refactoring a large codebase is not requires disciplined programming requires well organized and talented team hard for new team members to get started
© 2006 IBM Corporation Ways to Improve - Requirements Need a growth-path from existing code No lock-in Must fit in existing infrastructure Do not introduce new layers / indirections Should leverage existing tooling
© 2006 IBM Corporation Ways to Improve - Options Tooling for (Dojo flavored) JavaScript Translate from another language –GWT –Eclipse E4 –JavaScript++
© 2006 IBM Corporation Introducing JDojo JDojo provides a pragmatic solution JDojo is an JDT Compiler Participant Doesn’t bring Java to JavaScript, but JavaScript to the Java tooling No new layers: –Use dojo as the widget toolkit –Allow working with the DOM
© 2006 IBM Corporation Demo
© 2006 IBM Corporation JDojo Features Type Safety, Generics, Function Objects, Inheritance, Interfaces, Arrays, Code Inlining, Variable Arguments, (Checked) Exceptions, Assertions, Enumerations, Method Overloading, Inner Classes, Object Initializers, Reflection, ECMAScript API, DOM API, Dojo API, Jazz Foundation API, Correct dojo.require’s, compile upon save, Jazz WebUI Foundation compatible …
© 2006 IBM Corporation Outroducing JDojo Takes full advantage of JDT Tooling Interest in generated JavaScript code only Generated JavaScript code is readable Debugging can be done using existing tools Interoperable with existing JavaScript code No overhead in generated JavaScript code
© 2006 IBM Corporation JDojo Benefits Compiler helps finding API breakages More consistent JavaScript code Allows components to specify API Document API using Tooling opportunities
© 2006 IBM Corporation Java based JavaScript Runtime Developed for RTC 2.0 Improved for optimal interoperability with JDojo Allows sharing code between Web and Eclipse
© 2006 IBM Corporation Sharing Code using the ScriptEngine UI Data Source Business Logic JavaScript
© 2006 IBM Corporation Sharing Code using the ScriptEngine UI Data Source Business Logic JavaScript
© 2006 IBM Corporation Sharing Code using the ScriptEngine Data Source Business Logic UI JavaScript Java
© 2006 IBM Corporation Sharing Code using the ScriptEngine Data Source Business Logic UI ScriptEngine JavaScript Java ?
© 2006 IBM Corporation Use Case: Tempo Simulation
© 2006 IBM Corporation Why a ScriptEngine? Rhino exposes low level interfaces Rhino exposes Java objects using LiveConnect Allow to move the Java / JavaScript boundary Usage by define an Eclipse Extension
© 2006 IBM Corporation ScriptEngine Features Initialize Dojo Runtime Script loading infrastructure Java types are exported as Dojo types Transparent wrapping of Java / Script Object Supports debugging using Eclipse E4 debugger Future: Web Environment for WebUI Testing
© 2006 IBM Corporation Conclusion JDojo and ScriptEngine are independent tools… … yet are a perfect marriage Proven to work in RTC releases Enabler to build what APT is today in a short timeframe Allows us to provide an unified API
© 2006 IBM Corporation Future Development Zurich Team –writes new code with JDojo –Uses ScriptEngine in APT and Work Item –Provides stubs for other components as Bundle Fragments as long as they did not yet adopt Looking for other Teams (you?) to participate
© 2006 IBM Corporation C/ALM RTC-RRC Integration
© 2006 IBM Corporation C/ALM RTC-RRC Integration
© 2006 IBM Corporation C/ALM RTC-RRC Integration
© 2006 IBM Corporation C/ALM RTC-RRC Integration
© 2006 IBM Corporation Agile Planning Scripting Tools and You! Give it a try –Wiki Page –Install the JDojo compiler from updatesite –Download the samples, try it yourself –Grab the source from the JDojo stream on jazzdev Links will be sent out by mail afterwards
© 2006 IBM Corporation Thank You! Questions?