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