SlideShare une entreprise Scribd logo
1  sur  16
Experiences from porting a
commercial RCP application to
         Eclipse 4.x
Anders Forsell, Fredrik Attebrant – FindOut Technologies
                         2012-03-25 11:02
• Products
               • Paipe
               • PrioVis


    • Services
               • Eclipse RCP




(c) FindOut Technologies AB 2012
PrioVis – A Visual Project Planning Tool




(c) FindOut Technologies AB 2012
Eclipse RCP history




                                                                                                ”RCP 2.0”
                                                                     ”tech. preview”
                                   First ideas to use Eclipse as
                                   general 1.0”
                                    ”RCP applicationplatform       e4     0.9      4.0   4.1       4.2

 1.0                        2.1            3.0                     3.4            3.6    3.7       3.8

2001                     2003             2004   2005              2008   2009   2010    2011    2012

                                                        OSGi services




       (c) FindOut Technologies AB 2012
RCP 4.x Architecture


                                              RCP Legacy parts
                 RCP
                                                • GEF editor        org.eclipse.ui.workbench
                 Pure                                                 implemented on 4.x
                                                • EMF editor
                  4.x
                 parts
                                   Compatibility Layer, provides 3.x APIs

                Application Model, CSS Styling, DI, Application Services
       Eclipse 4.x
       Application Platform
                                    Equinox         EMF Core     SWT, JFace


                                     Java Virtual Machine




(c) FindOut Technologies AB 2012
Migration paths

                                       Compatibility layer 4.x RCP
       Recompile

                                                                       EMF Editor             GEF
                                             • 3rd party “blockers”:
                                                                           org.eclipse.ui.workbench


3.x RCP



                  Migrate
                  3.x API                    Pure 4.x RCP
                   to 4.x


                                           • Application Model
                                           • Dependency Injection


    (c) FindOut Technologies AB 2012
Migration story                                         4.x Application Services:


org.eclipse.ui.workbench                                              ESelectionService

                                                 Rewrite code

 IViewPart                    IEditorPart
                                                                          ECommandService



                   …
                                                                   EPartService             …




 Same stuff:                               SWT       JFace         OSGi           …



        (c) FindOut Technologies AB 2012
Mixed mode

                                       Compatibility layer 4.x RCP
       Recompile

                                             • Add Application.e4xmi
                                             • Migrate menus, toolbars
                                             • Add Pure Parts             Not officially
3.x RCP                                      • Add Dependency Injection   supported in
                                                                              4.2


                  Migrate
                  3.x API                    Pure 4.x RCP
                   to 4.x




    (c) FindOut Technologies AB 2012
Mixed mode



                                                           Status


                                        GEF editor

                 Project
                 Explorer                                Releases




                                   Properties        Backlog




(c) FindOut Technologies AB 2012
DEMO
(c) FindOut Technologies AB 2012
Summary


Pros:
• Modernized architecture, True RCP
• Testability, Styling
Cons:
• Lack of support for mixed mode
• Many key components still rely on 3.x
• Bug 351363 “Migration of standard views”



(c) FindOut Technologies AB 2012
References
• Vogella tutorials
    http://www.vogella.de/eclipse.html     - Eclipse 4 Development
• Tom Schindl’s forward compatibility layer
          http://tomsondev.bestsolution.at/2010/06/08/e4-a-forward-compat-layer


•http://wiki.eclipse.org/Eclipse4/RCP
• e4-forum
• e4-dev mailing list
• bugs
• slideshare for our slides

(c) FindOut Technologies AB 2012
Other talks at EclipseCon 2012

    Eclipse 4 API: The Path of LeastResistance talk:
               • Today at 14:15-15:00 (next talk) in Grand Ballroom BC


    Eclipse 4's Modeled UI: Providing you with the Tools to Chart your
      own Graph
               • Today at 16:15 - 17:00 in RegencyBallroom B


    Eclipse 4 Meets CDO: Now You See It, and So Do They!
               • Tomorrow at 11:45 - 12:20 in Grand Ballroom BC


    Eclipse 4.2: Tips on API best practices for a 3.x plugin running on
      both platforms
               • Tomorrow at 13:30 - 14:15 in Grand Ballroom BC


(c) FindOut Technologies AB 2012
Q&A



Questions - contact us:
          fredrik.attebrant<at>find-out.se
               - Twitter: @ffxxoo
          anders.forsell<at>find-out.se
               - Twitter: @aforsell



… or let’s meet in the bar…
… or the Eclipse4 BOF at 8:30 pm


(c) FindOut Technologies AB 2012
Time’s up…




                     Thank you!

(c) FindOut Technologies AB 2012
License and acknowledgements


• This presentation is licensed under the Creative
Commons Attribution-NonCommercial-NoDerivs 3.0
Unported (CC BY-NC-ND 3.0)
http://creativecommons.org/licenses/by-nc-nd/3.0/




(c) FindOut Technologies AB 2012

Contenu connexe

Tendances

Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllThomas Wuerthinger
 
IVI-COM Action
IVI-COM ActionIVI-COM Action
IVI-COM ActionInterlatin
 
Single Sourcing RCP and RAP
Single Sourcing RCP and RAPSingle Sourcing RCP and RAP
Single Sourcing RCP and RAPChris Aniszczyk
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์wichaikraisorn
 
llvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Pythonllvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Pythonmdevan
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
Introduction to llvm
Introduction to llvmIntroduction to llvm
Introduction to llvmTao He
 

Tendances (13)

Lesson 9.1 value returning
Lesson 9.1 value returningLesson 9.1 value returning
Lesson 9.1 value returning
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
 
Spectra CX 3.4 Launch Webcast
Spectra CX 3.4 Launch WebcastSpectra CX 3.4 Launch Webcast
Spectra CX 3.4 Launch Webcast
 
Rcpp
RcppRcpp
Rcpp
 
Lesson 13 object and class
Lesson 13 object and classLesson 13 object and class
Lesson 13 object and class
 
IVI-COM Action
IVI-COM ActionIVI-COM Action
IVI-COM Action
 
Single Sourcing RCP and RAP
Single Sourcing RCP and RAPSingle Sourcing RCP and RAP
Single Sourcing RCP and RAP
 
Oops index
Oops indexOops index
Oops index
 
JVM++: The Graal VM
JVM++: The Graal VMJVM++: The Graal VM
JVM++: The Graal VM
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
llvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Pythonllvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Python
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
Introduction to llvm
Introduction to llvmIntroduction to llvm
Introduction to llvm
 

Similaire à Experiences from porting a commercial RCP application to Eclipse 4.x

Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformTonny Madsen
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformTonny Madsen
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugLars Vogel
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMmfrancis
 
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre..."APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...Edge AI and Vision Alliance
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform WorkspaceTomasz Zarna
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupDavid Bosschaert
 
Cool stuff in E4 for developers
Cool stuff in E4 for developersCool stuff in E4 for developers
Cool stuff in E4 for developersMickael Istria
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Gunnar Wagenknecht
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyglefur
 
Developing Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse GyrexDeveloping Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse GyrexGunnar Wagenknecht
 
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMUsing OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMmfrancis
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 

Similaire à Experiences from porting a commercial RCP application to Eclipse 4.x (20)

Eclipse RCP 4
Eclipse RCP 4Eclipse RCP 4
Eclipse RCP 4
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platform
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
 
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre..."APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform Workspace
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert Group
 
Cool stuff in E4 for developers
Cool stuff in E4 for developersCool stuff in E4 for developers
Cool stuff in E4 for developers
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxy
 
Developing Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse GyrexDeveloping Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse Gyrex
 
Eclipse
EclipseEclipse
Eclipse
 
Deep Dive into Entity Framework 6.0
Deep Dive into Entity Framework 6.0Deep Dive into Entity Framework 6.0
Deep Dive into Entity Framework 6.0
 
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMUsing OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Eclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three RuntimesEclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three Runtimes
 

Dernier

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Dernier (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Experiences from porting a commercial RCP application to Eclipse 4.x

  • 1. Experiences from porting a commercial RCP application to Eclipse 4.x Anders Forsell, Fredrik Attebrant – FindOut Technologies 2012-03-25 11:02
  • 2. • Products • Paipe • PrioVis • Services • Eclipse RCP (c) FindOut Technologies AB 2012
  • 3. PrioVis – A Visual Project Planning Tool (c) FindOut Technologies AB 2012
  • 4. Eclipse RCP history ”RCP 2.0” ”tech. preview” First ideas to use Eclipse as general 1.0” ”RCP applicationplatform e4 0.9 4.0 4.1 4.2 1.0 2.1 3.0 3.4 3.6 3.7 3.8 2001 2003 2004 2005 2008 2009 2010 2011 2012 OSGi services (c) FindOut Technologies AB 2012
  • 5. RCP 4.x Architecture RCP Legacy parts RCP • GEF editor org.eclipse.ui.workbench Pure implemented on 4.x • EMF editor 4.x parts Compatibility Layer, provides 3.x APIs Application Model, CSS Styling, DI, Application Services Eclipse 4.x Application Platform Equinox EMF Core SWT, JFace Java Virtual Machine (c) FindOut Technologies AB 2012
  • 6. Migration paths Compatibility layer 4.x RCP Recompile EMF Editor GEF • 3rd party “blockers”: org.eclipse.ui.workbench 3.x RCP Migrate 3.x API Pure 4.x RCP to 4.x • Application Model • Dependency Injection (c) FindOut Technologies AB 2012
  • 7. Migration story 4.x Application Services: org.eclipse.ui.workbench ESelectionService Rewrite code IViewPart IEditorPart ECommandService … EPartService … Same stuff: SWT JFace OSGi … (c) FindOut Technologies AB 2012
  • 8. Mixed mode Compatibility layer 4.x RCP Recompile • Add Application.e4xmi • Migrate menus, toolbars • Add Pure Parts Not officially 3.x RCP • Add Dependency Injection supported in 4.2 Migrate 3.x API Pure 4.x RCP to 4.x (c) FindOut Technologies AB 2012
  • 9. Mixed mode Status GEF editor Project Explorer Releases Properties Backlog (c) FindOut Technologies AB 2012
  • 11. Summary Pros: • Modernized architecture, True RCP • Testability, Styling Cons: • Lack of support for mixed mode • Many key components still rely on 3.x • Bug 351363 “Migration of standard views” (c) FindOut Technologies AB 2012
  • 12. References • Vogella tutorials http://www.vogella.de/eclipse.html - Eclipse 4 Development • Tom Schindl’s forward compatibility layer http://tomsondev.bestsolution.at/2010/06/08/e4-a-forward-compat-layer •http://wiki.eclipse.org/Eclipse4/RCP • e4-forum • e4-dev mailing list • bugs • slideshare for our slides (c) FindOut Technologies AB 2012
  • 13. Other talks at EclipseCon 2012 Eclipse 4 API: The Path of LeastResistance talk: • Today at 14:15-15:00 (next talk) in Grand Ballroom BC Eclipse 4's Modeled UI: Providing you with the Tools to Chart your own Graph • Today at 16:15 - 17:00 in RegencyBallroom B Eclipse 4 Meets CDO: Now You See It, and So Do They! • Tomorrow at 11:45 - 12:20 in Grand Ballroom BC Eclipse 4.2: Tips on API best practices for a 3.x plugin running on both platforms • Tomorrow at 13:30 - 14:15 in Grand Ballroom BC (c) FindOut Technologies AB 2012
  • 14. Q&A Questions - contact us: fredrik.attebrant<at>find-out.se - Twitter: @ffxxoo anders.forsell<at>find-out.se - Twitter: @aforsell … or let’s meet in the bar… … or the Eclipse4 BOF at 8:30 pm (c) FindOut Technologies AB 2012
  • 15. Time’s up… Thank you! (c) FindOut Technologies AB 2012
  • 16. License and acknowledgements • This presentation is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) http://creativecommons.org/licenses/by-nc-nd/3.0/ (c) FindOut Technologies AB 2012