„Web-basierte Anwendungsintegration“ WS 05/06 Übungsblatt Nr. 4

iaas.uni.stuttgart.de

„Web-basierte Anwendungsintegration“ WS 05/06 Übungsblatt Nr. 4

Stefan Pottinger

Institut für Architektur von Anwendungssystemen

Universität Stuttgart

Übungen

„Web-basierte Anwendungsintegration“

WS 05/06

Übungsblatt Nr. 4

Datum der Übung: 30.06.06 (11:30 – 13:00, Raum 0.363)

Aufgabe 4.1 – Ressourcen-Management in J2EE Instance Pooling &

Instance Swapping:

In der Vorlesung wurden die Lebenszyklen von Entity Beans, Stateless und

Stateful Session Beans und Message Driven Beans besprochen.

• Skizzieren Sie ausgehend von diesen Lebenszyklen das Instance Pooling

für Entity Beans beginnend mit einem Aufruf durch einen Client und

endend mit dem erneuten Pooling einer Entity Bean.

o Gehen Sie dabei davon aus, dass die Beans jeweils durch

Anwendungen aufgerufen werden, die außerhalb des Containers

liegen, in denen sich die Beans befinden.

o Berücksichtigen Sie dabei auch die Indirektion durch die

verschiedenen Interfaces.

o

Wie ist in den unterschiedlichen Situationen die Beziehung der

Beans zueinander und zu den Requests der Clients?

• Beschreiben Sie anschließend das Instance Swapping bzw. alternative

Mechanismen der EJBs. In welchen Situation erfolgt Instance Swapping

und wo ist es besonders effektiv?

• Aus welchen anderen Anwendungsgebieten im J2EE-Umfeld ist ihnen das

Konzept des Instance Poolings noch bekannt?

Aufgabe 4.2 – Analyse einer einfachen J2EE-Anwendung:

• Unter folgender Adresse finden Sie die notwendigen Dateien für eine

einfache J2EE-Anwendung: http://www.iaas.unistuttgart.de/lehre/vorlesung/2006_ss/vorlesungen/wbai/uebungen/resources/exc

4/aufgabe_4.2.zip. Zum Deployment dieser Anwendung benötigen Sie

o Ant zum komfortablen Erstellen der Anwendung

http://ant.apache.org/ und

o

o

JBoss als Application Server http://www.jboss.com/.

Führen Sie nach dem Download der beiden Anwendungen mit Ant

die in dem oben angegeben Archiv enthaltene build.xml aus,

kontrollieren Sie, ob Sie im Deployment-Verzeichnis von JBoss die

erstellte Anwendung vorfinden und starten Sie JBoss.

• Dieser Ant-Task (sowie die weiteren unten beschriebenen)

benötigt als Umgebungsvariable neben JAVA_HOME auch

JBOSS_HOME (das Wurzel-Verzeichnis Ihres JBoss-Servers).


• In dem angegeben Archiv sind außerdem drei Clientanwendungen

enthalten. Sie können diese durch den Aufruf ant run.Client_1,

ant run.Client_2 bzw. ant run.Client_3 starten.

o (Bei einem Aufruf der Clients ohne Ant müssen Sie auf das

Vorhandensein von JBoss-Bibliotheken im Klassenpfad achten.)

Ihre Aufgabe besteht nun darin, sowohl die server-seitigen Komponenten als

auch die client-seitigen Anwendungen zu analyiseren. Achten Sie auch auf den

Output der Clientanwendungen auf der Konsole. Untersuchen Sie darüber hinaus

die Deployment-Deskriptoren und das Zusammenspiel der unterschiedlichen

Dateien.

Aufgabe 4.3 – weitere Verwendungsmöglichkeiten für JNDI LDAP:

Das Lightweight-Directory Access Protocol (LDAP) kann für unterschiedliche

Zwecke eingesetzt werden: Mit LDAP können z.B. Dienste registriert,

Zugangskontrollen unterstützt und Auskünfte erteilt werden. Das Java Naming

und Directory Interface (JNDI) wiederum bietet eine standardisierte

Vorgehensweise, um auf Verzeichnis- und Namensdienste zugreifen zu können.

• Schreiben Sie ein Java-Programm, wie Sie auf einen Eintrag in einem

LDAP-Server über JNDI lesend zugreifen können. Suchen Sie dabei nach

einem beliebigen „common name“ (LDPA-Akronym: „cn“). Wie können Sie

nun auf andere Attribute der gefundenen Einträge zugreifen?

• Welche grundsätzlichen Schritte müssen Sie bei der Verwendung von JNDI

unternehmen, um zu einem Ergebnis zu kommen?

Hinweise: JNDI ist eine Standard-API des J2SE. Verwenden Sie bei der Erstellung

von JNDI-Abfragen nach Möglichkeit „SearchControls“, um mehr Kontrolle über

ihre Abfrage zu erlangen.

Um Ihr Java-Programm zu testen, können Sie einen LDAP-Server verwenden, der

frei verfügbar ist. Eine Liste solcher LDAP-Server finden Sie unter

http://www.emailman.com/ldap/public.html. Beachten Sie bei der Verwendung

eines LDAP-Servers eine möglicherweise anzugebende „LDAP Base“. Als

Alternative zur Verwendung öffentlicher LDAP-Server können Sie sich auch Ihren

eigenen LDAP-Server mit http://www.openldap.org/ aufsetzen.