SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

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