dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

Java-Komponenten - Grundlagen, prototypische Realisierung und Beispiele für Komponentensysteme

Rainer Oechsle

 

Verlag Carl Hanser Fachbuchverlag, 2013

ISBN 9783446435919 , 320 Seiten

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

23,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

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