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

Slides:



Advertisements
Ähnliche Präsentationen
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Advertisements

Modellgetriebene Softwareentwicklung
... Where No IDE Has Gone Before
Web 2.0 und RIAs - Adobe Air1 Seminar: Web 2.0 und Rich Internet Applications Wintersemester 2007/2008 Daniel Thaidigsmann
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Einführung in die Entwicklungsumgebung
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
ATHOS Benutzertreffen 12. November Auswerteserver Glashütten, 12. November 2008 HighQSoft GmbH, Andreas Hofmann
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Microsofts XML-Strategie aus Sicht des Endanwenders Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Eclipse - Entwicklungsumgebung und mehr ETIS SS05.
DFKIUtils FRODO AgentFramework ein kleiner Einblick FRODOianer-Sitzung am
JAVA RMI.
Introducing the .NET Framework
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Erweiterung von Eclipse als Entwicklungs-Plattform aus Sicht des Eclipse-Boardmitgliedes TogetherSoft Together auf Basis von Eclipse.
CRM Editor auf der Basis von Qt (Beispiel von Ubi erat Lupa)
Divide and Conquer Eclipse RCP und Spring in verteilten Anwendungen Stefan Reichert | Lufthansa Systems Benjamin Pasero | IBM Rational.
Space Based Computing VU SS08
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
„Buy and Make“ anstelle von „Make or Buy“
Teil II Objekte ergeben ein Ganzes
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Xenario IES Information Enterprise Server. Xenario Information Enterprise Server (IES) Die neue Architektur des Sitepark Information Enterprise Servers.
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Java und Eclipse.
App-Entwicklung mit HTML5, CSS und JavaScript
Spring Framework.
VU Semistrukturierte Daten 1
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Google Android.
Jonas Rüttimann 2. Juni Motivation Was ist RAP? Schnellstart: Wir bringen RAP zum Laufen! Technologie: Wie funktioniert RAP? Konsequenzen für die.
C O R P O R A T E T E C H N O L O G Y Software & Engineering Architecture Eclipse Rich Client Platform Siemens Workshop Kai Tödter Siemens AG CT SE 2.
Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner |
Plugin Design Patterns in
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
IBM® WebSphere Portal, IBM WebSphere Portal solutions, and SOA Composite Applications Overview TIMETOACT Software & Consulting GmbH, Hermann.
Das Build-Tool ANT ETIS SS04. ant 2 Gliederung Motivation Build-Datei build.xml Bestandteile build.xml –Properties Zusammenfassung.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
Projektvorstellung im Kurs „Praktisches Linux“, WS 2007/2008.
LINUX II Unit 7 LAMP Server. LAMP ● Linux – Apache - MySQL – PHP ● Leistungsfähiges und kostenloses System zur Genrierung von dynamischen Webseiten und.
Eine Einführung in das Window System. Agenda ● Problemstellung ● Lösung ● Demos: ● Ein TopComponent Fenster erzeugen ● Eine Swing Applikation portieren.
Mapbender3 – Astrid Emde FOSSGIS 2013 Rapperswil Mapbender3 nimmt Fahrt auf! Astrid Emde FOSSGIS 2013 Rapperswil.
Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team.
DTrace Mathias Velten Sun Campus Ambassador
Die Visual Library API Anton Epple
2012 Mapbender3 – INTERGEO 2012 Hannover Astrid Emde Mapbender3 Astrid Emde INTERGEO 2012 Hannover.
Maven NetBeans Platform RCP Development Aljoscha Rittner Sepix GmbH, NetBeans Dreamteam Member
Verwendung von Graphical-User-Interfaces der Bibliothek: javax.swing.*
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
Verteilte Anwendungen: J2EE
WS2016: Container von A bis Z
OpenLayers FEATURES DATENQUELLEN
Google App Engine - Technische Stärken und Schwächen
Vor- und Nachteile von RAD-Projekten
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Wesentliche Bestandteile:
Gewachsene Architektur Das kann nicht funktionieren!
1.
Allgemeine Informatik Seminar 1
Programmiermethodik Übung 7
Business IN THE FAST LANE
 Präsentation transkript:

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

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

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

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

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) ???

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

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

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 )

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

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

Source Talk Tage 2008 NetBeans Rich Client Platform ● CRM System ● Anwendungsbeispiele

Source Talk Tage 2008 NetBeans Rich Client Platform Anwendungsbeispiele ● ● Demo

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

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

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?)

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

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

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)

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

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

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, )...

Source Talk Tage 2008 NetBeans Rich Client Platform Bücher

Source Talk Tage 2008 NetBeans Rich Client Platform Links und Ressourcen PanetNetBeans: Mailing List: NUGM: XING:

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

Source Talk Tage 2008 NetBeans Rich Client Platform Anwendungsbeispiele ● ChipInspector ●

Source Talk Tage 2008 NetBeans Rich Client Platform SpikeFlow Creator ● Spikeflow ●