Transcript
Page 1: Java による Electronic Commerce System の開発

Java によるElectronic Commerce System

の開発

発表者 三浦健 宅和覚 荒木啓宏 三原佑典

Page 2: Java による Electronic Commerce System の開発

1.はじめに

Electronic Commerce ( EC: 電子商取引)

ネットワークを利用して、様々なビジネスデータを交換。

Electronic Commerce System の開発

Page 3: Java による Electronic Commerce System の開発
Page 4: Java による Electronic Commerce System の開発

・株式運用etc…

・インターネットバンキング

・オンライン ショッピン・グ・電子マネー

Page 5: Java による Electronic Commerce System の開発

ユ‐ザ

商店

銀行

クレジット

会社

お金

商品

Web を利用した

オンライン ショッピ・ングシステム

Page 6: Java による Electronic Commerce System の開発

Java

Servlet

client clientclient

DB

JDBC

Page 7: Java による Electronic Commerce System の開発

2 .システム全体設計2.1 システム構成について

•商店商店

•クレジット会社クレジット会社

•銀行銀行

以上の各サーバごとに開発を行った

Page 8: Java による Electronic Commerce System の開発

システム構成図

ユーザ

銀行

応答

注文

入金

引き落とし請求

送金の処理

店番号:店名

購入商品金額の請求

代金引き落とし

商店 A 商店 B

Web サーバMulti-Thread 処理対応

クレジット会社

DB

Multi-Thread 処理対応

帳票の作成 ・ 店毎の集計 ・ ユーザ毎の集計 ・ 入出金の集計

カード番号チェック店毎の,店への送金ユ集計ーザ毎の集計ユーザ毎の引き落としユーザへの請求

カード番号

暗号化フォーム入力

名前住所

連絡先

Page 9: Java による Electronic Commerce System の開発

2.3.1 Servlet について・ Servlet  :  Server side Applet の意味

Server の機能を有するプログラムの総称

Servlet

clientclient

client

複数の要求を同時に処理することが出来る

Page 10: Java による Electronic Commerce System の開発

・セキュリティー

・柔軟な処理

・ネットワークのトラフィックApplet ではプログラムをダウンロードす

るが、

Servlet では処理結果のみを受信

Applet では、セキュリティー上の問題が発生している。

Servlet は、 Server 上で実行されるのでファイルを自由に扱える。

Page 11: Java による Electronic Commerce System の開発

CGI

WWWServer

初期化処理

共有Resource

ServletThread

ServletThread

ServletThreadCGI

初期化処理

Resource

CGI

初期化処理

Resource

CGI

初期化処理

Resource

WWWServer

Servlet

効率 :プロセスと比較した場合、スレッドの方が効率的

Page 12: Java による Electronic Commerce System の開発

CGIプログラム

Servletプログラム

プラットフォーム A

プラットフォーム B

プラットフォーム C

移植性 :  Java の持つプラットフォーム独立性により、高い 移植性を維持出来る。

Page 13: Java による Electronic Commerce System の開発

Servlet

Servlet への入出力 Http プロトコルを使用する場合

ServletRequest

ServletResponse

Servlet

HttpServletRequest

HttpServletResponse

Page 14: Java による Electronic Commerce System の開発

ECObjectECClient ECServer

各サーバ間でのデータの交換

Request

Response

Page 15: Java による Electronic Commerce System の開発

・ Servlet Runner ・ Java Web Server

Servlet を管理・運用するプログラム。 JSDK(Java Servlet Development Kit) に付属している。

今回 , 主に使用した環境。

それ自身、 Servlet 群によって構成されたWeb Server 。

Sun Mycrosystems の製品。

Page 16: Java による Electronic Commerce System の開発

・ RDB への接続の確立

・ SQL 文の送信

・ SQL 文実行結果の処理

( 2 ) JDBC の機能

( 1 ) JDBC の概要

JavaApplication/Applet RDB

JDBC

2.3.2JDBC について

Page 17: Java による Electronic Commerce System の開発

       JDBC   ドライバ・マネージャ

    JDBC  ドライバ

    JavaApplication/Applet

JDBC API

RDB

JDBC API

JDBC 構成図

Page 18: Java による Electronic Commerce System の開発

JDBC ー ODBC ブリッジドライバを含めた JDBC構成図

       JDBC   ドライバ・マネージャ

    JDBC  ドライバ

    JavaApplication/Applet

JDBC API

RDB

JDBC API

JDBC - ODBC ブリッジ・ドライバ

Page 19: Java による Electronic Commerce System の開発

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

Page 20: Java による Electronic Commerce System の開発

3.2  商店サーバシステム今回の研究では商店の一つの例として本屋(山田書店)を考えた。

・この本屋はインターネットを通してお客からの 注文を受ける。・注文の品物は宅配便で郵送する。・決済はクレジットカードで行う。

Page 21: Java による Electronic Commerce System の開発

( 1 )機能

•本のカタログの表示

•本の詳細な情報を表示

•ユーザ毎の購入情報の作成

•ユーザの注文の追加、削除、表示

•代金の表示

•ユーザのクレジットカードについての調査の依頼

•注文をデータベースへ格納

Page 22: Java による Electronic Commerce System の開発

(2)商店サーバの構成

商店サーバは以下の二つからなっている

•本の情報や注文を格納するデータベース

•SHOSEKI_TABLE•ORDER_TABLE

•( 1 )の機能を実現する Servlet

8 つの Servlet を開発した

Page 23: Java による Electronic Commerce System の開発

( 3 )商店データベース

・SHOSEKI_TABLE

  本の情報が入っているテーブル

・ORDER_TABLE

  ユーザの注文を格納するテーブル

Page 24: Java による Electronic Commerce System の開発

( 4 )商店 Servlet の説明

•FrameServlet  フレームの Servlet

Page 25: Java による Electronic Commerce System の開発

•MainpageServlet  メインページを表示する

Page 26: Java による Electronic Commerce System の開発

•CatalogServlet  カタログページを表示する

本の詳細へのリンクと注文の追加をする

Page 27: Java による Electronic Commerce System の開発

•BookdetailServlet  本の詳細を表示する

Page 28: Java による Electronic Commerce System の開発

•ShowBoxServlet  買い物かご、代金を表示する

注文の削除をする

Page 29: Java による Electronic Commerce System の開発

•CasherServlet  ユーザの情報を入力する

Page 30: Java による Electronic Commerce System の開発

•ConfirmServlet  ユーザに最終確認を促す

Page 31: Java による Electronic Commerce System の開発

•RecieptServlet  ユーザへのお礼を表示するユーザの調査をして問題がない場合、

注文をデータベースへ格納する

Page 32: Java による Electronic Commerce System の開発

①クレジット会社内部での機能

・全体の制御

・クレジットカードの新規登録

・クレジットカードの検索

・クレジットカードの変更

・クレジットカードの削除

3.3 クレジット会社サーバシステム( 1 )

機能

Page 33: Java による Electronic Commerce System の開発

②商店・銀行に対するサーバ機能

・商店からユーザについての情報を受け取る

・送られてきた情報が正しいかどうかをチェック

・チェックした結果を商店に返す

・クレジット会社の口座から商店の口座への送金

の依頼

・ユーザーの口座からクレジットの会社口座への

送金の依頼

Page 34: Java による Electronic Commerce System の開発

・クレジットカードの新規登録( Insert.class )

・全体の制御( Kokyaku.class )

①クレジット会社内部での処理( 2 )処理 →Application で開発

Page 35: Java による Electronic Commerce System の開発

・クレジットカードの検索( Select.class )

Page 36: Java による Electronic Commerce System の開発

・クレジットカードの変更( Update.class )

Page 37: Java による Electronic Commerce System の開発

・クレジットカードの削除( Delete.class )

Delete

Select

Update

Insert

Kokyaku

Appl ication の関連図

Page 38: Java による Electronic Commerce System の開発

クレジット会社

商店 銀行

クレジット番号、 パスワード、   店 ID 、購入金額

  パスワードの  照合結果

振込み結果

①クレジット会社の口座番号、  商店の口座番号、      振り込み金額

②ユーザーの口座番号、    クレジット会社の口座番号、   引き落とし金額

クレジット会社に関するデータのやり取り    → CreditServlet.class

②商店・銀行に対するサーバ処理

→Servlet で開発

Page 39: Java による Electronic Commerce System の開発

(3) データベース設計

・ BANK   取引先の銀行に関する情報

・ CARD   クレジットカードに関する情報

・ KOKYAKU  顧客に関する情報

・ SHOP   取引先の商店に関する情報

・ SHOPORDER  商店から受け取った情報

・ USERLIST   1ヶ月ごとのユーザー注文金額

以下の 6 つのテーブルを持つ

Page 40: Java による Electronic Commerce System の開発

3.4銀行サーバシステム

電子商取引におけるお金の管理

•口座の新設、抹消、書き換え、表示

servlet で開発

application で開発

(1)機能

•口座間でのお金の移動

Page 41: Java による Electronic Commerce System の開発

クレジット会社

依頼メッセージ

銀行サーバ(BankServlet) 送信先の口座番号

送金元の口座番号

振込み金額

•口座間でのお金の移動クレジット会社との処理← servlet で実現

Page 42: Java による Electronic Commerce System の開発

依頼メッセージの確認

送信元口座番号の確認

送信先口座番号の確認

送信先の残高の確認

BANK

データベース

銀行サーバ(BankServlet)

•口座間でのお金の移動( Cont. )クレジット会社との処理← servlet で実現

Page 43: Java による Electronic Commerce System の開発

BANK

データベース

口座振込みの実行

口座振込みの実行

銀行サーバ(BankServlet)

•口座間でのお金の移動( Cont. )クレジット会社との処理← servlet で実現

Page 44: Java による Electronic Commerce System の開発

応答メッセージ

終了メッセージOR

エラーメッセージ

銀行サーバ(BankServlet)

クレジット会社

•口座間でのお金の移動( Cont. )クレジット会社との処理← servlet で実現

Page 45: Java による Electronic Commerce System の開発

•口座の新設、抹消、書き換え、表示

• Mode クラス  : メニュー画面• Select クラス : 口座の表示• Insert クラス  : 口座の新設• Update クラス : 口座の書き換え• Delete クラス : 口座の抹消• Quit クラス : プログラム終了の

確認

各クラスの機能← application で開発

Page 46: Java による Electronic Commerce System の開発

•口座の新設、抹消、書き換え、表示各クラスの機能← application で開発メニュー画面( Mode.cl

ass )表示画面( Select.class )

条件を指定して口座の表示

Page 47: Java による Electronic Commerce System の開発

•口座の新設、抹消、書き換え、表示( Cont. )

各クラスの機能← application で開発メニュー画面( Mode.cl

ass )新設画面( Insert.class )

各項目を入力して新規登録

Page 48: Java による Electronic Commerce System の開発

•口座の新設、抹消、書き換え、表示( Cont. )

各クラスの機能← application で開発メニュー画面( Mode.cl

ass )口座抹消画面( Delete.class )

口座番号を指定して口座の抹消

Page 49: Java による Electronic Commerce System の開発

•口座の新設、抹消、書き換え、表示( Cont. )

各クラスの機能← application で開発メニュー画面( Mode.cl

ass )書き換え画面( Select.class )

口座番号を指定して、変更項目を入力、口座の更新

Page 50: Java による Electronic Commerce System の開発

•口座の新設、抹消、書き換え、表示( Cont. )

各クラスの機能← application で開発メニュー画面( Mode.cl

ass )終了画面( Quit.class )

終了の確認


Recommended