SlideShare a Scribd company logo
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

More Related Content

PPTX
CDO Ignite
PDF
EclipseCon 08 - Agile RCP
PDF
Micro-Benchmarking Considered Harmful
PDF
Graal Tutorial at CGO 2015 by Christian Wimmer
PDF
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
ODP
QVT Traceability: What does it really mean?
PDF
Graal VM: Multi-Language Execution Platform
PDF
HPC Workbench Presentation
CDO Ignite
EclipseCon 08 - Agile RCP
Micro-Benchmarking Considered Harmful
Graal Tutorial at CGO 2015 by Christian Wimmer
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
QVT Traceability: What does it really mean?
Graal VM: Multi-Language Execution Platform
HPC Workbench Presentation

What's hot (13)

PDF
Lesson 9.1 value returning
PDF
Graal and Truffle: One VM to Rule Them All
PDF
Spectra CX 3.4 Launch Webcast
PDF
Rcpp
PPTX
Lesson 13 object and class
PDF
IVI-COM Action
KEY
Single Sourcing RCP and RAP
PDF
Oops index
PPTX
JVM++: The Graal VM
DOCX
ภาษาคอมพิวเตอร์
PDF
llvm-py: Writing Compilers In Python
PDF
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
PPT
Introduction to llvm
Lesson 9.1 value returning
Graal and Truffle: One VM to Rule Them All
Spectra CX 3.4 Launch Webcast
Rcpp
Lesson 13 object and class
IVI-COM Action
Single Sourcing RCP and RAP
Oops index
JVM++: The Graal VM
ภาษาคอมพิวเตอร์
llvm-py: Writing Compilers In Python
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to llvm
Ad

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

PPTX
Eclipse RCP 4
PDF
Eclipse e4
PPT
javagruppen.dk - e4, the next generation Eclipse platform
PPT
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
PDF
Using Dojo Javascript Framework with Rational HATS
PDF
Eclipse e4 - Google Eclipse Day
PDF
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
PDF
Eclipse 40 - Eclipse Summit Europe 2010
PPT
"Eclipse Application Development" at GNUnify 07
PDF
Building Server-Side Eclipse based web applications 2010
PDF
Building Server-Side Eclipse based web applications
PDF
Model Driven Architecture (MDA): Motivations, Status & Future
PPT
Eclipse 2011 Hot Topics
KEY
PROSA - Eclipse Is Just What?
PPTX
Portal / BI 2008 Presentation by Ted Tschopp
PPT
Re-structuring of a swing-based application into an Eclipse RCP
PDF
Learn about Eclipse e4 from Lars Vogel at SF-JUG
PPT
Documentum: where do we go from here
PDF
Developing Rich Clients with the Eclipse 4 Application Platform
PDF
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
Eclipse RCP 4
Eclipse e4
javagruppen.dk - e4, the next generation Eclipse platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Using Dojo Javascript Framework with Rational HATS
Eclipse e4 - Google Eclipse Day
ITCamp 2012 - Raffaele Rialdi - Introduction to WinRT
Eclipse 40 - Eclipse Summit Europe 2010
"Eclipse Application Development" at GNUnify 07
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications
Model Driven Architecture (MDA): Motivations, Status & Future
Eclipse 2011 Hot Topics
PROSA - Eclipse Is Just What?
Portal / BI 2008 Presentation by Ted Tschopp
Re-structuring of a swing-based application into an Eclipse RCP
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Documentum: where do we go from here
Developing Rich Clients with the Eclipse 4 Application Platform
IBM Mobile Foundation POT - Part 2 introduction to application development wi...
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
Teaching material agriculture food technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PPTX
Spectroscopy.pptx food analysis technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Encapsulation theory and applications.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Understanding_Digital_Forensics_Presentation.pptx
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
Spectroscopy.pptx food analysis technology
Empathic Computing: Creating Shared Understanding
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Electronic commerce courselecture one. Pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm

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