25.04.2014 Aufrufe

Klausur zur Vorlesung e-Commerce I & II - Lab4Inf

Klausur zur Vorlesung e-Commerce I & II - Lab4Inf

Klausur zur Vorlesung e-Commerce I & II - Lab4Inf

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Klausur</strong> <strong>zur</strong> <strong>Vorlesung</strong><br />

e-<strong>Commerce</strong> I & <strong>II</strong><br />

Prof. Dr. Nikolaus Wulff<br />

4. Juli 2005<br />

Diese <strong>Klausur</strong> besteht aus sieben Aufgaben, von denen Sie<br />

maximal fünf bearbeiten und lösen müssen, d.h. maximal fünf richtig<br />

gelöste Aufgaben entsprechen 100% der Gesamtpunktzahl.<br />

1. Schauen Sie sich daher die Aufgaben zunächst in Ruhe an und<br />

wählen Sie dann die Aufgaben, die Ihnen am leichtesten erscheinen.<br />

2. Sofern Sie mehr als fünf Aufgaben abgeben, werden die fünf<br />

schlechtesten Aufgaben bewertet.<br />

3. Schreiben Sie auf jedes Lösungsblatt Ihren Namen und zu welcher<br />

Aufgabe es gehört. Nummerieren Sie die Lösungsblätter durch.<br />

4. Schreiben Sie leserlich.<br />

5. Kommentieren Sie ihre Programmlistings, so dass klar ist, was Sie<br />

damit bezwecken.<br />

6. Für diese <strong>Klausur</strong> sind keine Hilfsmittel zugelassen.<br />

Viel Erfolg!<br />

1


Name:<br />

Matrikelnr.:<br />

1 JSP mit stateless SessionBean<br />

Eine JSP Seite benutzt eine stateless SessionBean CurrencyService zum<br />

Konvertieren eines Euro Betrags in eine andere Landeswährung.<br />

public interface CurrencyService extends<br />

javax.ejb.EJBObject {<br />

}<br />

double getCurrency(String country, double euro)<br />

throws RemoteException;<br />

Die Home Schnittstelle CurrencyServiceHome bietet eine einfache create-<br />

Methode ohne weitere Argumente.<br />

Aufgabe<br />

• Wie und in welcher Methode muss das Home-Interface der Bean gefunden<br />

werden?<br />

• Wie und wann wird die CurrencyService Bean clientseitig instanziiert?<br />

• Wie wird die Bean verwendet und wann freigegeben?<br />

• Schreiben Sie ein kurzes JSP Codefragment, das die Initialisierung und<br />

Verwendung dieser Bean demonstriert.<br />

Tip<br />

Denken Sie daran, was sie alles benötigen, um eine clientseitige Bean zu<br />

instantiieren: einen (Initial)Context, die Home-Schnittstelle und dann die<br />

Bean-Schnittstelle selber. Was vermerken Sie innerhalb der JSP, die Referenz<br />

auf die Home oder die Bean Schnittstelle? Wo hinterlegen Sie diese<br />

Information(en)?<br />

2 EJB-Servlet-Fassade<br />

In einer Web Anwendung wird dem Benutzer – modelliert als eine User-<br />

EntityBean–, eine Liste ausgewählten CDs angezeigt, die er während seiner<br />

Interaktion mit dem WebShopServlet zum Bestellen ausgewählt hat. Die CD<br />

Daten werden <strong>zur</strong> Minimierung des Netzwerkverkehrs zwischen Web- und<br />

EJB-Container von einer statefull SessionFassade ShoppingCart verwaltet<br />

und als Data Transfer Objekte übergeben.<br />

WS 2004/2005 <strong>Klausur</strong> e-<strong>Commerce</strong> I & <strong>II</strong> 2


Name:<br />

Matrikelnr.:<br />

public interface ShoppingCart extends<br />

javax.ejb.EJBObject {<br />

}<br />

void addCD(CDData cd) throws RemoteException;<br />

void removeCD(CDData cd) throws RemoteException;<br />

CDData[] getCDs() throws RemoteException;<br />

void makeOrder() throws RemoteException;<br />

In der makeOrder()-Methode werden dann die aktuell in der ShoppingCart<br />

vermerkten CDs persistent in einer Order-EJB gespeichert.<br />

Aufgabe<br />

• Modellieren Sie die Beziehungen zwischen dem WebShopServlet, User,<br />

Order, CD, CDData und ShoppingCart als UML Diagramm.<br />

• Von welchem Typ sind jeweils diese Beans?<br />

• Wie erreichen Sie die Zuordung von der ShoppingCart zum User und<br />

seiner Order?<br />

• Schreiben Sie eine zu Ihrem Model passende Implementierung der<br />

makeOrder-Methode für die ShoppingCartBean.<br />

Tip<br />

Sie können alle in der ShoppingCart-Bean deklarierten Methoden – mit<br />

Ausnahme von makeOrder –, ohne weitere Implementierung verwenden und<br />

als gegeben hinnehmen. Dokumentieren Sie ihre ShoppingCartBean-Implementierung,<br />

verwendete Attribute, Hilfsmethoden etc., so dass im Zweifelsfall<br />

klar wird, was Sie damit bezwecken.<br />

3 Deployment Descriptor<br />

• Welche Arten von Deployment Descriptoren gibt es in einer J2EE Anwendung<br />

und wozu dienen sie?<br />

• Wozu dient ein WAR Archive und was beinhaltet es?<br />

• Wie heißt der Deployment Descriptor einer EJB Anwendung und was<br />

sind seine wesentlichen Inhalte?<br />

• Was sind Struts und Tiles und wie werden diese in eine Applikation<br />

eingebunden?<br />

• Woher weiß der Web-Containter welches Servlet zu rufen ist?<br />

WS 2004/2005 <strong>Klausur</strong> e-<strong>Commerce</strong> I & <strong>II</strong> 3


Name:<br />

Matrikelnr.:<br />

4 Lebensdauer von Web Objekten<br />

Um Daten einer Web Anwendung verwalten zu können gibt es verschiedene<br />

Mechanismen. Was bedeuten im Kontext einer Servlet/JSP Anwendung<br />

• Request Scope<br />

• Session Scope<br />

• Application Scope<br />

• Page Scope?<br />

Welches sind die dazugehörigen Objekte, ihr Gültigkeitsbereich und wie lauten<br />

die entsprechenden Getter/Setter Methoden um Daten zu hinterlegen?<br />

Warum gibt es die HttpServletRequest-Methode<br />

• void setAttribute(String name, Objekt value)<br />

jedoch keine Methode<br />

• void setParameter(String name, Object value)?<br />

Tip<br />

Bedenken Sie, wie vom Browser per GET/POST-Request Daten an den Server<br />

übermittelt werden und wie Servlets untereinander Daten austauschen.<br />

5 Anfragen weiterleiten<br />

Servlet können eine Browseranfrage an eine andere URL umleiten. Was ist<br />

der Unterschied zwischen dem Verfahren<br />

• RequestDispatcher dispatcher;<br />

dipatcher = request.getRequestDispatcher(url);<br />

dispatcher.forward(request,response);<br />

und der Methode<br />

• response.sendRedirect(url)?<br />

6 MVC <strong>II</strong> Architektur<br />

Was sind die wesentlichen Abstraktionen einer MVC <strong>II</strong> Web Architektur<br />

mit Struts? Welche Klassen repräsentieren das Modell, die View und den<br />

Controller? Beschreiben Sie das sequenzielle Zusammenwirken der unterschiedlichen<br />

Instanzen <strong>zur</strong> Beantwortung einer Browseranfrage.<br />

WS 2004/2005 <strong>Klausur</strong> e-<strong>Commerce</strong> I & <strong>II</strong> 4


Name:<br />

Matrikelnr.:<br />

7 JSP Zähler<br />

Schreiben sie ein JSP Scriplet, dass zählt wie oft ein Benutzer diese Seite in<br />

seiner aktuellen Sitzung aufgerufen hat.<br />

Tip<br />

Denken sie daran wo und wie Sie die Zähler Instanz erzeugen und verwalten.<br />

Sie haben die Möglichkeiten Page-, Request-, Session- und Application-<br />

Scope, jedoch nur eine ist in diesem Kontext sinnvoll...<br />

WS 2004/2005 <strong>Klausur</strong> e-<strong>Commerce</strong> I & <strong>II</strong> 5

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!