RAP für Java-Entwickler

Die Remote Application Platform (RAP) ist ein Java-basiertes Eclipse Plug-in und dient zum Erstellen mächtiger, browser-basierter Anwendungen. Damit können Entwickler auf ihr vorhandenes Java- und Eclipse Know-how aufbauen und haben ein Werkzeug an der Hand, um in Web- und Desktop-Anwendungen Programme gemeinsam zu nutzen. Nach Besuch dieses Kurses kann der Teilnehmer die RAP zur Entwicklung von Webanwendungen einsetzen.

Mithilfe der von den RAP-Projektleitern und Committern, also den Entwicklern dieser Technologie, erstellten Kursunterlagen, werden die Teilnehmer schnell mit der Plattform vertraut. Von unseren erfahrenen Eclipse-Entwicklern erfahren sie alles, was zur Entwicklung RAP-basierter Web-Anwendungen erforderlich ist. Darüber hinaus erhalten die Teilnehmer Insider-Wissen und die Kenntnis der optimalen Vorgehensweise für die eigenen Entwicklungsprojekte.

Die Kursteilnehmer entwickeln in einer Reihe von praxisorientierten Sitzungen schrittweise eine komplette RAP-Anwendung. Da wir die Teilnehmerzahl bewusst auf 6-8 Personen beschränken, lernen sie RAP in der Tiefe verstehen und unsere Experten können sehr individuell auf die jeweiligen Anforderungen eingehen.

Kursdauer: 4 Tage

Termine und Anmeldung

RAP für Java Entwickler – 4 Tage
Karlsruhe: 11-14 Sep

RAP für Java Entwickler – 4 Tage
Karlsruhe: 4-7 Dez

Weitere Informationen

Kursziel:

Sie lernen, die Eclipse und der Remote Application Platform (RAP) zugrunde liegenden Konzepte verstehen und diese durch die Entwicklung einer komplett RAP-basierten Anwendung anzuwenden. Im Kurs werden Grundkenntnisse der Eclipse RAP-Architektur vermittelt und Sie werden mit der optimalen Vorgehensweise bei der RAP-Entwicklung vertraut.

Teilnehmer:

Java-Entwickler, die mithilfe der RAP Web-Anwendungen entwickeln wollen. Software-Architekten, die unternehmensweit Software-Plattformen einrichten möchten.

Voraussetzungen:

Kenntnisse in Java und objektorientierter Programmierung sind erforderlich, Erfahrung in der Anwendung der Eclipse Integrierten Entwicklungsumgebung (IDE) ist wünschenswert. Grundkenntnisse in Design-Pattern und XML sollten vorhanden sein.

Format und Kurssprache:

Mindestens die Hälfte des Kurses besteht aus praktischen Übungen. Die Teilnehmer erhalten umfangreiches Begleitmaterial. Durch die kleine Kursgröße mit maximal 6-8 Teilnehmern ist ein schneller Lernerfolg sicher. Ein Rechner mit einer aktuellen Eclipse-Installation ist mitzubringen. Die Kurssprache ist Deutsch. Kurse in anderen Sprachen sind auf Anfrage möglich.

Kursinhalte

Einführung RAP (Remote Application Platform)

  • Beispiele für RAP-Anwendungen
  • Vorteile von RAP: Java, Komponenten, plattformübergreifend, Mehrbenutzerfähig
  • RAP-Architektur: RWT, JFace, OSGi, Runtime, Workbench

Erste Schritte

  • Erstmaliges Erstellen einer RAP-Anwendung
  • I-Anwendung als Hauptausgangspunkt
  • Anwendung starten und testen

RWT-Essentials: Widgets, Layouts, Dialoge

  • Wichtige RWT-Konzepte
  • Container-Widgets (Shell, Composite, Group)
  • Reguläre Widgets (Label, Button, Text, …)
  • Der UI-Thread
  • Umgang mit Langzeit-Vorgängen
  • Arbeiten mit Events und Listenern
  • Layout-Manager
  • Füll-, Reihen-, Gitter- und Formular-Layouts
  • Arbeiten mit Standard-Dialogen

JFace-Viewer

  • Einführung in Strukturierte Viewer
  • Content- und Label-Provider
  • Arbeiten mit Tabellen und dem Tabellen-Viewer
  • Arbeiten mit Bäumen und dem Baum-Viewer
  • Benutzerdefinierte Bilder hinzufügen

Server-seitige Scopes

  • Interne Funktionsweise der RAP
  • Requests und Responses
  • RAP-Scopes (Request-, Session-, Anwendung-) und Datenverfügbarkeit
  • Mit der “SessionSingletonBase” sitzungsbezogene Singletons erstellen

Anwendungen & Workbench

  • Grundlegende Workbench-Konzepte
  • Die wichtigsten Elemente einer RAP-Anwendung identifizieren
  • Window, Menü, Seite, Perspektive, Sicht, Editor
  • Design und Inhalt der Anwendung konfigurieren

Sichten & Perspektiven

  • Einführung in Extensions / Extension Points
  • Sichten implementieren und einbringen
  • Perspektiven implementieren und einbringen
  • Layout und Inhalte von Perspektiven definieren
  • Elemente von Benutzeroberflächen in benutzerdefinierten Entwurfsmustern verwenden

Befehle

  • Einführung in Befehle und Routinen
  • Befehle in Menüs, Toolbars und Pop-ups einfügen
  • In Auswahlmöglichkeiten integrieren
  • Bedingte Berechtigung und Sichtbarkeit
  • Abbildungen an Befehle anfügen
  • Short-Cuts für Befehle definieren

Editoren

  • Verschiedene Editoren (Formular-, Mehrseiten-Editoren)
  • Unterschiede zwischen Sichten und Editoren
  • Editor öffnen und einbringen
  • Editor implementieren
  • Dirty-Status eines Editors verwalten

OSGi-Essentials

  • Wie arbeiten Plug-ins zusammen?
  • Plug-in und Package-Abhängigkeiten
  • Plug-in Lifecycle
  • Versionierungs- und Namenskonventionen
  • Fragmente

Extension Points definieren

  • Extension Points, Extensions, Contributions
  • Mit dem Extension Point-Editor ein Schema definieren
  • Mit dem Extension Registry-Objekt arbeiten
  • Extensions an benutzerdefinierte Extension Points anfügen

Anpassen der Benutzeroberfläche: Branding, Darstellungsoptionen, CSS

  • Den Extension Point für das Branding verwenden
  • Thema, Favicon und URL mit der Anwendung verbinden
  • Mögliche RAP-Themen
  • Erscheinungsbild der Anwendung mithilfe von CSS verändern
  • Ein bestehendes Thema verändern

Einsatz von RAP-Anwendungen

  • Einsatzmöglichkeiten (Jetty vs. WAR)
  • Erstellen eines WAR-Archivs
  • WAR Product-Tooling

RWT – Benutzerdefinierte Bedienelemente

  • Zusammengesetzte versus benutzerdefinierte Widgets
  • Eigene RWT-Widgets in Java schreiben
  • Eigenes JavaScript für Client-seitige Widget-Darstellung registrieren
  • Eigenen Widget-Adapter für die Synchronisierung von Server- und Client-Status des Widgets schreiben

Internationalisierung (i18n)

  • Internationalisierung in RAP: Eine Instanz, viele Sprachen
  • RWT.NLS Klasse verwenden
  • Java- und statische Dateien internationalisieren
  • Hinweise zum Download von RAP-Übersetzungen

Einstellungen und Best Practices

  • Lasttests
  • Lastausgleich
  • Performance-Tuning
  • Unit- und Funktionstests
  • Namenskonventionen
  • Strukturierungs-Code