Java-Komponenten (eBook)
320 Seiten
Carl Hanser Fachbuchverlag
978-3-446-43591-9 (ISBN)
Dieses Lehrbuch ermöglicht den Lesern, sich selbstständig in Komponenten-Frameworks einzuarbeiten bzw. eigene Frameworks zu entwickeln. Ziel ist es, eine umfassende Vorstellung darüber zu vermitteln, was Komponenten-Software im Java-Umfeld bedeutet.
Zuerst werden jene Java-Grundlagen, die für die Komponentenprogrammierung essentiell sind, vermittelt. Anhand eines selbstentwickelten Beispiels werden im weiteren Verlauf die Grundprinzipien von Komponentensystemen herausgearbeitet und erklärt. Der dritte Teil erläutert ausgewählte Java-Komponentensysteme. In diesem Zusammenhang stellt das Buch konkrete Beispiele zu Eclipse, Enterprise Java Beans, Android, Servlets sowie OSGi vor.
Am Ende des Buches sind die Leser in der Lage, sowohl Komponenten für die im Buch behandelten Frameworks als auch eigene Komponenten-Frameworks zu entwickeln. Das Lehrbuch richtet sich an Studierende der Informatik und verwandter Studiengänge sowie bereits im Berufsleben stehende Java-Software-Entwicklerinnen und Entwickler.
Prof. Dr. Rainer Oechsle lehrt an der Hochschule Trier am Fachbereich Informatik und vertritt die Fachgebiete Rechnernetze und verteilte Systeme.
Prof. Dr. Rainer Oechsle lehrt an der Hochschule Trier am Fachbereich Informatik und vertritt die Fachgebiete Rechnernetze und verteilte Systeme.
Vorwort und Einleitung 7
Inhalt 11
Teil 1: Java-Grundlagen 17
1 Generics 19
1.1 Einleitung und Motivation 19
1.2 Erste Beispiele 21
1.3 Mehrere Typparameter 24
1.4 Einschränkung parametrisierter Typen 24
1.5 Umsetzung des Generics-Konzepts 25
1.6 Typenkompatibilität und Wildcards 27
1.6.1 Rohe Typen 29
1.6.2 Wildcards 29
1.7 Vererbung 32
1.8 Generische Methoden 34
1.9 Überladen und Überschreiben 37
1.10 Fazit 40
2 Reflection 41
2.1 Grundlagen von Reflection 42
2.1.1 Die Klasse Class 42
2.1.2 Die Klasse Field 44
2.1.3 Die Klasse Method 45
2.1.4 Die Klasse Constructor 46
2.1.5 Beispiel 47
2.1.6 Anwendungen 48
2.2 Reflection mit Generics 50
2.2.1 Reflection-Typsystem 51
2.2.2 Zusätzliche Methoden in Reflection-Klassen 53
2.2.3 Beispiel 53
3 Annotationen 59
3.1 Deklaration und Nutzung von Annotationen 59
3.2 Meta-Annotationen 62
3.3 Regeln für Annotationsdeklarationen 64
3.4 Reflection für Annotationen 65
3.5 Beispiel 69
3.6 Anwendung: Dependency Injection 71
4 Dynamische Proxies 75
4.1 Statische Proxies 76
4.2 Erzeugung dynamischer Proxies mit Reflection 81
4.3 Erzeugung dynamischer Proxies mit CGLIB 85
5 ClassLoader und Hot Deployment 90
5.1 Klassenladen in Java 90
5.2 ClassLoader 92
5.3 Beispiele 94
5.3.1 Hot Deployment 94
5.3.2 Gleichzeitige Nutzung mehrerer Versionen einer Klasse 96
Teil 2: Java-Komponenten 101
6 Prototypische Implementierung eines Komponentensystems 103
6.1 Beispielkomponenten 104
6.1.1 Komponente Nr. 1 104
6.1.2 Komponente Nr. 2 107
6.1.3 Komponente Nr. 3 109
6.1.4 Rückblick 112
6.1.5 Variation der Komponentenbeispiele 113
6.2 Framework 115
6.2.1 Struktur des Komponenten-Frameworks 115
6.2.2 Die Klasse ComponentManager 117
6.2.3 Die Klasse DeploymentDirectoryListener 122
6.2.4 Restliche Klassen 123
7 Komponenten und Komponentensysteme 125
7.1 Modularität als grundlegendes Prinzip von Komponentensystemen 125
7.2 Definitionen für Software-Komponenten 127
7.3 Eigenschaften von Java-Komponenten 129
7.4 Beispiele und Gegenbeispiele für Komponentensysteme 132
7.4.1 Beispiele aus dem Java-Umfeld 132
7.4.2 Gegenbeispiele aus dem Java-Umfeld 133
7.4.3 Beispiele aus dem Nicht-Java-Umfeld 133
Teil 3: Beispiele für Java- Komponentensysteme 135
8 Java Beans 137
8.1 Komponentenmodell 137
8.2 Gebundene Eigenschaften und Eigenschaften mit Vetomöglichkeit 139
8.3 BeanInfo 142
8.4 Software-Werkzeuge 144
8.5 Bewertung 145
9 OSGi 147
9.1 Komponentenmodell 147
9.2 Erstes Beispiel-Bundle 149
9.3 Zweites Beispiel-Bundle 153
9.4 Variationen der Beispiel-Bundles 156
9.5 Hot Deployment 158
9.6 Lebenszyklus von Komponenten 162
9.7 BundleContext und Bundle 163
9.8 Erweiterungen von OSGi 164
9.8.1 Declarative Services 164
9.8.2 Zusätzliche Erweiterungen 168
9.9 Versionen von Komponenten 169
9.10 Bewertung 170
10 Eclipse 172
10.1 Architektur von Eclipse 173
10.1.1 Eclipse-Funktionsgruppen 173
10.1.2 Workspace und Workbench 174
10.1.3 Erweiterungspunkte (Extension Points) 175
10.2 Komponentenmodell von Eclipse 176
10.3 Erstes Eclipse-Plugin 177
10.4 Weitere Eclipse-Plugins 183
10.5 Erweiterung der Eclipse-Plugins 184
10.6 Klassenladen bei Bedarf 185
10.7 Bewertung 187
11 Applets 188
11.1 Erstes Beispiel 188
11.2 Zweites Beispiel 191
11.3 Bewertung 194
12 Servlets 195
12.1 Verzeichnisstruktur eines Web-Servers 195
12.2 Komponentenmodell 196
12.2.1 Verzeichnisstruktur einer Komponente 196
12.2.2 Die Konfigurationsdatei web.xml 198
12.2.3 Java-Code einer Web-Komponente 199
12.3 Erste Beispielkomponente 203
12.4 Zweite Beispielkomponente 207
12.5 Bewertung 212
13 Enterprise Java Beans (EJB) 214
13.1 Mehrschichtige Architekturen 214
13.2 Interaktion mit EJB-Komponenten 216
13.3 Klassenarten einer EJB-Komponente 218
13.4 Session Beans 218
13.4.1 Stateful Session Beans 218
13.4.2 Stateless Session Beans 219
13.4.3 Singleton Session Beans 220
13.5 Komponentenmodell 221
13.6 Erste EJB-Beispielkomponente 222
13.6.1 Server-Seite 222
13.6.2 Client-Seite 224
13.7 Zweite EJB-Beispielkomponente 227
13.8 Dritte EJB-Beispielkomponente (Call-By-Value) 230
13.9 Vierte EJB-Beispielkomponente (Call-By-Reference) 232
13.9.1 Getrennte EJB-Jar-Dateien 232
13.9.2 Gemeinsame Ear-Datei mit Dependency Injection 235
13.9.3 Lokale Schnittstellen 236
13.10 Entities und Transaktionssteuerung 237
13.11 Funktionen eines EJB-Containers 240
13.12 Bewertung 241
14 Spring 242
14.1 Komponentenmodell 242
14.2 Erste Spring-Anwendung: Singletons und Prototypes 244
14.3 Zweite Spring-Anwendung: Dependency Injection 246
14.4 Factory-Methoden und Factory-Beans 248
14.5 Autowiring 248
14.6 Dritte Spring-Anwendung: Konfiguration durch Annotationen 249
14.7 Vierte Spring-Anwendung: BeanPostProcessor 250
14.8 Aspektorientierte Programmierung (AOP) 253
14.9 Fünfte Spring-Anwendung: AOP 254
14.10 Bewertung 257
15 Ereignisbusse 259
15.1 Grundkonzepte von Ereignisbussen 259
15.2 Komponentenmodell von RRiBbit 261
15.3 Erste RRiBbit-Anwendung 263
15.4 Zweite RRiBbit-Anwendung 266
15.5 Bewertung 269
16 Android 271
16.1 Software-Architektur von Android 272
16.2 Prinzipien der Ausführung von Apps 273
16.3 Komponentenmodell 277
16.4 Anwendung mit einer Activity 279
16.4.1 Activity mit programmierter Oberfläche 279
16.4.2 Activity mit XML-definierter Oberfläche 281
16.5 Anwendung mit mehreren Activities 284
16.5.1 Start einer Activity mit explizitem Intent 284
16.5.2 Start einer Activity mit implizitem Intent 286
16.5.3 Activity mit Resultat 287
16.5.4 Variationen 289
16.6 Lebenszyklus von Activities 290
16.7 Service und Activity im Vergleich 292
16.8 Anwendung mit einem ungebundenen Service 293
16.9 Anwendung mit einem gebundenen Service 296
16.9.1 AIDL-Schnittstelle 296
16.9.2 Implementierung einer AIDL-Schnittstelle 296
16.9.3 Realisierung eines gebundenen Service 297
16.9.4 Nutzung eines gebundenen Service 298
16.9.5 Parameterübergabe durch Call-By-Value-Result 300
16.9.6 Parameterübergabe durch Call-By-Reference 302
16.10 Bewertung 305
Literatur 307
Index 309
Teil 1: Java-Grundlagen:
- Generics
- Reflection
- Annotationen
- Dynamische Proxies
- Hot Deployment
Teil 2: Grundlagen der Programmierung von Komponenten in Java
- Definition von Komponenten
- wesentliche Eigenschaften
- ein einfaches selbst entwickeltes Komponenten-Framework
Teil 3: Beispiele für Komponenten-Systeme:
- Java Beans
- OSGi
- Eclipse
- Servlets / JSP
- Enterprise Java Beans (EJB)
- Android
| Erscheint lt. Verlag | 7.3.2013 |
|---|---|
| Verlagsort | München |
| Sprache | deutsch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Schlagworte | Java • Java-Komponenten • Programmierung • Softwareentwicklung |
| ISBN-10 | 3-446-43591-3 / 3446435913 |
| ISBN-13 | 978-3-446-43591-9 / 9783446435919 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich