Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Application Server 7, Enterprise Edition サーバーアプリケーションの移行および再配備

付録 A
iBank アプリケーションの仕様

この章では、移行例として iBank アプリケーションを使用します。このアプリケーションは、次の機能を持つ基本的なオンラインバンキングサービスをシミュレートします。

アプリケーションは MVC (Model-View-Controller) モデルに基づいて設計されています。

アプリケーションコンポーネントのアセンブルと配備には、標準 J2EE メソッドを使用します。これには、配備記述子の定義とアプリケーションコンポーネントのアーカイブファイルへのアセンブルが含まれます。

標準の J2EE アセンブルメソッドを使用すると、Sun ONE Application Server 6.0/6.5 と Sun ONE Application Server 7 間の相違やそれに伴う問題点を指摘するのに役立ちます。

アプリケーション開発用ツール

Sun ONE Studio Enterprise Edition for Java、リリース 4.0
Oracle 8i 8.1.6

データベーススキーマ

iBank データベーススキーマは次のビジネスルールに基づいて決定されます。

これらのビジネスルールを図解したものが次のエンティティ関連図です。

図 A-1 データベーススキーマ

この図は iBank アプリケーションのデータベーススキーマを示しています。

次に示すのはデータベースモデルから作成された表定義です。主キー列は太字、外部キー列は斜体で示されます。

BRANCH

BRANCH_CODE

CHAR(4)

NOT NULL

支店を識別する 4 桁のコード

BRANCH_NAME

VARCHAR(40)

NOT NULL

支店名

BRANCH_ADDRESS1

VARCHAR(60)

NOT NULL

支店の住所、1 行目

BRANCH_ADDRESS2

VARCHAR(60)

 

支店の住所、2 行目

BRANCH_CITY

VARCHAR(30)

NOT NULL

支店の所在都市

BRANCH_ZIP

VARCHAR(10)

NOT NULL

支店の郵便番号

BRANCH_STATE

CHAR(2)

NOT NULL

支店の住所、都市名略称

CUSTOMER

CUST_NO

INT

NOT NULL

iBank 顧客番号 (グローバル)

BRANCH_CODE

CHAR(4)

NOT NULL

この顧客が口座を持つ支店

CUST_USERNAME

VARCHAR(16)

NOT NULL

顧客のログインユーザー名

CUST_PASSWORD

VARCHAR(10)

NOT NULL

顧客のログインパスワード

CUST_EMAIL

VARCHAR(40)

 

顧客の電子メールアドレス

CUST_TITLE

VARCHAR(3)

NOT NULL

顧客の称号

CUST_GIVENNAMES

VARCHAR(40)

NOT NULL

顧客の名

CUST_SURNAME

VARCHAR(40)

NOT NULL

顧客の姓

CUST_ADDRESS1

VARCHAR(60)

NOT NULL

顧客の住所、1 行目

CUST_ADDRESS2

VARCHAR(60)

 

顧客の住所、2 行目

CUST_CITY

VARCHAR(30)

NOT NULL

顧客の居住都市

CUST_ZIP

VARCHAR(10)

NOT NULL

顧客の郵便番号

CUST_STATE

CHAR(2)

NOT NULL

顧客の住所、都市名略称

ACCOUNT_TYPE

ACCTYPE_ID

CHAR(3)

NOT NULL

3 桁の口座タイプコード

ACCTYPE_DESC

VARCHAR(30)

NOT NULL

口座タイプの説明

ACCTYPE_INTERESTRATE

DECIMAL(4.2)

DEFAULT 0.0

年利

ACCOUNT

BRANCH_CODE

CHAR(4)

NOT NULL

支店コード (主キー構成要素 1)

ACC_NO

CHAR(8)

NOT NULL

口座番号 (主キー構成要素 2)

CUST_NO

INT

NOT NULL

口座名義人

ACCTYPE_ID

CHAR(3)

NOT NULL

口座タイプ。ACCOUNT_TYPE を参照

ACC_BALANCE

DECIMAL(10.2)

DEFAULT 0.0

決済後の利用可能残高

TRANSACTION_TYPE

TRANSTYPE_ID

CHAR(4)

NOT NULL

4 桁の取引タイプコード

TRANSTYPE_DESC

VARCHAR(40)

NOT NULL

取引コードの説明

TRANSACTION_HISTORY

TRANS_ID

LONGINT

NOT NULL

全取引のシリアル番号

BRANCH_CODE

CHAR(4)

NOT NULL

ACCOUNT 参照キー構成要素 1

ACC_NO

CHAR(8)

NOT NULL

ACCOUNT 参照キー構成要素 2

TRANSTYPE_ID

CHAR(4)

NOT NULL

TRANSACTION_TYPE を参照する項目

TRANS_POSTDATE

TIMESTAMP

NOT NULL

取引の記帳日付および時刻

TRANS_DESC

VARCHAR(40)

 

取引に関する追記事項

TRANS_AMOUNT

DECIMAL(10.2)

NOT NULL

取引額

アプリケーション間の移動とロジック

アプリケーション間の移動についての上位レベルビュー

図 A-2 アプリケーション間の移動とロジック

この図は各 iBank アプリケーション間の移動についての上位レベルビューです。

アプリケーションコンポーネント

データベーススキーマの各表はエンティティ Bean としてカプセル化されます。

エンティティ Bean

データベーステーブル

Account

ACCOUNT 表

AccountType

ACCOUNT_TYPE 表

Branch

BRANCH 表

Customer

CUSTOMER 表

Transaction

TRANSACTION_HISTORY 表

TransactionType

TRANSACTION_TYPE 表

ほとんどすべてのエンティティ Beans がコンテナ管理による持続性 (CMP) を使用します。ただし Customer は例外で、Bean 管理による持続性 (BMP) を使用します。

現在アプリケーション側では Account、AccountType、Branch、および Customer beans だけを使用しています。

InterestCalculator Bean はステートレスセッション Bean であり、資金計算をカプセル化します。projectEarnings() メソッドによる複利計算で使用されます。

移行時に発生する問題を考慮した最適な設計の選択

アプリケーションの設計については、特に「実際の」コンテキストで議論すべきものが多いのは確かですが、一般的な J2EE アプリケーションの移行で発生する可能性がある問題を、サンプルアプリケーションでできるだけ網羅することも考慮する必要があります。

このセクションでは J2EE アプリケーションの移行時に発生する可能性がある問題を検討し、移行時にこれらの問題をチェックするために iBank に用意されているコンポーネントについて説明します。

選択された移行を処理するための次のテクノロジーに焦点を当てて説明します。

サーブレット

iBank アプリケーションにはサーブレットがいくつか用意されており、以下についての潜在的な問題を特定できます。

Java Server Pages

JSP の仕様に関しては次の面を重視しています。

JDBC
Enterprise Java Beans (EJB)
アプリケーションアセンブリ



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.