"Client/Server-Programmierung" (Vorlesung + Praktikum)
(Diese Lehrveranstaltung wird nicht mehr angeboten!)
- Middleware-Technologien für Client/Server-Anwendungen und ihre Anwendung in der Praxis
- Schwerpunkte: Programmierung mit CORBA, EJB und Web Services
- Voraussetzungen: Algorithmen und Datenstrukturen, Objektorientierte und funktionale Programmierung, Programmierpraktikum, Verteilte Systeme; Empfehlung: Betriebssysteme I, Rechnernetze I
- Details: siehe Modulbeschreibung im Modulhandbuch
- Prüfung: mündlich; erfolgreiche Teilnahme am Praktikum ist Voraussetzung zur Zulassung
- Unisono: Vorlesung, Praktikum
Ankündigungen
30.09.2019 | Beim ersten Übungstermin erhalten Sie eine Benutzerkennung für die PCs im Labor H-A
4111. Dazu müssen Sie die Benutzerordnung des Labors anerkennen. Bitte lesen Sie diese Ordnung! Bitte füllen Sie auch einen Kartenschlüsselantrag aus (elektronisch!), lassen SIe ihn in meinem Sekretartiat (H-B 8403, vormittags) unterschreiben und geben Sie ihn dann bei Hr. Kiel (AR-P 209) ab. |
||
|
30.09.2019 | Vorlesungsbeginn: 11.10.2019, Übungsbeginn: 14.10.2019. |
Vorlesungsunterlagen
- Vollständiger Foliensatz (Stand 09.03.20): Originalgröße,
2
auf 1
- Aktuelle Foliensätze (werden im Verlauf des Semesters ggf.
aktualisiert):
0. Organisation 09.03.20
Originalgröße 2 auf 1 1. Grundlagen: Wiederholung 09.03.20
Originalgröße 2 auf 1 2. JDBC 09.03.20
Originalgröße 2 auf 1 3. CORBA 09.03.20
Originalgröße 2 auf 1 4. RMI/IIOP 09.03.20
Originalgröße 2 auf 1 5. (Enterprise) Java Beans 09.03.20
Originalgröße 2 auf 1 6. Servlets und JSP 09.03.20
Originalgröße 2 auf 1 7. Web Services 09.03.20
Originalgröße 2 auf 1 8. Weitere Client/Server-Technologien 09.03.20
Originalgröße 2 auf 1
Hinweise:
- Die Foliensätze in Originalgröße enthalten auch alle Animationen, die 2-auf-1 Versionen ggf. weitere Anmerkungen.
Praktikum
Übung | Ausgabe | Besprechung | Aufgabenblatt/Materialien | |
|
1. Allgemeines | 18.10. |
11.11. |
Übungsblatt
|
|
2. Java RMI | 18.10. | 11.11. | Übungsblatt , Code
|
|
3. CORBA | 08.11. | 09.12. | Übungsblatt , Code
|
|
4. EJB |
29.11. | 13.01. | Übungsblatt , Code
|
|
5. Web Services |
10.01. |
31.01. |
Übungsblatt , Code
|
Materialien
- Downloads von Middleware:
- Apache Tomcat 6.0.18: Web-Server und Container für Servlets, Beans und JSP
- Alternativ: Apache Tomcat, neueste 6.0 Version
- OpenEJB 3.1.1: EJB-Container
- Dokumentation zu OpenEJB und OpenJPA
- Apache Axis2 1.5: SOAP-Implementierung für Web-Services
- Dokumentation zu RMI:
- Dokumentation zu RMI/IIOP
- Dokumentation zu JNDI
- Dokumentation zu JavaBeans und EJB
- Dokumentation zu Java Beans
- Dokumentation zu Enterprise Java Beans
- EJB 3.0 Spezifikationen
- Liste mit Java EE Technologien (und Doku)
- J2EE / Java EE Tutorials, Java EE 6 Tutorial
- Eine Einführung in dynamische Proxies (verwendet bei EJB und bei RMI ab JDK 1.5)
- Annotierte Spezifikation von XML
- SOAP Spezifikation des W3C
- WSDL Spezifikation des W3C
- Artikel von IBM zu UDDI (mit weiteren Links zu UDDI)
- Axis2 Dokumentation (incl. Users' Guide und API Referenz)
- Artikel zu Axis2 (u.a. zu Sitzungsverwaltung und Data Binding)
- On-line Buch: Real World XML Web Services
- Homepage zum Buch Eberhard, Fischer: Web Services (mit etlichen Code-Beispielen)
- Home-Page der OASIS WS Security Arbeitsgruppe
- Eine Einführung in XML Signature (und viele weitere Links zu XML)
- XML Signature Spezifikation
- XML Encryption Spezifikation
- Artikel zur Erstellung von Web Services mit Java 1.6 über Annotationen
Code-Beispiele
- Beispiele aus dem Buch "Java Enterprise in a Nutshell"
- RMI:
- Hello-World
- Hello-World mit call-by-value Parameter
- Hello-World mit call-by-reference Parameter
- Hello-World mit Callback
- Hello-World mit Ergebnisobjekt
- Hello-World mit Ergebnisobjekt, Callback und dynamischem Laden der Klassen
- Hello-World über SSL (Quelle)
- Hello-World mit Objektaktivierung
- Hello-World mit dynamischem Laden der Stub-Klassen (JDK 1.4)
- JDBC:
- CORBA:
- Hello-World (Anleitung dazu)
- Hello-World mit Verwendung einer Factory
- Tie-Klassen und Vererbung der Implementierung
- Verwendung des Namensdiensts
- Dynamic Invocation Interface
- Verwendung persistenter Objektreferenzen
- Verwendung eines Default-Servants
- Interface Repository
- Automatischer Server-Start mit Implementation Repository
- RMI/IIOP:
- EJB:
- Servlets:
- Hello-World
- Hello-World mit Sitzungsverwaltung (mehrere verschiedene WWW-Browser benutzen!)
- JSP:
- Hello-World
- Hello-World mit Sitzungsverwaltung (mehrere verschiedene WWW-Browser benutzen!)
- Hello-World mit EJB Server
- Web Services mit Axis2:
- Hello-World mit Hot Deployment; Client mit generierten Stubs
- Hello-World mit Handler
- Hello-World mit Sitzungsmanagement und HTTP-Authentifizierung (am besten mit dem Monitor tcpmon ausprobieren)
- Realisierung des Web-Service mit EJB Session Bean
Literatur
- Ulrike Hammerschall, Verteilte Systeme und Anwendungen. Pearson Studium, 2005.
- Robert Orfali, Dan Harkey, Client/Server-Programming with Java and Corba. John Wiley & Sons, 1998.
- George Coulouris, Jean Dollimore, Tim Kindberg. Verteilte Systeme -- Konzepte und Design, 3. Auflage. Pearson Studium, 2002.
- Cay S. Horstmann, Gary Cornell. Core Java 2, Band 2 -- Expertenwissen. Sun Microsystems Press / Addison Wesley, 2008.
- Torsten Langner. Verteilte Anwendungen mit Java. Markt+Technik, 2002.
- Jim Farley, William Crawford, David Flanagan. Java Enterprise in a Nutshell, 3rd Edition. O'Reilly, 2005.
- Johann Hofmann, Fritz Jobst, Roland Schabenberger. Programmieren mit COM und CORBA, Hanser, 2001.
- Rima P. Sriganesh, Gerald Brose, Micah Silverman. Mastering Enterprise JavaBeans 3.0. Wiley, 2006.
- Bill Burke, Richard Monson-Haefel. Enterprise JavaBeans 3.0, 5th Edition. O'Reilly, 2006.
- Jason Hunter, William Crawford. Java Servlet Programmierung. O'Reilly, 2002.
- Manfred Hein, Henner Zeller. Java Web Services, Addison-Wesley, 2003.
- Torsten Langner. Web Services mit Java, Markt+Technik, 2003.
- Andreas Eberhart, Stefan Fischer. Web Services, Hanser, 2003.
- Thilo Frotscher, Marc Teufel, Dapeng Wang. Java Web Services mit Apache Axis2, entwickler.press, 2007.