SlideShare a Scribd company logo
Single Sourcing using Rich Ajax Platform



                                        Ankur Sharma
                                        PDE UI Contributor
                                        ankur_sharma@in.ibm.com




          © 2009 by International Business Machines; made available under the EPL v1.0
Agenda
o   Rich Ajax Platform
o   How it works?
o   Single Sourcing
o   How to develop for RAP?
o   The Good, The Bad and The Ugly




                    © 2010 by International Business Machines; made available under the EPL v1.0
RCP                                                              RAP                   Plug-ins




http://www.flickr.com/photos/stringgle/298571748/




                                                    © 2010 by International Business Machines; made available under the EPL v1.0
Rich Ajax Platform
o   brings RCP applications to browser
o   is not a web-application development toolkit
o   exposes sub-set of RCP API
o   enables re-use




                      © 2010 by International Business Machines; made available under the EPL v1.0
How RAP works?




           © 2010 by International Business Machines; made available under the EPL v1.0
How RAP works?
o   RWT impersonates SWT
o   uses qooxdoo Javascript library
    for rendering UI in browser
o   runs in a OSGi runtime (Equinox)
    with servlet bridge




                      © 2010 by International Business Machines; made available under the EPL v1.0
Single Sourcing
o   write once run everywhere
o   develop desktop and web client simultaneously
    from same code base
o   maximize code and skill reuse
o   can manage with few Javascript and web-
    development skills and resources



                      © 2010 by International Business Machines; made available under the EPL v1.0
How to develop for RAP?
o   Things you need to be careful about
    –     Target Platforms
    –     Dependencies
    –     Platform specific APIs
    –     Validation
    –     Resources
    –     Threads
    –     Jobs
    ...
                             © 2010 by International Business Machines; made available under the EPL v1.0
RAP Target Platform
o   RAP can not co-exists with RCP
o   has separate run-time thus needs different TP
o   better use different workspaces
o   develop principally for RAP TP




                      © 2010 by International Business Machines; made available under the EPL v1.0
Approach
o   Dependencies
    –   Favor Require-Bundle. Better tooling support.
    –   Import-Packages suffer split package problems
o   Missing API
    –   Build fragments
    –   Use compatibility plug-in




                          © 2010 by International Business Machines; made available under the EPL v1.0
RCP vs RAP



   RCP App.

                                           RAP App.




              © 2010 by International Business Machines; made available under the EPL v1.0
Session
o   Singletons are application scope
o   Use SessionSingletonBase for session scope
o   Use a façade
o   Move instance creation to fragments




                      © 2010 by International Business Machines; made available under the EPL v1.0
© 2010 by International Business Machines; made available under the EPL v1.0
Good, Bad and Ugly
o   Good
    –   Easy to port legacy RCP Applications to web
o   Bad
    –   Internationalization and localization is tricky
o   Ugly
    –   Need a bunch of Ant scripts, resource templates and
        few jars to build a .war



                           © 2010 by International Business Machines; made available under the EPL v1.0
© 2010 by International Business Machines; made available under the EPL v1.0
© 2010 by International Business Machines; made available under the EPL v1.0
Sources
o   http://www.eclipse.org/rap/introduction.php
o   http://www.eclipse-banking.org/pdf/slides/Krause.pdf
o   http://eclipsesource.com/en/info/rcp-rap-single-sourcing-
    guideline




                          © 2010 by International Business Machines; made available under the EPL v1.0
Image Credits
o   http://www.flickr.com/photos/stringgle/298571748/




                         © 2010 by International Business Machines; made available under the EPL v1.0

More Related Content

Viewers also liked

Cis485 Shop Sense Case Study
Cis485 Shop Sense Case StudyCis485 Shop Sense Case Study
Cis485 Shop Sense Case Study
guest598cb3a
 
Jesus Rally 2009
Jesus Rally 2009Jesus Rally 2009
Jesus Rally 2009
guest78db71
 
Condivisio "social business community 2.0"
Condivisio "social business community 2.0"Condivisio "social business community 2.0"
Condivisio "social business community 2.0"
Ebizkit "taste the web 2.0"
 
Società Sportiva
Società SportivaSocietà Sportiva
Società Sportiva
Ebizkit "taste the web 2.0"
 
Social Media Marketing
Social Media MarketingSocial Media Marketing
Social Media Marketing
Ebizkit "taste the web 2.0"
 
Introduction to Turning Point Stables
Introduction to Turning Point StablesIntroduction to Turning Point Stables
Introduction to Turning Point Stables
Ardelle Peters
 
北部灣德城新世界介紹
北部灣德城新世界介紹北部灣德城新世界介紹
北部灣德城新世界介紹
rich won
 
Cis485 My Space Study
Cis485 My Space StudyCis485 My Space Study
Cis485 My Space Study
guest598cb3a
 
Eclipse IOT stack over Intel Edison
Eclipse IOT stack over Intel EdisonEclipse IOT stack over Intel Edison
Eclipse IOT stack over Intel Edison
Ankur Sharma
 

Viewers also liked (9)

Cis485 Shop Sense Case Study
Cis485 Shop Sense Case StudyCis485 Shop Sense Case Study
Cis485 Shop Sense Case Study
 
Jesus Rally 2009
Jesus Rally 2009Jesus Rally 2009
Jesus Rally 2009
 
Condivisio "social business community 2.0"
Condivisio "social business community 2.0"Condivisio "social business community 2.0"
Condivisio "social business community 2.0"
 
Società Sportiva
Società SportivaSocietà Sportiva
Società Sportiva
 
Social Media Marketing
Social Media MarketingSocial Media Marketing
Social Media Marketing
 
Introduction to Turning Point Stables
Introduction to Turning Point StablesIntroduction to Turning Point Stables
Introduction to Turning Point Stables
 
北部灣德城新世界介紹
北部灣德城新世界介紹北部灣德城新世界介紹
北部灣德城新世界介紹
 
Cis485 My Space Study
Cis485 My Space StudyCis485 My Space Study
Cis485 My Space Study
 
Eclipse IOT stack over Intel Edison
Eclipse IOT stack over Intel EdisonEclipse IOT stack over Intel Edison
Eclipse IOT stack over Intel Edison
 

Similar to Single sourcing using Rich Ajax Platform

Rich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich ClientRich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich Client
Fabian Lange
 
Riena on-rap-ese2010
Riena on-rap-ese2010Riena on-rap-ese2010
Riena on-rap-ese2010
christiancampo
 
OGDC 2014_Cross platform mobile game application development_Mr. Makku J.Kero
OGDC 2014_Cross platform mobile game application development_Mr. Makku J.KeroOGDC 2014_Cross platform mobile game application development_Mr. Makku J.Kero
OGDC 2014_Cross platform mobile game application development_Mr. Makku J.Kero
ogdc
 
OGDC 2014: Cross Platform Mobile Game Application Development
OGDC 2014: Cross Platform Mobile Game Application DevelopmentOGDC 2014: Cross Platform Mobile Game Application Development
OGDC 2014: Cross Platform Mobile Game Application Development
GameLandVN
 
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Hiromu Hota
 
An introduction to Apache Cordova
An introduction to Apache CordovaAn introduction to Apache Cordova
An introduction to Apache Cordova
valuebound
 
"React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi "React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi
ThinkOpen
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming Platforms
Anup Hariharan Nair
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
OCTO Technology
 
【Primer】WebApp release in 3 hours! Programming from scratch Rails course
【Primer】WebApp release in 3 hours! Programming from scratch Rails course【Primer】WebApp release in 3 hours! Programming from scratch Rails course
【Primer】WebApp release in 3 hours! Programming from scratch Rails course
DIVE INTO CODE Corp.
 
Eclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three RuntimesEclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three Runtimes
Suresh Krishna Madhuvarsu
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
Avanade Nederland
 
SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption
SAP PartnerEdge program for Application Development
 
Create Web 20 Style Rich Clients With Eclipse
Create Web 20 Style Rich Clients With EclipseCreate Web 20 Style Rich Clients With Eclipse
Create Web 20 Style Rich Clients With Eclipse
Suresh Krishna Madhuvarsu
 
Business management application
Business management applicationBusiness management application
Business management application
Pritam Tirpude
 
Eclipse RCP
Eclipse RCPEclipse RCP
Eclipse RCP
Vijay Kiran
 
How does the WSO2 App Factory Contribute to the Quick Deleivery of a Solution
How does the WSO2 App Factory Contribute to the Quick Deleivery of a SolutionHow does the WSO2 App Factory Contribute to the Quick Deleivery of a Solution
How does the WSO2 App Factory Contribute to the Quick Deleivery of a Solution
WSO2
 
Developing cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache CordovaDeveloping cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache Cordova
Mahmoud Tolba
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For Cordova
Chris Whealy
 
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
Olivier Thomann
 

Similar to Single sourcing using Rich Ajax Platform (20)

Rich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich ClientRich Ajax Platform - Programming for Web and Rich Client
Rich Ajax Platform - Programming for Web and Rich Client
 
Riena on-rap-ese2010
Riena on-rap-ese2010Riena on-rap-ese2010
Riena on-rap-ese2010
 
OGDC 2014_Cross platform mobile game application development_Mr. Makku J.Kero
OGDC 2014_Cross platform mobile game application development_Mr. Makku J.KeroOGDC 2014_Cross platform mobile game application development_Mr. Makku J.Kero
OGDC 2014_Cross platform mobile game application development_Mr. Makku J.Kero
 
OGDC 2014: Cross Platform Mobile Game Application Development
OGDC 2014: Cross Platform Mobile Game Application DevelopmentOGDC 2014: Cross Platform Mobile Game Application Development
OGDC 2014: Cross Platform Mobile Game Application Development
 
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
 
An introduction to Apache Cordova
An introduction to Apache CordovaAn introduction to Apache Cordova
An introduction to Apache Cordova
 
"React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi "React Native" by Vanessa Leo e Roberto Brogi
"React Native" by Vanessa Leo e Roberto Brogi
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming Platforms
 
RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
【Primer】WebApp release in 3 hours! Programming from scratch Rails course
【Primer】WebApp release in 3 hours! Programming from scratch Rails course【Primer】WebApp release in 3 hours! Programming from scratch Rails course
【Primer】WebApp release in 3 hours! Programming from scratch Rails course
 
Eclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three RuntimesEclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three Runtimes
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption
 
Create Web 20 Style Rich Clients With Eclipse
Create Web 20 Style Rich Clients With EclipseCreate Web 20 Style Rich Clients With Eclipse
Create Web 20 Style Rich Clients With Eclipse
 
Business management application
Business management applicationBusiness management application
Business management application
 
Eclipse RCP
Eclipse RCPEclipse RCP
Eclipse RCP
 
How does the WSO2 App Factory Contribute to the Quick Deleivery of a Solution
How does the WSO2 App Factory Contribute to the Quick Deleivery of a SolutionHow does the WSO2 App Factory Contribute to the Quick Deleivery of a Solution
How does the WSO2 App Factory Contribute to the Quick Deleivery of a Solution
 
Developing cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache CordovaDeveloping cross platforms mobile applications using the Apache Cordova
Developing cross platforms mobile applications using the Apache Cordova
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For Cordova
 
Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?Who Took The Cookie From The Cookie Jar?
Who Took The Cookie From The Cookie Jar?
 

Recently uploaded

Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 

Recently uploaded (20)

Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 

Single sourcing using Rich Ajax Platform

  • 1. Single Sourcing using Rich Ajax Platform Ankur Sharma PDE UI Contributor ankur_sharma@in.ibm.com © 2009 by International Business Machines; made available under the EPL v1.0
  • 2. Agenda o Rich Ajax Platform o How it works? o Single Sourcing o How to develop for RAP? o The Good, The Bad and The Ugly © 2010 by International Business Machines; made available under the EPL v1.0
  • 3. RCP RAP Plug-ins http://www.flickr.com/photos/stringgle/298571748/ © 2010 by International Business Machines; made available under the EPL v1.0
  • 4. Rich Ajax Platform o brings RCP applications to browser o is not a web-application development toolkit o exposes sub-set of RCP API o enables re-use © 2010 by International Business Machines; made available under the EPL v1.0
  • 5. How RAP works? © 2010 by International Business Machines; made available under the EPL v1.0
  • 6. How RAP works? o RWT impersonates SWT o uses qooxdoo Javascript library for rendering UI in browser o runs in a OSGi runtime (Equinox) with servlet bridge © 2010 by International Business Machines; made available under the EPL v1.0
  • 7. Single Sourcing o write once run everywhere o develop desktop and web client simultaneously from same code base o maximize code and skill reuse o can manage with few Javascript and web- development skills and resources © 2010 by International Business Machines; made available under the EPL v1.0
  • 8. How to develop for RAP? o Things you need to be careful about – Target Platforms – Dependencies – Platform specific APIs – Validation – Resources – Threads – Jobs ... © 2010 by International Business Machines; made available under the EPL v1.0
  • 9. RAP Target Platform o RAP can not co-exists with RCP o has separate run-time thus needs different TP o better use different workspaces o develop principally for RAP TP © 2010 by International Business Machines; made available under the EPL v1.0
  • 10. Approach o Dependencies – Favor Require-Bundle. Better tooling support. – Import-Packages suffer split package problems o Missing API – Build fragments – Use compatibility plug-in © 2010 by International Business Machines; made available under the EPL v1.0
  • 11. RCP vs RAP RCP App. RAP App. © 2010 by International Business Machines; made available under the EPL v1.0
  • 12. Session o Singletons are application scope o Use SessionSingletonBase for session scope o Use a façade o Move instance creation to fragments © 2010 by International Business Machines; made available under the EPL v1.0
  • 13. © 2010 by International Business Machines; made available under the EPL v1.0
  • 14. Good, Bad and Ugly o Good – Easy to port legacy RCP Applications to web o Bad – Internationalization and localization is tricky o Ugly – Need a bunch of Ant scripts, resource templates and few jars to build a .war © 2010 by International Business Machines; made available under the EPL v1.0
  • 15. © 2010 by International Business Machines; made available under the EPL v1.0
  • 16. © 2010 by International Business Machines; made available under the EPL v1.0
  • 17. Sources o http://www.eclipse.org/rap/introduction.php o http://www.eclipse-banking.org/pdf/slides/Krause.pdf o http://eclipsesource.com/en/info/rcp-rap-single-sourcing- guideline © 2010 by International Business Machines; made available under the EPL v1.0
  • 18. Image Credits o http://www.flickr.com/photos/stringgle/298571748/ © 2010 by International Business Machines; made available under the EPL v1.0