Redistribution and other use of this material requires written permission from The RCP Company.
PR0017 - 2009-09-29
Fra forretningside til bundlinie:
Eclipse følger dig hele vejen
”Har du tænkt på at skifte til et leverandøruafhængigt udviklingsmiljø? Det er gratis,
og du får ét udviklingsmiljø, som du kan programmere alt fra Java, C, C++ og PHP
til databaser og webserver i. Vi får dig til at se værdien af værktøjet, og se flere
forskellige eksempler på brugen af Eclipse i praksis.
Kom og hør formanden for eclipse.dk, Tonny Madsen, Direktør, RCP Kompaniet
fortælle om Eclipse.
Eclipse er component-baseret, og du får indsigt i hvordan du sammensætter
Eclipse til netop dine behov.”
PR0017 - 2009-09-29
2
Agenda
 Introduction
 Eclipse is… what exactly?
 A little about the Eclipse architecture
 Demonstration of some relevant Eclipse features
 The Eclipse Ecosystem
 Why use Eclipse for a Banking System?
 This is a technical talk rather than a business oriented talk…
PR0017 - 2009-09-29
3
About Me
 Founder and Owner of The RCP Company
 20 years of experience in system development in major companies
 Regnecentralen (now ICL)
 Digital (now HP)
 Anritsu (previously NetTest)
 9 years experience as the Systems Architect of an 20+ MLoC project
 7 years of experience with Eclipse and Eclipse RCP
 Add-in Provider Member of the Eclipse Foundation
 Chairman of Eclipse.dk
 Extern Lecturer at IT-University on MDD and DSL
PR0017 - 2009-09-29
4
Eclipse is… what exactly?
PR0017 - 2009-09-29
5
Eclipse – The Java IDE
PR0017 - 2009-09-29
6
Eclipse – The Tools Platform
PR0017 - 2009-09-29
7
Eclipse – The Application Platform
Nordea Banking Desktop
L0019 - 2008-11-28
8
IBM Lotus Notes
Version 8
PR0017 - 2009-09-29
9
Eclipse Tools IDE
 The Eclipse development environment is many things depending on your particular
needs
 Java development environment
 C/C++ development environment
 Enterprise development environment
 A Python IDE, A PHP IDE, An AJAX IDE, …
 Self-hosted development environment for Eclipse IDE and Eclipse RCP based
applications
PR0017 - 2009-09-29
10
A little about the Eclipse architecture
Eclipse
Platform
Resou
rces
Works
pace
Help
Updat
e
Team
Web
Server
Filesy
stems
Apach
e
Searc
h
Navig
ator
Intro
Text
Editor
s
JDT
CVS
WTP
Datatools
VE
BIRT
Mylyn
PDE
Eclipse RCP
Run-time/OSGi
SWT
JFace
Workbe
nch
Prefer
ences
Jobs
ICU
Comm
ands
Regist
ry
CDT
PR0017 - 2009-09-29
11
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 as they are needed – also known as
late activation
 We need all this to work over multiple generations of components
PR0017 - 2009-09-29
12
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
PR0017 - 2009-09-29
13
Eclipse
Platform
Resources
Workspace
Help
Update
Team
Web
Server
Filesystems
Apache
Search
Navigator
Intro
Text
Editors
Eclipse Architectural Components
JDT
CVS
WTP
Datatools
VE
BIRT
Mylyn
PDE
Eclipse RCP
Run-time/OSGi
SWT
JFace
Workbench
Preferences
Jobs
ICU
Commands
Registry
CDT
PR0017 - 2009-09-29
14
The Basic RCP Components
 In the 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 follows the rules of plug-ins:
 They are plug-ins themselves
 RCP includes:
 Component Management
 Resources Management
 Preferences
 Workbench (include SWT and JFace)
 RCP does not include functionality that are not commonly needed:
 Update
 Help
 This can be included from the Eclipse platform
Eclipse RCP
Run-time/OSGi
SWT
JFace
Workbench
Preferences
Jobs
ICU
Commands
Registry
PR0017 - 2009-09-29
15
Application
Platform
Comm.
Logging
Help
Update
Auth.
Auditing
Apache
Intro
Your Typical RCP Application
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
PR0017 - 2009-09-29
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
PR0017 - 2009-09-29
17
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
PR0017 - 2009-09-29
18
Demonstration of some relevant Eclipse
RCP features
PR0017 - 2009-09-29
19
What to Show
 The Java IDE – what can you do in the editor
 Call Hierarchy
 Class Hierarchy
 Refactoring of class
 Externalize strings
 Create python application
 Creating a small Eclipse RCP based application
 Mylyn
PR0017 - 2009-09-29
20
The Eclipse Ecosystem
PR0017 - 2009-09-29
21
The Eclipse Foundation and its Activities
 A professional not-for-profit corporation that provides
 IT Infrastructure
 IP Management
 Development Process
 Ecosystem Development.
 Several large conferences and vertical industry every year
 EclipseCon in Santa Clara, CA
 Eclipse Summit Europe in Germany
 Banking days, Insurance Days, …
 Training and Services
 Training series twice every year – includes classes in Denmark, Sweden, UK,
Germany, …
PR0017 - 2009-09-29
22
The Eclipse Foundation Members
 14 Strategic members – IBM, SAP, Oracle, Nokia…
 3 Enterprise members – Cisco, Motorola and Blackberry
 86 Solution members – Google, Ericsson, Tieto,
Sybase, Siemens, us…
 63 Associate members – OSGi, OMG, Fujitsu, Addison
Wesley…
 Yearly fees used to finance the activities of the
foundation
PR0017 - 2009-09-29
23
Some Numbers on Eclipse
 The Eclipse Modeling Tools
 1099 plug-ins
 229 features
 All Eclipse Projects
 >45 projects in the Galileo release train
 29 MLoC
 >500 active committers
 >25 countries
 >140 locations
PR0017 - 2009-09-29
24
Project Activity
PR0017 - 2009-09-29
25
Why use Eclipse for a Banking System?
Now
Start (early 2006)
Business req
Evaluation Platform components
Prototyping/testing First project
Decision (late 2007)
PR0017 - 2009-09-29
26
Choosing Eclipse RCP
 Business Requirements
 IT/Project Requirements
 The Basic Architecture
 The Process
PR0017 - 2009-09-29
27
Business Requirements
 Provide process support
 Show/hold all functionality and information in one place
 Seamlessly integration between the functional areas
 Data re-use
 Integration Support
 Integration with existing applications such as 3270, browser based and native
Windows (word, excel etc.)
 External peripherals
 High usability
 Follow the OS
 Standard keyboard navigation, icon, help, drag & drop
 High performance
PR0017 - 2009-09-29
28
IT/Project Requirements
 Parallel development
 No hard decencies to the other projects
 Different release dates for the a functional area (projects)
 Different dependencies to the back-end
 Nordea is a bank, - not a major IT product company
 Mature and well tested framework
 Go out and buy the funtionality
PR0017 - 2009-09-29
29
Banking Desktop Architectural Components
Banking
Platform
UI
Error
Help
Update
User
Mng
Audit
Security
Data
Model
SOA/ESB
Teller
PSD2
???
PSD1
Eclipse RCP
Run-time/OSGi
SWT
JFace
Workbench
Preferences
Jobs
ICU
Commands
Registry
CMS
PR0017 - 2009-09-29
30
The Process
 Project started in 2006 with an evaluation
 Several different frameworks were evaluated
 Portal based
 Eclipse RCP
 NetBeans Platform
 Several Eclipse RCP frameworks were evaluated
 Major part of the evaluation was a fully functional prototype
 Access to ”real” data
 Divided into functional areas as a number of independent plug-ins
Now
Start (early 2006)
Business req
Evaluation Platform components
Prototyping/testing First project
Decision (late 2007)
PR0017 - 2009-09-29
31
Q&A
PR0017 - 2009-09-29
32
If you want to know more
 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/

More Related Content

PPT
ITU - MDD - Eclipse Plug-ins
PPTX
Overview
PPTX
Extending uBuild and uDeploy with Plugins
PDF
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
PDF
Accelerating Innovation with Java: The Future is Today
PPTX
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSE
PPTX
The Next Generation of Continuous Delivery
PDF
Build,Run and manage MobileFirst apps with Eclipse
ITU - MDD - Eclipse Plug-ins
Overview
Extending uBuild and uDeploy with Plugins
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
Accelerating Innovation with Java: The Future is Today
Installing Installing IBM Rational Rhapsody Designer and Architect for MBSE
The Next Generation of Continuous Delivery
Build,Run and manage MobileFirst apps with Eclipse

Viewers also liked (14)

PDF
Ht issue 12_digital_041114
PPTX
Asset Services Capability Statement Presentation
PDF
sintaxis de las funciones en excel 2013
PPTX
Soaial and multicultural etiquette
PDF
Economics chapter8
PDF
guideline gerd
DOCX
Resume (1) - Copy
DOCX
4 mathematic02
PPTX
Cultura ciudadana unidad 3 respeto
PPTX
Ejercicios de sistemas de ecuaciones
PDF
Po l llopis i mendez
DOCX
Шаблон бизнес-плана управляющей компании жкх
PDF
SAK:n luottamusmieskysely 2007
PPT
Groundhog day[1]
Ht issue 12_digital_041114
Asset Services Capability Statement Presentation
sintaxis de las funciones en excel 2013
Soaial and multicultural etiquette
Economics chapter8
guideline gerd
Resume (1) - Copy
4 mathematic02
Cultura ciudadana unidad 3 respeto
Ejercicios de sistemas de ecuaciones
Po l llopis i mendez
Шаблон бизнес-плана управляющей компании жкх
SAK:n luottamusmieskysely 2007
Groundhog day[1]
Ad

Similar to IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (20)

PPT
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
PPT
"Eclipse Application Development" at GNUnify 07
PPT
IDA - Eclipse Workshop II (In Danish)
PPT
IDA - Eclipse Workshop I (In Danish)
PPT
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
PPT
javagruppen.dk - e4, the next generation Eclipse platform
PPT
Eclipse Training - Main eclipse ecosystem classes
PPT
Eclipse Training - Introduction
PDF
Tutorial storybook
ODP
Introduction To The Eclipse Platform
PDF
Overview of Eclipse technologies
PPTX
Eclipse RCP Overview @ Rheinjug
PPT
The Build System of Commercial RCP Application A Case Study
PPT
Eclipse Training - RCP & Industrialization
PPT
Eclipse RCP
PPT
eclipse.dk - Eclipse RCP Under the Hood
PDF
Eclipse Rich Ajax Platform
PPT
Re-structuring of a swing-based application into an Eclipse RCP
PDF
Eclipse Way
PPT
Understanding and extending p2 for fun and profit
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
"Eclipse Application Development" at GNUnify 07
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop I (In Danish)
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
javagruppen.dk - e4, the next generation Eclipse platform
Eclipse Training - Main eclipse ecosystem classes
Eclipse Training - Introduction
Tutorial storybook
Introduction To The Eclipse Platform
Overview of Eclipse technologies
Eclipse RCP Overview @ Rheinjug
The Build System of Commercial RCP Application A Case Study
Eclipse Training - RCP & Industrialization
Eclipse RCP
eclipse.dk - Eclipse RCP Under the Hood
Eclipse Rich Ajax Platform
Re-structuring of a swing-based application into an Eclipse RCP
Eclipse Way
Understanding and extending p2 for fun and profit
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 - Eclipse e4 – The Status and the Future
PPT
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
PPT
ITU - MDD – Model-to-Model Transformations
PPT
ITU - MDD - EMF
PPT
ITU - MDD - XText
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
PPT
ITU - MDD - Textural Languages and Grammars
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 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
ITU - MDD – Model-to-Model Transformations
ITU - MDD - EMF
ITU - MDD - XText
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
ITU - MDD - Textural Languages and Grammars

Recently uploaded (20)

PDF
faiz-khans about Radiotherapy Physics-02.pdf
PDF
Diabetes Mellitus , types , clinical picture, investigation and managment
PPTX
Approach to a child with acute kidney injury
PDF
WHAT NURSES SAY_ COMMUNICATION BEHAVIORS ASSOCIATED WITH THE COMP.pdf
PPSX
namma_kalvi_12th_botany_chapter_9_ppt.ppsx
PDF
BSc-Zoology-02Sem-DrVijay-Comparative anatomy of vertebrates.pdf
PPTX
4. Diagnosis and treatment planning in RPD.pptx
PPTX
Neurological complocations of systemic disease
PDF
African Communication Research: A review
PPTX
Copy of ARAL Program Primer_071725(1).pptx
PPTX
Diploma pharmaceutics notes..helps diploma students
PPTX
Cite It Right: A Compact Illustration of APA 7th Edition.pptx
PDF
Physical pharmaceutics two in b pharmacy
PPTX
Key-Features-of-the-SHS-Program-v4-Slides (3) PPT2.pptx
PDF
POM_Unit1_Notes.pdf Introduction to Management #mba #bba #bcom #bballb #class...
PDF
GSA-Past-Papers-2010-2024-2.pdf CSS examination
PPTX
Power Point PR B.Inggris 12 Ed. 2019.pptx
PPTX
Theoretical for class.pptxgshdhddhdhdhgd
PPTX
2025 High Blood Pressure Guideline Slide Set.pptx
PDF
Kalaari-SaaS-Founder-Playbook-2024-Edition-.pdf
faiz-khans about Radiotherapy Physics-02.pdf
Diabetes Mellitus , types , clinical picture, investigation and managment
Approach to a child with acute kidney injury
WHAT NURSES SAY_ COMMUNICATION BEHAVIORS ASSOCIATED WITH THE COMP.pdf
namma_kalvi_12th_botany_chapter_9_ppt.ppsx
BSc-Zoology-02Sem-DrVijay-Comparative anatomy of vertebrates.pdf
4. Diagnosis and treatment planning in RPD.pptx
Neurological complocations of systemic disease
African Communication Research: A review
Copy of ARAL Program Primer_071725(1).pptx
Diploma pharmaceutics notes..helps diploma students
Cite It Right: A Compact Illustration of APA 7th Edition.pptx
Physical pharmaceutics two in b pharmacy
Key-Features-of-the-SHS-Program-v4-Slides (3) PPT2.pptx
POM_Unit1_Notes.pdf Introduction to Management #mba #bba #bcom #bballb #class...
GSA-Past-Papers-2010-2024-2.pdf CSS examination
Power Point PR B.Inggris 12 Ed. 2019.pptx
Theoretical for class.pptxgshdhddhdhdhgd
2025 High Blood Pressure Guideline Slide Set.pptx
Kalaari-SaaS-Founder-Playbook-2024-Edition-.pdf

IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen

  • 1. Redistribution and other use of this material requires written permission from The RCP Company. PR0017 - 2009-09-29 Fra forretningside til bundlinie: Eclipse følger dig hele vejen ”Har du tænkt på at skifte til et leverandøruafhængigt udviklingsmiljø? Det er gratis, og du får ét udviklingsmiljø, som du kan programmere alt fra Java, C, C++ og PHP til databaser og webserver i. Vi får dig til at se værdien af værktøjet, og se flere forskellige eksempler på brugen af Eclipse i praksis. Kom og hør formanden for eclipse.dk, Tonny Madsen, Direktør, RCP Kompaniet fortælle om Eclipse. Eclipse er component-baseret, og du får indsigt i hvordan du sammensætter Eclipse til netop dine behov.”
  • 2. PR0017 - 2009-09-29 2 Agenda  Introduction  Eclipse is… what exactly?  A little about the Eclipse architecture  Demonstration of some relevant Eclipse features  The Eclipse Ecosystem  Why use Eclipse for a Banking System?  This is a technical talk rather than a business oriented talk…
  • 3. PR0017 - 2009-09-29 3 About Me  Founder and Owner of The RCP Company  20 years of experience in system development in major companies  Regnecentralen (now ICL)  Digital (now HP)  Anritsu (previously NetTest)  9 years experience as the Systems Architect of an 20+ MLoC project  7 years of experience with Eclipse and Eclipse RCP  Add-in Provider Member of the Eclipse Foundation  Chairman of Eclipse.dk  Extern Lecturer at IT-University on MDD and DSL
  • 4. PR0017 - 2009-09-29 4 Eclipse is… what exactly?
  • 5. PR0017 - 2009-09-29 5 Eclipse – The Java IDE
  • 6. PR0017 - 2009-09-29 6 Eclipse – The Tools Platform
  • 7. PR0017 - 2009-09-29 7 Eclipse – The Application Platform Nordea Banking Desktop
  • 8. L0019 - 2008-11-28 8 IBM Lotus Notes Version 8
  • 9. PR0017 - 2009-09-29 9 Eclipse Tools IDE  The Eclipse development environment is many things depending on your particular needs  Java development environment  C/C++ development environment  Enterprise development environment  A Python IDE, A PHP IDE, An AJAX IDE, …  Self-hosted development environment for Eclipse IDE and Eclipse RCP based applications
  • 10. PR0017 - 2009-09-29 10 A little about the Eclipse architecture Eclipse Platform Resou rces Works pace Help Updat e Team Web Server Filesy stems Apach e Searc h Navig ator Intro Text Editor s JDT CVS WTP Datatools VE BIRT Mylyn PDE Eclipse RCP Run-time/OSGi SWT JFace Workbe nch Prefer ences Jobs ICU Comm ands Regist ry CDT
  • 11. PR0017 - 2009-09-29 11 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 as they are needed – also known as late activation  We need all this to work over multiple generations of components
  • 12. PR0017 - 2009-09-29 12 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
  • 13. PR0017 - 2009-09-29 13 Eclipse Platform Resources Workspace Help Update Team Web Server Filesystems Apache Search Navigator Intro Text Editors Eclipse Architectural Components JDT CVS WTP Datatools VE BIRT Mylyn PDE Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry CDT
  • 14. PR0017 - 2009-09-29 14 The Basic RCP Components  In the 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 follows the rules of plug-ins:  They are plug-ins themselves  RCP includes:  Component Management  Resources Management  Preferences  Workbench (include SWT and JFace)  RCP does not include functionality that are not commonly needed:  Update  Help  This can be included from the Eclipse platform Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry
  • 15. PR0017 - 2009-09-29 15 Application Platform Comm. Logging Help Update Auth. Auditing Apache Intro Your Typical RCP Application 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. PR0017 - 2009-09-29 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. PR0017 - 2009-09-29 17 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
  • 18. PR0017 - 2009-09-29 18 Demonstration of some relevant Eclipse RCP features
  • 19. PR0017 - 2009-09-29 19 What to Show  The Java IDE – what can you do in the editor  Call Hierarchy  Class Hierarchy  Refactoring of class  Externalize strings  Create python application  Creating a small Eclipse RCP based application  Mylyn
  • 20. PR0017 - 2009-09-29 20 The Eclipse Ecosystem
  • 21. PR0017 - 2009-09-29 21 The Eclipse Foundation and its Activities  A professional not-for-profit corporation that provides  IT Infrastructure  IP Management  Development Process  Ecosystem Development.  Several large conferences and vertical industry every year  EclipseCon in Santa Clara, CA  Eclipse Summit Europe in Germany  Banking days, Insurance Days, …  Training and Services  Training series twice every year – includes classes in Denmark, Sweden, UK, Germany, …
  • 22. PR0017 - 2009-09-29 22 The Eclipse Foundation Members  14 Strategic members – IBM, SAP, Oracle, Nokia…  3 Enterprise members – Cisco, Motorola and Blackberry  86 Solution members – Google, Ericsson, Tieto, Sybase, Siemens, us…  63 Associate members – OSGi, OMG, Fujitsu, Addison Wesley…  Yearly fees used to finance the activities of the foundation
  • 23. PR0017 - 2009-09-29 23 Some Numbers on Eclipse  The Eclipse Modeling Tools  1099 plug-ins  229 features  All Eclipse Projects  >45 projects in the Galileo release train  29 MLoC  >500 active committers  >25 countries  >140 locations
  • 25. PR0017 - 2009-09-29 25 Why use Eclipse for a Banking System? Now Start (early 2006) Business req Evaluation Platform components Prototyping/testing First project Decision (late 2007)
  • 26. PR0017 - 2009-09-29 26 Choosing Eclipse RCP  Business Requirements  IT/Project Requirements  The Basic Architecture  The Process
  • 27. PR0017 - 2009-09-29 27 Business Requirements  Provide process support  Show/hold all functionality and information in one place  Seamlessly integration between the functional areas  Data re-use  Integration Support  Integration with existing applications such as 3270, browser based and native Windows (word, excel etc.)  External peripherals  High usability  Follow the OS  Standard keyboard navigation, icon, help, drag & drop  High performance
  • 28. PR0017 - 2009-09-29 28 IT/Project Requirements  Parallel development  No hard decencies to the other projects  Different release dates for the a functional area (projects)  Different dependencies to the back-end  Nordea is a bank, - not a major IT product company  Mature and well tested framework  Go out and buy the funtionality
  • 29. PR0017 - 2009-09-29 29 Banking Desktop Architectural Components Banking Platform UI Error Help Update User Mng Audit Security Data Model SOA/ESB Teller PSD2 ??? PSD1 Eclipse RCP Run-time/OSGi SWT JFace Workbench Preferences Jobs ICU Commands Registry CMS
  • 30. PR0017 - 2009-09-29 30 The Process  Project started in 2006 with an evaluation  Several different frameworks were evaluated  Portal based  Eclipse RCP  NetBeans Platform  Several Eclipse RCP frameworks were evaluated  Major part of the evaluation was a fully functional prototype  Access to ”real” data  Divided into functional areas as a number of independent plug-ins Now Start (early 2006) Business req Evaluation Platform components Prototyping/testing First project Decision (late 2007)
  • 32. PR0017 - 2009-09-29 32 If you want to know more  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/

Editor's Notes