SlideShare a Scribd company logo
Eclipse RCP as an Application Platform Eclipse is probably best known as a world-class Java IDE, but it is so much more if you just scratch the surface. Deep in the core of Eclipse, you find Eclipse RCP - the “Rich Client Platform" - that provides all the essential services for almost all types of client applications. This talk explores the services built into Eclipse RCP and shows some examples of what is possible with the platform. At the end, we also touch on the future of Eclipse RCP with the advent of Eclipse 4.0.
Agenda Eclipse is… what exactly? The Eclipse Architecture The timeline for Eclipse 4.0
Eclipse is… what exactly?
Eclipse – The Sweets
ECLIPSE – The Mitsubishi Car
Eclipse – The Java IDE
Eclipse – The Tools Platform
Eclipse – The Application Platform
Eclipse – The Application Platform
IBM Lotus Notes Version 8
A Little About The Eclipse Architecture Eclipse Platform Resources Workspace Help Update Team Web Server Filesystems Apache Search Navigator Intro Text Editors JDT CVS WTP Datatools VE BIRT Mylyn PDE Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry CDT
The Eclipse Story 1994: IBM develops VisualAge for Smalltalk – programmed in Smalltalk 1995: Java is released to a select group 1996: IBM develops VisualAge for Java – still programmed in Smalltalk November 1998: OTI (Object Technology International – part of IBM) is commissioned to develop new development platform for Java  First known as VisualAge Micro Edition (VAME) and later Eclipse 7. November 2001: Eclipse 2.0 made Open Source 25. June 2004: Eclipse 3.0 released introducing Eclipse RCP Framework make-over introducing OSGi 2009: Eclipse 3.5 released – known as Galileo 27. June 2010: Eclipse 3.6 will be released Also known as Helios End of July, 2010: Eclipse SDK 4.0 Early Adopter Release First release of e4 technology June 2011: Eclipse 3.7 will be released June 2012: Eclipse 4.x will be released
Basically… We need an architecture that supports distributed development over a large number of autonomous development groups We need a component concept where components are loosely coupled and can be started (and stopped) independently We need a way to describe external interfaces of components and dependencies between components We need a way to only start the components when they are needed, and not before – also known as late activation We need all this to work over multiple generations of components
Eclipse Architectural Components JDT CVS WTP Datatools VE BIRT Mylyn PDE CDT Eclipse Platform Resources Workspace Help Update Team Web Server Filesystems Apache Search Navigator Intro Text Editors Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry
Your Typical RCP Application Application Platform Comm. Logging Help Update Auth. Auditing Apache Intro Base Add-on Add-on Add-on Add-on Debug Tools Data Model Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry Add-on
Organizing the Platform The software of an Eclipse system is based on the following terms: Plug-ins  – a plug-in is the basic unit of software Fragments  – a fragment is an add-on to an existing plug-in with additional functionality Features  – a feature is a number of plug-ins that is distributed and updated as a whole Applications  – an application is a Java class that implements a specific interface and is declared as such in the plug-in Products  – a product is a set of features or plug-ins along with the appropriate branding
The Goals and History of e4
Why A New Eclipse Framework Simplify the Eclipse programming model This will reduce development and maintenance costs and enable a larger developer community to leverage the platform in their own Eclipse-based applications Enable the platform for use on emerging web-based runtime technologies This will ensure the platform remains a compelling and viable application framework in a rapidly changing web technology landscape, and it will allow e4-based applications to leverage web technologies, while remaining insulated from specific technology choices that may quickly become obsolete Broaden participation in development of the platform This reduces the risks associated with building on a platform largely funded from a single source. Having a large and diverse group of commercial backers, will ensure the platform remains vibrant and viable over the long term
Main Technical Differences between Eclipse 3.x and e4 Application Model in EMF Complete live model for the application – changes are reflected immediately in the application Rendering the Application Maps the model to the UI Allows for a completely new look and feel without touching the internals Allows support for different widget sets – even Adobe Flash or Microsoft Silverlight Context Contains the context/environment for all contributions Brokers interaction with the framework: service lookup, service registration Dependency Injection Allows for POJOs for all contributions
The e4 Story First presented at EclipseCon ’08 20. May 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform designed from Scratch Based upon an EMF-Application-Model No statics, no singletons, usage of Dependency Injection Based on OSGi-Services 14. January 2010: 1.0M3 released End of July, 2010: Eclipse SDK 4.0 Early Adopter Release
Eclipse.dk – The Danish Eclipse Society Eclipse.dk was created in Marts 2007 as a meeting place for everyone interested in the Eclipse ( www.eclipse.org ) platform.  The purpose of Eclipse.dk is as follows: To promote the knowledge of Eclipse in Denmark. To create networks amongst danish Eclipse-users and developers. To build knowledge on Eclipse in Denmark, especially  In danish institutes of higher education. Between danish companies developing applications based on Eclipse. Create and maintain a web site on Eclipse for danish users – eclipse.dk. Strengthen the relations between danish and international Eclipse-users and organizations. The eclipse.dk society has members representing not only vendors of Eclipse-based products and services, but also users of the platform and representatives from institutions of higher education.
Q & A
About Me Tonny Madsen, Founder and Owner of The RCP Company 20 years of experience in system development in major companies 9 years experience as the Systems Architect of an 20+ MLoC project 8 years of experience with Eclipse and Eclipse RCP Solutions Member of the Eclipse Foundation Chairman of Eclipse.dk Extern Lecturer at IT-University on Model Driven Development  and Domain Specific Languages Regular speaker at EclipseCon, Eclipse Summit, etc
If You Want to Know More about Eclipse The foundation: http://eclipse.org The Danish User Group: http://eclipse.dk The training: http://www.eclipse.org/community/training/classes.php Resources on Eclipse: http://www.eclipse.org/resources/ Consolidated Blog: http://planeteclipse.org/
If You Want to Know More about e4 The Project: http://www.eclipse.org/e4/ Downloading e4: http://download.eclipse.org/e4/downloads/ The Wiki: http://wiki.eclipse.org/E4 The training: Not yet, but coming after the Summer Tutorials on e4: http://www.vogella.de/articles/EclipseE4/article.html A “create an application” tutorial from Lars Vogel

More Related Content

PPT
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
PPT
javagruppen.dk - e4, the next generation Eclipse platform
PPT
IDA - Eclipse Workshop II (In Danish)
PDF
Model Driven Development With Emf And Eclipse Link
PPTX
PDF
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
PPTX
Deployingmuleapplications 160903085602
PDF
Democamp Munich 2013: Are you still manually coding UIs?
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
javagruppen.dk - e4, the next generation Eclipse platform
IDA - Eclipse Workshop II (In Danish)
Model Driven Development With Emf And Eclipse Link
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Deployingmuleapplications 160903085602
Democamp Munich 2013: Are you still manually coding UIs?

What's hot (20)

PPT
Eclipse - Single Source;Three Runtimes
PDF
An overview of the architecture of electron.js
PPT
Brane.Storm
PDF
Eclipse IDE and Platform news on Fosdem 2020
PPT
Re-structuring of a swing-based application into an Eclipse RCP
PPTX
Cloud based augmented reality
PPT
OSCON Titanium Tutorial
PPTX
Chef Community Summit, Keynote Address
PPT
Compare framework
PDF
Flex and Java
PPT
Air(2)
PPT
Drupal
ODP
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
PDF
Eclipse Way
KEY
What's New in Plug-in Development (Galileo)
ODP
Jalimo Slides Linuxtag2008
PDF
Eclipse & java based modeling platforms for smart phone
PPTX
EPiServer 8: First Release Since Ektron Merger
PDF
Introduction to Appcelerator Titanium
PPT
Eclipse introduction IDE PRESENTATION
Eclipse - Single Source;Three Runtimes
An overview of the architecture of electron.js
Brane.Storm
Eclipse IDE and Platform news on Fosdem 2020
Re-structuring of a swing-based application into an Eclipse RCP
Cloud based augmented reality
OSCON Titanium Tutorial
Chef Community Summit, Keynote Address
Compare framework
Flex and Java
Air(2)
Drupal
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Eclipse Way
What's New in Plug-in Development (Galileo)
Jalimo Slides Linuxtag2008
Eclipse & java based modeling platforms for smart phone
EPiServer 8: First Release Since Ektron Merger
Introduction to Appcelerator Titanium
Eclipse introduction IDE PRESENTATION
Ad

Similar to Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform (20)

PPTX
Eclipse Overview
PPTX
Eclipse RCP Overview @ Rheinjug
PPT
ITU - MDD - Eclipse Plug-ins
ODP
Eclipse
PPT
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
PPT
"Eclipse Application Development" at GNUnify 07
PPT
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
PDF
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
PDF
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
PPT
Leveraging the Eclipse Ecosystem for the Scientific Community
PDF
Os Tibbittstutorial
PDF
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
PDF
Overview of Eclipse technologies
PDF
Hithhiker guide to eclipse presentation frameworks galaxy
PPT
The Nuxeo Way: leveraging open source to build a world-class ECM platform
PPT
SIGAda Hibachi Workshop Presentation
PDF
What the heck is Eclipse Modeling and why should you care !
PDF
10.1.1.87.529
PDF
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
PPT
Eclipse Training - Introduction
Eclipse Overview
Eclipse RCP Overview @ Rheinjug
ITU - MDD - Eclipse Plug-ins
Eclipse
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
"Eclipse Application Development" at GNUnify 07
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
Eclipse DemoCamp Toulouse 2017 - Mr. Robot : The modeling Society
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Leveraging the Eclipse Ecosystem for the Scientific Community
Os Tibbittstutorial
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
Overview of Eclipse technologies
Hithhiker guide to eclipse presentation frameworks galaxy
The Nuxeo Way: leveraging open source to build a world-class ECM platform
SIGAda Hibachi Workshop Presentation
What the heck is Eclipse Modeling and why should you care !
10.1.1.87.529
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
Eclipse Training - Introduction
Ad

More from Tonny Madsen (20)

KEY
L0043 - Interfacing to Eclipse Standard Views
PPT
L0037 - Basic Eclipse Configuration
KEY
L0036 - Creating Views and Editors
KEY
L0033 - JFace
KEY
L0020 - The Basic RCP Application
KEY
L0018 - SWT - The Standard Widget Toolkit
KEY
L0016 - The Structure of an Eclipse Plug-in
KEY
L0001 - The Terminology of the Eclipse Platform
KEY
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
KEY
PROSA - Eclipse Is Just What?
PPT
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
PPT
ITU - MDD – Model-to-Model Transformations
PPT
IDA - Eclipse Workshop I (In Danish)
PPT
ITU - MDD - EMF
PPT
ITU - MDD - XText
PPT
eclipse.dk - Eclipse RCP Under the Hood
PPT
EclipseCon '08 - BoF - Building a local Eclipse user group
PPT
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
PPT
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
PPT
ITU - MDD – Modeling Techniques
L0043 - Interfacing to Eclipse Standard Views
L0037 - Basic Eclipse Configuration
L0036 - Creating Views and Editors
L0033 - JFace
L0020 - The Basic RCP Application
L0018 - SWT - The Standard Widget Toolkit
L0016 - The Structure of an Eclipse Plug-in
L0001 - The Terminology of the Eclipse Platform
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
PROSA - Eclipse Is Just What?
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
ITU - MDD – Model-to-Model Transformations
IDA - Eclipse Workshop I (In Danish)
ITU - MDD - EMF
ITU - MDD - XText
eclipse.dk - Eclipse RCP Under the Hood
EclipseCon '08 - BoF - Building a local Eclipse user group
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
ITU - MDD – Modeling Techniques

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Electronic commerce courselecture one. Pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
Teaching material agriculture food technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
20250228 LYD VKU AI Blended-Learning.pptx
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Electronic commerce courselecture one. Pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Chapter 3 Spatial Domain Image Processing.pdf

Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform

  • 1. Eclipse RCP as an Application Platform Eclipse is probably best known as a world-class Java IDE, but it is so much more if you just scratch the surface. Deep in the core of Eclipse, you find Eclipse RCP - the “Rich Client Platform" - that provides all the essential services for almost all types of client applications. This talk explores the services built into Eclipse RCP and shows some examples of what is possible with the platform. At the end, we also touch on the future of Eclipse RCP with the advent of Eclipse 4.0.
  • 2. Agenda Eclipse is… what exactly? The Eclipse Architecture The timeline for Eclipse 4.0
  • 5. ECLIPSE – The Mitsubishi Car
  • 6. Eclipse – The Java IDE
  • 7. Eclipse – The Tools Platform
  • 8. Eclipse – The Application Platform
  • 9. Eclipse – The Application Platform
  • 10. IBM Lotus Notes Version 8
  • 11. A Little About The Eclipse Architecture Eclipse Platform Resources Workspace Help Update Team Web Server Filesystems Apache Search Navigator Intro Text Editors JDT CVS WTP Datatools VE BIRT Mylyn PDE Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry CDT
  • 12. The Eclipse Story 1994: IBM develops VisualAge for Smalltalk – programmed in Smalltalk 1995: Java is released to a select group 1996: IBM develops VisualAge for Java – still programmed in Smalltalk November 1998: OTI (Object Technology International – part of IBM) is commissioned to develop new development platform for Java First known as VisualAge Micro Edition (VAME) and later Eclipse 7. November 2001: Eclipse 2.0 made Open Source 25. June 2004: Eclipse 3.0 released introducing Eclipse RCP Framework make-over introducing OSGi 2009: Eclipse 3.5 released – known as Galileo 27. June 2010: Eclipse 3.6 will be released Also known as Helios End of July, 2010: Eclipse SDK 4.0 Early Adopter Release First release of e4 technology June 2011: Eclipse 3.7 will be released June 2012: Eclipse 4.x will be released
  • 13. Basically… We need an architecture that supports distributed development over a large number of autonomous development groups We need a component concept where components are loosely coupled and can be started (and stopped) independently We need a way to describe external interfaces of components and dependencies between components We need a way to only start the components when they are needed, and not before – also known as late activation We need all this to work over multiple generations of components
  • 14. Eclipse Architectural Components JDT CVS WTP Datatools VE BIRT Mylyn PDE CDT Eclipse Platform Resources Workspace Help Update Team Web Server Filesystems Apache Search Navigator Intro Text Editors Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry
  • 15. Your Typical RCP Application Application Platform Comm. Logging Help Update Auth. Auditing Apache Intro Base Add-on Add-on Add-on Add-on Debug Tools Data Model Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry Add-on
  • 16. Organizing the Platform The software of an Eclipse system is based on the following terms: Plug-ins – a plug-in is the basic unit of software Fragments – a fragment is an add-on to an existing plug-in with additional functionality Features – a feature is a number of plug-ins that is distributed and updated as a whole Applications – an application is a Java class that implements a specific interface and is declared as such in the plug-in Products – a product is a set of features or plug-ins along with the appropriate branding
  • 17. The Goals and History of e4
  • 18. Why A New Eclipse Framework Simplify the Eclipse programming model This will reduce development and maintenance costs and enable a larger developer community to leverage the platform in their own Eclipse-based applications Enable the platform for use on emerging web-based runtime technologies This will ensure the platform remains a compelling and viable application framework in a rapidly changing web technology landscape, and it will allow e4-based applications to leverage web technologies, while remaining insulated from specific technology choices that may quickly become obsolete Broaden participation in development of the platform This reduces the risks associated with building on a platform largely funded from a single source. Having a large and diverse group of commercial backers, will ensure the platform remains vibrant and viable over the long term
  • 19. Main Technical Differences between Eclipse 3.x and e4 Application Model in EMF Complete live model for the application – changes are reflected immediately in the application Rendering the Application Maps the model to the UI Allows for a completely new look and feel without touching the internals Allows support for different widget sets – even Adobe Flash or Microsoft Silverlight Context Contains the context/environment for all contributions Brokers interaction with the framework: service lookup, service registration Dependency Injection Allows for POJOs for all contributions
  • 20. The e4 Story First presented at EclipseCon ’08 20. May 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform designed from Scratch Based upon an EMF-Application-Model No statics, no singletons, usage of Dependency Injection Based on OSGi-Services 14. January 2010: 1.0M3 released End of July, 2010: Eclipse SDK 4.0 Early Adopter Release
  • 21. Eclipse.dk – The Danish Eclipse Society Eclipse.dk was created in Marts 2007 as a meeting place for everyone interested in the Eclipse ( www.eclipse.org ) platform. The purpose of Eclipse.dk is as follows: To promote the knowledge of Eclipse in Denmark. To create networks amongst danish Eclipse-users and developers. To build knowledge on Eclipse in Denmark, especially In danish institutes of higher education. Between danish companies developing applications based on Eclipse. Create and maintain a web site on Eclipse for danish users – eclipse.dk. Strengthen the relations between danish and international Eclipse-users and organizations. The eclipse.dk society has members representing not only vendors of Eclipse-based products and services, but also users of the platform and representatives from institutions of higher education.
  • 22. Q & A
  • 23. About Me Tonny Madsen, Founder and Owner of The RCP Company 20 years of experience in system development in major companies 9 years experience as the Systems Architect of an 20+ MLoC project 8 years of experience with Eclipse and Eclipse RCP Solutions Member of the Eclipse Foundation Chairman of Eclipse.dk Extern Lecturer at IT-University on Model Driven Development and Domain Specific Languages Regular speaker at EclipseCon, Eclipse Summit, etc
  • 24. If You Want to Know More about Eclipse The foundation: http://eclipse.org The Danish User Group: http://eclipse.dk The training: http://www.eclipse.org/community/training/classes.php Resources on Eclipse: http://www.eclipse.org/resources/ Consolidated Blog: http://planeteclipse.org/
  • 25. If You Want to Know More about e4 The Project: http://www.eclipse.org/e4/ Downloading e4: http://download.eclipse.org/e4/downloads/ The Wiki: http://wiki.eclipse.org/E4 The training: Not yet, but coming after the Summer Tutorials on e4: http://www.vogella.de/articles/EclipseE4/article.html A “create an application” tutorial from Lars Vogel