Eclipse-Technologien als Basis für

Transcrição

Eclipse-Technologien als Basis für
Eclipse-Technologien als
Basis für unternehmensweite
Desktop-Anwendungen
Dr. Frank Gerhardt
Martin Lippert
+49 179 51 51 595, [email protected]
+49 172 42 97 613, [email protected]
www.SoftwareExperts.de
www.it-agile.de
Agenda
z Teil 1
Was sind Ihre Erwartungen?
{ Einführung
{ Für Geschäftsanwendungen interessante
Eclipse-Projekte
z Pause
Welche Schwerpunkte sollen wir setzen?
z Teil 2
{ Deployment: Wie lassen sich Eclipse-RCPAnwendungen im Unternehmen verteilen und
managen?
z Fazit, Fragen und Diskussion
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Was ist Eclipse überhaupt?
z Ursprünglich ein Projekt
{ Heute eine Vielzahl von Projekten
z Eine Community
{ Mailinglisten, News-Groups, Blogs, Plug-ins,
unzählige Zeitschriften-Artikel
{ Seit 2004 jährliche Konferenz EclipseCon, in
Deutschland iX-Konferenz „Eclipse - Get Plugged“
z Die Eclipse Foundation
{ Ein Konsortium mit über 100 Beteiligten
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Geschichte von Eclipse
z
Object Technology International (OTI)
heute IBM Ottawa Software Lab
{ Viel Smalltalk-Erfahrung, native Widgets
{ VisualAge Smalltalk, VisualAge Java
{ Internes Projekt: VisualAge MicroEdition
z
Ursprung von SWT
{ IBM möchte Tool-Plattformen vereinheitlichen, VisualAge ablösen
November 2001: Eclipse wird Open Source, Wert $40M
z Eclipse Releases
z
{ 1.0
{ 2.0
{ 2.1
{ 3.0
{ 3.1
7 Nov 2001
27 Jun 2002
27 Mar 2003
25 Jun 2004
27 Jun 2005
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Mitglieder der Eclipse Foundation
z
Stategische Entwickler
{ Stellen jeweils 7 Vollzeit-Entwickler, gerne mehr (z.B. IBM)
{ Dürfen Project Leads stellen
{ Zahlen jährlich $250.000 pro Jahr (ab $ 208M Umsatz, sonst
0.12% vom Umsatz)
z
Strategische Kunden
{ Zahlen jährlich $500.000 (minus je $125.000 für max. 2
Entwickler)
{ Oder jährlich 0.2% vom Umsatz (unter $ 250M Umsatz),
mindestens $50.000
z
Add-in Providers
{ Jährlich $5.000
http://www.eclipse.org/org/documents/Eclipse%20MEMBERSHIP%20AGMT%202005_06_16%20Final.pdf
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Strategische Mitglieder
z Aufgeteilt in Strategische Entwickler
und Strategische Kunden
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Add-in Providers
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Associates
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Was machen die Firmen mit Eclipse?
z SAP: Netweaver
z IBM: Lotus Wokplace, strategische Toolz
z
z
z
z
Plattform (WebSphere, Rational, Lotus)
Palm: IDE für PalmOS
Sybase: Data Tools
Nokia: embedded RCP
Ebay: My Ebay Eclipse Plugin
Darüber hinaus gibt es viele RCP-Anwendungen
http://eclipse.org/community/rcp.html
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
GDF SUITE Management Center
GDF SUITE
Management
Center von
LOGIBALL GmbH
www.gdfsuite.de
Werkzeug für das Management von GDF Geo-Daten
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
ID-Consult Metus
Werkzeug für die Unterstützung einer Produktplanungs-Methodik
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
z Eclipse Public Licence (EPL)
http://www.eclipse.org/legal/epl-v10.html
z Kernpunkte
{ Anerkannte
Open-Source-Lizenz ohne Fußangeln
{ Eclipse-Code kann in kommerziellen Produkten
verkauft werden
{ Änderungen am Eclipse-Code müssen zurück
gegeben werden
{ Credits müssen ausgewiesen werden
z „Dieses Produkt enthält Code von …“
{ Erweiterungen fallen nicht
z Nicht viral (wie z.B. GPL)
unter EPL
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Hinweis: dies ist keine Rechtberatung
Die Eclipse Public Licence
Wie aktiv ist Eclipse
z
z
z
z
z
z
Über 35 Bücher
Deutsche Zeitschrift: EclipseMagazin
Hunderttausende Downloads
Mehrere Konferenzen nur zu Eclipse
Eclipse 3.1 in Zahlen (Zeitraum Juni 2004-Juni 2005)
Number of Eclipse related blogs: 27
{
{
{
{
{
{
{
Lines of Java source code: 2,425,709
Number of newsgroup posts: 32,223
Ca. 723.000 Google-Hits für Eclipse 3.1
Bugzilla bug or enhancement reports entered: 21,831
Bugzilla reports resolved (fixed, wontfix, duplicate, etc): 20,789
Bugzilla reports fixed: 9,871
Automated JUnit tests run every build: 31,454
http://www.eclipse.org/eclipse/development/eclipse_3_1_stats.html
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Der Eclipse „Master-Plan“
z Eclipse Platform
{ 1 Release pro Jahr
{ Ca. 9 Milestone Releases, alle 6 Wochen
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Schwerpunkte für 3.1 und danach
z Quelle: Eclipse Requirements Council: Themes and
Priorities, December 15, 2004
z Teilweise schon in Version 3.1 addressiert
z Konfigurierbarkeit
{ Vorgaben für installierbare und sichbare Komponenten
z Deployment
{ Unternehmensweites Deployment
{ Monitoring, Tracing, Troube-Shooting
{ Interoperabilität mit existierender Sicherheitsinfrastruktur
z RCP
{ Authentifizierung, Credentials, Role-based Security, Rolebased Plug-in activation
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Überblick: Projekte bei eclipse.org
Lotus Workplace Client
•Kommerziell
•Auf Basis von RCP
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Vorgeschlagene Projekte
z
Technology Projekte
{ Application Lifecycle Integration & Interoperability Framework
{
{
{
{
{
{
{
{
{
(ALIIF)
EJB3.0-ORM
EMF Technology
Language Development Toolkit Proposal
JavaServer Faces Proposal
JSR220-ORM Proposal
Model Driven Development Integration Project Proposal
Open Healthcare Framework Proposal
Technology Project Infrastructure (aka Barn Raising) Proposal
The Photran Proposal
http://www.eclipse.org/technology/index.html
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Interessante Projekte aus
Tools-Sicht
z
Eclipse SDK
{ Das zentrale Tooling: Platform, JDT, PDE
z
Eclipse Web Tools Platform Project
{ Stellt Tooling für Web-Anwendungen bereit
z
Eclipse Test and Performance Tools Platform Project
(TPTP)
{ Stellt z.B. Tooling für Profiling bereit
{ Auch als Platform für eigene Test- und Performance-Tools
gedacht
z
Data Tools Platform Project (DTP)
{ Datenbank-Frontend-Tools
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Interessante Projekte aus
Tools-Sicht
Eclipse SDK
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Interessante Projekte aus
Plattform-Sicht
z
Eclipse Project
{ Stellt RCP (OSGi, Runtime, SWT, JFace, Workbench) bereit
z
Eclipse Tools Project
{ EMF, GEF, eingeschränkt Visual Editor (VE)
z
Eclipse Technology Project
{ ECF, eRCP
z
Business Intelligence and Reporting Tools (BIRT)
Project
{ Interessant als open-source Alternative zu Crystal
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Interessante Projekte aus
Plattform-Sicht
Eclipse
Platform
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Eclipse-Plattform-Architektur
Other Tools
(CDT etc.)
Rich Client Platform
Rich Client
Application
Help
Update
Text
(Optional)
(Optional)
(Optional)
PDE
IDE
Compare Debug Search
Text
IDE
Generic Workbench (UI)
Workspace
(Optional)
JFace
SWT
Platform Runtime (OSGi)
Java VM
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
JDT
Team/
CVS
Geschichte der RCP
z Rich Clients waren auch schon mit Eclipse
2.x möglich
z Entwicklung war teilweise umständlich
z Plattform-Code musste z.T. geändert
werden
z IDE-Funktionalität war verstreut
z Mit der RCP wurde in Eclipse 3.0
aufgeräumt, in 3.1 weitere Verbesserungen
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Ursprung der RCP
z Bug/Enhancement Request April 2003
{ Der berühmte Bug 36967, 20 A4-Seiten
z Entstehung
aus der
Community
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
RCP Mail Beispiel-Applikation
z Mit Wizard generiert, <1 Minute
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Eine OSGi-basierte Runtime
z Open Service Gateway Initiative, www.osgi.org
Alpine Electronics Europe Gmbh, Aplix Corporation, Belgacom, BMW Group, Cablevision Systems, Computer
Associates, Deutsche Telekom AG, Echelon, Corporation, Electricité de France (EDF), Ericsson Mobile
Platforms AB, Esmertec, Espial Group, Inc., ETRI Electronics and Telecommunications Research Institute,
France Telecom, Gatespace Telematics AB, Gemplus, Harman/Becker Automotive Systems GmbH, Hitachi,
Ltd., IBM Corporation, Industrial Technology Research Institute, Insignia Solutions, Intel Corporation, KDDI R&D
Laboratories, Inc., KT Corporation, Mitsubishi Electric Corporation, Motorola, Inc., NEC Corporation, Nokia
Corporation, NTT, Oracle Corporation, Panasonic Technologies Inc., Philips Consumer Electronics,
ProSyst Software GmbH, Robert Bosch Gmbh, Samsung Electronics Co., Ltd., SavaJe Technologies, Inc.,
Sharp Corporation, Siemens AG, Sun Microsystems, Inc., Telcordia Technologies, Inc., Telefonica I+D,
TeliaSonera, Toshiba Corporation, Vodafone Group Services Limited
{ Stammt ursprünglich aus dem Embedded-Bereich
{ Dient dazu, Kompontenten (genannt Bundles) zu
verwalten
z Eclipse 3 basiert auf einer OSGi-Implementation
von IBM
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
OSGi-Aufgaben
z Bundle-Verwaltung: Abhängigkeiten
z Class-Loader
{ Jedes Plug-in hat seinen eigenen Classloader
{ Anfragen werden an die jeweiligen Plug-ins delegiert
z Services
Y
requires
requires
A
X
requires
Z
requires
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Platform Runtime
z Definiert Plug-in Komponentenmodell
{ Registry
C Debug
RCA
{ Extension Points
z Laufzeitumgebung für Plug-ins
C Debug
z Jobs
Plug-in
z Preferences
Extension
Extension Point
Rich Client Platform
Platform Runtime
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Think Platform!
z Die gesamte Anwendung besteht aus Plug-ins
z Strukturierung mit Extension Points und
Dependencies
z Erweiterbarkeit von Anfang an
HerkömmlicheAnwendung
mit Plug-ins,
Bsp. Web-Browser
Plug-in-basierte Anwendung
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
SWT/JFace
z Ziel:
Portable, performante UIs implementieren, die
nicht von einer
echten NativeAnwendung zu
unterscheiden
sind
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
SWT/JFace - Beispiele
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
SWT/JFace
z SWT:
{ Native UI-Widgets mit einheitlicher Java-API
{ Portiert auf diverse Plattformen
z Windows, Linux, Mac OS X, …
z JFace:
{ Erweiterte Widgets
{ Model-View-Controller
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
SWT/JFace
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
SWT/JFace
z JFace:
{ Viewer
{ Forms
{ Wizards
{ Dialogs
{ Actions
{ Model-View-Controller Pattern
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Wir können auch anders ;-)
z Bidirektionales UI, nur auf Windows unterstützt
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Generic Workbench
z Stellt das leere Fenster bereit
z Unterstützung für
{ Menu-Bars
{ Tool-Bars
{ Perspektiven
{ Views
{ Preferences
{ About
{ viele Extension Points
{ Capabilities
{ Look-and-Feel
{ Keybindings
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Generic Workbench
Perspectives
Menu-Bars
Tool-Bars
Views
Editors
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Weitere Plug-ins aus dem SDK
z Der Eclipse SDK enthält insgesamt 73 Plug-ins
z Diese enthalten Funktionalität, die je nach
Projekt-Anforderungen wiederverwendet werden
kann. Die zwei am häufigsten eingebundenen:
{ Update Manager
{ Help Sytem
z Solche Plug-ins müssen identifiziert und in das
eigene Produkt aufgenommen werden
{ Auflösen von Abhängigkeiten kann schwierig sein
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Update Manager
Neue Features installieren
z Installierte Features
aktualisieren
z
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Update Manager
z Was macht der Update-Manager hinter den
Kulissen?
{ Verwaltet Abhängigkeiten zwischen Features
z Letztlich auch Abhängigkeiten zwischen Plug-ins
{ Garantiert konsistente Konfiguration in Bezug auf
Versionsnummern
{ Lädt zusätzliche Features herunter, um Abhängigkeiten
aufzulösen
{ Lädt nur tatsächlich veränderte Plug-ins herunter
z Beispiel: Feature hat neue Versionsnummer, aber nur ein
enthaltenes Plug-in hat sich tatsächlich geändert
{ Ermöglicht Wiederherstellung einer früheren Konfiguration
(falls neue Konfiguration Fehler hat)
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Update Manager
z Verwaltung der Konfiguration
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Help System
z Web-basiertes Hilfe-
System
{ HTML-Inhalte
{ Webserver (Tomcat)
{ Suche (Lucene)
z Dynamische Hilfe
{ Kontext-sensitiv
z Spickzettel
{ Cheat Sheets
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Eclipse Modeling Framework (EMF)
z Was ist EMF?
{ Ein Framework für Domänen-Modelle
{ Ein Code-Generator
{ Ein neues Objekt-Modell für Java-Programme
z EMF ist kein graphisches
Modellierungswerkzeug
{ Dafür verwendet man ein UML-Tools wie
Rational Rose, OmondoUML
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Verwendung von EMF
UML
ECoreModel
XMLSchema
JavaModell
JavaEdit
JavaEditor
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Beispiel: Modell für „Konferenz“
Conference
<<datatype>>
Date
<<javaclass>> java.util.Date
+theProgram
1
<<enumeration>>
Level
Program
Beginner
Expert
+participants
+sessions
0..*
Session
title : EString
<<0..*>> keywords : EString
level : Level = Beginner
date : Date
participantCount : EInt
+mainSpeaker
1
+spokenSessions +speaker
0..*
1..*
+sessions
0..*
+participants
0..*
Person
birthdate : Date
firstname : EString
surname : EString
1..*
+adresses
Adress
street : EString
zip : EString
city : EString
0..*
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Beispiel: Editor für „Konferenz“
Vollständig
lauffähiger
Editor:
{ Actions
{ Tree-Editor
{ New Wizard
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Was generiert EMF?
z
EMF.Model
{
{
{
{
{
{
z
Generierte Interfaces und Klassen mit EMF-Basisklassen
Modellierte Attribute, Referenzen und Operationen
Methoden für reflektiven Zugriff (lesend und schreibend)
Change Notifications
Persistierbarkeit
Factory und Package-Klasse
EMF.Edit
{ Content/Label-Provider
{ Change Listeners
{ Command Factories
z
EMF.Editor
{ Tree-Editor, Wizard, Actions
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Graphical Editing Framework
z Framework für die Erstellung graphischer
Editoren
{ Kästchen-und-Linien-Diagramme u.v.m
z Vielfach eingesetzt, inbesondere
kommerziell
{ Rational Application Developer, OmondoUML,
Metus
{ Ausgereift, existiert seit 5 Jahren
z Hohe Lernkurve
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
GEF Features 1/4
Integration
Integration
Connections
Connections
Figures
Figures
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
GEF Features 2/4
Tools
Tools
Layout
Layout
Nesting
Nesting
Animation
Animation
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
GEF Features 3/4
Palette
Palette
Undo/Redo
Undo/Redo
Ruler
Ruler
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Zoom
Zoom
GEF Features 4/4
Accessibility
Accessibility
Layers
Layers
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Visual Editor (VE)
„The Eclipse Visual Editor project is a framework for
creating GUI builders for Eclipse. It will include
reference implementations of Swing/JFC and SWT GUI
builders, but intends to be useful for creating GUI
builders for other languages such as C/C++ and
alternate widget sets, including those that are not
supported under Java.”
z Als GUI-Builder zum produktiven Arbeiten mit Swing
oder SWT gibt es bessere, kommerzielle Alternativen
z Als Komponente (nur) interessant, wenn Applikation UIDesign leisten soll, z.B. für mobile Geräte
z
{ Beispiel: Canoo hat einen GUI Builder für den Ultra Light Client
auf Basis von VE entwickelt
http://www.eclipse.org/vep/
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Eclipse Communication Framework
z
Ziele von ECF
{ Human Communication und Collaboration
{ Communication mit Web- und Peer-Based Services
{ Component-to-Component Communication
Kern-Konzept: SharedObjectContainer und
SharedObject
z Features (vorhanden/geplant)
z
{
{
{
{
{
{
{
{
z
Shared Editor for Team Outlining, Project Calendar
EMF/SDO Data Graph Editing
Instant Messaging/User Presence/Chat
File Sharing, URL Sharing
Application Sharing, Shared Whiteboard
Team Remote Control of Eclipse, Team Debugging
Protokolle: JMS, BitTorrent, SIP, XMPP/Jabber
Eclipse Trust Framework Integration
Version 0.3.2
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
eRCP
z Ist ein neues Technology-Projekt
{ http://www.eclipse.org/ercp
z Embedded-Variante der RCP
{ Beinhaltet eSWT, embedded-Variante des WidgetToolkits
{ Ist geplant für die Plattformen:
z Intel x86
z Symbian
z PalmOS
z Windows Mobil 2003
z Aktueller Build (Milestone 2) verfügbar, Release
1.0 für 20.07.05 angekündigt
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
eRCP
z Leicht abgespecktes Widget-Toolkit
{ UI-Plugins müssen separat entwickelt werden
{ Wenige Erweiterungen z.B. für Stiftbedienung
z Gleiches Programmiermodell und gleiche
Plugins
{ Für Desktop-Rich-Clients und Embedded-Rich-
Clients
{ OSGi und Platform Runtime
z Wird getragen von IBM, Motorola und
Nokia
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Business Intelligence & Reporting
Tools (BIRT)
z
Getragen von Actuate
{ Strategischer Developer in der Eclipse Foundation
z
Projekt
{ June 6 2005 – BIRT 1.0 released
{ Zielt direkt auf Crystal Reports
{ Noch auf Eclipse 3.0.1, verwendet EMF und GEF
z
Features
{ Eclipse Report Designer, WYSIWYG (!)
{ Report Engine
reports for both web and PDF
z Tabellen, Chart Engine
z
{ Open Data Access (ODA) für JDBC Datenquellen und andere
{ Scripting (über JavaScript, java-basierte Rhino-Implementierung)
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
BIRT: Data Sets mit SQL definieren
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Open Healthcare Framework
z „The goal of the Open Healthcare Framework
(OHF) is to extend the Eclipse Platform to create
an open-source framework for building
interoperable, extensible healthcare systems.”
z Unterstützung zahlreicher Standards
{ HL7, OMG, NEMA (DICOM), ASTM (CCR), IHE, CEN
and ISO
z In Proposal-Phase
z Erstes „vertical“ Projekt bei Eclipse.org
{ Werden weitere folgen? Automotive?
http://eclipse.org/proposals/eclipse-ohf/
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
OHF Architektur
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
IBM Lotus Workplace Client
z
Versionen
{ Workplace Client Technology, Rich Client Edition
z
code-named “Hannover”, showcase in 2006
{ Workplace Client Technology, Micro Edition (siehe eRCP)
z
Features: online and offline access to
{
{
{
{
{
z
Messaging (E-Mail, instant messaging)
documents
Activity Explorer
productivity tools
data access
strong security model with a local, encrypted data store
that synchronizes to a secure, server environment
{ Server: WebSphere Portal Server, Domino
z
Zahlreiche Erweiterungsmöglichkeiten (Extension
Points)
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Lotus Workplace Client
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
IBM Lotus Workplace Client
z Warum ist der Lotus Workplace Client
interessant?
{ IBM möchte eine ernstzunehmende Alternative zu Outlook
schaffen
{ Notes ist der am weitesten verbreitete E-Mail Client
{ Benutzermanagement, Rollenkonzept, Datenverteilung
(online/offline) sollen implementiert werden
z Deshalb
{ Lotus als Plattform berücksichtigen: eigene Anwendung in
Lotus und außerhalb Lotus einsetzbar machen
{ Features nutzen?
{ Mit RCP und Plug-in stehen Ihnen alle Möglichkeiten offen
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Plug-ins aus der Community
z Zusätzlich zu den auf Eclipse.org
verfügbaren Plug-ins gibt es hunderte von
open-source und kommerziellen Plug-ins
z www.eclipse-plugins.info
z www.eclipseplugincentral.com
z Qualität (wie überall) von Note 1 bis 6 ;-)
{ Rating beachten
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Deployment
z
z
Im engeren Sinn die Auslieferung, wenn alles fertig ist
Damit man alle Möglichkeiten ausschöpfen kann, sind
einige Vorkehrungen zu treffen
{ Design
z
z
modulare Architektur
Packaging für verschiedene Szenarien (standalone RCP, add-on
Feature, Desktop/embedded)
{ Release Engineering: automatisierter Build für regelmäßiges
Feedback
z
Auslieferung
{ Erstmalig: Installer, WebStart
{ Update Site und Update Manager
z
z
Management
Administration
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Überlegungen
z
Wie viele Betriebssysteme?
{ Windows
{ Linux (x86/GTK 2), Linux (x86_64/GTK 2), Linux (PPC/GTK 2), Linux
{
{
{
{
z
(ia64/GTK 2), Linux (x86/Motif)
Solaris 8 (SPARC/GTK 2), Solaris 8 (SPARC/Motif)
AIX (PPC/Motif)
HP-UX (HP9000/Motif)
Mac OSX (Mac/Carbon)
Wie viele Sprachen?
{ Für Eclipse SDK 3.0 wurden geliefert: German, Spanish, French,
Italian, Japanese, Korean, Portuguese (Brazil), Traditional Chinese
and Simplified Chinese
{ Beliebig viele eigene Übersetzungen
z
Wie viele Produkt-Varianten?
{ Desktop standalone, Desktop add-in, Kiosk, Mobile, Server
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Architektur-Konzepte
z Plug-in
{ Komponentenmodell
z Feature
{ Gruppierung von Plug-ins
z Application
{ „Hauptprogramm“
z Product
{ Branding (Splash-Screen, Logos, Texte)
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Plug-in
C Debug
RCA
z Abhängigkeiten untereinander
C Debug
Plug-in
z Ziel: minimale Abhängigkeiten
z Schichtenmodell
{ User-Interface
{ Business-Logik
{ Datenzugriff
Extension
Extension Point
Rich Client Platform
Platform Runtime
z Nicht unbedingt erforderliche Abhängigkeiten zu
org.eclipse.* Plug-ins vermeiden
{ Z.B. um Business-Logik in J2EE zu verwenden
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Feature
z Features gruppieren Plug-ins
z Features können geschachtelt werden
{ Top-level Feature: was der Benutzer kennt
{ Enthaltene Features: zur internen Strukturierung der
Anwendung
Desktop Feature
{ Plug-ins können in mehreren
Features gleichzeitig enthalten sein
z Update-Manager arbeitet
auf Features, nicht Plug-ins
Kiosk Feature
help
phone
core
Mobile Feature
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Application
z Jedes Plug-in kann beliebig viele
Applications definieren
z Eine RCP-Produkt muss genau ein
„Hauptprogramm“ definieren
z Jede Produkt-Variante kann ein anderes
„Hauptprogramm“ definieren
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Product
z Eine Product Configuration definiert
{ Eine Id für das Produkt
{ Id des „Hauptprogramms“
{ Enthaltene Plug-ins bzw. Features
{ Launcher, Splash Screen, Window Images, About text
z Wie bei Features
{ Plug-ins bzw. Features können in mehreren Products
enthalten sein
z Aber: Produkte sind top-level, können nicht
geschachtelt werden
z Es gibt Tooling dafür…
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Product Configuration Editor
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Release Engineering
z Must have: Automatisierter Build
z Build-Tools werden von Eclipse.org
ebenfalls zur Verfügung gestellt
{ Komplex und mächtig
{ Basierend auf Ant
z Verschiedene Build-Typen
N nightly build
I integration build
S stable build
R release build
M maintenance build
z Verschiedene Betriebssysteme
z Verschiedene Produkt-Varianten
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Verteilung einer RCP-Applikation
z Als zip-File
z Mit Installer (z.B. InstallShield)
z Über WebStart
z Mit oder ohne Signierung
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Wie hält man eine RCP-Applikation
auf dem neuesten Stand?
z Der Update-Manger kann auf einem
Websever oder in einem Verzeichnis nach
Aktualisierungen suchen
z Update-Site
{ Ein Verzeichnis mit runterladbaren Features
und Plug-ins (spezielles Format)
{ Beschreibung in site.xml
z Eclipse bietet Tool-Unterstützung zum
Erstellen einer Update-Site
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Grenzen der Administrierbarkeit
z Benutzer können Updates ablehnen
{ Zwang müsste man auf Anwendungsebene kodieren,
noch keine Unterstützung der Plattform
z Power-User können weitere Plug-ins installieren
{ Derzeit nicht möglich, das zu verhindern
{ Konfigurationsdateien leicht änderbar
{ Ist einer der „Plan items“ für Eclipse 3.2 (oder später)
{ Code-Signierung schon unterstützt, hilft aber primär beim
Update über unsichere Netzverbindung
z Kein Support für zentrale Überwachung der
Konfiguration beim Benutzer
{ „Telefonieren nach Hause“ müsste man selbst
implementieren
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Fazit
z
Vorteile
z
{ Reichhaltige
{
{
{
{
{
{
Funktionalität
Wiederverwendung von
Code und Design
Stabil, saubere
Architektur
Dokumentation
Java,
plattformunabhängig
Nativer Look
Macht Spaß
Offene Punkte, Probleme
{ Sicherheit: keine
Authentifizierung,
Autorisierung, Rollen
z Teilweise Unterstützung
durch OSGi 4.x
z In Arbeit
{ Nightly Build schwierig
z
Empfehlung: RCP ist sinnvoll, wenn jede Komponente
von RCP für Ihr Projekt
sinnvoll ist (OSGi, Plug-ins,
SWT, JFace, Workbench)
Bottom Line: wer bietet mehr?
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Referenzen 1/2
z Code
{ Eclipse
Source Code (SDK)
{ Beispiele (eclipse-examples-3.1-*.zip )
{ Browser
Example
(:pserver:[email protected]:/home/eclipse
Projekt org.eclipse.ui.examples.rcp.browser)
z Webseiten
{ RCP
Homepage
(http://www.eclipse.org/rcp)
{ RCP-Applikationen (http://www.eclipse.org/community/rcp.html)
(http://www.oneclipse.com/Members/admin/news/swt-sightings-vol-2)
{ Eclipse
Powered
{ Eclipse
Wiki
(www.eclipsepowered.org)
(eclipse-wiki.info)
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Referenzen 2/2
EclipseCon 2004 und 2005 (www.eclipsecon.org)
{ Sehr viele Infos zu Vorträgen und Tutorials
z Gerhardt, Wege: Eclipse als Basis für Rich-ClientAnwendungen. iX, 7/2004
z Todd Williams, The Case for Using Eclipse Technology in
General Purpose Applications
(http://www.genuitec.com/products/eclipseapplicationframe
work.pdf)
z Shavour et al.: The Java Developer's Guide to Eclipse
z
{ 2. Auflage für Eclipse 3
Gamma, Beck: Contributing to Eclipse
z Arthorne, Laffra: The Official Eclipse 3.0 FAQ
z Clayberg, Rubel: Building Commercial Quality Plug-ins
z
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Danke für Ihre Aufmerksamkeit
z
Dr. Frank Gerhardt
[email protected]
+49 179 51 51 595
www.FrankGerhardt.com
www.SoftwareExperts.de
z
Martin Lippert
[email protected]
+49 172 42 97 613
www.it-agile.de
www.it-agile.de
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0
Lizenz für diesen Foliensatz
Diese Folien stehen unter der Eclipse Public License 1.0
http://www.eclipse.org/legal/epl-v10.html
z Sie dürfen diese Folien im Rahmen der EPL weiter
verwenden. Auf Anfrage schicken wir Ihnen die
PowerPoint-Datei
z Credits
z
{ Boris Bokowski, Maßgeschneiderte grafische Editoren mit GEF,
iX-Konferenz 2005
{ Frank Gerhardt, Stephan Eberle, Dieter Moroff, Das Eclipse
Modeling Framework, iX-Konferenz 2005
z
Logos und Screenshots gehören ihren jeweiligen
Eigentümern
Experten-Forum-Stuttgart, 08.07.05, © Dr. Frank Gerhardt, Martin Lippert, made available under the EPL v1.0

Documentos relacionados