Plants by WebSphere |
|
|
![]() |
|
実行 | 構成 | 技術情報 | Javadoc | Ant を使用したビルド |
始めに |
データベース・テーブルの場所 |
ソース・コードの場所 |
コーディング・メモのレビュー |
Plants by WebSphere サンプルの固有の E メール・アドレスとパスワードは、 「ログイン」ページで「ここで個人アカウントを登録」をクリックすることによって作成できます。 さらに、以下のテーブルに示すように、 Plants by WebSphere サンプルで使用するための、 デフォルトの E メール・アドレスとパスワードが存在します。
E メール・アドレス | plants@plantsbywebsphere.ibm.com |
パスワード | plants |
このサンプルのデータベース・テーブルは、CUSTOMER、INVENTORY、ORDERINFO、ORDERITEM、IDGENERATOR、BACKORDER、および SUPPLIER です。これらのテーブルは、PLANTSDB データベースにあります。 PLANTSDB データベースは、 PlantsByWebSphere.ear ファイル中にあり、profile_root/installedApps/cell name/PlantsByWebSphere.ear/Database/PLANTSDB ディレクトリーに置かれています。ここで、cell name は、アプリケーションがインストールされるセルの名前です。
以下の SQL ステートメントでテーブル・レイアウトを確認してください。
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)); |
ソース・コードは以下のディレクトリーにあります。
z/OS カスタマー: サンプル・アプリケーションは z/OS プラットフォームでは 構築されないため、サンプルのソース・コード・ツリーは z/OS プラットフォームでは提供されません。
概説 |
サーブレット |
エンタープライズ Bean |
Plants by WebSphere サンプルには、以下のテクノロジーが組み込まれています。
Plants by WebSphere アプリケーションは、一連の JSP ページと HTML ページを通じてサポートされます。これらのページは、サーブレット AccountServlet、ShoppingServlet、ImageServlet、および AdminServlet と通信します。サーブレットは様々な エンタープライズ Bean ビジネス・メソッドを使用し、 メソッドは必要に応じて順にデータベースからデータにアクセスします。一般に、トランザクションの数を減らすために、エンティティー Bean とのインターフェースには、 ステートレス・セッション Bean が使用されます。
次のセクションでは、このアプリケーション内で使用されるサーブレットについて説明します。
ShoppingServlet サーブレットは、ブラウザーと エンタープライズ Bean の間の対話の大部分を処理します。この対話には、inventory、shopping cart、および order 機能が含まれます。参照する買物カテゴリーの選択では、 関連する Inventory オブジェクトのすべてを検出し表示するために、Catalog セッション Bean が使用されます。また項目の詳細情報の表示も、Inventory CMP エンティティー Bean から情報を取得するために、Catalog セッション Bean を使用して行われます。
ショッピング・カートに項目を追加すると、ShoppingCart ステートフル・セッション Bean が 作成されます。Catalog セッション Bean は、Inventory データを取得して、 その項目を ShoppingCart Bean に入れます。ショッピング・カートの表示と更新は、 ShoppingCart ステートフル・セッション Bean を使用して行われます。
請求と配送情報の入力後、ShoppingCart Bean は新しい Order CMP エンティティー Bean を作成します。清算手順を完了すると、JavaMail API を使用して確認 E メールを送信するために、 Mailer ステートレス・セッション Bean が作成されます。
ImageServlet サーブレットは、商品の画像を取得してデータベースに入れます。 サーブレットは、 JSP ページや HTML ページからの画像をデータベースから取得し、HTTP 応答を介してブラウザーに戻します。
AdminServlet サーブレットは、ユーザー (ブラウザー) からのデータベース再取り込み要求を処理します。
help.jsp ページからのデータ再取り込み要求を処理中に、 AdminServlet サーブレットは ResetDB という名前の Bean-managed persistence (BMP) Bean を 作成します。この Bean はすべてのデータベース・テーブルを削除して、 pbw.properties プロパティー・ファイルからの初期データ値を テーブルに再取り込みします。
このアプリケーションで使用されている エンタープライズ Bean についての情報を以下に示します。
Catalog は、ステートレス・セッション Bean です。 これは、 Inventory container-managed persistance エンティティー Bean (CMP) への 基本アクセスです。ステートレス・セッション Bean は一般にエンティティー Bean データにアクセスし、 使用されるトランザクションの数を制限します。 Catalog セッション Bean は、1 つ以上の Inventory Bean から情報を 取得するためのビジネス・メソッドを持っています。在庫項目を追加および除去するための メソッドがあります。Catalog セッション Bean も既存の Inventory Bean を変更するためのメソッドを持っています。
Customer は CMP エンティティー Bean です。これには、カスタマーに必要な アカウント・データが含まれており、そのデータを管理します。 Customer エンティティー Bean は、 カスタマー情報を作成、検索、更新するためのメソッドのほか、 パスワードを検証したり、Customer エンティティー Bean のフィールドを 取得するためのメソッドを持っています。
Inventory は CMP エンティティー Bean です。このエンティティー Bean には在庫項目データが含まれており、 そのデータを管理します。データ・フィールドの検索、作成、取得、 および設定するためのメソッドがあります。
Login は、ステートレス・セッション Bean です。 このセッション Bean は、Customer CMP エンティティー Bean と対話して、カスタマー・アカウントを作成および更新します。
Mailer は、ステートレス・セッション Bean です。 このセッション Bean は、JavaMail API を使用して、注文の確認 E メールを作成および送信します。
Order は、CMP エンティティー Bean です。このセッション Bean には注文データが含まれており、 そのデータを管理します。データ・フィールドの検索、作成、および取得するためのメソッドがあります。
OrderItem は、CMP エンティティー Bean です。この エンティティー Bean には 1 つの注文項目が含まれており、 それを管理します。データ・フィールドの検索、作成、および取得するためのメソッドがあります。
ReportGenerator は ステートレス・セッション Bean です。 このセッション Bean は、注文の情報を基に報告書を生成します。ReportGenerator セッション Bean は、 Order CMP エンティティー Bean と対話します。報告書は、設定された日付範囲の売れ筋項目と、 設定された日付範囲での売れ筋郵便番号で構成されます。
ShoppingCart は、ステートフル・セッション Bean です。このセッション Bean は、HTTP セッションを介して購入する在庫項目のリストを保守します。ShoppingCart セッション Bean は、 在庫項目を追加、除去、および更新するためのビジネス・メソッドを持っています。 また、ShoppingCart セッション Bean は、 カスタマーが購入を完了する準備ができたときに新しい Order CMP エンティティー Bean を作成するためのメソッドを持っています。
ResetDB は、BMP エンティティー Bean です。この エンティティー Bean は、データベース・テーブル内のすべての行を削除します。