SlideShare une entreprise Scribd logo
1  sur  32
PR0017 - 2009-09-29
Redistribution and other use of this material requires written permission from The RCP Company.
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
rcesWorks
paceHelp
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
encesJobs
ICU
Comm
andsRegist
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
WebServer
Filesystems
Apache
Search
Navigator
Intro
TextEditors
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
DebugTools
DataModel
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
UserMng
Audit
Security
DataModel
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
NowStart (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/

Contenu connexe

Tendances

Transforming mission-critical applications on mainframes for innovation
Transforming mission-critical applications on mainframes for innovationTransforming mission-critical applications on mainframes for innovation
Transforming mission-critical applications on mainframes for innovationEranea
 
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OSMigrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OSEranea
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulinkgjuljo
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody SoftwareBill Duncan
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineeringScott Althouse
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayJohn Duimovich
 
The Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryThe Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryIBM UrbanCode Products
 
Teaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System iTeaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System iStrongback Consulting
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...mfrancis
 
The AMIS Report from Oracle Open World and JavaOne 2011
The AMIS Report from Oracle Open World and JavaOne 2011The AMIS Report from Oracle Open World and JavaOne 2011
The AMIS Report from Oracle Open World and JavaOne 2011Lucas Jellema
 
Software Archaeology with RDz and RAA
Software Archaeology with RDz and RAASoftware Archaeology with RDz and RAA
Software Archaeology with RDz and RAAStrongback Consulting
 

Tendances (11)

Transforming mission-critical applications on mainframes for innovation
Transforming mission-critical applications on mainframes for innovationTransforming mission-critical applications on mainframes for innovation
Transforming mission-critical applications on mainframes for innovation
 
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OSMigrating legacy applications (Cobol, PL/I) to Java on z/OS
Migrating legacy applications (Cobol, PL/I) to Java on z/OS
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is Today
 
The Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryThe Next Generation of Continuous Delivery
The Next Generation of Continuous Delivery
 
Teaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System iTeaching old dogs new tricks with Rational Developer for System i
Teaching old dogs new tricks with Rational Developer for System i
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
 
The AMIS Report from Oracle Open World and JavaOne 2011
The AMIS Report from Oracle Open World and JavaOne 2011The AMIS Report from Oracle Open World and JavaOne 2011
The AMIS Report from Oracle Open World and JavaOne 2011
 
Software Archaeology with RDz and RAA
Software Archaeology with RDz and RAASoftware Archaeology with RDz and RAA
Software Archaeology with RDz and RAA
 

En vedette

N1 how to guide: use iphone apps for business
N1 how to guide: use iphone apps for businessN1 how to guide: use iphone apps for business
N1 how to guide: use iphone apps for businessAndrew Grant
 
ITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsTonny Madsen
 
N1 how to guide: measurement for growth
N1 how to guide: measurement for growthN1 how to guide: measurement for growth
N1 how to guide: measurement for growthAndrew Grant
 
PatientSchedulingApp product overview
PatientSchedulingApp product overviewPatientSchedulingApp product overview
PatientSchedulingApp product overviewAndrew Grant
 

En vedette (6)

IPv6 Matrix EuroDIG Summary April 2011
IPv6 Matrix EuroDIG Summary April 2011IPv6 Matrix EuroDIG Summary April 2011
IPv6 Matrix EuroDIG Summary April 2011
 
N1 how to guide: use iphone apps for business
N1 how to guide: use iphone apps for businessN1 how to guide: use iphone apps for business
N1 how to guide: use iphone apps for business
 
ITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model Transformations
 
N1 how to guide: measurement for growth
N1 how to guide: measurement for growthN1 how to guide: measurement for growth
N1 how to guide: measurement for growth
 
IPv6 Matrix Presentation - December 2012
IPv6 Matrix Presentation - December 2012IPv6 Matrix Presentation - December 2012
IPv6 Matrix Presentation - December 2012
 
PatientSchedulingApp product overview
PatientSchedulingApp product overviewPatientSchedulingApp product overview
PatientSchedulingApp product overview
 

Similaire à Eclipse talk covers architecture, features and benefits for banking systems

javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformTonny Madsen
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformTonny Madsen
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugLars Vogel
 
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
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07KetanPadegaonkar
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 StepsStéphane Leroy
 
Mule soft step up session
Mule soft step up sessionMule soft step up session
Mule soft step up sessionAmit Behere
 
RTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 StepsRTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 StepsStéphane Leroy
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFVMware Tanzu
 
System Center Orchestrator 2012 Overview
System Center Orchestrator 2012 OverviewSystem Center Orchestrator 2012 Overview
System Center Orchestrator 2012 OverviewAmit Gatenyo
 
Ordina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina Belgium
 
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
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
Documentum Spring Data
Documentum Spring DataDocumentum Spring Data
Documentum Spring DataMichael Mohen
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Lucas Jellema
 

Similaire à Eclipse talk covers architecture, features and benefits for banking systems (20)

javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platform
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
 
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
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 
Mule soft step up session
Mule soft step up sessionMule soft step up session
Mule soft step up session
 
RTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 StepsRTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
RTC/CLM 2012 Adoption Paths : Deploying in 16 Steps
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
 
System Center Orchestrator 2012 Overview
System Center Orchestrator 2012 OverviewSystem Center Orchestrator 2012 Overview
System Center Orchestrator 2012 Overview
 
Eclipse SOA Initiative
Eclipse SOA InitiativeEclipse SOA Initiative
Eclipse SOA Initiative
 
Ordina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better together
 
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Eclipse
EclipseEclipse
Eclipse
 
Documentum Spring Data
Documentum Spring DataDocumentum Spring Data
Documentum Spring Data
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 

Plus de 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
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformTonny 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
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?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
 
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
 
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
 
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...Tonny Madsen
 
ITU - MDD – Modeling Techniques
ITU - MDD – Modeling TechniquesITU - MDD – Modeling Techniques
ITU - MDD – Modeling TechniquesTonny Madsen
 
ITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and GrammarsITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and GrammarsTonny Madsen
 

Plus de 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
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse Platform
 
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...
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?
 
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
 
IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)
 
ITU - MDD - EMF
ITU - MDD - EMFITU - MDD - EMF
ITU - MDD - EMF
 
ITU - MDD - XText
ITU - MDD - XTextITU - MDD - XText
ITU - MDD - XText
 
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...
 
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...
 
ITU - MDD – Modeling Techniques
ITU - MDD – Modeling TechniquesITU - MDD – Modeling Techniques
ITU - MDD – Modeling Techniques
 
ITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and GrammarsITU - MDD - Textural Languages and Grammars
ITU - MDD - Textural Languages and Grammars
 

Dernier

Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 

Dernier (20)

Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 

Eclipse talk covers architecture, features and benefits for banking systems

  • 1. PR0017 - 2009-09-29 Redistribution and other use of this material requires written permission from The RCP Company. 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 rcesWorks paceHelp 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 encesJobs ICU Comm andsRegist 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 WebServer Filesystems Apache Search Navigator Intro TextEditors 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 DebugTools DataModel 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 UserMng Audit Security DataModel 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 NowStart (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/

Notes de l'éditeur

  1. Just to make everybody aware that they actually know about Eclipse already. It is known technology – not new technology. ESB, web services and BPM are all considered new technology…
  2. This is the prototype of the banking desktop. It looks and feels like an Eclipse application. Just see the L&F. No serious presentation branding has been performed… yet…
  3. Is this Eclipse RCP? The perspective switcher is different! Views in the “same position” of the perspective – a so-called folder – are shown differently. The “Launch” button Based on Eclipse RCP! Early demo based on Eclipse RCP 3.1 Look of some native widgets has been changed! UI is a mix of SWT and Native Notes® windows The workbench is recognizable yet different Domino, IBM, Lotus, Notes and Workplace Client Technology are trademarks or registered trademark of International Business Machines Corp. in the United States, other countries, or both. IBM Lotus Notes was designed by Mary Beth Raven.
  4. More introduction to the tool platform Eclipse. It is not just an Java IDE…
  5. The basic goals for the Eclipse architecture means – among other things – that the complete platform must be equally accessible for all parties. So all parts of the basic platform must be Free of charge Fully documented No licensing attached to any of the software apart from the basic EPL – Eclipse Public License The 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. The 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. Each 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. Note that the concepts of plug-ins and extension points runs 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.
  6. Eclipse products are built in layers. 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. The platform layer adds the generic features needed for an Integrated Development Environment (IDE). 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. Likewise 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. The Resources, Workspace and Update components shown above is not really part of the very basic RCP component set. They are used very often in RCP applications.
  7. 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. Functionality 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. The 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. Extensions 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. A 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.
  8. Using Eclipse RCP in an application is typically done the very same way as when used in Eclipse IDE. At the bottom there are Eclipse RCP with the bare necessities. The platform layer adds the generic features needed for any application in the specific environment. The application itself is then placed at the top.
  9. 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.
  10. The Nordea business requirements
  11. And the IT requirements
  12. Some of the known components of the banking desktop…