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