WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1
最新Java技術による 最新Java技術による 最新Java技術による 最新Java技術による 最新Java技術による 最新Java技術による 最新Java技術による 最新Java技術による ECサイト構築の要点 ECサイト構築の要点 ECサイト構築の要点 ECサイト構築の要点 ECサイト構築の要点 ECサイト構築の要点 ECサイト構築の要点 ECサイト構築の要点
Vol.2 Vol.2 Vol.2 Vol.2 Vol.2 Vol.2 Vol.2 Vol.2
WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1
Customization Customization Customization Customization Customization Customization Customization Customization
(c) Copy right 2001 日本アイ・ビー・エム㈱ 1
Agenda Agenda Agenda Agenda Agenda Agenda Agenda Agenda
WCS V5.1アーキテクチャー WCS V5.1アーキテクチャー WCS V5.1アーキテクチャー WCS V5.1アーキテクチャー カストマイズ
カストマイズ
カストマイズ
カストマイズ
参考資料 参考資料
参考資料 参考資料
WCS V5.1 WCS V5.1 WCS V5.1 WCS V5.1 WCS V5.1 WCS V5.1 WCS V5.1 WCS V5.1
アーキテクチャー アーキテクチャー アーキテクチャー アーキテクチャー アーキテクチャー アーキテクチャー アーキテクチャー アーキテクチャー
(c) Copy right 2001 日本アイ・ビー・エム㈱ 3
Websphere Commerce Server Components Websphere Commerce Server Components Websphere Commerce Server Components Websphere Commerce Server Components Websphere Commerce Server Components Websphere Commerce Server Components Websphere Commerce Server Components Websphere Commerce Server Components
URL
Controller Command URL
Database Entity
Beans
DataBean Manager
Command Registries Command Framework
Data Beans
URL
Request Servlet
Servlet Engine
thread
thread thread
HttpWebController
Service()
{
session() ; txBegin();
cmd();
txEnd();
response();
}
task command
task commandtask
command task command
forward MQ Adapter
Scheduler MQWebController
Web Controller Framework
Service () {
....
} thread
Messages
WCS Runtime
Display Page
(Servlet/JSP)
(c) Copy right 2001 日本アイ・ビー・エム㈱ 5
Server Components (1) Server Components (1) Server Components (1) Server Components (1) Server Components (1) Server Components (1) Server Components (1) Server Components (1)
RequestServlet RequestServlet RequestServlet RequestServlet
com.ibm.commerce.server.RequestServlet リクエストをディスパッチするだけのServlet
/webapp/commerce/wcs/stores/servlet/によって起動し、URLから実行すべきパラメーターとコマンドを受け取り、
使用すべきController(HTTPWebController)のservice()メソッドを起動するServlet
WebController WebController WebController WebController
WCSサーバーにアクセスするコンポーネント、プロトコルの違いにより分かれる
httpリクエストはHTTPWebControllerにディスパッチされる
com.ibm.commerce.webcontroller.HttpWebController extends WebController
実行する機能は以下のとおり
1.HTTP/HTTPSのチェック
2.URLパラメーターとコマンド引数のマップ 3.JTAトランザクションの開始
4.ControllerCommandの実行 5.Exception発生時のRetry 6.JTA Commit/Rollback
Server Components (2) Server Components (2) Server Components (2) Server Components (2) Server Components (2) Server Components (2) Server Components (2) Server Components (2)
Controller Commands Controller Commands Controller Commands Controller Commands
実際のビジネスロジックを実行するJavaプログラム
URLに指定されるコマンドと1:1のクラスのマップは以下の表に記載されている
URLREG URL-INTERFACE
CMDREG INTERFACE-CLASS
中でTaskCommandsを呼ぶこともあり、呼ばないこともある 結果表示用のViewCommandsをWebControllerに返す。
Task Commands Task Commands Task Commands Task Commands
従来のOFに相当する詳細のビジネスロジック ControllerCommandsから呼ばれる
同じくCMDREGに登録されている
View Commands View Commands View Commands View Commands
通常及びエラー表示用のコマンド 以下の三種類がある
Redirect View Command Direct View Command Forward View Command
VIEWREG表にControllerCommandに指定されているViewNameと呼ばれるクラス、JSPの マップがある
Product/CategoryDisplayコマンドに関しては、別の表(DISPENTREL、DISPCGPRREL)に記載されている
(c) Copy right 2001 日本アイ・ビー・エム㈱ 7
Server Components (3) Server Components (3) Server Components (3) Server Components (3) Server Components (3) Server Components (3) Server Components (3) Server Components (3)
EJB EJB EJB EJB
WCSでのデータベースアクセスは全てEJBを介してなされる
WASのEJBコンテナによりパーシステンスを管理 データアクセスコードとビジネスロジックを分離
基本は各テーブルにマップされたCMP Entity Beanを使用
大量データ検索時のSessionBeanも多少あり
AccessBean AccessBean AccessBean AccessBean
WCSの各種コマンドはEJBを直接扱わず、AccessBeanを使用する
JNDIやHome/Remote InterfaceといったEJB独自の複雑なプログラミングを簡略化
AccessBean自体はVAJのツールを使用した作成が可能
Databean Databean Databean Databean
JSPからのアクセスはDataBeanを介してなされる
EJBへのアクセスもAccessBeanをextendしたSmartDataBeanを介する
Request Servlet
HTTP Web Controller
Controller Command
Task Command
Database
http://wcs.ibm.com/webapp/wcs/stores/servlet/StoreCatalogDisplay?storeId=10001&catalogId=10001
JSP
StoreCatalogDisplayCmdImpl StoreCatalogDisplayCmdImpl StoreCatalogDisplayCmdImpl StoreCatalogDisplayCmdImpl
AccessBean
CMP Entity Bean
WebSphere\WCS\stores\web\StoreCatalogDisplay.jsp WebSphere\WCS\stores\web\StoreCatalogDisplay.jspWebSphere\WCS\stores\web\StoreCatalogDisplay.jsp WebSphere\WCS\stores\web\StoreCatalogDisplay.jsp
StoreCatalogDisplayView StoreCatalogDisplayView StoreCatalogDisplayView StoreCatalogDisplayView
DataBean
Command Flow Command Flow Command Flow Command Flow Command Flow Command Flow Command Flow Command Flow
WCS Server WCS Server
1 2
3 4 6
5
6-1
6-2 6-3
7
8
9
10 11
12 13
(c) Copy right 2001 日本アイ・ビー・エム㈱ 9
CommandFlow CommandFlow CommandFlow CommandFlow CommandFlow CommandFlow CommandFlow CommandFlow
URL Command : StoreCatalogDisplayコマンド
ストアのトップカテゴリを表示するコマンド
パラメーターとしてはstoreId(ストアID)、catalogId(カタログId)、langId(言語Id)をHTTP Requestより取得
Command Flow
1.ショッパーのBrowserよりURLでコマンドが呼ばれる
http://wcs.ibm.com/webapp/wcs/stores/servlet/StoreCatalogDisplay?storeId=10001&catalogId=10001
2.Web ServerはWASのプラグイン経由でWASはServlet Engineを呼び出し、そこからRepositry情報より webapp/wcs/stores/web/servletをRequest ServletRequest ServletRequest Servletに関連付け処理を渡すRequest Servlet
3.RequestServletRequestServletRequestServletRequestServletはHTTP Adapter ManagerHTTP Adapter ManagerHTTP Adapter Managerに要求を渡し、Browserからの要求であることを解析しHTTP Browser HTTP Adapter Manager HTTP Browser HTTP Browser HTTP Browser Adapter
Adapter Adapter
Adapterに処理を渡す
4.HTTP Browser AdapterHTTP Browser AdapterHTTP Browser AdapterHTTP Browser AdapterはWeb ControllerWeb ControllerWeb Controllerに処理を渡すWeb Controller
5.HTTP Web ControllerHTTP Web ControllerHTTP Web ControllerHTTP Web ControllerはCommand Registry(URLREG、CMDREG)よりどのコマンドを実行すべきか(この場合、
StoreCatalogDisplayからStoreCatalogDisplayCmdImplクラス)を取得
6.適切なControllerCommandControllerCommandControllerCommandControllerCommandが実行されるがその際には以下のようなオプションがありうる
ControllerCommand ControllerCommand ControllerCommand
ControllerCommand自体がAccessBeanAccessBeanAccessBeanAccessBean-EJBEJBEJBEJBを介してDB処理を実行 ControllerCommand
ControllerCommand ControllerCommand
ControllerCommandが1つもしくは複数のTaskCommandTaskCommandTaskCommandTaskCommandを実行 TaskCommand
TaskCommand TaskCommand
TaskCommandもAccessBeanAccessBeanAccessBean-EJBAccessBean EJBEJBEJBを介してDB処理を実行
7.ControllerCommandControllerCommandControllerCommandControllerCommandは実行終了に伴い、呼び出すべきViewNameViewNameViewNameViewNameをWeb ControllerWeb ControllerWeb Controllerに返すWeb Controller
8.HTTP Web ControllerHTTP Web ControllerHTTP Web ControllerHTTP Web ControllerはCommandRegistry(VIEWREG)よりDevice Typeに応じたViewCommandViewCommandViewCommandViewCommandを実行 9.ViewCommandViewCommandViewCommandViewCommandはJSPに処理をForward
10.JSP内のDataBeanDataBeanDataBeanより動的ページを作成するためにDataBeanManagerDataBean DataBeanManagerDataBeanManagerDataBeanManagerがDataBeanDataBeanDataBeanDataBeanをActivateActivateActivateActivateする 11.DataBeanManagerDataBeanManagerDataBeanManagerDataBeanManagerは必要に応じてDataBeanCommandDataBeanCommandDataBeanCommandDataBeanCommandを実行する
12.DataBeanDataBeanDataBeanDataBeanがExtendされたAccessBeanAccessBeanAccessBeanを介してEJBAccessBean EJBEJBEJB経由でデータベース情報を取得 13.結果の動的ページをブラウザーに返す
Command Registry Command Registry Command Registry Command Registry Command Registry Command Registry Command Registry Command Registry
URLREG URLREG URLREG URLREG
CMDREG CMDREG CMDREG CMDREG
VIEWREG VIEWREG VIEWREG VIEWREG
STOREENT_ ID INTERFACENAME CLASSNAME
0 com.ibm.commerce.interestitems.commands.InterestItemAddCmd com.ibm.commerce.interestitems.commands .InterestItemAddCmdImpl
STOREENT_ ID URL HTTPS INTERFACENAME
0 InterestItemAdd 1 com.ibm.commerce.interestitems.commands.InterestItemAddCmd
STOREENT_
ID VIEWNAME DEVICE
FMT_ID INTERFACENAME CLASSNAME PROPERTIES
1 StoreCatalogDisplayView -1 com.ibm.commerce.command.ForwardViewCommand com.ibm.commerce.command.
HtppForwardViewCommandImpl docname =StoreCatalog Display.jsp
(c) Copy right 2001 日本アイ・ビー・エム㈱ 11
Command Registry Command Registry Command Registry Command Registry Command Registry Command Registry Command Registry Command Registry
WCSのコマンド定義情報は以下の表内に保管され、取得される
新規にコマンドを作成した場合、JSPをカストマイズした場合などは下記の情報を挿入/更新する必要がある
URLREG URLREG URLREG URLREG
Browserから投げられるURL Command URL Command URL CommandとController Command URL Command Controller Command Controller Command Controller CommandのInterfaceのマップ
StoreIdをキーとするので、Storeごとに別ControllerCommandを定義することが可能 HTTPかHTTPSか、認証を必要とするコマンドかなどの定義も
CMDREG CMDREG CMDREG CMDREG
Controller Command Controller Command Controller Command
Controller CommandのInterfaceとClassのマップ
Interfaceにdefault classが定義されていれば定義は必要ない
VIEWREG VIEWREG VIEWREG VIEWREG
Controller Command Controller Command Controller Command
Controller Commandから返されるViewNameとViewCommand ViewCommand ViewCommand ViewCommand、JSPのマップ
ストアごと、デバイスフォーマットごとに別のViewCommand/JSPを定義可能(携帯端末対応)
URL
Controller Command URL
Database Entity
Beans
カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象
DataBean Manager
Command Registries Command Framework
Data Beans
URL
Request Servlet
Servlet Engine
thread
thread thread
HttpWebController
Service()
{
session() ; txBegin();
cmd();
txEnd();
response();
}
task command
task commandtask
command task command
forward MQ Adapter
Scheduler MQWebController
Web Controller Framework
Service () {
....
} thread
Messages
WCS Runtime
Display Page
(Servlet/JSP)
(c) Copy right 2001 日本アイ・ビー・エム㈱ 13
カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象 カストマイズ対象
プレゼンテーションロジック プレゼンテーションロジック プレゼンテーションロジック プレゼンテーションロジック
JSP (Java Server Pages)のカストマイズ
HTMLでのLook&Feelの変更
Data BeanのカストマイズによるDB表示項目の変更
プロパティファイルなどを利用したマルチカルチャー環境の実現 パーベイシブ機能のための、携帯用ページの追加作成
ビジネスロジック ビジネスロジック ビジネスロジック ビジネスロジック
Javaコマンド群のカストマイズ
Controller Commands カストマイズ対象
Task Commands カストマイズ対象
View Commands カストマイズ対象ではない
オリジナルのクラス群をVAJプロジェクトファイルの形で提供
既存ビジネスロジックの変更 新規ビジネスロジックの追加
オブジェクト
Databaseの拡張に伴い、EntityBean、AccessBean、DataBeanなどをカストマイズ
カストマイズ カストマイズ カストマイズ カストマイズ カストマイズ カストマイズ カストマイズ カストマイズ
(c) Copy right 2001 日本アイ・ビー・エム㈱ 15
カストマイズ手順 カストマイズ手順 カストマイズ手順 カストマイズ手順 カストマイズ手順 カストマイズ手順 カストマイズ手順 カストマイズ手順
手順 手順 手順 手順
要件定義、ストアフローの検討、カストマイズ機能の抽出
ストアフローの検討 使用機能の取捨選択
プレゼンテーションロジックの変更
基本デザインの取り込み 表示項目の変更
新規ページ作成
ビジネスロジックの拡張
新規コマンド作成 既存コマンドの変更
データ入れ込み テスト、修正
対象 対象 対象 対象
プレゼンテーションロジック
JSPのカストマイズ HTMLのカストマイズ
ビジネスロジックのカストマイズ
EJBのカストマイズ Commandのカストマイズ
(c) Copy right 2001 日本アイ・ビー・エム㈱ 17
カストマイズに必要なもの カストマイズに必要なもの カストマイズに必要なもの カストマイズに必要なもの カストマイズに必要なもの カストマイズに必要なもの カストマイズに必要なもの カストマイズに必要なもの
スキル スキル スキル スキル
Java
Enterprise JavaBeans Database
JavaServerPages HTML
WebSphere Application Server V3.5 VisualAge for Java V3.5
リソース リソース リソース リソース
WebSphere Commerce Studio V5.1
PageDesignerをJSP作成に使用
VisualAge for Java Enterprise Edition V3.5
EJBの修正を行わない場合、WCStudio Developer's EditionにバンドルのVisualAge for Java Professional Editionを 使用することも可能
JSPのカストマイズ (1) JSPのカストマイズ (1) JSPのカストマイズ (1) JSPのカストマイズ (1) JSPのカストマイズ (1) JSPのカストマイズ (1) JSPのカストマイズ (1) JSPのカストマイズ (1)
使用されているJSPファイルを特定する 使用されているJSPファイルを特定する 使用されているJSPファイルを特定する 使用されているJSPファイルを特定する
CommandRegistryより特定ページで使用されているJSPファイルを取得
1.使用するURL Commandをオンラインヘルプより取得
Topics → Reference → Commands → URL Commands 使用コマンドのBehaviorの項で呼び出すViewNameをチェック
サンプルストアのJSPに関してはオンラインヘルプに詳細の説明あり
2.VIEWREG表よりViewNameをキーにpropertiesからJSPファイル名を取得 3.WAS WebPathから指定JSPファイルを選択
JSPファイル内でINCLUDEの形でヘッダーやフッターなどのファイルを呼んでいる場合もある
4.さらにJSPによっては内部ロジックにより複数JSPへ分岐することもある 5.必要に応じ、新たなJSPファイルを作成/コピー
その場合VIEWREG表の定義を更新する
商品ページ、カテゴリーページなどは別の表にJSPとの関連を保管
DISPENTREL(商品)、DISPCGPRREL(カテゴリ)に保管 ユーザーに応じた細かなJSPの対応が必要なため
トップページ トップページ トップページ トップページ
URLからStoreCatalogDisplayコマンドを呼んでいることが分かる
StoreCatalogDisplayの説明にはStoreCatalogDisplayView ViewCommandを呼んでいるとある VIEWREGにはViewName=StoreCatalogDisplayViewのJSPはStoreCatalogDisplay.jspが定義さ れている
Example
(c) Copy right 2001 日本アイ・ビー・エム㈱ 19
JSPのカストマイズ (2) JSPのカストマイズ (2) JSPのカストマイズ (2) JSPのカストマイズ (2) JSPのカストマイズ (2) JSPのカストマイズ (2) JSPのカストマイズ (2) JSPのカストマイズ (2)
JSPファイルを修正する JSPファイルを修正する JSPファイルを修正する JSPファイルを修正する
デザイン(HTML)の修正
各ページごとにベースデザインに基づきHTML部分の修正を行う
INCLUDEページもあわせて修正
提供Sample(InFashion)はStyleSheet(css)を使用しているのでCSSの変更も含む
入力、表示項目の修正
結果表示画面であれば、必要データのDataBeanを取り込むことで表示項目をカストマイズ 入力画面でも使用コマンドが受け付けうるパラメーターなどをHTMLに追加
その他
条件分岐
条件によって呼び出すJSPファイルやURLCommandを変えるといった若干のプログラムロジックがあるのでそれらの修正を行う
JavaScriptなどの処理変更
Cache機能によりサーバー側に特定ページはキャッシュされるので、変更の反映が無い場合はキャッシュを消去
トップページ トップページ トップページ トップページ
Look&Feelを変えるためには、StoreCatalogDisplay.jspのほかにそこからINCLUDEされる header.jsp、sidebar.jsp、footer.jspの修正が必要
さらにInFashion.cssのStyleSheetの定義項目も必要に応じて変える
ショッパー登録ページ ショッパー登録ページ ショッパー登録ページ ショッパー登録ページ
Register.jspからは入力項目を元にUserRegistrationAddコマンドを呼び出すが、必須パラメー ターのうち不要なものをHiddenタグで渡している
この必須部分を入力項目に追加する、その他必要な入力項目を追加するためには Register.jspファイルのFORMの修正を行う
Example
EJBのカストマイズ EJBのカストマイズ EJBのカストマイズ EJBのカストマイズ EJBのカストマイズ EJBのカストマイズ EJBのカストマイズ EJBのカストマイズ
EJBを追加する EJBを追加する EJBを追加する EJBを追加する
WCSの表に関してはEntityBean、AccessBean、DataBeanなどはあらかじめ提供されているので追加の必要は無い カストマイズ上、新規表を追加した際にCommand構造からアクセスさせるためにEntityBean、AccessBean、
DataBeanなどを作成する必要がある
EJBのカストマイズを行う場合、原則としてVAJ Enterprise EditionEnterprise EditionEnterprise Editionが必要Enterprise Edition
アプローチ
1.EnityBeanを作成し、VAJにより表作成を行う 2.表を作成し、VAJによりEntityBean作成を行う
3.表とEntityBean両者を作成し、VAJ上でマップさせる 推奨は3のケース
テーブルの作成
アプリケーション定義に基づき、テーブルをデザイン、WCS DB上に作成
EntityBeanの作成
VAJ Smart GuideからAdd → EntityBeanの作成を選択
Bean TypeにCMP EntityBeanを選択し、CMP Fieldsにカラムに対応するFieldを追加する 一部コードを修正
finderHelper,Homeインターフェースなどを必要に応じ修正
表とEntityBeanのマップ
VAJ Schema BrowserおよびMap Browserを使用
AccessBeanの作成
VAJからEntityBeanを選択、Add → AccessBean
WAS環境へDeploy
VAJでJARファイルの形式でExport
WASのWebSphere Commerce ServerのClassPathを通す WAS AdminClientからEnterpriseBeanを登録
(c) Copy right 2001 日本アイ・ビー・エム㈱ 21
EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 CMP Entity Beanの作成 CMP Entity Beanの作成 CMP Entity Beanの作成 CMP Entity Beanの作成 CMP Entity Beanの作成 CMP Entity Beanの作成 CMP Entity Beanの作成 CMP Entity Beanの作成
VAJ:EnterpriseBeanの作成
VAJ:EnterpriseBean SmartGuide
EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ Entity BeanとDBテーブルカラムのマップ
VAJ:SchemaBrowser
VAJ:MapEditor
(c) Copy right 2001 日本アイ・ビー・エム㈱ 23
EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 EJBのカストマイズ:サンプル画面 AccessBeanの作成 AccessBeanの作成 AccessBeanの作成 AccessBeanの作成 AccessBeanの作成 AccessBeanの作成 AccessBeanの作成 AccessBeanの作成
VAJ:AccessBeanの作成
VAJ:MapEditor
コマンドのカストマイズ コマンドのカストマイズ コマンドのカストマイズ コマンドのカストマイズ コマンドのカストマイズ コマンドのカストマイズ コマンドのカストマイズ コマンドのカストマイズ
ControllerCommandの作成 ControllerCommandの作成 ControllerCommandの作成 ControllerCommandの作成
CommandRegistryに登録
URLREG、CMDREGに登録
ControllerCommandの作成
URLREG、CMDREGの登録情報に基づき、
インターフェースcom.ibm.commerce.commands.ControllerCommandをextendした新規インターフェースを作成 クラスcom.ibm.commerce.commands.ControllerCommandImplクラスをextendした新規クラスを作成
performExcute()メソッド内のビジネスロジックを要件に応じカストマイズ
必要なデータベースアクセスは作成したEnityBeanのAccessBeanを介して行う TaskCommandを呼び出す場合、コード内に記載
TaskCommandの作成 TaskCommandの作成 TaskCommandの作成 TaskCommandの作成
TaskCommandの作成
細分化できるビジネスタスクはTaskCommandとして分化
インターフェースcom.ibm.commerce.commands.TaskCommandをextendした新規インターフェースを作成 クラスcom.ibm.commerce.commandsTaskCommandImplクラスをextendした新規クラスを作成
CommandのDeploy CommandのDeploy CommandのDeploy CommandのDeploy
作成したコードをJAR形式でWCS環境にExport
WAS AdminClientよりClasspathを通し、ApplicationServerを再起動
(c) Copy right 2001 日本アイ・ビー・エム㈱ 25
コマンド構造 コマンド構造 コマンド構造 コマンド構造 コマンド構造 コマンド構造 コマンド構造 コマンド構造
ControllerCommandImpl ControllerCommand
extends extends
implements
MyControllerCommandImpl MyControllerCommand
URI
Interfaces
Controller Commands
com.ibm.commerce.mycommands.MyControllerCommand
com.ibm.commerce.mycommands.MyUrlStoreAImpl com.ibm.commerce.mycommands.MyUrlStoreBImpl MyURL
Interface Implementation Classes
Implementaion Classes
StoreA
StoreB
カストマイズの統合 カストマイズの統合 カストマイズの統合 カストマイズの統合 カストマイズの統合 カストマイズの統合 カストマイズの統合 カストマイズの統合
各種カストマイズを統合 各種カストマイズを統合 各種カストマイズを統合 各種カストマイズを統合
新規ビジネスロジックを実現するためのURL Commandを作成
URLコマンドを呼ぶべきJSPページを作成、FORMなどでURL Commandに渡すパラメーター を収集
URL CommandとControllerCommandの関連をCommandRegistryに記載
URLREG/CMDREG
新規表の作成
新規作成表に関してはEntityBean、AccessBean、DataBeanを作成する ControllerCommandを作成し、ビジネスロジックを実行
基本はDBの操作であるため、AccessBeanを介してDBの処理を行う
必要に応じてTaskCommandを呼び出す
細分化されたロジックをTaskCommand作成で実装
返すべきページのViewNameをControllerCommandに記載 結果表示用のJSPファイルを作成
DataBeanを介してDB情報を取得
VIEWREGにViewNameとJSPとの関連を記載
(c) Copy right 2001 日本アイ・ビー・エム㈱ 27
参考資料 参考資料 参考資料 参考資料 参考資料 参考資料 参考資料 参考資料
(c) Copy right 2001 日本アイ・ビー・エム㈱ 29
カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料 カストマイズ時に参照すべき資料
マニュアル マニュアル マニュアル マニュアル
WCS 5.1プログラマー・ガイド
各コンポーネントの詳細説明、カストマイズ方法 ロジックを作成するTutorialを提供
サンプルスケルトン・コードを含む
オンラインヘルプ オンラインヘルプ オンラインヘルプ オンラインヘルプ
Referenceとして以下の資料を提供
Topic → Reference → Command JavaCommand、URL Commandの詳細、JavaDoc Topic → Reference → Database Schema ObjectModel、DataModel、DBテーブル詳細 Topic → Reference → Sample Store サンプルストアフロー、各ページ詳細
Server Components - Detail Server Components - Detail Server Components - Detail Server Components - Detail Server Components - Detail Server Components - Detail Server Components - Detail Server Components - Detail
HTTP Request
Servlet
MQ Listner
HTTP Adapter Manager
Browser Adapter
Program Adapter
Scheduler Adapter
HTTP Web Controller
MQ Web Controller
Scheduler Web Controller
Controller Command
Access Bean
Protocol ProtocolProtocol Protocol Listeners Listeners Listeners Listeners
Adapter Adapter Adapter Adapter Framework Framework Framework
Framework WebWebWebWeb Controller ControllerController Controller Web Browser
Mobile Phones
Clients Clients Clients Clients B2B System
Background Jobs
PVC Adapter http req
http req
MQ message
View
Command JSP
Database Database Entity
Bean
Data Bean Task
Command
Command Registry
Receive inbound request Dispatch the request to the appropriate
adapters
Device specific process
Message transofrm
Session Management Transaction Control
Access control Authentication
(c) Copy right 2001 日本アイ・ビー・エム㈱ 31
WCS Topology WCS Topology WCS Topology WCS Topology WCS Topology WCS Topology WCS Topology WCS Topology
WebSphere Commerce Server WebSphere Commerce Server WebSphere Commerce Server WebSphere Commerce Server WebSphere Commerce Server WebSphere Commerce Server WebSphere Commerce Server
WebSphere Commerce Server - <instance_name> - <instance_name> - <instance_name> - <instance_name> - <instance_name> - <instance_name> - <instance_name> - <instance_name>
Application Server Application Server
この起動終了を持ってWCSは起動終了する この起動終了を持ってWCSは起動終了する ServletEngineおよびEJB Containerを持つ ServletEngineおよびEJB Containerを持つ
WCS EJB Container WCS EJB Container WCS EJB Container WCS EJB Container WCS EJB Container WCS EJB Container WCS EJB Container WCS EJB Container
EJB Container EJB Container
TableラッパーとしてのEntityBeanおよび若干のSessionBeanを保持 TableラッパーとしてのEntityBeanおよび若干のSessionBeanを保持
WCS Web Container WCS Web Container WCS Web Container WCS Web Container WCS Web Container WCS Web Container WCS Web Container WCS Web Container
Servlet Engine Servlet Engine
WCS StoresおよびWCS ToolsのWebApplicationを保持 WCS StoresおよびWCS ToolsのWebApplicationを保持
WCS Stores WCS Stores WCS Stores WCS Stores WCS Stores WCS Stores WCS Stores WCS Stores
Web Application Web Application
ストアフロント用のServletを保持 ストアフロント用のServletを保持
WCS Tools WCS Tools WCS Tools WCS Tools WCS Tools WCS Tools WCS Tools WCS Tools
Web Application Web Application
管理ツール用のServletを保持
管理ツール用のServletを保持
WCS Servlets WCS Servlets WCS Servlets WCS Servlets WCS Servlets WCS Servlets WCS Servlets WCS Servlets
WCS Servlets WCS Servlets WCS Servlets WCS Servlets
WebApplication (WCS Stores / WCS Tools) にはそれぞれ以下のServletが定義されている
WCS Request Servlet
com.ibm.commerce.server.RequestServlet
RequestServletは処理ディスパッチ用のServlet、WCSユニーク WebPath: default_host/webapp/wcs/stores/servlet
WCS JSP Compiler
com.sun.jsp.runtime.JspServlet
JSP1.0用のコンパイラー、WCS以外でも使用される WebPath: default_host/webapp/wcs/stores/*.jsp
WCS File Serving Servlet
com.ibm.servlet.engine.webapp.SimpleFileServlet
AppServerを介してHTMLやGIFなどを取得するためのServlet、WCS以外でも使用される WebPath: default_host/webapp/wcs/stores
(c) Copy right 2001 日本アイ・ビー・エム㈱ 33
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
WCS Sample Store (InFashion) Flow
Net.Commerce V3.2
WebSphere Commerce Suite V5.1 WebSphere Commerce Suite V5.1
(c) Copy right 2001 日本アイ・ビー・エム㈱ 35