Smartclients mit Eclipse RCP

Architektur und Konzeption von Enterprise-Anwendungen

(Autor)

Buch | Softcover
230 Seiten
2010
entwickler press (Verlag)
978-3-86802-049-6 (ISBN)
29,90 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Nach dem Siegeszug von Eclipse als Plattform für die Softwareentwicklung gewinnt Eclipse weitere Marktanteile als Plattform für Unternehmensanwendungen (Stichwort: SmartClient). Ob es nun Eclipse RCP als OpenSource-Variante ist oder Markenprodukte (wie Lotus Notes bzw. Lotus Expeditor) zum Einsatz kommen – die Entwicklung von Unternehmenslösungen basierend auf der Rich Client Plattform gewinnt mehr und mehr an Bedeutung.
Auf dem Weg dorthin stellen sich dabei sicherlich viele technologische Fragen – zum Beispiel die nach dem Einsatz bestimmter Frameworks (wie OSGi, Spring, usw.). Oftmals spannender sind aber die grundsätzlichen Fragen nach dem warum und wie? Warum ist Eclipse RCP im Vergleich mit anderen Technologien (wie Web-Anwendungen) von besonderem Interesse und wie lässt sich (nach einer Entscheidung zugunsten von Eclipse RCP) ein Projekt organisieren und abwickeln.
All diese Fragen lassen sich zwar nur beantworten, wenn ein entsprechender Einblick in die Technologie gewährleistet ist – aber auf dem Weg zu den Antworten gilt es immer wieder, einen Schritt zurückzutreten und zu versuchen, das große Bild zu erkennen.
Dieses Buch möchte dabei helfen, dass IT-Entscheider, IT-Architekten und erfahrene Softwareentwickler ein solches großes Bild gemeinsam erkennen und verfolgen können. Zudem setzt es eine Reihe von bei Entwicklern gerne kontrovers diskutierten Frameworks und Patterns zueinander in Bezug, wobei deren konzeptioneller Zusammenhang mit übersichtlichen Abbildung und Codebeispielen erläutert wird. Dabei werden sowohl Konzepte aus der SmartClient-Implementierung (mittels Eclipse RCP) erläutert als auch Wege, wie Eclipse RCP Komponenten ihren Weg nach Lotus Notes 8.5 finden.

Holger Ringels ist bei der IBM Software Group als IT-Architekt tätig. Er verfügt über vielfältiges Know-how bezüglich Java, Portalserverlösungen und RichClient-Lösungen. Seit 2002 konzentriert er sich in seiner Tätigkeit auf Eclipse RCP-basierte Anwendungsarchitekturen und Technologien im Eclipse-Umfeld. Dabei schlägt er die Brücken zwischen reinrassigem Eclipse RCP und den Eclipse-basierten SmartClients der IBM (Lotus Expeditor und Lotus Notes 8).

1;Inhaltsverzeichnis;6
2;Vorwort;10
3;Betrachtungen zu Eclipse;12
3.1;1.1 Eclipse RCP als Smart Client;12
3.1.1;1.1.1 Unternehmensspezifische Softwarelösungen;12
3.1.2;1.1.2 Der technologische Ansatz von Eclipse RCP;13
3.1.3;1.1.3 Vorteile von Eclipse am Beispiel des Anlagenbaus;16
3.1.4;1.1.4 Das langfristige Bild der Gesamtintegration;18
3.1.5;1.1.5 Fazit;18
3.2;1.2 Effizienzbetrachtungen;19
3.2.1;1.2.1 Beispiel: Ersatzteilbestellung für Automobile;19
3.2.2;1.2.2 Ausgangspunkt für die Frage nach der Effizienz;22
3.3;1.3 Abgrenzung eines Smart Clients;34
3.3.1;1.3.1 Was ist ein Eclipse-RCP-basierter Smart Client?;35
3.3.2;1.3.2 Das Zusammenspiel mit der Update Site;38
3.3.3;1.3.3 Vergleich mit anderen clientorientierten Technologien;41
3.3.4;1.3.4 Marktfertige Smart-Client-Produkte der IBM;44
3.3.5;1.3.5 Migrationsstrategien;48
4;Projektorganisation;52
4.1;2.1 Organisation des Projektteams;53
4.1.1;2.1.1 Rolle: Entwickler für Backend- Systeme;54
4.1.2;2.1.2 Rolle: Entwickler für Web Services;54
4.1.3;2.1.3 Rolle: Entwickler für Webanwendungen;54
4.1.4;2.1.4 Rolle: Entwickler für Smart Client;54
4.1.5;2.1.5 Rolle: RCP Anwendungsentwickler;55
4.1.6;2.1.6 Rolle: Anwendungsentwickler für Lotus Notes;57
4.2;2.2 Aufsetzen der Entwicklungsumgebungen;58
4.2.1;2.2.1 Bemerkungen zur Installation;60
4.2.2;2.2.2 Installation von Lotus Notes 8.5.1;61
4.2.3;2.2.3 Entwicklungsumgebungen für Eclipse RCP im Überblick;63
4.2.4;2.2.4 Open- Source- Software zusammenstellen;64
4.2.5;2.2.5 Installation von Java 6;66
4.2.6;2.2.6 Bereitstellung der Zielplattform Eclipse 3.4 RCP;66
4.2.7;2.2.7 Installation von Eclipse 3.4 ( SDK für Eclipse RCP);66
4.2.8;2.2.8 Installation von Eclipse 3.4 ( SDK für Notes 8.5.1);67
4.2.9;2.2.9 Installation des Lotus Expeditor Toolkits 6.2.1;68
4.2.10;2.2.10 Installation zusätzlicher Tools;70
4.2.11;2.2.11 3rd-Party-Plug-ins integrieren;71
4.2.12;2.2.12 Umgebung für Composite Applications einrichten;72
4.2.13;2.2.13 Perspektiven vs. Composite Applications;75
4.3;2.3 Konzept für die Softwareverteilung;80
4.4;2.4 Codeverwaltung;83
4.4.1;2.4.1 Anforderungen an die Codeverwaltungssysteme;87
4.4.2;2.4.2 Besondere Schritte vor Test und Inbetriebname;96
4.4.3;2.4.3 Besondere Schritte nach den letzten Bugfixes;97
4.5;2.5 Methodik;97
4.6;2.6 Coding Guidelines;100
5;Smart-Client- Implementierung;104
5.1;3.1 Konzepte für den RCP Smart Client;104
5.1.1;3.1.1 Services via ExtensionPoint und Singleton;108
5.1.2;3.1.2 Die Startup-Phase;114
5.1.3;3.1.3 Logging;119
5.1.4;3.1.4 Service Layer und Service Factories;121
5.1.5;3.1.5 Client Update;126
5.1.6;3.1.6 Statusermittlung Online/ Offline;132
5.1.7;3.1.7 Ermittlung benutzerspezifischer Rollen/ Gruppen;135
5.1.8;3.1.8 Start von Anwendungen ermöglichen;137
5.1.9;3.1.9 Auswertung von Logfiles;142
5.1.10;3.1.10 Servicefenster;150
5.1.11;3.1.11 OSGi-Services und Spring;153
5.1.12;3.1.12 Execute on Startup;165
5.2;3.2 Konzepte für Lotus Notes 8.5;171
5.2.1;3.2.1 Perspektiven in Notes 8.5 integrieren;171
5.2.2;3.2.2 Sidebar-Programmierung;179
5.2.3;3.2.3 Zugriff auf Notes-8.5-Ressourcen;182
5.2.4;3.2.4 Anbindung an Services;187
5.2.5;3.2.5 Startup-Phase in Notes 8.5 etablieren;197
6;Lotus Notes 8.5 Troubleshooting;204
6.1;4.1 Fehlerbilder;205
6.1.1;4.1.1 Fehlermeldung bei der Installation von Features;205
6.1.2;4.1.2 Features lassen sich nicht installieren;205
6.1.3;4.1.3 InputStream in Java funktioniert nicht;206
6.1.4;4.1.4 Onlinehilfe nicht erreichbar;206
6.1.5;4.1.5 Notes-Client nicht startbar;206
6.2;4.2 Lösungsmöglichkeiten;207
6.2.1;4.2.1 Nicht signierte Plug-ins in der Entwicklung verwenden;207
6.2.2;4.2.2 Proxy-Einstellungen in Lotus Notes 8.5;207
6.2.3;4.2.3 Notes-Prozesse beenden;209
7;Fazit;210
7.1;5.1 Referenzen;214
7.1.1;5.1.1 Literatur zum Thema Eclipse RCP und OSGi;214
7.1.2;5.1.2 Literatur zum Thema Spring/ JavaScript/Dojo;215
7.2;5.2 Ein Dankeschön;215
8;Stichwortverzeichn

5 Fazit (S. 209-210) Zum Ende dieses Buchs gibt es noch eine Reihe Gedanken, die wohl den Leser und auch mich beschäftigen. Alles in allem gab mir dieses Buch die Möglichkeit, einen Einstieg zu vermitteln, was Eclipse RCP im Vergleich mit Lotus Notes 8.5 ist, und wie die Technologien zusammenwirken. Insbesondere Kapitel 3 konnte dabei sicherlich nur einen begrenzten Einstieg in die Möglichkeiten der Softwareerstellung für diese Plattform(en) bieten. Wichtige Dinge sind offen geblieben, weil sie den Rahmen dieses Buches deutlich sprengen würden, und interessante Themen bleiben offen. Die Entwicklung von Composite Applications, die ich in Kapitel 2 angesprochen haben, wurde in Kapitel 3 nicht berücksichtigt, und die Anbindung an Lotus Symphony (die in Lotus Notes 8.5 enthaltene Office-Komponente) wurde ebenso wenig diskutiert. Zudem gibt es technologisch wichtige Themen, die über die Entwicklung von Eclipse- RCP-Komponenten mittels Java hinausgehen. So hilft es dem Java/Eclipse-RCP-Entwickler vielleicht, sich ein wenig Zeit zu nehmen und sich die Programmierung von Lotus Notes (auch über das Java API hinaus) anzusehen. Alles in allem möchte ich hier jedoch über den Ansatz aus dem Vorwort schließen: Dieses Buch sollte kein umfassendes technologisches Werk werden, sondern vielmehr einen konzeptionellen Einblick vermitteln. Dass manche Konzepte sich erst erschließen, wenn man Technologien in der Praxis gesehen hat, ist ein Grund dafür, dass Kapitel 3 viele technische Details gezeigt hat. Ich hoffe, damit dem Leser hier und da ein wenig die Augen für konzeptionelle Zusammenhänge der Technologien geöffnet zu haben. Deshalb möchte ich dieses Buch auch mit einer konzeptionellen Betrachtung abschließen, die aus Kapitel 3 motiviert ist. Lässt man hier nochmals Kapitel 3.2.1 Revue passieren, so drängt sich sicherlich die Frage auf, was für ein Aufwand zur Darstellung einer Hello-World-Anwendung mittels Eclipse RCP nötig ist verglichen mit einer HTML-Seite, die das Gleiche Anzeigen würde. Und genau da liegt sicherlich oftmals die Einstiegshürde, um sich für Eclipse RCP als Plattform zu entscheiden. Bei der Entwicklung von Webseiten mittels HTML scheint das ja viel schneller zu gehen – wohlgemerkt auf den ersten Blick. Ich möchte hier einmal darstellen, was unter Verwendung neuster Technologien alles erforderlich ist, um das Hello-World-Beispiel mit Daten aus einer Backend- Anwendung zu befüllen. Technologisch hoch gehandelt werden derzeit browserorientierte Frameworks, die auf JavaScript basieren. Nachdem jahrelang Browserkriege geführt wurden, ist das Resultat, dass JavaScript selbst Nuancen entwickelt hat, sodass auch JavaScript leider nicht mehr so unabhängig ist, wie man es sich ursprünglich gewünscht hat. Um dafür eine Lösung anzubieten, sind neue Frameworks angetreten, die diese Nuancen wieder bereinigen sollen."

Sprache deutsch
Gewicht 430 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge Eclipse
Schlagworte Eclipse RCP • Enterprise-Anwendungen • Hardcover, Softcover / Informatik, EDV/Programmiersprachen • OpenSource • Smartclients
ISBN-10 3-86802-049-7 / 3868020497
ISBN-13 978-3-86802-049-6 / 9783868020496
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Kennenlernen. Verstehen. Effizient nutzen.

von Thomas Künneth

Buch (2018)
Hanser, Carl (Verlag)
39,00