Download - Java による Electronic Commerce System の開発
Java によるElectronic Commerce System
の開発
発表者 三浦健 宅和覚 荒木啓宏 三原佑典
1.はじめに
Electronic Commerce ( EC: 電子商取引)
ネットワークを利用して、様々なビジネスデータを交換。
Electronic Commerce System の開発
・株式運用etc…
・インターネットバンキング
・オンライン ショッピン・グ・電子マネー
ユ‐ザ
商店
銀行
クレジット
会社
お金
商品
Web を利用した
オンライン ショッピ・ングシステム
Java
Servlet
client clientclient
DB
JDBC
2 .システム全体設計2.1 システム構成について
•商店商店
•クレジット会社クレジット会社
•銀行銀行
以上の各サーバごとに開発を行った
システム構成図
ユーザ
銀行
応答
注文
入金
引き落とし請求
送金の処理
店番号:店名
購入商品金額の請求
代金引き落とし
商店 A 商店 B
Web サーバMulti-Thread 処理対応
クレジット会社
DB
Multi-Thread 処理対応
帳票の作成 ・ 店毎の集計 ・ ユーザ毎の集計 ・ 入出金の集計
カード番号チェック店毎の,店への送金ユ集計ーザ毎の集計ユーザ毎の引き落としユーザへの請求
カード番号
暗号化フォーム入力
名前住所
連絡先
2.3.1 Servlet について・ Servlet : Server side Applet の意味
Server の機能を有するプログラムの総称
Servlet
clientclient
client
複数の要求を同時に処理することが出来る
・セキュリティー
・柔軟な処理
・ネットワークのトラフィックApplet ではプログラムをダウンロードす
るが、
Servlet では処理結果のみを受信
Applet では、セキュリティー上の問題が発生している。
Servlet は、 Server 上で実行されるのでファイルを自由に扱える。
CGI
WWWServer
初期化処理
共有Resource
ServletThread
ServletThread
ServletThreadCGI
初期化処理
Resource
CGI
初期化処理
Resource
CGI
初期化処理
Resource
WWWServer
Servlet
効率 :プロセスと比較した場合、スレッドの方が効率的
CGIプログラム
Servletプログラム
プラットフォーム A
プラットフォーム B
プラットフォーム C
移植性 : Java の持つプラットフォーム独立性により、高い 移植性を維持出来る。
Servlet
Servlet への入出力 Http プロトコルを使用する場合
ServletRequest
ServletResponse
Servlet
HttpServletRequest
HttpServletResponse
ECObjectECClient ECServer
各サーバ間でのデータの交換
Request
Response
・ Servlet Runner ・ Java Web Server
Servlet を管理・運用するプログラム。 JSDK(Java Servlet Development Kit) に付属している。
今回 , 主に使用した環境。
それ自身、 Servlet 群によって構成されたWeb Server 。
Sun Mycrosystems の製品。
・ RDB への接続の確立
・ SQL 文の送信
・ SQL 文実行結果の処理
( 2 ) JDBC の機能
( 1 ) JDBC の概要
JavaApplication/Applet RDB
JDBC
2.3.2JDBC について
JDBC ドライバ・マネージャ
JDBC ドライバ
JavaApplication/Applet
JDBC API
RDB
JDBC API
JDBC 構成図
JDBC ー ODBC ブリッジドライバを含めた JDBC構成図
JDBC ドライバ・マネージャ
JDBC ドライバ
JavaApplication/Applet
JDBC API
RDB
JDBC API
JDBC - ODBC ブリッジ・ドライバ
3.1 開発環境について
・ RDB Access97
・ OS windows98
・ Java 開発環境 Java Development Kit 1.1.7
・ Servlet 開発環境 JSDK2.0
・統合的な Java 開発環境 Symantec Visual Café Date
base Edition v 3.0
3.2 商店サーバシステム今回の研究では商店の一つの例として本屋(山田書店)を考えた。
・この本屋はインターネットを通してお客からの 注文を受ける。・注文の品物は宅配便で郵送する。・決済はクレジットカードで行う。
( 1 )機能
•本のカタログの表示
•本の詳細な情報を表示
•ユーザ毎の購入情報の作成
•ユーザの注文の追加、削除、表示
•代金の表示
•ユーザのクレジットカードについての調査の依頼
•注文をデータベースへ格納
(2)商店サーバの構成
商店サーバは以下の二つからなっている
•本の情報や注文を格納するデータベース
•SHOSEKI_TABLE•ORDER_TABLE
•( 1 )の機能を実現する Servlet
8 つの Servlet を開発した
( 3 )商店データベース
・SHOSEKI_TABLE
本の情報が入っているテーブル
・ORDER_TABLE
ユーザの注文を格納するテーブル
( 4 )商店 Servlet の説明
•FrameServlet フレームの Servlet
•MainpageServlet メインページを表示する
•CatalogServlet カタログページを表示する
本の詳細へのリンクと注文の追加をする
•BookdetailServlet 本の詳細を表示する
•ShowBoxServlet 買い物かご、代金を表示する
注文の削除をする
•CasherServlet ユーザの情報を入力する
•ConfirmServlet ユーザに最終確認を促す
•RecieptServlet ユーザへのお礼を表示するユーザの調査をして問題がない場合、
注文をデータベースへ格納する
①クレジット会社内部での機能
・全体の制御
・クレジットカードの新規登録
・クレジットカードの検索
・クレジットカードの変更
・クレジットカードの削除
3.3 クレジット会社サーバシステム( 1 )
機能
②商店・銀行に対するサーバ機能
・商店からユーザについての情報を受け取る
・送られてきた情報が正しいかどうかをチェック
・チェックした結果を商店に返す
・クレジット会社の口座から商店の口座への送金
の依頼
・ユーザーの口座からクレジットの会社口座への
送金の依頼
・クレジットカードの新規登録( Insert.class )
・全体の制御( Kokyaku.class )
①クレジット会社内部での処理( 2 )処理 →Application で開発
・クレジットカードの検索( Select.class )
・クレジットカードの変更( Update.class )
・クレジットカードの削除( Delete.class )
Delete
Select
Update
Insert
Kokyaku
Appl ication の関連図
クレジット会社
商店 銀行
クレジット番号、 パスワード、 店 ID 、購入金額
パスワードの 照合結果
振込み結果
①クレジット会社の口座番号、 商店の口座番号、 振り込み金額
②ユーザーの口座番号、 クレジット会社の口座番号、 引き落とし金額
クレジット会社に関するデータのやり取り → CreditServlet.class
②商店・銀行に対するサーバ処理
→Servlet で開発
(3) データベース設計
・ BANK 取引先の銀行に関する情報
・ CARD クレジットカードに関する情報
・ KOKYAKU 顧客に関する情報
・ SHOP 取引先の商店に関する情報
・ SHOPORDER 商店から受け取った情報
・ USERLIST 1ヶ月ごとのユーザー注文金額
以下の 6 つのテーブルを持つ
3.4銀行サーバシステム
電子商取引におけるお金の管理
•口座の新設、抹消、書き換え、表示
servlet で開発
application で開発
(1)機能
•口座間でのお金の移動
クレジット会社
依頼メッセージ
銀行サーバ(BankServlet) 送信先の口座番号
送金元の口座番号
振込み金額
•口座間でのお金の移動クレジット会社との処理← servlet で実現
依頼メッセージの確認
送信元口座番号の確認
送信先口座番号の確認
送信先の残高の確認
BANK
データベース
銀行サーバ(BankServlet)
•口座間でのお金の移動( Cont. )クレジット会社との処理← servlet で実現
BANK
データベース
口座振込みの実行
口座振込みの実行
銀行サーバ(BankServlet)
•口座間でのお金の移動( Cont. )クレジット会社との処理← servlet で実現
応答メッセージ
終了メッセージOR
エラーメッセージ
銀行サーバ(BankServlet)
クレジット会社
•口座間でのお金の移動( Cont. )クレジット会社との処理← servlet で実現
•口座の新設、抹消、書き換え、表示
• Mode クラス : メニュー画面• Select クラス : 口座の表示• Insert クラス : 口座の新設• Update クラス : 口座の書き換え• Delete クラス : 口座の抹消• Quit クラス : プログラム終了の
確認
各クラスの機能← application で開発
•口座の新設、抹消、書き換え、表示各クラスの機能← application で開発メニュー画面( Mode.cl
ass )表示画面( Select.class )
条件を指定して口座の表示
•口座の新設、抹消、書き換え、表示( Cont. )
各クラスの機能← application で開発メニュー画面( Mode.cl
ass )新設画面( Insert.class )
各項目を入力して新規登録
•口座の新設、抹消、書き換え、表示( Cont. )
各クラスの機能← application で開発メニュー画面( Mode.cl
ass )口座抹消画面( Delete.class )
口座番号を指定して口座の抹消
•口座の新設、抹消、書き換え、表示( Cont. )
各クラスの機能← application で開発メニュー画面( Mode.cl
ass )書き換え画面( Select.class )
口座番号を指定して、変更項目を入力、口座の更新
•口座の新設、抹消、書き換え、表示( Cont. )
各クラスの機能← application で開発メニュー画面( Mode.cl
ass )終了画面( Quit.class )
終了の確認