Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Source Talk Tage 2008 NetBeans Rich Client Platform NetBeans RCP NetBeans Rich Client Platform Anton Epple Göttingen, 25.9.2008 Source Talk Tage.

Ähnliche Präsentationen


Präsentation zum Thema: "Source Talk Tage 2008 NetBeans Rich Client Platform NetBeans RCP NetBeans Rich Client Platform Anton Epple Göttingen, 25.9.2008 Source Talk Tage."—  Präsentation transkript:

1 Source Talk Tage 2008 NetBeans Rich Client Platform NetBeans RCP NetBeans Rich Client Platform Anton Epple Göttingen, 25.9.2008 Source Talk Tage

2 Source Talk Tage 2008 NetBeans Rich Client Platform Was ist eine Rich Client Platform? Framework zur Entwicklung von Desktop Applikationen Besteht aus: Anwendungslaufzeitumgebung ~ Vergleichbar mit Applikationsserver APIs für typische Anforderungen an Desktop- Anwendungen ~ Vergleichbar mit Frameworks für Webanwendungen Generische Desktop Anwendung

3 Source Talk Tage 2008 NetBeans Rich Client Platform Und was ist die NetBeans Platform? Rich Client Platform für Swing Applikationen 100% Java Besteht aus dem Runtime Container und Modulen, die die Funktionalität implementieren Teil der NetBeans IDE NetBeans IDE = Platform + IDE Module => NetBeans ist eine NetBeans Plattform Applikation

4 Source Talk Tage 2008 NetBeans Rich Client Platform Eine generische Anwendung ● „Leere“ NetBeans Platform

5 Source Talk Tage 2008 NetBeans Rich Client Platform Was für Alternativen zu NB gibt es? Swing RCP (JSR 296) Relativ wenig Funktionalität Im Winterschlaf? Eclipse RCP Viele Features SWT Ausgereift und gut dokumentiert Spring Rich Client Platform (seit 2006) ???

6 Source Talk Tage 2008 NetBeans Rich Client Platform Warum eine Rich Client Platform? Modularer Aufbau der Applikation (Lose Kopplung) Konsistenz der Benutzeroberfläche, Stichwort „FrankenGUI“ Viele Anforderungen sind bereits fertig implementiert Für andere bestehen Gerüste und Wizards für die Implementierung => weniger Boilerplate Code = Verkürzung der Entwicklungszeit

7 Source Talk Tage 2008 NetBeans Rich Client Platform Features der NetBeans Plattform Update Manager Fensterverwaltung Integriertes Hilfesystem Actions Framework Globale Actions: Drucken, Copy, Cut & Paste... Frameworks für Dialoge und Wizards Und vieles mehr...

8 Source Talk Tage 2008 NetBeans Rich Client Platform Wo sind die Nachteile? Steile Lernkurve Manche Architekturprinzipien in modularen Systemen schlecht unterstützt ( Reflection: Spring, JasperReports... ) Code ist nicht mehr so leicht wiederverwendbar „Lock-in“ Festlegung auf eine Entwicklungsumgebung ( Eclipse, NetBeans )

9 Source Talk Tage 2008 NetBeans Rich Client Platform Wie läuft die Entwicklungsprozess in der IDE ab? Erzeugen eines „NetBeans Platform Application“ Projekts NetBeans legt eine ModuleSuite und konfiguriert den Build Prozess Erzeugen von beliebig vielen Modulen (normal/library) Implementierung der Funktionalität in den Modulen Festlegung von Modul Abhängigkeiten Build und Run Testen, Debuggen und Profilen Branding und Distribution

10 Source Talk Tage 2008 NetBeans Rich Client Platform Demo: RCP entwickeln mit NetBeans Demo

11 Source Talk Tage 2008 NetBeans Rich Client Platform ● CRM System ● http://www.sepix.de/ Anwendungsbeispiele

12 Source Talk Tage 2008 NetBeans Rich Client Platform Anwendungsbeispiele ● http://bluemarine.tidalwave.it http://bluemarine.tidalwave.it ● Demo

13 Source Talk Tage 2008 NetBeans Rich Client Platform Was ist unter der Haube? Runtime Container verwaltet den Lebenszyklus der Module und ihre Abhängigkeiten API/SPI Module bieten Extension Points und Utility Klassen ModuleSuite enthält die Module, die die Funktionalität der Anwendung bereitsstellen Runtime Container API Modules/Plugins App Module 1App Module 4 App Module 5 App Module 6 App Module 2 App Module 3

14 Source Talk Tage 2008 NetBeans Rich Client Platform Wie funktioniert der Runtime Container? OS Plattform spezifischer Launcher Die Runtime besteht aus 5 Modulen: Bootstrap, Startup, Module System, File System, Utilities 3 verschiedene ClassLoader: Original ClassLoader, System ClassLoader, Module ClassLoader Module ClassLoader ist ein Multi-Parent ClassLoader, der Klassen aus anderen Modulen zugreifen kann, wenn eine Abhängigkeit deklariert wurde. Das Laden wird dabei an den Module ClassLoader des anderen Moduls delegiert

15 Source Talk Tage 2008 NetBeans Rich Client Platform Wie ist ein NetBeans Modul aufgebaut? ~ Java 1.7: JAM ( JSR 277 ) Ein Modul ist ein JAR Archiv mit: META-INF/MANIFEST.MF(öffentliche Schnittstelle, Abhängigkeiten) Layer Datei: Konfiguration, Deklaration von Resourcen, Actions, Fenstern... Anwendungsklassen Ressourcen (Icons, Helpsets) XML-Konfigurationsdatei (enabled?)

16 Source Talk Tage 2008 NetBeans Rich Client Platform Das Modulsystem: Aufbau eines Moduls

17 Source Talk Tage 2008 NetBeans Rich Client Platform Was leistet das Modul System? Klar definierte Abhängigkeiten: nur was explizit importiert wird ist im Modul sichtbar Nur was explizit exportiert wird ist für andere Module sichtbar Versionierung Einfache Aktualisierung Aktivieren und Deaktivieren von Modulen / Plugins Einfaches Hinzufügen von neuer Funktionalität Applikationen, die gut altern

18 Source Talk Tage 2008 NetBeans Rich Client Platform Loose Kopplung: Cookies & Lookups Cookies Repräsentieren eine Fähigkeit eines Objekts Werden z.B. verwendet um Actions kontextabhängig zu aktivieren: Wenn SaveCookie präsent -> Save enabled Lookups Können verwendet werden um Services zu registrieren (ähnlich ServiceLoader in 1.6) Funktionieren auch in älteren JVMs Sind mächtiger als ServiceLoader (Sortierung, dynamisch, Listener)

19 Source Talk Tage 2008 NetBeans Rich Client Platform Was macht die Layer? Das System FileSystem ist ein virtuelles Filesystem, das als zentrales Register für die Module dient Hier können UI Komponenten registriert und konfiguriert werden (z.B. Reihenfolge von Menüeinträgen) Module stellen über das „Layer“ XML File deklarativ Ihre Komponenten bereit. Zur Laufzeit werden diese Ressourcen ins System FileSystem „gemischt“ Hier können auch programmseitig eigene Ressourcen als Files gespeichert und abgerufen werden

20 Source Talk Tage 2008 NetBeans Rich Client Platform UI: Actions & TopComponents Actions bauen auf Swing Actions auf Basis CallableSystemAction CallbackSystemAction: für globale Actions (Print, Copy) werden nur aktiviert, wenn bestimmte Capability (Cookie) zur Verfügung steht TopComponents sind die JPanels von NetBeans RCP Default Position (Mode) kann deklarativ festgelegt werden Gruppierung möglich Lebenszyklus (opened, showing, closing, closed... )

21 Source Talk Tage 2008 NetBeans Rich Client Platform Zusammenfassung NetBeans RCP ist: Ein Framework dass es erleichtert modulare, wartbare Swing Applikationen zu entwickeln, kostenlos & Open Source stabil, ausgereift ( bald ist 10.Geburtstag ), und wird bereits erfolgreich in vielen Anwendungen eingesetzt (Boeing, Sun, Nokia, USDA...) Für mehr Informationen (Nodes, Explorer, )...

22 Source Talk Tage 2008 NetBeans Rich Client Platform Bücher

23 Source Talk Tage 2008 NetBeans Rich Client Platform Links und Ressourcen http://wiki.netbeans.org/NetBeansDeveloperFAQ http://blogs.sun.com/geertjan/ PanetNetBeans: http://planetnetbeans.org/ Mailing List: dev@openide.netbeans.orgdev@openide.netbeans.org NUGM: http://tinyurl.com/nug-munich XING: http://www.xing.com/group-20148.82db20

24 Source Talk Tage 2008 NetBeans Rich Client Platform Fragen & Antworten ● Fragen & Antworten

25 Source Talk Tage 2008 NetBeans Rich Client Platform Anwendungsbeispiele ● ChipInspector ● http://www.genomatix.de

26 Source Talk Tage 2008 NetBeans Rich Client Platform SpikeFlow Creator ● Spikeflow ● http://www.nspike.com/


Herunterladen ppt "Source Talk Tage 2008 NetBeans Rich Client Platform NetBeans RCP NetBeans Rich Client Platform Anton Epple Göttingen, 25.9.2008 Source Talk Tage."

Ähnliche Präsentationen


Google-Anzeigen