Inhalt - Springer Campus

Werbung
Inhalt
1
Der Software-Lebenszyklus 1
I
Der Entwurf
2
Artefakte 9
3
Verteilungsdiagramme 11
4
Fallstudie: KV – Überblick 15
5
Fallstudie: KV – Einzelplatz 21
6
Was ist eine Softwarearchitektur? 23
7
7.1
7.2
7.3
7.4
7.5
7.6
Architekturprinzipien 29
Architekturprinzip: Konzeptionelle Integrität 30
Architekturprinzip: Trennung von Zuständigkeiten 31
Architekturprinzip: Ökonomie 32
Architekturprinzip: Symmetrie 33
Architekturprinzip: Sichtbarkeit 34
Architekturprinzip: Selbstorganisation 34
8
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.10
Architektur- und Entwurfsmuster 37
Exkurs: Callback 42
Das Schichten-Muster (layers pattern) 46
Das Beobachter-Muster (observer pattern) 54
Das MVC-Muster (model view controller pattern) 63
Das Fassaden-Muster (facade pattern) 69
Das Kommando-Muster (command pattern) 75
Das Proxy-Muster (proxy pattern) 83
Fabrikmethoden-Muster (factory method pattern) 90
Das Strategie-Muster (strategy pattern) 97
Das Brücken-Muster (bridge pattern) 104
9
9.1
9.2
9.3
9.4
9.5
9.6
Nichtfunktionale Anforderungen 109
Wartbarkeit 116
Weiterentwickelbarkeit 119
Betriebssicherheit und Funktionssicherheit 121
Zuverlässigkeit 124
Leistung und Effizienz 128
Benutzbarkeit 130
5
xiii
Inhalt
9.7
Portabilität 132
10
Einflussfaktoren auf die Architektur 135
11
11.1
11.2
Globalisierung von Software 143
Globalisierung in Java 145
Fallstudie: KV – Globalisiert 151
12
12.1
12.2
12.3
Authentifizierung und Autorisierung 155
A & A- Entwurfsmuster 158
JAAS 163
Fallstudie: KV – JAAS 169
13
13.1
13.2
13.3
Transaktionen 179
Transaktionsverarbeitung 180
Fallstudie: KV – JTA 182
Transaktionen in .NET 188
14
14.1
14.2
14.3
Verteilte Architekturen 193
Client-Server-Architektur 195
Web-Architektur 198
SOA – Serviceorientierte Architekturen 203
15
15.1
15.1.1
15.1.2
15.1.3
15.2
15.2.1
15.2.2
15.2.3
15.2.4
15.3
15.3.1
15.3.2
15.3.3
15.3.4
15.4
15.4.1
15.5
15.5.1
15.5.2
15.5.3
15.5.4
15.5.5
Arten der Netzkommunikation 209
Sockets 211
TCP-Sockets 212
UDP-Sockets 217
Fallstudie: KV – Sockets 220
RMI 224
»Hello World«mit Java-RMI 225
RMI-Begriffe 233
Stummel-Objekte (stubs) 234
Fallstudie: KV – RMI 240
CORBA 243
Die Architektur von CORBA 246
Die Schnittstellendefinitionssprache IDL 248
Standardisierte CORBA-Dienste 248
Fallstudie: KV – CORBA in Java 250
XML-RPC 256
Fallstudie: KV – XML-RPC 259
SOAP 265
SOAP-Nachrichten, Webservices und WSDL 266
Webservices bereitstellen und nutzen mit JAX-WS 270
Webservices nutzen 277
UDDI 283
Fallstudie: KV – SOAP 286
xiv
Inhalt
15.6
15.6.1
15.6.2
15.6.3
15.7
15.8
15.8.1
15.8.2
15.8.3
15.9
REST 289
Die Konzepte von REST 290
Webservices mit JAX-RS 292
Fallstudie: KV – REST 300
Netzkommunikation in .NET 304
Entwurfskonzepte für verteilte Anwendungen 309
Fabrik-Dienst 310
Wert-Objekte 311
Fassaden 315
Vergleich der Konzepte 318
16
16.1
16.2
16.2.1
16.2.2
16.2.3
16.2.4
16.2.5
16.5
Softwaretechnische Infrastrukturen 323
Anforderungen an Unternehmensanwendungen 323
Die Java EE-Plattform 325
Die Java EE-Architektur 325
EJBs 330
JNDI 332
Erstellung und Nutzung einer Session Bean 334
Fallstudie: KV mit Java EE als Client-ServerAnwendung 337
Fallstudie: KV mit Java EE als Web-Anwendung 355
Die .NET-Plattform 364
Eigenschaften des .NET Framework 365
Zur .NET-Architektur 372
Werkzeuge 376
Infrastrukturen für serviceorientierte
Architekturen 379
Fallstudie: KV mit Java EE als Webservice 381
17
17.1
17.2
17.3
17.3.1
17.3.2
Architekturen »Eingebetteter Systeme« 403
Anforderungsspezifikation 404
Typische Sichten Eingebetteter Systeme 405
Architekturmuster für Eingebettete Systeme 411
Das PSC-Muster (protected single channel pattern) 413
Das Homogeneous Redundancy-Muster 415
18
18.1
Das Subsystem Applikation 417
Web-Architektur für das Subsystem Applikation 418
19
19.1
19.2
19.3
19.4
19.5
Das Subsystem Persistenz 425
Vom Direktzugriff bis zum JPA 426
Exkurs: ORM – Objektrelationale Abbildung 430
JPA – Java Persistence API 435
Fallstudie: KV – JPA 440
Persistenz in .NET 446
16.2.6
16.3
16.3.1
16.3.2
16.3.3
16.4
xv
Inhalt
20
20.1
20.2
20.3
Das Subsystem Benutzungsoberfläche 453
GUI-Entwurfsmuster MVP 461
Fallstudie: Kundenverwaltung – GUI 462
GUIs in der .NET-Plattform 471
21
Der Entwurfsprozess 483
22
Qualitätssicherung der Architektur 489
II
Die Implementierung
23
Implementierungsprinzipien 497
24
Schnittstellen, Fabriken und Komposition 505
25
Restrukturieren (refactoring) 513
III
Verteilung, Installation, Abnahme und
Einführung 521
26
Verteilung und Installation 523
27
Abnahme und Einführung 527
IV
Der Betrieb
28
Wartung 535
29
Pflege 539
30
Reverse Engineering 545
31
Reengineering (Teil 1) 553
32
Reengineering (Teil 2) 559
33
Reengineering (Teil 3) 563
Glossar 577
Literatur 585
Sachindex 593
xvi
531
493
Herunterladen