My talk for intended for the WebAppDays, which were unfortunately canceled, about the Rich Ajax Platform from Eclipse. Talk includes a live demo which is unfortunately not in the slides :-)
2. Rich Ajax Platform Created under the name W4T (WWWWindowingToolkit) Eclipse project since Ganymede release Donated by Innoopract Maintained by EclipseSource Strategic asset for Eclipse 4 (e4) currently in incubation Eclipse RAP
4. Interfaces! The reason for using interfaces is that you can switch implementations OSGi - hacking RAP cheats and just claims to be the SWT layer “Unfortunately this is the worst thinkable way of code-reuse” HowDoes RAP Do that? 17.09.2010 4 Application RCP RWT SWT OSGi Operating System * architecturalviewsimplified
5. RAP is not 100% compatible with RCP And most likely will not be RCP has design flaws preventing multiuser support Workarounds exist, e4 will solve many issues Fail early concept If it is not supported, it doesn’t compile Good news: 100% is often not required 100 % 17.09.2010 5
6. Isn’t that GWT? No Another Look AtArchitecture 17.09.2010 6 Browser JavaScript Client updates AJAX Bridge AJAX Bridge State Initial state Server
7. October 2007 1.0 release. First release to adhere to RCP/SWT APIs June 2008 1.1 release, part of Ganymede. Brings many APIs to par June 2009 1.2 release, part of Galileo. Improved stability and response times June 2010 1.3 release, part of Helios. Many more APIs. Drag & Drop. More UI goodness Today Large quantities of RCP application code work on RAP Historyof RAP 17.09.2010 7
9. Migrate existing RCP applications For free* Develop Web Apps RCP Style Reuse developer know-how Easily develop complex applications Compared to traditional way of adding JavaScript widgets Means of web styling Web “compatible” themes *depending on app, your results may vary Light Side 17.09.2010 9
10. Don’t build web sites It is a pain in many aspects Differences between desktop and web Loading and saving files, printing and similar Heavy JavaScript Slow RAP does not support all RCP features Some key&mousestuff Drag and Drop GraphicalContext Dark Side 17.09.2010 10
12. Next generation Eclipse platform Main goals Single platform for RCP, Web, Server, Cloud Easier plugins Better control over look and feel How? RAP Services CSS Themes Eclipse 4 17.09.2010 12
13. Saves development cost When there is a need for an RCP and RAP version Mostly marketing or preference driven Refactor problematic code into separate bundles Correct implementation is chosen at runtime Works to a large extend But requires usually work and differences in tiny details Customers do not want RCP in Web Both platforms have distinctive features and expectations Single Sourcing 17.09.2010 13
14. Usual problem with User Interfaces Test business logic separate Selenium Because RAP is a web application Selenium can be used The way the qooxdoo widgets are created make this sometimes tricky RAP Testing Tools Basic set allowing to run UI based tests RCP Testing Tools Do not like the Web Tools? Run test against the RCP version Testing 17.09.2010 14
15. RAP can be deployed as OSGi bundle Requires a few bundles, especially Jetty and RAP Can be disguised as WAR and deployed normally WAR contains OSGi runtime Servlet Bridge RAP Bundles Application Deployment 17.09.2010 15
16. RAP enables new models for SaaS Serving the big RCP application No need for a lightweight web application copy Single sourcing cuts development cost cas-pia.de/en/insight.html Full fledged CRM system migrate.numiton.com PHP to Java migration tool ondemand.yoxos.com/geteclipse/start Configure your custom Eclipse build Software as a Service 17.09.2010 16
17. eclipsesource.com/rap Marketing site with demos and stories eclipse.org/rap Main resource for technical information eclipsesource.com/blogs/tag/eclipse-rap Latest news from the RAP team qooxdoo.org JavaScript Widget Framework used by RAP References 17.09.2010 17
18. www.rap-book.com Introduction for developers & managers Covers RAP 1.1 (works for newer as well) Architecture Includes SWT, RCP and OSGi Development RCP for web and single sourcing Deployment In OSGi or web container The Book 17.09.2010 18
19. Fabian Lange Leiter Competence Center Performance codecentric AGMerscheider Straße 142699 Solingen tel +49 (0) 212.233 628 10Fabian.Lange@codecentric.dewww.codecentric.de blog.codecentric.de www.meettheexperts.de Fragen? 17.09.2010 19