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.”

IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

Embed Size (px)

DESCRIPTION

”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.”In Danish

Citation preview

Page 1: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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.”

Page 2: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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…

Page 3: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 4: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

4

Eclipse is… what exactly?

Page 5: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

5

Eclipse – The Java IDE

Page 6: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

6

Eclipse – The Tools Platform

Page 7: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

7

Eclipse – The Application Platform Nordea Banking Desktop

Page 8: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

L0019 - 2008-11-28

8

IBM Lotus NotesVersion 8

Page 9: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 10: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

10

A little about the Eclipse architecture

EclipsePlatform

Res

ourc

esW

orks

pace

Hel

pU

pdat

e

Tea

m

Web

S

erve

r

File

syst

em

s

Apa

che

Sea

rch

Nav

igat

or

Intr

oT

ext

Edi

tor

s

JDT

CV

S

WT

PD

ata

too

lsV

EB

IRT

Myl

yn

PD

E

Eclipse RCP

Run-time/OSGiSWTJFaceWorkbe

nch Pre

fer

ence

sJo

bsIC

UC

omm

and

sR

egis

try

CD

T

Page 11: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 12: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 13: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

13

EclipsePlatform

Res

ourc

es

Wor

ksp

ace

Hel

p

Upd

ate

Tea

m

Web

Ser

ver

File

syst

ems

Apa

che

Sea

rch

Nav

igat

or

Intr

o

Tex

t E

dito

rs

Eclipse Architectural Components

JDT

CV

S

WT

P

Da

tato

ols

VE

BIR

T

Myl

yn

PD

E

Eclipse RCP

Run-time/OSGi

SWT

JFace

WorkbenchP

refe

renc

es

Jobs

ICU

Com

man

ds

Reg

istr

y

CD

T

Page 14: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

WorkbenchP

refe

renc

es

Jobs

ICU

Com

man

ds

Reg

istr

y

Page 15: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

15

ApplicationPlatform

Com

m.

Log

ging

Hel

p

Upd

ate

Aut

h.

Aud

itin

g

Apa

che

Intr

o

Your Typical RCP Application

Ba

se

Ad

d-o

n

Ad

d-o

n

Ad

d-o

n

Ad

d-o

n

De

bu

g T

oo

ls

Da

ta M

od

el

Eclipse RCP

Run-time/OSGi

SWT

JFace

WorkbenchP

refe

renc

es

Jobs

ICU

Com

man

ds

Reg

istr

y

Ad

d-o

n

Page 16: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 17: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 18: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

18

Demonstration of some relevant Eclipse RCP features

Page 19: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 20: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

20

The Eclipse Ecosystem

Page 21: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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, …

Page 22: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 23: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 24: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

24

Project Activity

Page 25: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

25

Why use Eclipse for a Banking System?

NowStart (early 2006)

Business req

Evaluation Platform components

Prototyping/testing First project

Decision (late 2007)

Page 26: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

26

Choosing Eclipse RCP

Business Requirements

IT/Project Requirements

The Basic Architecture

The Process

Page 27: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 28: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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

Page 29: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

29

Banking Desktop Architectural Components

BankingPlatform

UI

Err

or

Help

Upd

ate

Use

r M

ng

Audit

Secu

rity

Data

Mod

el

SO

A/E

SB

Telle

r

PSD

2

???

PSD

1

Eclipse RCP

Run-time/OSGi

SWT

JFace

WorkbenchPre

fere

nce

sJo

bs

ICU

Com

mands

Regis

try

CM

S

Page 30: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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)

Page 31: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

PR0017 - 2009-09-29

31

Q&A

Page 32: IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Danish)

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/