die eclipse rich client plattform - eine alternative...

27
Java Forum Java Forum Stuttgart, Juli 2006 Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform - eine alternative Client-Technologie für Business Process Management Systeme Dirk Günther Teammanager R&D e-business [email protected]

Upload: hoangbao

Post on 01-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

Java ForumJava ForumStuttgart, Juli 2006Stuttgart, Juli 2006

Die Eclipse Rich Client Plattform - eine alternative Client-Technologie für Business Process Management Systeme

Dirk Günther

Teammanager R&D e-business

[email protected]

Page 2: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 3: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 4: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Cenit Kurzvorstellung

§ Gründung 1988 – CENIT GmbH§ Umwandlung in AG 1998 - CENIT AG Systemhaus

§ Börsengang: 06.05.1998, Neuer Markt Frankfurt

§ Aktien: 4.183.879 (ISIN: DE0005407100, Prime Standard)

§ Hauptsitz: Stuttgart

§ Niederlassungen: Berlin, Düsseldorf, Frankfurt, Hamburg, Hannover, München, Saarbrücken

§ Tochterunternehmen§ CENIT (Schweiz) AG

§ CENIT North Amercia Inc.

§ Mitarbeiter/innen: 522 konzernweit

Page 5: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Cenit Kurzvorstellung

CENIT AG SystemhausCENIT AG Systemhaus

Consulting

ED

M*

CW

S

SM

Consulting

Enterprise Content Enterprise Content ManagementManagement

e-de

sign

PD

M

e-m

anu

fact

uri

ng

EC

M /

BP

MProduct Lifecycle Product Lifecycle

ManagementManagement

Hardware, Infrastruktur, Outsourcing, Services

Page 6: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 7: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Übersicht Business Process Management (BPM)

§ Definition Prozess:Ein Prozess ist eine strukturierte und gesteuerte Folge von Aktivitäten, die angibt, wie aus einem vorgegebenen Input ein bestimmtes Ergebnis ("Output") erzeugt werden soll [1].

§ Definition Geschäftsprozess:Ein Geschäftsprozess ist ein dem Unternehmenszweck dienender Prozess.

§ Definition BPM:Methode als auch Verfahren zur kontinuierlichen Verbesserung vonGeschäftsprozessen unterstützt durch IT-Systeme.

Page 8: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Übersicht BPM

Analyse

Design

Implementierung

Modellie

rungUmsetzung

BAM

Kennzahlen

Data Warehouse

Monitor

ing

SOA

JMS

EJB

Softwareverteilung

Deployment

Architektur

Prozesserstellung

BPMN

UML

Tools der BPMS

Kontinuierliche Prozessoptimierung

Page 9: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Übersicht BPM

Process EngineProcess Engine

BPM ClientBPM ClientWebclient Rich Client PDA

Enterprise Applikationen

Integrationsplattform

SOA EJB JMS

Host ECM SAP …

Page 10: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Anforderungen an einen BPM Client

§ Flexibilität

§ Die Anwendungsmasken sind Prozess-abhängig

§ Integration von Desktop Anwendungen

§ Integration von Enterprise Applikationen

§ Hohe Performanz

§ Einfache Bedienung

§ Erweiterbarkeit

§ Rollenfunktionalität

Page 11: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Grundsätzliche Funktionalität eines BPM Client

§ Postkorb (Worklist)

§ Liste der Aufgaben eines Benutzers und/oder eines Teams

§ Verteilung der Aufgaben

§ Priorisierung der Aufgaben

§ Wiedervorlage

§ Prozessabhängige Bearbeitungsmasken

§ Eigenständige Formulare

§ Integration von anderen Applikationen (z.B. Office, SAP-Gui)

§ Notizen anlegen

§ Vorgangsmappe

§ Anzeige Akten

Page 12: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 13: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

CENIT eWorks – Überblick

§ CENIT eWorks Rich Client

§ Branchenunabhängiger BPM Client auf Basis FileNet P8

§ Ein konfigurierbares Produkt mit Standardfunktionalitäten

§ Postkorb

§ Aktenverwaltung

§ „Explorer“ für Enterprise Content Management

§ Erweiterbar für kundenspezifische Anforderungen

§ Technologische Basis

§ FileNet P8 als Plattform(CM, BPM, IM)

§ 3 Schicht Architektur

§ Client basierend auf Eclipse RCP

§ Middle Tier mit Services für Logik und Zugriff

§ Datenhaltung in FileNet P8

Page 14: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

FileNet P8 PlatformFileNet P8 Platform

Application ServerApplication Server

Business Logic

CENIT eWorks – Architektur

eWorks Rich ClienteWorks Rich Client

eWorksService1

eWorksService2

eWorksServiceN

ClientClient tiertier

Middle tierMiddle tier

BackendBackend tiertier

eWorksExplorer

eWorksCase Mgnt

...

eWorksProcess Mgnt

FileNet Java API

eWorks Connectors

BPM CM IM

Page 15: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 16: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Warum Eclipse RCP

§ Vorteile

§ Sehr gute Erweiterbarkeit durch Plugins über Extension Points

§ Intelligenter Update Mechanismus

§ Bietet viele wiederverwendbare KomponentenHelp UI, Update, Intro, Cheat Sheets, Forms .... etc.

§ Solide Architektur

§ Läuft auf dem Benutzer PC

§ Möglichkeit der Offline Benutzung

§ Nachteile

§ Hoher Einarbeitungsaufwand

§ Komplexität

Page 17: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 18: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Warum das Spring Framework

§ Vorteile

§ Leichtgewichtige Komponenten (POJOs)

§ Es können unterschiedliche Remote Services und Protokolle verwendet werden

§ Mit Acegi existiert eine Security Infrastruktur

§ Gute Architektur

§ Nachteile

§ Einarbeitungsaufwand

§ Konfiguration kann schnell komplex werden

Page 19: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Agenda

§ Kurzvorstellung CENIT

§ Einführung BPM

§ Überblick eWorks

§ Warum Eclipse RCP

§ Warum Spring Framework

§ Tips und Tricks

§ Diskussion

Page 20: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Tipps und Tricks

§ Classloader

§ Jedes Bundle (Plugin) hat seinen eigenen Classloader

§ Das Einbinden bestehender Libraries kann schwierig werden (z.B. JDIC, Spring)

§ Classloading Mechanismus muss verstanden werden

§ Unterscheidung zwischen Compile und Runtime Umgebung

§ Es gibt eine strikte Trennung zwischen Compile und Runtime Umgebung

§ Die Compile Umgebung wird über die Standard Preference Page “Java build path” konfiguriert

§ Die Runtime Umgebung über den Plugin-Manifest Editor

Page 21: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Einbindung Spring Framework

§ CorePlugin

§ Stellt zentrale Dienste zur Verfügung u.a. den Zugriff auf Spring

§ Bean Konfiguration liegt im Plugin Verzeichnis

public Object getBean(String beanName) {

ClassLoader loader = Thread.currentThread().getContextClassLoader();

try {

if (m_ApplicationContext == null) {

Thread.currentThread().setContextClassLoader(getDefault().getClass().getClassLoader());

m_ApplicationContext = new ClassPathXmlApplicationContext(BEANS_XML);

}

return m_ApplicationContext.getBean(beanName);

}

finally {

Thread.currentThread().setContextClassLoader(loader);

}

}

Page 22: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Rollenfunktionalität

§ Anforderung: In Abhängigkeit der Rollenzugehörigkeit stehen dem Benutzer andere Funktionen zur Verfügung

§ Lösung: IActionDelegate2 um die Funktion canEnable erweitert

§ In der selectionChanged Methode wird canEnable aufgerufen und die Action enabled oder disabled

§ canEnabled kann auch dazu benutzt werden, Kontext-abhängig Funktionen zu de- oder aktivieren

protected boolean canEnable(IStructuredSelection selection) {

Iterator iterator = selection.iterator();

while (iterator.hasNext()) {

Document document = (Document)iterator.next();

if (document.isCheckedout()) {

return false;

}

}

return true;

}

Page 23: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Update Mechanismus

§ Der integrierte Update Mechanismus von Eclipse ist für den normalen Anwender zu komplex

§ Die IT möchte sicherstellen, das alle Anwender mit den gleichen Versionen arbeiten

§ Wenn alle Benutzer zur gleichen Zeit das Update holen, kann es zu Beeinträchtigungen des Netzwerkes kommen

§ Lösung: Implementierung eines eigenen Update Mechanismus auf Basis des Plugins org.eclipse.update.core

Page 24: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Messages an den Client

§ Anforderung: Der Client muss von außen über Messages benachrichtigt werden, z.B. neuer Eintrag im Postkorb, oder Bearbeitungsende in Office

§ Lösung: Aufbau eines Event Mechanismus für externe Ereignisse

§ Unterstützung für verschiedene Event Publisher (JMS, Filesystem, DDE)

Page 25: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Diskussion

Zeit für Fragen

Page 26: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Quellen

§ [1] Einführung in Business Process Management (BPM) und BPM Systeme (BPMS), Dr. Christoph Strnadl, http://www.bpm-guide.de/articles/55

§ [2] Eclipse Foundation http://www.eclipse.org/

§ [3] Spring Framework http://www.springframework.org

Page 27: Die Eclipse Rich Client Plattform - eine alternative ...alt.java-forum-stuttgart.de/jfs/2006/folien/B5_Guenther_CENIT.pdfJava Forum Stuttgart, Juli 2006 Die Eclipse Rich Client Plattform

© CENIT AG Systemhaus, 2006

Vielen Dank für Ihre Aufmerksamkeit …Vielen Dank für Ihre Aufmerksamkeit …

©CENIT AG SystemhausMax-Planck-Strasse 17

D – 40699 Erkrath

Weitere Informationen unter http://www.cenit.de

Dirk Günther+49 211 530652 32

[email protected]