Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Single Source : Three Runtimes <ul><li>Suresh Krishna </li></ul><ul><li>Oracle Inc. </li></ul><ul><li>[email_address] </li...
Motivation is to… <ul><li>Understand the strengths and limitations of three runtimes (RCP, RAP and eRCP) </li></ul><ul><li...
 
Develop for Desktop; Get Web and Mobile app for Free* * conditions and refactoring apply
Simple Application… <ul><li>“Task Organizer” application is created using Eclipse RCP </li></ul><ul><li>Application is fun...
RCP – TaskOrganizer <ul><li>Create a simple View with Eclipse RCP plugin wizard </li></ul><ul><li>Contains simple TableVie...
RCP – TaskOrganizer Code <ul><li>TaskOrganizerApplication :  Implements Application and defines the application's life cyc...
RCP – TaskOrganizer – Demo
RAP – Overview <ul><li>RAP allows you to build  Ajax-enabled  Web applications using the Eclipse development model. </li><...
RAP - Architecture <ul><li>Special implementation of the SWT, JFace and Workbench, and, as such, is actually a subset of R...
RAP - TaskOrganizer <ul><li>Since RAP is an RCP subset, it cannot co-exist in the same Eclipse instance as RCP. </li></ul>...
RAP – TaskOrganizer (transformation) <ul><li>Organize the RAP application plug-in dependencies. </li></ul><ul><ul><li>org....
RAP – TaskOrganizer (transformation) <ul><li>An EntryPoint  (org.eclipse.rap.ui.entrypoint)  represents the main entry poi...
RAP – TaskOrganizer - Launch
RAP – TaskOrganizer – Editing Capability * CellEditor replacement in the personal task organizer
RAP – TaskOrganizer - Branding <ul><li>Add  org.eclipse.rap.ui.branding  extension point </li></ul><ul><ul><li>servletName...
RAP – TaskOrganizer - Branding
RAP – TaskOrganizer - Theming <ul><li>Theming is based on CSS and allows you to define colors, fonts, borders, margins, an...
RAP – TaskOrganizer – Before/After
RAP – TaskOrganizer – Packaging <ul><li>Deploy your application to a servlet container </li></ul><ul><li>Additional plug-i...
RAP – TaskOrganizer - Deploy
Smart Phone (R)evolution… <ul><li>Palm Centro/Treo </li></ul><ul><li>Black Berry </li></ul><ul><li>iPhone </li></ul><ul><l...
eRCP – Overview <ul><li>eRCP is a project — sponsored by IBM®, Nokia, and Motorola — that removes the desktop-oriented fea...
eRCP - Architecture Mobile Extensions  : An optional package that provides UI elements commonly found on mobile devices.
eRCP – Supported Platforms <ul><li>4 platforms for development and testing </li></ul><ul><ul><li>Windows Desktop </li></ul...
eRCP – TaskOrganizer – Refactoring  <ul><li>Start with downloading the eRCP for Desktop runtime and set the target environ...
eRCP – TaskOrganizer – eWorkbench  <ul><li>eWorkbench does not have the Perspective model </li></ul><ul><li>An eRCP applic...
eRCP – TaskOrganizer – Launch  <ul><li>Create a launch configuration using the application type as  org.eclipse.ercp.ework...
eRCP – TaskOrganizer – Deployment  <ul><li>Earlier release of Symbian OS (S80) has been discontinued and only a handful Wi...
eRCP – TaskOrganizer on PocketPC
<ul><li>Single Source; Three Runtimes </li></ul><ul><li>Thanks for attention ! </li></ul><ul><li>Have Fun ! </li></ul><ul>...
Upcoming SlideShare
Loading in …5
×

Eclipse - Single Source;Three Runtimes

3,193 views

Published on

Presentation from <a>Suresh Krishna madhuvarsu</a> on the RCP, eRCP and RAP in the Redwood City DemoCamp.

Published in: Technology, Education
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Eclipse - Single Source;Three Runtimes

  1. 1. Single Source : Three Runtimes <ul><li>Suresh Krishna </li></ul><ul><li>Oracle Inc. </li></ul><ul><li>[email_address] </li></ul>A tale of Desktop (RCP), Web (RAP) and Mobile (eRCP) applications.
  2. 2. Motivation is to… <ul><li>Understand the strengths and limitations of three runtimes (RCP, RAP and eRCP) </li></ul><ul><li>Leverage these Eclipse platforms for business solutions </li></ul><ul><li>“how much” is really free ? </li></ul>
  3. 4. Develop for Desktop; Get Web and Mobile app for Free* * conditions and refactoring apply
  4. 5. Simple Application… <ul><li>“Task Organizer” application is created using Eclipse RCP </li></ul><ul><li>Application is functionally simple </li></ul><ul><li>Can add, modify and delete the personal tasks </li></ul><ul><li>Data is populated from a simple in memory model; modified data is not persisted </li></ul><ul><li>Demonstrates the strengths and limitations of runtimes (RCP, RAP and eRCP) </li></ul>
  5. 6. RCP – TaskOrganizer <ul><li>Create a simple View with Eclipse RCP plugin wizard </li></ul><ul><li>Contains simple TableViewer, TaskView, Sorter and CellModifier </li></ul><ul><li>Productization is done with the icons, splash screen and the launcher name </li></ul><ul><li>Personal Organization is exported as product so that it can be distributed as standalone </li></ul>
  6. 7. RCP – TaskOrganizer Code <ul><li>TaskOrganizerApplication : Implements Application and defines the application's life cycle </li></ul><ul><li>ApplicationActionBarAdvisor : Manages the life cycle of actions added to windows </li></ul><ul><li>ApplicationWorkbenchAdvisor : Initializes the perspective </li></ul><ul><li>ApplicationWorkbenchWindowAdvisor : responsible for many of the visual aspects of windows (size, statusline, menubars, etc.) </li></ul><ul><li>Perspective : Contains the Personal Task Viewer that will be visible in the application </li></ul><ul><li>PersonalTaskView : Simple Table Viewer with data pre-populated from a model </li></ul>
  7. 8. RCP – TaskOrganizer – Demo
  8. 9. RAP – Overview <ul><li>RAP allows you to build Ajax-enabled Web applications using the Eclipse development model. </li></ul><ul><li>Browser-side widget rendering is done with the qooxdoo Ajax library </li></ul><ul><li>Abstracts the JavaScript and allows you to work with the Java APIs to build RIAs. </li></ul><ul><li>Custom widget developers need to have JavaScript , qooxdoo , and RAP knowledge. </li></ul><ul><li>Client-side development allows for the embedding of client-side technologies like other JavaScript frameworks , Flash , and applets . </li></ul>
  9. 10. RAP - Architecture <ul><li>Special implementation of the SWT, JFace and Workbench, and, as such, is actually a subset of RCP. </li></ul><ul><li>RAP applications are accessed via standard browsers in the same way RCP applications are executed on the desktop environment. </li></ul>
  10. 11. RAP - TaskOrganizer <ul><li>Since RAP is an RCP subset, it cannot co-exist in the same Eclipse instance as RCP. </li></ul><ul><li>Download and set the RAP target platform; alternatively one can download the RAP SDK. </li></ul><ul><li>Refactor the code </li></ul><ul><ul><li>Extension Points </li></ul></ul><ul><ul><li>Plugin Dependencies </li></ul></ul><ul><ul><li>Remove/Add/Modify classes </li></ul></ul><ul><ul><li>Define EntryPoint </li></ul></ul><ul><li>Test with OSGi configuration </li></ul>
  11. 12. RAP – TaskOrganizer (transformation) <ul><li>Organize the RAP application plug-in dependencies. </li></ul><ul><ul><li>org.eclipse.ui , add the RAP equivalent org.eclipse.rap.ui . </li></ul></ul><ul><li>Look for the compile errors and correct them with compatible APIs, constants, etc. </li></ul><ul><ul><li>Shell </li></ul></ul><ul><ul><li>SWT Style Bits </li></ul></ul><ul><li>Modify or removed the functionality currently not supported in RAP (e.g., CellEditors). </li></ul><ul><ul><li>As of now CellEditors are not supported in RAP </li></ul></ul>
  12. 13. RAP – TaskOrganizer (transformation) <ul><li>An EntryPoint (org.eclipse.rap.ui.entrypoint) represents the main entry point for a RAP application (It can be compared with the main() method in SWT applications) </li></ul><ul><li>EntryPoint creates the UI with the help of the WorkbenchAdvisor , Initial Perspective, and ApplicationActionBarAdvisor . </li></ul><ul><li>URL <host>:<port>/rap?startup=<entrypointname> </li></ul><ul><li>As RAP uses the OSGi* as the server-side framework, you will want to launch the application with the OSGi framework. </li></ul><ul><li>OSGi framework includes a Jetty server and the startup ports can be configured. </li></ul>* The Equinox's OSGi framework component is the full implementation to the OSGi Core framework R4 specification.
  13. 14. RAP – TaskOrganizer - Launch
  14. 15. RAP – TaskOrganizer – Editing Capability * CellEditor replacement in the personal task organizer
  15. 16. RAP – TaskOrganizer - Branding <ul><li>Add org.eclipse.rap.ui.branding extension point </li></ul><ul><ul><li>servletName: taskOrganizer : </li></ul></ul><ul><ul><ul><li>Allows a user to access the application via localhost:9090/taskOrganizer, rather than /rap. </li></ul></ul></ul><ul><ul><li>title: Personal Task Organizer : </li></ul></ul><ul><ul><ul><li>Will be displayed as the title of the Web page in the browser, either in the title bar or the tab. </li></ul></ul></ul><ul><ul><li>favicon: icons/alt_window_16.gif : </li></ul></ul><ul><ul><ul><li>Available for use as part of the work done in Part 1, but if you have a logo of your own in an .ico file, use that, as many browsers only accept .ico for the favicon. </li></ul></ul></ul><ul><ul><li>exitConfirmation: Do you want to Exit Personal Task Organizer? : </li></ul></ul><ul><ul><ul><li>Will display in a dialog when the user closes his browser or navigates to another URL while running the application. </li></ul></ul></ul>
  16. 17. RAP – TaskOrganizer - Branding
  17. 18. RAP – TaskOrganizer - Theming <ul><li>Theming is based on CSS and allows you to define colors, fonts, borders, margins, and images for the widgets. </li></ul><ul><li>Add the extension point org.eclipse.rap.ui.themes </li></ul><ul><li>Unfortunately, there is no documentation on what properties can be set on what widgets. </li></ul><ul><ul><li>For example, the menu has its theme listed in Menu.theme.xml, the List in List.theme.xml; etc. </li></ul></ul>
  18. 19. RAP – TaskOrganizer – Before/After
  19. 20. RAP – TaskOrganizer – Packaging <ul><li>Deploy your application to a servlet container </li></ul><ul><li>Additional plug-ins must be bundled for deployment </li></ul><ul><li>ServletBridge is the connection between the OSGi framework and servlet container. </li></ul><ul><ul><li>org.eclipse.equinox.servletbridge </li></ul></ul><ul><ul><li>org.eclipse.equinox.servletbridge.http </li></ul></ul><ul><ul><li>org.eclipse.equinox.http.servlet </li></ul></ul><ul><ul><li>org.eclipse.equinox.http.registry </li></ul></ul><ul><ul><li>javax.servlet </li></ul></ul><ul><li>Crete a deploy script (war file, config creator, etc…) </li></ul><ul><li>Run the build script to create the necessary files for deployment </li></ul><ul><li>Deploy the WAR file to a servlet container (e.g. Tomcat) </li></ul>
  20. 21. RAP – TaskOrganizer - Deploy
  21. 22. Smart Phone (R)evolution… <ul><li>Palm Centro/Treo </li></ul><ul><li>Black Berry </li></ul><ul><li>iPhone </li></ul><ul><li>Nokia N/E series, Communicator </li></ul><ul><li>Samsung BlackJack, SCH </li></ul><ul><li>Sony Ericsson P/W series </li></ul>
  22. 23. eRCP – Overview <ul><li>eRCP is a project — sponsored by IBM®, Nokia, and Motorola — that removes the desktop-oriented features of RCP. </li></ul><ul><li>Replaces the traditional frameworks to mobile (SWT -> eSWT; JFace -> eJface; Workbench -> eWorkbench; Update -> eUpdate) </li></ul><ul><li>SWT Mobile Extensions package to provide support for embedded UI features. </li></ul><ul><li>eSWT ties directly to the native GUI system. It employs native code to do this and is, therefore, platform-dependent. </li></ul><ul><li>Cannot run the eRCP GUI applications without having a port of eSWT and mobile extensions for the target platform. </li></ul>
  23. 24. eRCP - Architecture Mobile Extensions : An optional package that provides UI elements commonly found on mobile devices.
  24. 25. eRCP – Supported Platforms <ul><li>4 platforms for development and testing </li></ul><ul><ul><li>Windows Desktop </li></ul></ul><ul><ul><li>Windows Mobile V5/6 Professional </li></ul></ul><ul><ul><li>Windows Mobile V5/6 Standard </li></ul></ul><ul><ul><li>WinCE V4.0 Professional </li></ul></ul><ul><li>Windows Mobile and Windows CE platforms require actual device or the simulator to test the application </li></ul><ul><li>Windows Desktop provides a full eRCP environment; which makes it easy to develop and test the mobile applications on the desktops. </li></ul>
  25. 26. eRCP – TaskOrganizer – Refactoring <ul><li>Start with downloading the eRCP for Desktop runtime and set the target environment </li></ul><ul><li>Look for the compilation errors and change </li></ul><ul><ul><li>Dependant plugins </li></ul></ul><ul><ul><ul><li>Add org.eclipse.ercp.eworkbench </li></ul></ul></ul><ul><ul><li>Extension points </li></ul></ul><ul><ul><ul><li>Add org.eclipse.ercp.eworkbench.applications </li></ul></ul></ul><ul><ul><ul><li>Remove org.eclipse.core.runtime.applications </li></ul></ul></ul><ul><ul><ul><li>Remove org.eclipse.ui.perspectives </li></ul></ul></ul><ul><ul><ul><li>Remove org.eclipse.core.runtime.products </li></ul></ul></ul><ul><ul><li>API changes </li></ul></ul><ul><ul><ul><li>SelectionAdapter -> SelectionListener </li></ul></ul></ul><ul><ul><ul><li>Remove CellModifiers -> Not supported </li></ul></ul></ul><ul><ul><ul><li>Remove RCP related classes </li></ul></ul></ul>
  26. 27. eRCP – TaskOrganizer – eWorkbench <ul><li>eWorkbench does not have the Perspective model </li></ul><ul><li>An eRCP application does not have an IApplication or IEntryPoint as a starting point </li></ul><ul><li>eRCP app extends the eWorkbench instance and runs as child thread </li></ul><ul><li>eWorkbench shares its execution thread among all eRCP applications (allowing all the applications to run in a single JVM) </li></ul>
  27. 28. eRCP – TaskOrganizer – Launch <ul><li>Create a launch configuration using the application type as org.eclipse.ercp.eworkbench.eWorkbench . </li></ul>
  28. 29. eRCP – TaskOrganizer – Deployment <ul><li>Earlier release of Symbian OS (S80) has been discontinued and only a handful Windows mobile OS are supported </li></ul><ul><li>eRCP requires a JVM capable of supporting the CDC/FP v1.0 or later whereas majority of today's devices support only CLDC/MIDP. </li></ul><ul><li>Download the version for Windows Mobile 2003/5/6 or Windows CE platforms </li></ul><ul><li>Purchase a licensed copy of IBM WebSphere Everyplace Micro Environment for Windows Mobile, which comes with IBM's J9 VM for ARM-based devices </li></ul>* Connected Device Configuration/Foundation Profile ** Connected Limited Device Configuration/Mobile Information Device Profile
  29. 30. eRCP – TaskOrganizer on PocketPC
  30. 31. <ul><li>Single Source; Three Runtimes </li></ul><ul><li>Thanks for attention ! </li></ul><ul><li>Have Fun ! </li></ul><ul><li>Suresh Krishna </li></ul>

×