SlideShare a Scribd company logo
1 of 10
The Terminology of the Eclipse Platform




This is a basic walk-through of all the central concepts of the Eclipse
platform and how these fit together. The primary goal of this module is
to establish a common terminology.




Redistribution and other use of this material requires written permission from The RCP Company.

L0001 - 2010-11-27
Eclipse Architecture


Goals for the Eclipse architecture
     Be able to host any number of 3rd party applications
     Scalability in terms of size and complexity of hosted applications
     Alignment with native UI look-n-feel

Flexible architecture, structured around
     Plug-ins – the basic unit of functionality
     Extension points – the defined interfaces between plug-ins

This architecture allows for
     Implementation of 3rd party applications on top of the basic platform
      (Eclipse RCP)
     Additional tools to be integrated in the platform
     Integrated tools to be further extended




2
                                                                              L0001 - 2010-11-27
3
                                                                                                                      JDT
                                                                                     Team
                                                                                                                      PDE
                                                                                   Resources




                                                                     Eclipse RCP
                                                                                                                      CVS
                                                                                   Workspace
                                                                                                 Eclipse Platform



                                                                                                                       Git
                                                                                      Help

                                                                                     Update
                                                                                                                      CDT
                                                                                    Apache




                                         SWT
                                                                                                                      WTP



                                                 JFace
                                                                                                                                Eclipse Architectural Components




                                                                                   File System
                                                         Workbench                                                  DataTools
                                                                                   Web Server
                                                                                                                      BIRT
                                                                                   Text Editor


                         OSGi/Run-time
                                                                                                                      SOA
                                                                                      Intro
                                                                                                                      PDP
                                               Preferences                         Navigator
                                                                                                                      EMP
                                                   Jobs                              Search

                                                    ICU

                                               Commands
                                                                                                                     Mylyn
                                                Registry
L0001 - 2010-11-27
The Basic RCP Components


In Eclipse, everything is a plug-in, including the run-time platform itself
     It is a small kernel that represents the base of the platform
     Built on top of OSGi

All subsystems built on the run-time platform follow the rules of plug-ins:
     They are plug-ins themselves
                                         Eclipse RCP




                                                                               Preferences




                                                                                                             Commands
RCP includes:




                                                                                                                        Registry
                                                           Workbench




                                                                                             Jobs

                                                                                                    ICU
     Component Management                                 JFace

     Resources Management                               SWT

                                                               OSGi/Run-time
     Preferences
     Workbench (include SWT and JFace)

RCP does not include the following:
     Update
     Help
     This can be included from the Eclipse platform


4
                                                                                                          L0001 - 2010-11-27
Base
                                                                                             Authentication
                                                                                                              Data Model
                                                                                             Communication
                                                                                                              Data Model
                                                                                                Logging
                                                                                                              Base Logic
                                                                                                 Audit
                                                                                                                            Your Typical RCP Application




                                                                                                                Add-on




                                     SWT
                                                                                                                Add-on



                                             JFace
                                                              Workbench                                         Add-on

                                                Eclipse RCP                                                     Add-on



                     OSGi/Run-time
                                                                          Eclipse Platform




                                                                                                                Add-on
                                                                                                 Help
                                                                                                                Add-on
                                           Preferences                                           Intro
                                                                                                                Add-on
                                                   Jobs                                         Update

                                                     ICU                                        Apache

                                           Commands
                                                                                                              Debug Tools
                                            Registry
L0001 - 2010-11-27
Organizing the Platform


An Eclipse system is based on a number of basic concepts

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 are 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




6
                                                                             L0001 - 2010-11-27
Extension Points


Describe additional functionality that could be integrated with the platform
     External tools extend the platform to bring specific functionality
     Java Development Tooling (JDT) and Plug-in Development Environment (PDE) are
      external tools integrated with the platform
Extension points are used to
     Add an implementation for a generic feature
     Extend the workbench
     Extend common object factory
Advantages:
     Allows for late load and startup of plug-ins
     Provides a common “registry” for most extensions like views, perspectives, commands,
      etc
Disadvantages:
     Makes it harder to understand flow of control
     ID Hell!
Extension points may have corresponding API interface
     Describes what should be provided in the extension


7
                                                                                       L0001 - 2010-11-27
The Role of Run-Time/OSGi


Dynamic module system for Java based on the OSGi specification

Solves many of the problems of big applications
     Late activation of code
     Multiple versions of the same library

Eclipse is the reference implementation!




              Eclipse RCP




                                                   Preferences




                                                                              Commands

                                                                                         Registry
                                 Workbench




                                                                 Jobs

                                                                        ICU
                                 JFace

                                SWT

                                   OSGi/Run-time


8
                                                                                                    L0001 - 2010-11-27
Workbench




Represents the desktop development
environment
     It contains a set of tools for resource
      management
     It provides a common way of
      navigating through the resources

Multiple workbench windows can be
opened at the same time in individual
frames

        Eclipse RCP
                                               Preferences




                                                                          Commands

                                                                                     Registry
                          Workbench
                                                             Jobs

                                                                    ICU

                          JFace

                         SWT

                               OSGi/Run-time
9
                                                                                                L0001 - 2010-11-27
More Information


 “Eclipse Roadmap”
      http://www.eclipse.org/org/councils/roadmap_v2_0/index.php

 “Will It Go Round in Circles?” by Rick DeNatale
      http://talklikeaduck.denhaven2.com/2008/10/15/will-it-go-round-in-
       circles
      
          The basic Eclipse History from an insider

 “Eclipse: Behind the Name”
      http://www.eweek.com/c/a/Application-Development/Eclipse-Behind-
       the-Name/
      
          Who “eclipse” who…

 “Swing/SWT Integration”
      http://www.eclipse.org/resources/resource.php?id=381




10
                                                                            L0001 - 2010-11-27

More Related Content

What's hot

Tutorial allegro
Tutorial allegroTutorial allegro
Tutorial allegroSilvio Lima
 
Replication using golden gate 11g
Replication using golden gate 11gReplication using golden gate 11g
Replication using golden gate 11gGreg Turmel
 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment WorkshopChuong Nguyen
 
02.egovFrame Development Environment training book
02.egovFrame Development Environment training book02.egovFrame Development Environment training book
02.egovFrame Development Environment training bookChuong Nguyen
 
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXFApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXFAdrian Trenaman
 
SAML Test Harness Specification
SAML Test Harness SpecificationSAML Test Harness Specification
SAML Test Harness Specificationrhoerbe1
 
03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book SupplementChuong Nguyen
 
Infrastrucutre as sdlc
Infrastrucutre as sdlcInfrastrucutre as sdlc
Infrastrucutre as sdlcJohn Willis
 
Infrastrucutre as sdlc
Infrastrucutre as sdlcInfrastrucutre as sdlc
Infrastrucutre as sdlcJohn Willis
 
OTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingOTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingMavenWire
 
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0Tugdual Grall
 
Florian adler minute project
Florian adler   minute projectFlorian adler   minute project
Florian adler minute projectDmitry Buzdin
 
Robert.bayt
Robert.baytRobert.bayt
Robert.baytNASAPMC
 
Dynamic Overriding
Dynamic OverridingDynamic Overriding
Dynamic Overridingrentzsch
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop IChuong Nguyen
 
Tungsten University: Set Up And Manage Advanced Replication Topologies
Tungsten University: Set Up And Manage Advanced Replication TopologiesTungsten University: Set Up And Manage Advanced Replication Topologies
Tungsten University: Set Up And Manage Advanced Replication TopologiesContinuent
 

What's hot (19)

Tutorial allegro
Tutorial allegroTutorial allegro
Tutorial allegro
 
Replication using golden gate 11g
Replication using golden gate 11gReplication using golden gate 11g
Replication using golden gate 11g
 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
 
02.egovFrame Development Environment training book
02.egovFrame Development Environment training book02.egovFrame Development Environment training book
02.egovFrame Development Environment training book
 
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXFApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
ApacheCon EU 2009 Tales from the front line - ActiveMQ ServiceMix and CXF
 
SAML Test Harness Specification
SAML Test Harness SpecificationSAML Test Harness Specification
SAML Test Harness Specification
 
03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement
 
Agile Planning
Agile PlanningAgile Planning
Agile Planning
 
Infrastrucutre as sdlc
Infrastrucutre as sdlcInfrastrucutre as sdlc
Infrastrucutre as sdlc
 
Infrastrucutre as sdlc
Infrastrucutre as sdlcInfrastrucutre as sdlc
Infrastrucutre as sdlc
 
OTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingOTM Performance Review and Benchmarking
OTM Performance Review and Benchmarking
 
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
FOSDEM 2013 : Getting Started with Couchhbase Server 2.0
 
Libra: a Library OS for a JVM
Libra: a Library OS for a JVMLibra: a Library OS for a JVM
Libra: a Library OS for a JVM
 
Generator
GeneratorGenerator
Generator
 
Florian adler minute project
Florian adler   minute projectFlorian adler   minute project
Florian adler minute project
 
Robert.bayt
Robert.baytRobert.bayt
Robert.bayt
 
Dynamic Overriding
Dynamic OverridingDynamic Overriding
Dynamic Overriding
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop I
 
Tungsten University: Set Up And Manage Advanced Replication Topologies
Tungsten University: Set Up And Manage Advanced Replication TopologiesTungsten University: Set Up And Manage Advanced Replication Topologies
Tungsten University: Set Up And Manage Advanced Replication Topologies
 

Similar to L0001 - The Terminology of the Eclipse Platform

10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFishNuxeo
 
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...mfrancis
 
Novell Identity Manager Troubleshooting
Novell Identity Manager TroubleshootingNovell Identity Manager Troubleshooting
Novell Identity Manager TroubleshootingNovell
 
1006 Z2 Intro Complete
1006 Z2 Intro Complete1006 Z2 Intro Complete
1006 Z2 Intro CompleteHenning Blohm
 
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
 
Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action CompatibleOne
 
Open stackinaction compatibleone 09212011
Open stackinaction compatibleone  09212011Open stackinaction compatibleone  09212011
Open stackinaction compatibleone 09212011CompatibleOne
 
Elaster Labs, the 1st PaaS in Taiwan
Elaster Labs, the 1st PaaS in TaiwanElaster Labs, the 1st PaaS in Taiwan
Elaster Labs, the 1st PaaS in TaiwanFred Chiang
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
Glass Fish Portfolio Web Space What Is James Falkner
Glass Fish Portfolio Web Space What Is James FalknerGlass Fish Portfolio Web Space What Is James Falkner
Glass Fish Portfolio Web Space What Is James FalknerEduardo Pelegri-Llopart
 
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, ParisPetals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, ParisOW2
 
OW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the CloudOW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the CloudChristophe Hamerling
 
Open Source
Open SourceOpen Source
Open Sourceblamb
 
2012 10-sep-gwava-backup-virt-environment
2012 10-sep-gwava-backup-virt-environment2012 10-sep-gwava-backup-virt-environment
2012 10-sep-gwava-backup-virt-environmentGWAVA
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenIDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenTonny Madsen
 
Introduction To The Eclipse Platform
Introduction To The Eclipse PlatformIntroduction To The Eclipse Platform
Introduction To The Eclipse Platformciukes
 

Similar to L0001 - The Terminology of the Eclipse Platform (20)

10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish
 
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
Balconies, Patios, Terraces, and Bridges. Architectural approaches for moving...
 
Novell Identity Manager Troubleshooting
Novell Identity Manager TroubleshootingNovell Identity Manager Troubleshooting
Novell Identity Manager Troubleshooting
 
1006 Z2 Intro Complete
1006 Z2 Intro Complete1006 Z2 Intro Complete
1006 Z2 Intro Complete
 
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
 
DAC 2012
DAC 2012DAC 2012
DAC 2012
 
Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action Compatibleone @ OpenStack In Action
Compatibleone @ OpenStack In Action
 
Open stackinaction compatibleone 09212011
Open stackinaction compatibleone  09212011Open stackinaction compatibleone  09212011
Open stackinaction compatibleone 09212011
 
Eclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three RuntimesEclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three Runtimes
 
Elaster Labs, the 1st PaaS in Taiwan
Elaster Labs, the 1st PaaS in TaiwanElaster Labs, the 1st PaaS in Taiwan
Elaster Labs, the 1st PaaS in Taiwan
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
Glass Fish Portfolio Web Space What Is James Falkner
Glass Fish Portfolio Web Space What Is James FalknerGlass Fish Portfolio Web Space What Is James Falkner
Glass Fish Portfolio Web Space What Is James Falkner
 
Eclipse RCP 4
Eclipse RCP 4Eclipse RCP 4
Eclipse RCP 4
 
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, ParisPetals BPM & the Cloud, OW2con11, Nov 24-25, Paris
Petals BPM & the Cloud, OW2con11, Nov 24-25, Paris
 
OW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the CloudOW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the Cloud
 
Open Source
Open SourceOpen Source
Open Source
 
2012 10-sep-gwava-backup-virt-environment
2012 10-sep-gwava-backup-virt-environment2012 10-sep-gwava-backup-virt-environment
2012 10-sep-gwava-backup-virt-environment
 
Extending and scripting PDT
Extending and scripting PDTExtending and scripting PDT
Extending and scripting PDT
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenIDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
 
Introduction To The Eclipse Platform
Introduction To The Eclipse PlatformIntroduction To The Eclipse Platform
Introduction To The Eclipse Platform
 

More from Tonny Madsen

L0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsL0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsTonny Madsen
 
L0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse ConfigurationL0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse ConfigurationTonny Madsen
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and EditorsTonny Madsen
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationTonny Madsen
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
 
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inL0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inTonny Madsen
 
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...Tonny Madsen
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureTonny Madsen
 
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionEclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionTonny Madsen
 
ITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsTonny Madsen
 
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)Tonny Madsen
 
IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)Tonny Madsen
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...Tonny Madsen
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
eclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the Hoodeclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the HoodTonny Madsen
 
EclipseCon '08 - BoF - Building a local Eclipse user group
EclipseCon '08 - BoF - Building a local Eclipse user groupEclipseCon '08 - BoF - Building a local Eclipse user group
EclipseCon '08 - BoF - Building a local Eclipse user groupTonny Madsen
 
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Tonny Madsen
 

More from Tonny Madsen (20)

L0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsL0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard Views
 
L0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse ConfigurationL0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse Configuration
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and Editors
 
L0033 - JFace
L0033 - JFaceL0033 - JFace
L0033 - JFace
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP Application
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget Toolkit
 
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inL0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-in
 
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
 
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionEclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
 
ITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model Transformations
 
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)
 
IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
 
ITU - MDD - EMF
ITU - MDD - EMFITU - MDD - EMF
ITU - MDD - EMF
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
ITU - MDD - XText
ITU - MDD - XTextITU - MDD - XText
ITU - MDD - XText
 
eclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the Hoodeclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the Hood
 
EclipseCon '08 - BoF - Building a local Eclipse user group
EclipseCon '08 - BoF - Building a local Eclipse user groupEclipseCon '08 - BoF - Building a local Eclipse user group
EclipseCon '08 - BoF - Building a local Eclipse user group
 
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...
 

Recently uploaded

Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 

Recently uploaded (20)

Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 

L0001 - The Terminology of the Eclipse Platform

  • 1. The Terminology of the Eclipse Platform This is a basic walk-through of all the central concepts of the Eclipse platform and how these fit together. The primary goal of this module is to establish a common terminology. Redistribution and other use of this material requires written permission from The RCP Company. L0001 - 2010-11-27
  • 2. Eclipse Architecture Goals for the Eclipse architecture  Be able to host any number of 3rd party applications  Scalability in terms of size and complexity of hosted applications  Alignment with native UI look-n-feel Flexible architecture, structured around  Plug-ins – the basic unit of functionality  Extension points – the defined interfaces between plug-ins This architecture allows for  Implementation of 3rd party applications on top of the basic platform (Eclipse RCP)  Additional tools to be integrated in the platform  Integrated tools to be further extended 2 L0001 - 2010-11-27
  • 3. 3 JDT Team PDE Resources Eclipse RCP CVS Workspace Eclipse Platform Git Help Update CDT Apache SWT WTP JFace Eclipse Architectural Components File System Workbench DataTools Web Server BIRT Text Editor OSGi/Run-time SOA Intro PDP Preferences Navigator EMP Jobs Search ICU Commands Mylyn Registry L0001 - 2010-11-27
  • 4. The Basic RCP Components In Eclipse, everything is a plug-in, including the run-time platform itself  It is a small kernel that represents the base of the platform  Built on top of OSGi All subsystems built on the run-time platform follow the rules of plug-ins:  They are plug-ins themselves Eclipse RCP Preferences Commands RCP includes: Registry Workbench Jobs ICU  Component Management JFace  Resources Management SWT OSGi/Run-time  Preferences  Workbench (include SWT and JFace) RCP does not include the following:  Update  Help  This can be included from the Eclipse platform 4 L0001 - 2010-11-27
  • 5. Base Authentication Data Model Communication Data Model Logging Base Logic Audit Your Typical RCP Application Add-on SWT Add-on JFace Workbench Add-on Eclipse RCP Add-on OSGi/Run-time Eclipse Platform Add-on Help Add-on Preferences Intro Add-on Jobs Update ICU Apache Commands Debug Tools Registry L0001 - 2010-11-27
  • 6. Organizing the Platform An Eclipse system is based on a number of basic concepts 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 are 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 6 L0001 - 2010-11-27
  • 7. Extension Points Describe additional functionality that could be integrated with the platform  External tools extend the platform to bring specific functionality  Java Development Tooling (JDT) and Plug-in Development Environment (PDE) are external tools integrated with the platform Extension points are used to  Add an implementation for a generic feature  Extend the workbench  Extend common object factory Advantages:  Allows for late load and startup of plug-ins  Provides a common “registry” for most extensions like views, perspectives, commands, etc Disadvantages:  Makes it harder to understand flow of control  ID Hell! Extension points may have corresponding API interface  Describes what should be provided in the extension 7 L0001 - 2010-11-27
  • 8. The Role of Run-Time/OSGi Dynamic module system for Java based on the OSGi specification Solves many of the problems of big applications  Late activation of code  Multiple versions of the same library Eclipse is the reference implementation! Eclipse RCP Preferences Commands Registry Workbench Jobs ICU JFace SWT OSGi/Run-time 8 L0001 - 2010-11-27
  • 9. Workbench Represents the desktop development environment  It contains a set of tools for resource management  It provides a common way of navigating through the resources Multiple workbench windows can be opened at the same time in individual frames Eclipse RCP Preferences Commands Registry Workbench Jobs ICU JFace SWT OSGi/Run-time 9 L0001 - 2010-11-27
  • 10. More Information “Eclipse Roadmap”  http://www.eclipse.org/org/councils/roadmap_v2_0/index.php “Will It Go Round in Circles?” by Rick DeNatale  http://talklikeaduck.denhaven2.com/2008/10/15/will-it-go-round-in- circles  The basic Eclipse History from an insider “Eclipse: Behind the Name”  http://www.eweek.com/c/a/Application-Development/Eclipse-Behind- the-Name/  Who “eclipse” who… “Swing/SWT Integration”  http://www.eclipse.org/resources/resource.php?id=381 10 L0001 - 2010-11-27

Editor's Notes

  1. \n
  2. The basic goals for the Eclipse architecture mean – among other things – that the complete platform must be equally accessible for all parties. So all parts of the basic platform must be\n Free of charge\n Fully documented\n No licensing attached to any of the software apart from the basic EPL – Eclipse Public License\nThe basic unit of functionality in Eclipse is the plug-in. A single plug-in can encompass a complete application, but it can also be a functional independent part of an application.\nThe interfaces between plug-ins is defined via extension points  Extension points are well-defined places in the system where other plug-ins can contribute functionality.\nEach major subsystem in Eclipse IDE and Eclipse RCP is itself structured as a set of plug-ins that implement some key function and define extension points.  The Eclipse system itself is built by contributing to the same extension points that third party plug-in providers can use.  Plug-ins can define their own extension points or simply add extensions to the extension points of other plug-ins.\nNote that the concepts of plug-ins and extension points run very deep in the Eclipse platform; even the very basic parts of the platform are organized as plug-ins with extension points. The only Eclipse RCP plug-in that does not provide or use extensions is SWT.\n
  3. Eclipse products are built in layers.\n At the bottom there are Eclipse RCP with the bare necessities. The RCP subsystems typically add visible features to the platform and provide APIs for extending their functionality. Some of these components supply additional class libraries that do not directly relate to an extension point, but can be used to implement extensions. For example, the workbench UI supplies the JFace UI framework and the SWT widget toolkit. \n The platform layer adds the generic features needed for an Integrated Development Environment (IDE).\n The different language support sits on top of the platform. The basic IDE features (known under the misleading name Eclipse SDK) includes two major tools that are useful for plug-in development. The Java development tooling (JDT) implements a full-featured Java development environment. The Plug-in Developer Environment (PDE) adds specialized tools that streamline the development of plug-ins and extensions.\nLikewise for the many features of Calisto, Europa and now Ganymede. They are also layered to provide a set of basic features that are used by other features to provide better and more specialized tools.\nThe Resources, Workspace and Update components shown above are not really part of the very basic RCP component set. They are used very often in RCP applications.\n
  4. The platform run-time core implements the run-time engine that starts the platform base and dynamically discovers plug-ins. A plug-in is a structured component that describes itself to the system using a manifest (plugin.xml) file. The platform maintains a registry of installed plug-ins and the functions they provide.\nFunctionality is added to the system using a common extension model. Extension points are well-defined function points in the system that can be extended by plug-ins. When a plug-in contributes an implementation for an extension point, we say that it adds an extension to the platform. Plug-ins can define their own extension points, so that other plug-ins can integrate tightly with them.\nThe extension mechanisms are the only means of adding function to the platform and other plug-ins. All plug-ins use the same mechanisms.  Plug-ins provided with the Eclipse SDK do not use any private mechanisms in their implementation.\nExtensions are typically written in Java using the platform APIs. However, some extension points accommodate extensions provided as platform executables, ActiveX components, or developed in scripting languages. In general, only a subset of the full platform function is available to non-Java extensions. \nA general goal of the run-time is that the end user should not pay a memory or performance penalty for plug-ins that are installed, but not used. A plug-in can be installed and added to the registry, but the plug-in will not be activated unless a function provided by the plug-in has been requested according to the user's activity.\n
  5. Using Eclipse RCP in an application is typically done the very same way as when used in Eclipse IDE.\n At the bottom there are Eclipse RCP with the bare necessities.\n The platform layer adds the generic features needed for any application in the specific environment.\n The application itself is then placed at the top.\n
  6. The terms listed above are central to an Eclipse system and it is rather important to understand them in order to implement a big Eclipse application.\n
  7. \n
  8. There are two parallel JSR projects which both look at OSGi, but with totally different results!\n JSR 291, “Dynamic Component Support for Java SE”, aims to use OSGi directly in standard Java SE\n JSR 277, “Java Module System”, aims to implement a completely new module system. In this case “OSGi is not good enough”.\n OSGi: The OSGi Alliance used to be known as the Open Services Gateway Initiative. Go to: http://www.osgi.org\n
  9. The term Workbench refers to the desktop development environment. The Workbench aims to achieve seamless tool integration and controlled openness by providing a common paradigm for the creation, management, and navigation of Workbench resources.\nEach Workbench window contains one or more perspectives.  Perspectives contain views and editors and control what appears in certain menus and tool bars.  More than one Workbench window can exist on the desktop at any given time.\n
  10. \n