Plants By WebSphere |
|
|
![]() |
|
Ausführung | Konfiguration | Technische Informationen | Javadoc | Eigenen Build erstellen - Ant |
Erste Schritte |
Datenbanktabellen |
Quellcode |
Codierungshinweise |
Sie können eine eindeutige E-Mail-Adresse und ein Kennwort für das Beispiel Plants By WebSphere erstellen. Klicken Sie dazu auf der Anmeldeseite auf register for your own account here. Darüber hinaus sind eine Standard-E-Mail-Adresse und ein Standardkennwort für das Beispiel Plants By WebSphere eingerichtet, die Sie in der folgenden Tabelle sehen:
E-Mail-Adresse | plants@plantsbywebsphere.ibm.com |
Kennwort | plants |
Die Datenbanktabellen für dieses Beispiel sind CUSTOMER, INVENTORY, ORDERINFO, ORDERITEM, IDGENERATOR, BACKORDER und SUPPLIER. Diese Tabellen sind in der Datenbank PLANTSDB enthalten. Die Datenbank PLANTSDB ist in der Datei PlantsByWebSphere.ear im Verzeichnis Profilstammverzeichnis/installedApps/Zellenname/PlantsByWebSphere.ear/Database/PLANTSDB enthalten. Zellenname steht für den Namen der Zelle, in der Ihre Anwendung installiert ist.
Sie können das Layout der Tabelle mit den folgenden SQL-Anweisungen anzeigen:
CREATE TABLE CUSTOMER (CUSTOMERID VARCHAR(250) NOT NULL, PASSWORD VARCHAR(250), FIRSTNAME VARCHAR(250), LASTNAME VARCHAR(250), ADDR1 VARCHAR(250), ADDR2 VARCHAR(250), ADDRCITY VARCHAR(250), ADDRSTATE VARCHAR(250), ADDRZIP VARCHAR(250), PHONE VARCHAR(250)); |
Der Quellcode befindet sich im folgenden Verzeichnis:
Anmerkung für z/OS-Benutzer: Die Quellcodestruktur für die Beispiele wird unter z/OS nicht bereitgestellt, weil auf der z/OS-Plattform keine Beispielanwendungen erstellt werden.
Übersicht |
Servlets |
Enterprise-Beans |
Das Beispiel Plants By WebSphere verwendet die folgenden Technologien:
Die Anwendung Plants By WebSphere wird von einer Reihe von JSP- und HTML-Seiten gesteuert. Diese Seiten kommunizieren über die folgenden Servlets: AccountServlet, ShoppingServlet, ImageServlet und AdminServlet. Die Servlets verwenden die Business-Methoden der Enterprise-Beans, die wiederum bei Bedarf auf Daten in der Datenbank zugreifen. Im Allgemeinen wird die Kommunikation mit den Entity-Beans über Stateless-Session-Beans abgewickelt, um die Anzahl der Transaktionen zu verringern.
Im folgenden Abschnitt werden die in dieser Anwendung verwendeten Servlets beschrieben.
Das Servlet "ShoppingServlet" verarbeitet den Hauptteil der Interaktionen zwischen Browser und Enterprise-Beans. Zu diesen Interaktionen gehören Bestands-, Einkaufs- und Bestellfunktionen. Wenn Sie eine Einkaufskategorie zur Anzeige auswählen, wird eine Session-Bean Catalog verwendet, die alle relevanten Bestandsobjekte (Inventory) sucht und anzeigt. Für die Anzeige der Einzelheiten zu einem Artikel wird ebenfalls eine Session-Bean Catalog verwendet, die die Informationen von einer CMP-Entity-Bean Inventory abruft.
Wenn Sie dem elektronischen Warenkorb einen Artikel hinzufügen, wird eine Stateful-Session-Bean ShoppingCart erstellt. Eine Session-Bean Catalog ruft die Bestandsdaten ab und speichert den Artikel in der Bean ShoppingCart. Die Anzeige und Aktualisierung des elektronischen Warenkorbs erfolgt über die Stateful-Session-Bean ShoppingCart.
Nach Eingabe der Rechnungs- und Lieferdaten erstellt die Bean ShoppingCart eine neue CMP-Entity-Bean Order. Nach Abschluss der Prüfprozedur wird eine Stateless-Session-Bean Mailer erstellt, die über die JavaMail-API eine E-Mail mit der Bestellbestätigung sendet.
Das Servlet "ImageServlet" ruft die Produktabbildungen ab und speichert sie in der Datenbank. Es ruft die Abbildungen aus den JSP-Seiten und HTML-Seiten aus der Datenbank ab und stellt sie mit der HTTP-Antwort dem Browser wieder bereit.
Das Servlet "AdminServlet" verarbeitet die Anforderungen eines Benutzers (Browsers) zum erneuten Eintragen von Werten in die Datenbank.
Bei der Verarbeitung von Anforderungen zum erneuten Füllen der Datenbank von der Seite help.jsp erstellt das Servlet "AdminServlet" eine BMP-Bean mit dem Namen "ResetDB". Diese Bean löscht alle Datenbanktabellen und füllt die Tabellen anschließend erneut mit Anfangsdatenwerten aus einer Eigenschaftendatei mit dem Namen pbw.properties.
Im folgenden Abschnitt werden die in dieser Anwendung verwendeten Enterprise-Beans beschrieben.
Catalog ist eine Stateless-Session-Bean. Über diese Bean wird hauptsächlich auf die CMP-Entity-Bean Inventory zugegriffen. Stateless-Session-Beans greifen im Allgemeinen auf die Daten von Entity-Beans zu und verringern somit die Anzahl der verwendeten Transaktionen. Die Session-Bean Catalog enthält Business-Methoden, um Informationen von einer oder mehreren Inventory-Beans abzurufen. Es sind Methoden zum Hinzufügen und Entfernen von Bestandsartikeln verfügbar. Die Session-Bean Catalog enthält außerdem Methoden zum Ändern vorhandener Inventory-Beans.
Customer ist eine CMP-Entity-Bean. Sie enthält die für einen Kunden erforderlichen Account-Daten und verwalten diese. Die Entity-Bean Customer enthält Methoden zum Erstellen, Suchen und Aktualisieren von Kundeninformationen sowie zum Überprüfen des Kennworts und zum Abrufen von Feldern aus der Entity-Bean Customer.
Inventory ist eine CMP-Entity-Bean. Diese Entity-Bean enthält und verwaltet Daten zu Bestandsartikeln. Es sind Methoden zum Suchen, Erstellen sowie zum Abrufen und Festlegen von Datenfeldern verfügbar.
Login ist eine Stateless-Session-Bean. Diese Session-Bean dient als Schnittstelle zur CMP-Entity-Bean Customer für die Erstellung und Aktualisierung von Kunden-Accounts.
Mailer ist eine Stateless-Session-Bean. Diese Session-Bean erstellt und sendet über die JavaMail-API eine E-Mail mit der Auftragsbestätigung.
Order ist eine CMP-Entity-Bean. Diese Session-Bean enthält und verwaltet die Bestelldaten. Es sind Methoden zum Suchen, Erstellen und Abrufen von Datenfeldern verfügbar.
OrderItem ist eine CMP-Entity-Bean. Diese Entity-Bean enthält und verwaltet jeweils einen Bestellartikel. Es sind Methoden zum Suchen, Erstellen und Abrufen von Datenfeldern verfügbar.
ReportGenerator ist eine Stateless-Session-Bean. Diese Session-Bean generiert basierend auf den Auftragsinformationen Berichte. Die Session-Bean ReportGenerator dient als Schnittstelle zur CMP-Entity-Bean Order. Der Bericht enthält Informationen zu den am häufigsten in einem bestimmten Zeitraum verkauften Artikeln und zu den Postleitzahlen der Orte, aus denen die meisten Bestellungen in einem bestimmten Zeitraum eingegangen sind.
ShoppingCart ist eine Stateful-Session-Bean. Diese Session-Bean verwaltet eine Liste von Verkaufsartikeln in der HTTP-Sitzung. Die Session-Bean ShoppingCart enthält Business-Methoden zum Hinzufügen, Entfernen und Aktualisieren von Bestandsartikeln. Außerdem enthält die Session-Bean ShoppingCart eine Methode, die eine neue CMP-Entity-Bean Order erstellt, sobald der Kunde bereit ist, einen Einkauf abzuschließen.
ResetDB ist eine BMP-Entity-Bean. Diese Entity-Bean löscht alle Zeilen in den Datenbanktabellen.