ビジネス形態を変えるWebサービス

Download Report

Transcript ビジネス形態を変えるWebサービス

静岡大学学部講演会
UMLの適用とMDAへの取組み
平成15年7月8日
株式会社NTTデータ
工学博士 山本修一郎
Copyright 2003 NTT DATA CORPORATION
会社概要
1.商号
株式会社エヌ・ティ・ティ・データ NTT DATA Corporation
2.本社所在地 東京都江東区豊洲3-3-3 豊洲センタービル
3.設立年月日 1988年(昭和63年) 5月23日
4.資本金
1,425億2,000万円(H15年3月31日現在)
5.売上高
8321億円(H15年3月期)
6.従業員数
7,550名(H15年3月31日現在)
7.事業内容
コンピュータなどのハードウェアと各種のソフトウェアを統合することとにより、
全国的な規模を持つコンピュータネットワークから個々の企業戦略をサポート
するデータ通信システムの構築。
◆公共分野
中央省庁、地方公共団体様向けシステム 等
◆金融分野
全銀協、都銀、地銀、信金様向けシステム 等
◆産業分野
個別企業様向け企業情報システム 等
◆新規ビジネス創出
ITをコアとしたビジネス/サービスの企画・開発等、新時代のビジネスモデル
の創造
1
Copyright 2003 NTT DATA CORPORATION
本日のアジェンダ
1 UMLの基本概念
2 UMLの適用事例
3 MDAコンパイラなどの研究事例
4 UMLの課題
2
Copyright 2003 NTT DATA CORPORATION
1 UML の基礎
Copyright 2003 NTT DATA CORPORATION
UMLとオブジェクト指向
4
Copyright 2003 NTT DATA CORPORATION
UMLとは?
• UML (Unified Modeling Language)
– オブジェクト指向開発の標準的なモデリング手法
– 3つのOO手法を統合
• OMT (James Rumbaugh)
• OOSE (Ivar Jacobson)
• Booch (Grady Booch)
• 参考文献
[1] OMG, UML Resource Page, http://www.omg.org/technology/uml/index.htm
[2] Unified Modeling Language (UML), version 1.4,
http://www.omg.org/technology/documents/formal/uml.htm
[3] Eriksson and Penker, UML Toolkit, Wiley computer publishing, 1998.
• CASE tools
– Rational ROSE (Rational)
– Together/J (Coad)
– Argo/UML (Open Source from USC)
5
Copyright 2003 NTT DATA CORPORATION
UML図式の関係
OOD[Booch, 86]
オブジェクト図
Statecharts[Harel, 88]
状態遷移図
ERモデル[Chen, 76]
ER図
プロトコル設計法
状態遷移図
シーケンス図
業務分析法
ワークフロー図
Booch法[Booch, 91]
クラス図
オブジェクト図
状態図
モジュール図
プロセス図
OMT法[Rumbaugh, 91]
クラス図
状態遷移図
OOSE法[Jacobson, 92]
ユースケース図
オブジェクト図
インタラクション図
UML[Rational, 97]
ユースケース図
クラス図
オブジェクト図
状態図
アクティビティ図
シーケンス図
コラボレーション図
コンポーネント図
配置図
Fusion法[HP, 92]
オブジェクト交信図
6
Copyright 2003 NTT DATA CORPORATION
UML図式
分類
構造
振舞
実装
図式
説明
クラス図
システムを構成するクラス間の関係を記述する
オブジェクト図
特定の時点におけるオブジェクト間の関係を記述する
ユースケース図
システムの機能と外部環境との関係を記述する
シーケンス図
オブジェクト間のメッセージの送受信関係を時系列で記述する
コラボレーション図
オブジェクト間のメッセージの送受信関係を平面上で記述する
状態図
オブジェクトの状態遷移を記述する
アクティビティ図
一連の作業を構成するアクティビティ間の関係を記述する
コンポーネント図
ソフトウェアを構成するコンポーネント間の関係を記述する
配置図
オブジェクトやコンポーネントの物理的な配置関係を記述する
7
Copyright 2003 NTT DATA CORPORATION
UMLの構成
項目
説明
ビュウ
ビュウでは複数の図式を用いて,ある観点に従ってシステムの持つ抽象的な
構造を図式的に表す.UMLには,次の5種のビュウがある.ユースケースビュウ,
論理ビュウ,並行性ビュウ,コンポーネントビュウ,配置ビュウである.
図式
UMLでは図式によりビュウの具体的な内容を表現する.UMLには次の9種の
図式がある.ユースケース図,クラス図,オブジェクト図,状態図,シーケンス図,
コラボレーション図,アクティビティ図,コンポーネント図,配置図である.
モデル要素
システムを9種の図式によりモデル化するために必要となる図式の構成要素
がモデル要素である.図式の中で用いられるモデル要素がビュウ要素である.
モデル要素間の関係には,関連,依存,汎化,遷移などがある.図式では表現
されない要素とがある.
一般機構
すべての図式に共通して用いられる一般的な表現機構として,モデル要素に
対する名前の記述規約,注釈,プロパティがある.プロパティによりモデル要素
に対する付加的な仕様を定義できる.
拡張機構としてタグ値,制約,ステレオタイプの3種がある.タグ値はプロパ
ティ名とその値の組により,既存のプロパティを拡張する.制約はモデル要素の
使用法や意味を制限する.ステレオタイプは既存のモデル要素に対して意味を
追加できる.
8
Copyright 2003 NTT DATA CORPORATION
UMLのビュウ
ビュウ
説明
担当者
図式
ユースケースビュウ
外部アクタの観点からシステ
ムの機能を示す
顧客,設計/開発/試
験担当
ユースケース図
アクティビティ図
論理ビュウ
システムの静的な構成と動的
な振舞いの観点からシステム
の論理的な構造を示す
設計/開発担当
クラス図
オブジェクト図
状態図
シーケンス図
コラボレーション図
アクティビティ図
コンポーネントビュウ
システムを構成するソフトウェ
ア要素間の関係を示す
開発担当
コンポーネント図
並行性ビュウ
並行プロセスの観点からシス
テムの構成要素間の通信や同
期の関係を示す
開発/統合担当
状態図
シーケンス図
コラボレーション図
アクティビティ図
コンポーネント図
配置図
配置ビュウ
物理的な配置の観点からシス
テム構成要素間の関係を示す
開発/統合/試験担当
配置図
9
Copyright 2003 NTT DATA CORPORATION
ユースケースの構造
項目
記述1
記述2
記述3
記述4
記述5
アクタ
アクタ
アクタ
ユーザ
アクタ
アクタ
ユースケー 首尾一貫した
ス名
機能の単位
相互作用
の目的
一般的な
目的
使う目的
価値のある
結果
一連のメッ
セージの集合
相互作用
の系列の
集合
一群のシ
ナリオ
使い方の
集合
一連のアク
ションの集
合
一連の
メッセージ
相互作用
の系列
一つのシ
ナリオ
イベントの
フロー
一連のアク
ション
アクションを伴
うメッセージ
相互作用
シナリオの
要素
イベント
アクション
システム
クラス
システム
システム
システム
システム
ユースケー
スの内容
システム
10
表注:下線は筆者が補完
Copyright 2003 NTT DATA CORPORATION
ユースケース図の構成要素
名称
図形
名称
<<Actor>>
アクタ名
アクタ
ユースケー
スの一般化
図形
ユースケース名
ユースケース名
ユースケース名
ユースケース名
アクタ名
ユースケー
ス
拡張
ユースケース名
<<extend>>
拡張点
拡張点
システム名
システムの
範囲
包含
アクタの一
般化
実現
ユースケース名
ユースケース名
<<include>>
一般アクタ名
ユースケース名
ユースケースの
実現名
<<representedClassifier>>
特殊アクタ名
11
Copyright 2003 NTT DATA CORPORATION
例題:
eLWISE 情報流通
http://www.ntt.com/public/elwise/info02.html
12
Copyright 2003 NTT DATA CORPORATION
ICカードビジネスプラットフォームの概念図
http://www.ntt.com/public/elwise/info02.html
13
Copyright 2003 NTT DATA CORPORATION
ユースケーステキストの例
[機能]APをダウンロードする
1.カード所有者がサービス提供者のAPカタログを参照して利用したいAPを選択する
2.カード所有者がAPダウンロードをサービス提供者に申し込む
3.サービス提供者がAPダウンロード申し込みを確認する
4.サービス提供者がAPダウンロードの許可をカード発行者に依頼する
5.カード発行者がAP搭載課金情報をカードに設定する
6.カード発行者がAPダウンロードを許可する
7.サービス提供者がAPダウンロード許可を確認する
8.サービス提供者がAPをダウンロードする
9.サービス提供者がAPダウンロード料金の請求書をカード所有者に送る
10.カード所有者がAPダウンロード料をサービス提供者に支払う
11.カード発行者がAP搭載料の請求書をサービス提供者に送る
12.サービス提供者がAP搭載料をカード発行者に支払う
確認
サービス提供者がカード所有者のカードを認証する
カード発行者がカード所有者を認証する
カード発行者がAPを認証する
サービス提供者がカード発行者を認証する
カードの空き容量を確認する
APダウンロードの完了を確認する
14
Copyright 2003 NTT DATA CORPORATION
コラボレーション図式の関係
記述対象
モデリング言語
種別
時間
システム外部
ユースケース
システム内部
相互作用
状態
テキスト
シーケンス図
実行経路
空間
コラボレーション図
アクティビティ図
シナリオ
15
Copyright 2003 NTT DATA CORPORATION
ユースケースとコラボレーション図の関係
ユースケース
<<realizes>>
コラボレーション
<<implements>>
仕様
コラボレーション図-- 仕様レベル
ユースケース記述
クラス
クラス
ロール
インスタンス
シーケンス図
オブジェクト
オブジェクト
コラボレーション図-- インスタンスレベル
オブジェクト
メッセージ
16
メッセージ
オブジェクト
Copyright 2003 NTT DATA CORPORATION
ユースケースとオブジェクトのステレオタイプ
ユースケース
Control
Boundary
アクタ
Entity
Copyright 2003 NTT DATA CORPORATION
ユースケースによるコラボレーションオブジェクト分析
カードにAPを
ダウンロードする
カード発行者
カード所有者
サービス提供者
境界
制御
APダウンロード
ウィンドウ
境界
APダウン
ロード管理
カード所有者
カード発行者
サービス提供者
実体
カード領域
18
Copyright 2003 NTT DATA CORPORATION
ユースケースに基づくコラボレーション図の作成
1.
2.
3.
4.
5.
6.
ユースケース図を作成する
ユースケース図に基づいてコラボレーション図を作成する
ユースケース図のアクタおよびアクタとユースケースの関係を
分析して境界オブジェクトを抽出する
ユースケースに基づいて制御オブジェクトを抽出する
ユースケースシナリオで操作される情報に基づいて実体オブ
ジェクトを抽出する
ユースケースシナリオに基づいてオブジェクト間のメッセージフ
ローを抽出する
19
Copyright 2003 NTT DATA CORPORATION
APダウンロードのコラボレーション図
13.SPがSDにレシートを送信
7.SDがSPへのダウ
ンロード可否を判断
5.SPがCHへのダウ
ンロード可否を判断
6.SPがSDに許可証
を要求
:カード発行者
:サービス提供者
8.SDがSPにダウン
ロード許可証を送信
: APダウンロード
ウィンドウ
1.ALCがCHにダウン
ロードAPを提示
3.ALCがALにダ
ウンロード要求
9.SPがALにダ
ウンロード許可
証を送信
:カード所有者
12.ALがSPに
レシートを送信
: APダウンロード
管理
10.ALがCH
のカードにAP
をダウンロード
2.CHがダウン
ロードAPを選択
4.ALがSPにダウン
ロード許可証を要求
11.CMがALに
レシートを送信
:カード領域
20
Copyright 2003 NTT DATA CORPORATION
シーケンス図の構成要素
分類
図形
オブジェクト名:クラス名
列
生命線
活性区間
説明
オブジェクトの存在区間
X
オブジェクトの実行制御区間
手続き呼び出し
メッセージ
非同期通信
手続きの結果通知
21
Copyright 2003 NTT DATA CORPORATION
シーケンス図のメッセージ例
Object:Class
Object:Class
Object:Class
Object:Class
Object
Object
Object
Object:Class
メッセージとリターン
Object
Object
オブジェクト生成
Object:Class
再帰
Object:Class
条件分岐
Object:Class
Object:Class
非同期メッセージ
X
生命線の結合
自己削除
22
X
削除
Copyright 2003 NTT DATA CORPORATION
ユースケースシナリオに基づくシーケンス図の作成
1.
2.
ユースケース図を作成する
ユースケース図に基づいてシーケンス図を作成する
①
②
③
④
⑤
ユースケース図のアクタおよびアクタとユースケースの関係を分析し
て境界オブジェクトを抽出する
ユースケースに基づいて制御オブジェクトを抽出する
ユースケースシナリオをシーケンス図の左のテキスト領域に転記する
ユースケースシナリオで操作される情報に基づいて実体オブジェクトを
抽出する
ユースケースシナリオに基づいてオブジェクト間のメッセージフローを
抽出する
23
Copyright 2003 NTT DATA CORPORATION
ユースケースによるシーケンス図の作成
入荷積荷票
出庫依頼
出庫指示
納品書
倉庫係
出荷確認書
注文主
在庫不足通知
ユースケース
受け付け業務
注文主が出庫を依頼する
在庫を確認する
在庫不足なら不足品を
発注係に発注する
在庫があれば倉庫係に
出庫を指示する
倉庫係が出荷を確認する
在庫を更新する
注文主に納品書を提示する
発注係
: 注文主
: 出庫依頼画面
出庫依頼
: 出庫指示
: 発注係
: 在庫
: 倉庫係
出庫依頼
注文主が出庫を依頼
する
在庫を確認する
シナリオ
不足発注書
[在庫不足]不足品発注
在庫不足なら不足品
を発注係に発注する
[在庫あり]出庫指示
在庫があれば倉庫係
りに出庫を指示する
出荷確認
倉庫係が出荷を確認
する
在庫を更新する
在庫更新
納品書
注文主に納品書を提
示する
24
Copyright 2003 NTT DATA CORPORATION
UML Sequence Diagrams
クラス
Object:Class
:Actor
• In requirements analysis
To refine use case descriptions
to find additional objects
(“participating objects”)
message()
• In system design
insertCoins()
to refine subsystem interfaces
pickupChange()
活性区間
pickUpTicket()
• Columns = classes
• Arrows = messages
• Narrow rectangles =
activations
生命線
• Dashed lines = lifelines
メッセージ
25
Copyright 2003 NTT DATA CORPORATION
JavaCard Applet
端末
JCRE
JCRE
install()
コマンド
APDU
select()
•JCREがアプレットのAIDを管理
•指定されたAIDをもつアプレットを
selectメソッドにより選択
•APDUコマンドをアプレットに渡し
processメソッドにより実行
•レスポンスAPDUを端末に返却
process()
Downloaded
deselect()
install()
Selectable
レスポンス
APDU
CAPファイルをダ
ウンロード
アプレットを実行
可能にする
deselect()
select()
Selected
process()
JCRE:JavaCard Rutime Enviroment
26
Copyright 2003 NTT DATA CORPORATION
カードAPダウンロード処理シーケンス
ユーザ
端末AP
(アプレット)
カードCM
端末基本
AP
リクエスト
ブローカ
NICE
HTMLボタン押下
カードAPダウンロード要求
downloadAP()
カードCM選択
APDU送信
APDU応答
APダウンロード
APDU送信
・カードAPダウンロードには
複数コマンドが必要なため、
繰り返し実行
APDU応答
カードAPダウンロード
結果通知
cmdResp(cmdResp)
HTML作成
次HTML表示
サービス開発部分
27
Copyright 2003 NTT DATA CORPORATION
クラスとオブジェクト
クラス
オブジェクト
注文
注文15 : 注文
名前
発生日
注文番号
注文価格
納品日
発生日 = “2002.2.1”
注文番号 = “ODR0015”
注文価格 =“ \ 10,000”
納品日 = “2002.2.28”
属性
28
Copyright 2003 NTT DATA CORPORATION
クラス間の関係
分類
説明
関連
association
誘導可能性
navigability
集約
aggregation
複合(集約)
Composition
(Composite
aggregation)
一般化(汎化)
generalization
互いのクラスのインスタンス間に関係がある
ことを示す.
記法
あるクラスから関連する他のクラスのインス
タンスを検索できることを示す.
全体を表すクラスとその部分を表すクラスと
の関係を示す.関連の特別な場合.
部分
全体
全体を表すクラスと,その要素として含まれ
るクラスとの関係を表す.要素クラスは異な
るクラスに含まれないことが必要である.集
約よりも強い関係を表す.
部分
全体
一般的なクラスと具体的なクラスとの関係を
示す.
具体
一般
依存
dependency
あるクラスの変更が他のクラスに影響するこ
とを示す .
影響
変更
実現
realization
仕様を表すクラスとその仕様を実現するクラ
スとの関係を示す.
実現
仕様
29
Copyright 2003 NTT DATA CORPORATION
クラス図の関連の例
0..*
フォルダ
0..*
ファイル
注文
0..1
1
内容 *
*
注文品目
*
1
1
.txt形式
ファイル
.html形式
ファイル
企業
.pdf形式
ファイル
顧客
contains
1..*
contained by
雇用主 *
work
商品
事業部
1
1..*
1..*
従業員
社員
30
work
Copyright 2003 NTT DATA CORPORATION
クラス表現のレベル
概念レベル
仕様レベル
実装レベル
注文
注文
注文
発生日
注文番号
注文価格
納品日
承認する
発出する
検収する
決済する
名前
+
+
+
+
+
発生日: Date
注文番号: String
注文項目名: String
注文価格: int
納品日: Date
延滞金率 : int = 15
支払い状態 : Status
= unpaid{ unpaid, paid}
属性
+
+
+
+
-
承認する(発生日: Date)
発出する(注文番号: String)
検収する(検収日: Date)
決済する()
遅延金を計算する
(納品日: Date, 検収日: Date): int
操作
31
Copyright 2003 NTT DATA CORPORATION
属性や操作を追加したクラス図の例
32
Copyright 2003 NTT DATA CORPORATION
出庫指示クラスに対する状態図の例
送信メッセージ
送信相手
ガード式
開始状態
[ 在庫不足商品あり ] ^製造業者.商品を発注する(商品)
状態の名前区画
自己遷移
出庫依頼受付
[ 在庫不足商品あり ]
商品入庫待ち
do/ ^在庫.在庫チェック(商品細目)
状態の内部遷移区画
状態遷移
[ すべての商品の在庫あり ]
商品出庫
[ すべての商品の在庫あり ]
状態
終了状態
33
Copyright 2003 NTT DATA CORPORATION
状態図の構成要素
構成要素
記法
説明
開始状態
ROSE
状態図の開始状態
○
状態図の終了状態
○
状態
名前区画と内部遷移区画からなる
○
複合状態
複数の状態からなる状態
○
状態遷移
状態間の遷移
○
並行領域
同時に並行して存在する複数の状態
△
並行遷移
並行遷移
○
内部状態を記録しておき再開後に復帰する
○
遷移の分岐点
状態遷移の分岐
△
遷移の合流点
状態遷移の合流
△
並行状態間の同期
-
終了状態
●
●
履歴標識
同期状態
H
*
34
Copyright 2003 NTT DATA CORPORATION
複合状態を持つ状態図の例
ICカード挿入中
カード保持中
ICカード未挿入
暗証番号入力中
カード挿入
要求
正常暗証番号
不正暗証番号
カード挿入
カード排出中
異常終了
不正カード
カード排出
不正口座
口座チェック
中
正常口座
口座処理中
正常終了
キャンセル
35
Copyright 2003 NTT DATA CORPORATION
クラス図と状態図:JavaCardの例
カードレットのクラス図
カードレットの状態図
初期状態
Downloaded
ユーザ定義Cardlet
install():インストール操作
select() :選択操作
deselect() :解放操作
process():APDUコマンド操作
CAPファイルをダウ
ンロードした状態
install
カードレットが
選択可能な状態
Selectable
deselect
select
Selected
カードレットが
実行可能な状態
process
操作
イベント
CAP: Converted Applet – JavaCard上で実行可能なバイナリ形式ファイル
36
Copyright 2003 NTT DATA CORPORATION
OMG標準化プロセスのアクティビティ図
提案チーム
タスクフォース
改訂タスクフォース
開始
RFP発行
技術仕様を作成
RFP
[発行]
ドラフトを投稿
複数提案を調整
仕様を完成
仕様
[承認]
仕様を実装
仕様
[初期提案]
仕様
[最終提案]
初期提案を評価
最終提案を評価
推奨仕様を採決
[NO]
[YES]
仕様を実装
[else]
仕様
[改訂]
仕様を改訂
改訂を推奨
[Enhanced]
●
37
Copyright 2003 NTT DATA CORPORATION
アクティビティ図の構成要素
構成要素
図形
開始状態
アクティビティ図の開始状態
終了状態
●
アクション状
態
アクション名
サブアクティ
ビティ状態
判断
スイムレーン
オブジェクト
コントロールフ
ロー
オブジェクトフロー
並行遷移
説明
アクティビティ図の終了状態
アクション状態は入口アクションと少なくとも一つの出力遷移を持つ状態を表
す。
下位のアクティビティ図を表す。サブアクティビティ状態により階層的なアクティ
ビティ図を作成できる。
[ガード式]
レーン名
レーン領域
オブジェクト名
[ オブジェクト状態 ]
異なるガード条件に従う複数の出力遷移を表す。判断を示す菱形を用いて異
なる遷移を結合するマージも記述する。
アクションやサブアクティビティから構成されるアクティビティ図の部分領域(責
任範囲)を表す。スイムレーンをレーン名で区別する。
アクション状態により操作されるオブジェクトとその状態を表す。
アクション状態間の制御関係を表す
アクション状態とオブジェクト間の関係を表す
並行遷移と同期状態を表す
38
Copyright 2003 NTT DATA CORPORATION
コンポーネント図の構成要素
構成要素
図形
名前
コンポーネント
クラス
インタフェース
(省略形式)
インタフェース
(展開形式)
依存関係
名前
名前
名前
属性並び
操作並び
説明
コンポーネントを表す
コンポーネントによって実装されるクラスをコンポー
ネント図で明示的に示すことができる
コンポーネントが提供するサービスを円で表す。
サービスを提供するコンポーネントと円を実現関係を
実線で表す
コンポーネントが提供するサービスの属性や操作も
含めて矩形で
インタフェースを表す
コンポーネント間の依存関係を表す。依存関係のス
テレオタイプにはコンポーネントが包含するクラスを
示す<<reside>>関係とコンポーネントを実現する生産
物を示す<<implement>>関係がある。
39
Copyright 2003 NTT DATA CORPORATION
インタフェースの記述
コンポーネント
JavaVM
依存関係
インタフェース
CardletAPI
Cardlet
インタフェースの実現関係
省略形式によるインタフェースの記述例
<<interface>>
CardletAPI
JavaVM
APDU apdu
Cardlet
process( APDU apdu ):APDUコマンド処理
install( ):アプレットのインストール処理
select( ) :アプレットのセレクト時処理
deselect( ) :アプレットのデセレクト時処理
展開形式によるインタフェースの記述例
40
Copyright 2003 NTT DATA CORPORATION
コンポーネント図によるJavaクラスとファイルの記述例
<<auxiliary>>
Cataloginfo
<<focus>>
Catalog
<< auxiliary >>
CatalogPK
<<reside>>
<<reside>>
<<reside>>
<< EJBEntity>>
Catalog
<<implement>>
<< file>>
CatalogJAR
41
Copyright 2003 NTT DATA CORPORATION
配置図の構成要素
構成要素
図形
説明
ノード
ハードウェアなどの物理的な資源に対応
するノードを立方体で表す。ノードの属性
を表すステレオタイプには、
<<processor>>や<<device>>などがある。
ノードには配置するコンポーネントのイン
スタンスをノード内部に記述する。また、
コンポーネントからノードへの依存関係で
配置内容を示すこともできる。この依存
関係のステレオタイプは<<deploy>>であ
る。
接続
ノード間の物理的な接続関係を実線で表
す。接続関係を表すステレオタイプには、
<<TCP/IP>>, <<RS232C>>, <<HTTP>>,
<<IIOP>>などがある。
42
Copyright 2003 NTT DATA CORPORATION
多目的ICカード利用のフレームワーク
サービスオペレーション機能
不正防止機能
・カード発行者
・カードアクセス認証
・コマンド,APの正当性の検証 ・サービス提供者
・ホットリスト制御
コストシェア
・AP独立性の保障
課金
カード発行者
カード製造者
許可
Service
サービス
Provider
提供者
IC Card
カード発行
AP
インターネット
マルチAP管理機能
・カード発行/再発行
・カード内AP構成管理
・カードAP実行制御
コストシェア機能
・テナント管理
・ライセンス発行,管理
・カードアクセス制御
・課金制御
端末
AP AP
IC Card
利用者
43
AP 開発者
AP
アプリケーショ
ンダウンロード
APダウンロード機能
・サービス追加/削除
・リカバリ機構
・PKI(RSA)による
相互認証と暗号化
Copyright 2003 NTT DATA CORPORATION
ICカードPFインタフェース
クライアント
(業務端末,利用者端末)
ICカード
業務システム
顧客管理系,料金系・・・
端末アプリケーション
ICカードAP
業務サーバ
ICカードPFサーバ
〔ユーザ端末,運用端末 〕
ICカードサービス運用機能
〔カード発行,運用管理〕
ICカードPF I/F
カード管理機能
〔マルチAP,権限,鍵管理〕
クライアントライブラリ
JavaVM
市販AP
ブラウザ
ICカードPF基本機能
〔マルチAP,権限,鍵管理〕
アドレス管理,暗号処理
ELWISEカード
R/W
ミドル,OS,ハード
ミドル,OS,ハード
すべての適用先に共通する核となる部分
適用先ごとにユーザが個別に開発
44
Copyright 2003 NTT DATA CORPORATION
ICカード情報流通プラットフォーム:NICEの構成
オペレータ
端末
アクタ登録機関
サーバ
オペレータ
端末
OCF
RC
DB
OCF
Operator Terminal
登録
Web Server
CORBA
SD運用
サーバ
Web Server
CORBA
CORBA
DB
Directory Server (DS)
Web Server
CORBA
DB
DB
Service ProviderApplication
(SP)
Loader (AL)
サービス
運用サーバ
ディレクトリ
サーバ
IC Card
Web Server
CORBA
DB
DB
Card Issuer (CI) SD Operator (SO)
LDAP
R/W
運用操作
Web Server
ICカード発行
管理サーバ
IC Card
R/W
Operator Terminal
ICカードAP
配信サーバ
CORBA
DB
Broker(BR)
Web Server
ブローカサーバ
Internet
ユーザ端末
OCF
User Terminal
R/W
45
IC Card
Copyright 2003 NTT DATA CORPORATION
NICEの機能構成を示す配置図
①ICカードとSO,CI間
の通信処理
② CI ,SOの画面処理
RCサーバ
ICカード
①事業者登録
②公開鍵証明書の発行
③CRLの発行
④AP登録、証明書発行
IC R/W
ISO7816
HTTP
CIサーバ
TCP/IP
RC用
端末PC
①ルーティング処理
②不正接続の防止処理
③カード接続フック処理
④予約処理
OCF
SP/AL用
運用端末PC
CI/SO用
運用端末PC
OCF IC R/W
①ICカードとSP,AL間
の通信処理
②SP,ALの画面処理 HTTP
HTTP
SOサーバ
CORBA
CORBA
ブローカ
サーバ
ICカード
HTTP
SPサーバ
ALサーバ
①カードAP管理処理
②カードサービス提供処理
③ライセンス発行管理処理
④カードAP利用者管理処理
①カードのメモリ領域管理処理
②ライセンス発行管理処理
④ポリシ管理、カード設定処理
CORBA
ISO7816
①カードAPのダウンロード
インストール処理
②カードAPの削除処理
CORBA
ディレクトリ
HTTP
ICカード
ISO7816
IC R/W
①カード、APの不正利用・操作の防止処理
②カード内資源(SD,AP等)管理処理
③AP状態管理処理
46
OCF
利用者
端末PC
サーバ
HTTP
①接続先情報の検索処理
①ICカードとSP,CI間の通信の仲介処理
②利用者向けAP画面処理
Copyright 2003 NTT DATA CORPORATION
2 UML の適用事例
Copyright 2003 NTT DATA CORPORATION
UMLの適用事例
(1) モバイルPF開発への適用事例
(2) WebアプリケーションへのUMLの拡張
(3) UMLとXML
48
Copyright 2003 NTT DATA CORPORATION
(1) UMLによるモバイルPF開発の実際
Copyright 2003 NTT DATA CORPORATION
インスタントメッセージからコンテクスト・アウェアネスへ
IM:AirMessengerR
メッセージング技術
・メッセージ保証
・性能チューニング
・疑似プッシュ
・利用コスト削減
クライアント技術
・実装チューニング
・UIデザイン
・待ち受けAP
・絵文字変換
BOT技術
・フォームフロー
・リマインダ
・スケジューラ
・自動応答
【コミュニケーションサービス基盤】
■ 大規模NWサービスモデル
■ 会員サービスモデル
携帯電話
・UIM
・IDタグ
・センサー
実証実験
ベイスターズ
メッセンジャー
【BOT-SDKソリューション】
■ ポータブルアーキテクチャ
■ オープンソース化
【コンテクスト・アウェアネス基盤】
■ サービスディスカバリ
■ アクセス制御
■ コンテクスト自動変換
プレゼンス管理技術
・アクセス制御
・コンタクトリスト
・グループ管理
50
Copyright 2003 NTT DATA CORPORATION
Air Messenger
(TM)
の機能
ステータス変更
1. プレゼンス
自分のステータスを変更
相手のステータスが変化
2. メッセージ
メッセージ交換
フォーム作成
メッセージ交換
フォームへの回答
3. フォームフロー
フォームフロー
フォームフロー
結果通知
51
Copyright 2003 NTT DATA CORPORATION
ベイスターズファンの会員様向けのコミュニティサービス
「いつでも、どこでも、ベイスターズファン」
球場内


会員特典情
報
イベントのお
知らせ
選手最新情
報
試
合
中
 ベンチ裏、試合経過情報提供
 スポンサー賞品の抽選会
球場外
横浜ベイスターズ様
のメリット
会員コミュニティの活性化
会員数の増加
 クーポンによる景品引き替え
 MVP、ファインプレー投票
会員満足度
スポンサー満足度
の向上
テ
レ
ビ
前
 番組連動の投票、応募
コアファンの増加
会員リピート率の向上によ
る来場者数の増加
普
段
 会員特典情報の検索
 イベントのお知らせ
 選手最新情報
試
合
後
 企業マーク

試
合
前
 会員同士のコミュニケーション
 初HR、初ヒットの予想、投票
 応援グッズの案内、販売促進
52
Copyright 2003 NTT DATA CORPORATION
Air Messenger RBOT の概念
Air Messenger R とメッセージベースでやりとりしサービスを提供するプログラム
現在の株価は?
メッセージ送信
R
Air Messenger BOT
メッセージ受信
ウェブサイト /
ウェブサービス
情報検索 / 取得 / 保存
R
Air Messenger
メッセージ送信
メッセージ受信
各種データベース
明日の天気は?
53
Copyright 2003 NTT DATA CORPORATION
開発工程の概要
開発工程
内容
先行生産物
基本設計
・基本設計書作成
・技術検証
システム分析
方式設計
運用設計
・ユースケース抽出
・詳細ユースケース記述
・概念モデリング
・オブジェクト分析(BCE)
・方式設計書作成
システム設計
・サブシステム間シーケンス ・エンティティ設計
・画面設計
・画面シーケンス
・結合/総合試験項目抽出
プログラム設計
・プロトコル設計
・Log設計
・シーケンス図
プログラム製造
・疑似実装
・実装
・DB実装
・単体試験
結合/総合試験
・試験環境構築
・不具合改修
・試験実施
性能評価
・性能評価実施
・結果解析
・運用設計書作成
・DB設計
・クラス図
・コンポーネント図
54
Copyright 2003 NTT DATA CORPORATION
ユースケースの記述票
ユースケース名
~を~する
ユースケースID
UC01-01-01-02
概要
~を~する
アクター
Includeするユースケース
前提条件
後条件
アクティビティ図
イベントフロー[基本パス:典型的な正常系処理フロー]
[代替パス:規定の後条件を成立させるパスで正常系の処理フロー]
[代替パス:後条件が成立しえないパス。異常系。]
その他
【確定項目】
【未確定項
目】
55
Copyright 2003 NTT DATA CORPORATION
基本(詳細)設計書の構成
ユースケース
一覧
アクタ一覧
1
1.
アクタ
ユースケース
2.
2
3.
詳細ユースケース
4.
6
エンティティ図
サブシステム
シーケンス
7
6.
RDB、LDAP構成
4
オブジェクト図
サブシステム
5
サブシステム構成
B,C,Eオブジェクト分析
3
概念モデル
5.
7.
要件定義書から機能をユースケースとし
て抽出し、「アクタ」と「ユースケー
ス」を作成
ユースケースから詳細なフローを含む
「詳細ユースケース」を作成
システムの理想としての概念モデルと基
本シーケンスについて「概念モデル」を
作成
概念モデルからBCEオブジェクト分析を
行い「オブジェクト図」を作成
オブジェクト図に記述してあるサブシス
テムを「サブシステム」として切り出し
詳細ユースケースとオブジェクト図から
「エンティティ図」を作成
詳細ユースケース、エンティティ図、サ
ブシステムから「サブシステムシーケン
ス」を作成
サブシステム
一覧
56
Copyright 2003 NTT DATA CORPORATION
(2) Webアプリケーション・アーキテクチャ
Webブラウザ層
ブラウザ
アプリケーション層
Webサーバ層
Webサーバ
APサーバ
ビジネス
オブジェクト
データ層
既存システム
HTTP
Web
システム
Javaアプレット
クライアント
スクリプト
クライアント
ページ
サーバページ
RMI
IIOP
57
永続性
マッピング
永続性
コンポーネント
Copyright 2003 NTT DATA CORPORATION
Web拡張のためのステレオタイプクラス
構成要素
図形
説明
サーバペー
ジ
サーバによって実行されるスクリプトを持つ
Webページを表す。
クライアント
ページ
Webブラウザにより表示されるHTML形式の
Webページを表す。
フォーム
クライアントページを構成する入力フィールドを
表す。HTMLの<<form>>タグに対応する。
フレームセッ
ト
長方形の表示領域からなる複数のWebページ
のコンテナを表す。
ターゲット
Webページが表示されるWebブラウザウィンド
ウの名前をもつ区画を表す。<<Target link>>
関係によりWebパージの表示対象のターゲット
を指定する。
58
Copyright 2003 NTT DATA CORPORATION
Web拡張のためのステレオタイプ関連
関連
表記
説明
リンク
<<links>>
クライアントページから別のクライアントページや
サーバページへのリンクを表す。
ターゲットリンク
<<Target link>>
別のターゲットページで表示されるような現在の
ページと関連するページを表す。
フレームコンテ
ンツ
<<Frame
Content>>
別のページやターゲットページのプレームの内容を
表す。
送信
<<submits>>
フォームがサーバページにより、フィールドの値を
サーバに送信する関連を表す。
構築
<<builds>>
サーバページが指定されたクライアントページを生
成することを表す。
リダイレクト
<<redirects>>
別のWebページとの間のリダイレクト関連を表す。
IIOP
<<IIOP>>
クライアントとサーバ間のIIOP通信を表す。
RMI
<<RMI>>
クライアントとサーバ間のRMI通信を表す。
59
Copyright 2003 NTT DATA CORPORATION
WAEによるクラス図の例
論文査読
ページ
<<redirects>>
論文査読
結果を
更新する
<<submits>>
<<link>>
<<link>>
査読論文
検索フォーム
<<submits>>
査読内容
入力フォーム
査読論文
を検索する
60
<<builds>>
論文査読
リスト
Copyright 2003 NTT DATA CORPORATION
Webアプリケーション開発法の比較
Conallen法
要件
分析
分析
ユースケース図
シーケンス図
コラボレーション図
ユーザロー
ル分析
アクタ関係図
要求定義
ユースケース図
パッケージ図
クラス図
シーケンス図
コラボレーション図
Webページ定 パッケージ図
義
クラス図
設計
Web拡張版クラス
図
詳細
設計
シーケンス図
配置図
コンポーネント図
Ambler法
Franklin法
アーキテク
チャ分析
クラス設計
配置図
コンポーネント図
クラス図
コラボレーション
実行シナリオ
図
設計
シーケンス図
配置設計
配置図
コンポーネント図
61
クラス種別分
析
クラス図
階層定義
クラス図
クラス・コントラ
クト定義
クラス図
ドメインパッ
ケージ定義
コラボレーション
図
パッケージ図
ドメインパッ
ケージ
コントラクト定
義
パッケージ図
Webサービス
定義
クラス図
Copyright 2003 NTT DATA CORPORATION
(3) UML と XML
Copyright 2003 NTT DATA CORPORATION
UMLからXMIへの変換
UML
モデル
UML
XML
CWM
モデル
UML
構文と符号化
MOF
メタデータ
定義と管理
XML ストリーム (モデル)
X
M
I
検証
XML DTD
メタモデル・検証
UML
UML
DTD
メタモデル
分析・設計
63
CWM
DTD
Copyright 2003 NTT DATA CORPORATION
XMIによるクラスの表現
XMI DTD
<!Element Auto
(Color,
Door,
Engine)>
UML クラス
Auto
Color : String
Door : Integer
Engine : Integer
XMI
XML文書
<Auto>
<Color>Red</Color>
<Door>4</Door>
<Engine>2</Engine>
</Auto>
64
Copyright 2003 NTT DATA CORPORATION
ebXMLにおけるビジネスのオペレーショナルビュウ
ebXMLに基づいたメタモデル
ビジネスコンテクスト
コアライブラリ
ビジネスライブラリ
コア&アグリゲート
コンポーネント
ビジネスブロセス
分析生産物
設計生産物
アクティビティ図
コラボレーション図
シーケンス図
状態図
概念図
最終クラス図
ビジネスコラボレーション知識
要求生産物
ユースケース図
ユースケース記述
ビジネスプロセスと情報モデル
(Compliant to the ebXML Meta Model)
65
Copyright 2003 NTT DATA CORPORATION
UMM生産物
作業工程
開発手法
再利用パターン
生産物
ビジネス
モデリン
グ
•ドメイン分析
•ユースケース分析
•プロセス発見
•アクティビティモデリング
ビジネスパターン
•ビジネス領域[パッケージ図]
•プロセス領域[パッケージ図]
•プロセス[ユースケース図] [アクティビティ図]
•ビジネスエンティティ[クラス図]
要求獲得
•要求収集
•ユースケース分析
•プロセス分析
•アクティビティモデリング
ビジネスコラボレー
ション
•ビジネスプロセス[ユースケース図]
•ビジネスコラボレーション[ユースケース図]
•プロセス[ユースケース図] [アクティビティ図]
•ビジネスエンティティ[クラス図]
分析
•プロセス分析
•アクティビティモデリング
•概念クラスモデリング
•ビジネス情報フロー
パターン
•ビジネスコラボレーションプロトコル[アクティビ
ティ図]
•ビジネストランザクション[アクティビティ図]
•ビジネスドキュメント[クラス図]
設計
•プロセス分析
•コラボレーションモデリング
•メッセージシーケンス分析
•情報モデリング
•メッセージモデリング
•ビジネスサービスイ
ンタラクションパター
ン
•情報モデリングパ
ターン
•サービスコラボレーション[コラボレーション図]
•ネットワークコンポーネント[クラス図]
•ビジネスサービス[クラス図]
•サービストランザクション[シーケンス図]
•ビジネスドキュメント[クラス図]
製造
•メッセージ変換
•ソフトウェア開発
•メッセージ設計規則
•UMLからXMLへの変
換
•コンポーネント図
•メッセージ仕様
•ソフトウェアコンポーネント
66
Copyright 2003 NTT DATA CORPORATION
eビジネス統合のユースケース図
システム統合
アプリケーションの
クラスを生成する
既存システムの
アダプタを生成する
《include》
語彙定義
ビジネス
XML
《include》
ボキャブラリを
スキーマを
定義する
生成する
《include》
ビジネス
プロセスを
定義する
ビジネス
分析者
メッセージの
内容を
変換する
メッセージを
確認する
メッセージ
プロトコルを
定義する
《include》
ワークフロー
モデルを
構築する
67
《extend》
システム
インテグレータ
プロセス
モデリング
Copyright 2003 NTT DATA CORPORATION
Webエンジニアリングフレームワーク
分析
設計
ユーザ
インタフェース
XML
Jessica
コンパイラ
静的コンテンツ
動的テンプレート
問題空間
解空間
ビジネス
オブジェクト
データベース
アクセス
クラス図
シーケンス図
状態遷移図
UML
CASEツール
PHC
コンパイラ
オブジェクトコード
データベース
アクセス
68
UML
PHC: passive HTML control
実行環境
Copyright 2003 NTT DATA CORPORATION
CWMのメタモデル
Warehouse
プロセス
管理
分析
資源
変換
Object
(UML)
ビジネス情報
OLAP
関係DB
データ
型
Warehouse
オペレーション
データ
マイニング
情報可視化
レコード
表現
多次元DB
索引
型変換
ビジネス用語
XML
ソフトウェア
導入
基盤
UML
(基盤, 振舞い要素, モデル管理)
69
Copyright 2003 NTT DATA CORPORATION
UBOT アーキテクチャ
UBOT
XMI
モデル
UML GUI
DAML
オントロジ
エンジニア
一貫性
検査結果
XMI
モデル
UML
形式
Slang
モデル
UML
DAML
変換
基本
DAML
オントロジ
拡張
DAML
オントロジ
意味上の不具合
Specware
UBOT: UML Based Ontology Toolset, http://ubot.lockheedmartin.com/ubot/
The DARPA Agent Markup Language Homepage, http://www.daml.org/index.html
70
Copyright 2003 NTT DATA CORPORATION
UMLとDAMLの対応付け
Baclawski,K. etal., Extending UML to Support Ontology Engineering for the Semantic Web UML2001
71
Copyright 2003 NTT DATA CORPORATION
3 MDA
Copyright 2003 NTT DATA CORPORATION
MDAとは?
OMG 実装のための分散システムフレームワーク
OMA: Object Management Architecture
CORBA: Common ORB Architecture
OSI (RM-ODP) Reference Model of Open Distributed Processing
1995 OMG がドメインモデルの記述にUMLを採用
2001 OMGがModel Driven Architecture( MDA)を策定
MDAの手順
プラットフォームと独立にシステム仕様を記述
プラットフォームの仕様を規定
システムに対するプラットフォームを選択
特定のプラットフォームに対してシステム仕様を変換
MDAのねらい
移植性
相互運用性
再利用性
73
Copyright 2003 NTT DATA CORPORATION
OMGのMDA
http://www.omg.org/mda/
74
Copyright 2003 NTT DATA CORPORATION
MDAの基本概念
業務ロジックエキスパートが開発
PIM
-A
PIM
-B
PIM
-C
…
PSM/実行
可能コード
Ax, Bx, Cx,
Ay,By,Cy...
変換
変換ルール
-x
変換ルール
-y
…
システム方式エキスパートが開発
75
Copyright 2003 NTT DATA CORPORATION
Consistent Model Separations and Relationships in MDA
76
Copyright 2003 NTT DATA CORPORATION
MDA Metamodel Description
Architecture Board ORMSC, Model Driven Architecture(MDA), Document number ormsc/2001-07-01
77
Copyright 2003 NTT DATA CORPORATION
(1) UML+EDOC profile へのMDAの適用法
Copyright 2003 NTT DATA CORPORATION
EDOC の5つの Viewpoint
Enterprise
Viewpoint
PIM
Information
Viewpoint
PIM→
PSM…
変換
Computational
Viewpoint
Engineering
Viewpoint
Technology
Viewpoint
79
Copyright 2003 NTT DATA CORPORATION
MDA開発プロセス
業務(処理開発)
エキスパートの
作業
PIM開発:
システム方式
エキスパートの
作業
AIM開発:
要求仕様定義
プラットフォームの
同定と詳細調査
プロセスモデリング
テクノロジマッピング
の策定
エンティティモデリング
非機能
要件
(方式設計の補足)
PIM→PSM→実行可能コード変換
80
Copyright 2003 NTT DATA CORPORATION
ビジネスプロセス記述例
照会プロセス
照会受付
コンポーネント
照会依頼者
照会依頼
ID入力要求
顧客DB
注文DB
注文細目DB
照会処理
コンポーネント
ID入力
照会処理
照会結果通知
倉庫ID
地区ID
顧客ID
倉庫ID
地区ID
顧客ID
照会結果
照会結果
ID入力受付
コンポーネント
照会依頼者
照会依頼者
照会結果確認
照会結果
81
Copyright 2003 NTT DATA CORPORATION
プロセスモデルの詳細化例
照会処理アクティビティより
<<ProcessComponent>>
照会処理コンポーネント
<<Entity>>
顧客コンポーネント
照会処理受付
照会処理依頼プロトコル
照会処理受付
⑤
顧客情報要求
顧客取得プロトコル
顧客情報要求
顧客情報受付
顧客取得プロトコル
顧客情報受付
<<Entity>>
注文コンポーネント
最新注文情報要求
最新注文取得プロトコル
最新注文情報要求
⑥
注文細目情報要求
注文細目取得プロトコル
注文細目情報要求
⑦
照会結果保持
照会結果取得プロトコル
照会結果保持
最新注文情報受付
最新注文取得プロトコル
最新注文情報受付
<<Entity>>
注文細目コンポーネント
注文細目情報受付
注文細目取得プロトコル
注文細目情報受付
82
Copyright 2003 NTT DATA CORPORATION
エンティティモデル例
〈〈Entity Data〉〉
顧客
倉庫ID
地区ID
顧客ID
顧客ファーストネーム
顧客ミドルネーム
顧客ラストネーム
残高
〈〈Entity Data〉〉
注文
* 注文ID
倉庫ID
地区ID
顧客ID
申請日
配送番号
1
3000
1
〈〈Entity Data〉〉
地区
倉庫ID
地区ID
1
5..15
〈〈Entity Data〉〉
注文細目
注文ID
注文細目ID
供給倉庫ID
商品ID
注文数
* 金額
配送日
10
1
〈〈Entity Data〉〉
倉庫
倉庫ID
1
83
Copyright 2003 NTT DATA CORPORATION
J2EEへのテクノロジマッピング例
項番
EDOCモデル要素
J2EEモデル要素
1
Entity
EJBEntityBean
2
Key
EJBPrimaryKey
3
ProcessComponent
EJBSessionBean
4
ProtocolPort
Interface
5
FlowPort
Interfaceのメソッド
6
CompositeData
上記メソッドの引数
84
Copyright 2003 NTT DATA CORPORATION
J2EEクラス図への変換例
<<Client Page>>
MenuView
<<Client Page>>
IDInputView
<<link>>
<<Server>>
Reference
<<Form>>
IDInputForm
<<builds>>
<<redirect>>
<<Client Page>>
ResultView
<<submit>>
<<Server Page>>
IDInputViewJSP
<<Server>>
IDInputCounter
<<builds>>
<<redirect>>
<<Server Page>>
ResultViewJSP
<<EJBAccess>>
<<EJBSessionBean>>
Reference
<<EJBReference>>
<<EJBReference>>
<<EJBReference>>
<<EJBEntityBean>>
Customer
<<EJBEntityBean>>
Order
85
<<EJBEntityBean>>
OrderLine
Copyright 2003 NTT DATA CORPORATION
(2) MDAコンパイラ
Copyright 2003 NTT DATA CORPORATION
開発コンセプト
記法の標準化
– UML 1.4に極力準拠
– アクション記述(Action Semantics)のサポート
UMLモデル記法の検討
市販ツールとの連携
– XMI(XML Metadata Interchange)対応
完全なコード生成
– フレームワークベースのJ2EEをターゲット
– 理想はホットスポット部分の完全自動生成
– 今回はEJB部分のみ→H15年度はGUIを除く全てを変換予定
業務アプリケーションへの対応
– トランザクション処理対応
– 業務AP設計者には極力意識させない→標準業務モデル
87
Copyright 2003 NTT DATA CORPORATION
ソフトウェア開発支援システムの概要
 ソフトウェア開発方法論に必要なモデルおよび言語仕様の制定
 MDA開発支援ツールの開発
(B1: モデル記述エディタ)
業務アプリ
設計者
業務ロジック
A1: 標準
業務モデル
A2: PIM
(XMI)
(B2: XMIパーサ)
システム
設計者
(B3: 変換ルールエディタ)
A5:モデル変換
ルール記述言
語
システ
ム
変換
A3: アクション
記述言語
(B5: EJB実行環境)
配置
方式
A6:モデル
変換ルール
A4: PSM
記述言語
A2: PIM
A3:アクション
(TextUML)
A4:PSM
変換
実行コード
(EJB)
B4: UMLコンパイラ
88
Copyright 2003 NTT DATA CORPORATION
XMIパーサの特徴(1/2)
[問題] XMI形式UMLモデルへのアクション要素の追記が困難
[解決策] UMLエディタから出力されたXMI表現形式のUMLモデル
をPIM記述言語形式に変換
→プログラム風にアクションの追記が可能!
<?xml version='1.0' encoding='UTF-8'?>
<!-- <!DOCTYPE XMI SYSTEM 'UMLX13.dtd'> -->
<XMI xmi.version = '1.0' >
<XMI.header >
<XMI.documentation >
<XMI.exporter >Unisys.JCR.2</XMI.exporter>
<XMI.exporterVersion >1.3.2</XMI.exporterVersion>
</XMI.documentation>
<XMI.metamodel xmi.name = ‘UML’ xmi.version = ‘1.3’ />
</XMI.header>
<XMI.content >
<Model_Management.Model xmi.id = ‘ishioka_1040950420940_200617_0’ xmi.uuid =
‘ishioka_1040950420940_200617_0’>
<Foundation.Core.ModelElement.name >データ</Foundation.Core.ModelElement.name>
<Foundation.Core.GeneralizableElement.isRoot xmi.value = 'false' />
<Foundation.Core.GeneralizableElement.isLeaf xmi.value = 'false' />
<Foundation.Core.GeneralizableElement.isAbstract xmi.value = 'false' />
<Foundation.Core.Namespace.ownedElement>
<Foundation.Extension_Mechanisms.Stereotype xmi.id=
'egiva_1022741478539_352118_123' xmi.uuid= 'egiva_1022741478539_352118_123'>
<Foundation.Core.ModelElement.name>refine</Foundation.Core.ModelElement.name>
stereotype &"_getter" : operation;
stereotype &"_association" : associationEnd;
stereotype &"_model" : package;
stereotype &"_implicit" : association;
stereotype &"_utility" : class, interface, enumeration;
stereotype &"_stereotypForUTAttr" : attribute;
public package &"_jp.co.nttdata.rd.mda“
{
public class &"_Top" root abstract active stereotype &"_utility" taggedValue
Top.classTaggedName = Top.classTaggedValue
{
operation
public instance &"_topClassMehtod1" (in &"_topClassPara1" : String = "" stereotype
&"_stereotypeForUT" taggedValue topClassPara1.TaggedName =
topClassPara1.TaggedValue) : String stereotype &"_getter" taggedValue
topClassMethod1.TaggedName = topClassMethod1.TaggedValue root abstract query
sequential;
}
}
public package &"_MetaModel" stereotype &"_model" taggedValue
MetaModel.packageTaggedName = MetaModel.packageTaggedValue
{
XMI表現形式のUMLモデル
PIM記述言語形式のUMLモデル
89
Copyright 2003 NTT DATA CORPORATION
XMIパーサのプログラム構造
生成されるUMLモデルの不完全性をDTD、及びアプリケーショ
ンチェックにより検出し、設計者へ通知
不完全性が排除されたXMI形式のUMLモデルをPIM記述言
語形式に変換
DTDの修正により
各種UMLエディタ
への対応が可能
XMIパーサ
UMLエディタ
CustomerData
XMI変換
機能
1
起動
-addressData
0..1
UMLモデル
(DOMオブジェクト)
XMI DTD
XMI解析
機能
AddressData
0..1
-billAddressData
1
PIM記述言語
形式変換機能
終了
0..1
-shipAddressData
1
-orderLineDatas OrderLineData
OrderData
1
0..*
1
-itemData
CreditCardData
0..1
-authorData
ItemData
1
UMLモデル
-scLineDatas
ShoppingCartData
1
0..*
AuthorData
0..1
ShoppingCartLineData
UMLモデル
(XMI形式)
90
DTDでは排除できな
いモデルの不完全要
素をアプリケーション
内部で特定し、設計
者へ通知
UMLモデル
(PIM記述言語形式)
Copyright 2003 NTT DATA CORPORATION
UMLコンパイラの機能概要
モデル変換ルールで記述されたプログラムを実行
PSM記述言語形式のUMLモデルをJavaコードに変換
public &"searchItem" (in &"keyword" : String, in &"searchType" : String) :
&"java"::&"util"::&"ArrayList"
taggedValue usage=%jp.co.nttdata.rd.jaf.exception.ApplicationException,
usage=%jp.co.nttdata.rd.jaf.exception.DAOException
{
variable items : java::util::ArrayList = empty ;
variable itemAuthorViewDAO :
jp.co.nttdata.rd.mda::integration::ItemAuthorViewDAO
= create &"jp.co.nttdata.rd.mda"::integration::ItemAuthorViewDAO ;
try{
conditional{
if keyword = self.AUTHOR { result =
itemAuthorViewDAO.findByAuthorLastName(searchType); }
if keyword = self.TITLE { result =
itemAuthorViewDAO.findByTitle(searchType); }
if keyword = self.SUBJECT { result =
itemAuthorViewDAO.findBySubject(searchType); }
if true {
variable exception : javax::ejb::EJBException
= javax::ejb::EJBException.EJBException("Keyword is invalid.");
jump exception;
}
}
}
public ArrayList searchItem(String keyword, String searchType) {
ArrayList itemDatas;
ItemAuthorViewDAO itemAuthorViewDAO = new ItemAuthorViewDAO();
try{
if(keyword.equals(AUTHOR)) {
itemDatas = itemAuthorViewDAO.findByAuthorLastName(searchType);
}
else if(keyword.equals(TITLE)) {
itemDatas = itemAuthorViewDAO.findByTitle(searchType);
}
else if(keyword.equals(SUBJECT)) {
itemDatas = itemAuthorViewDAO.findBySubject(searchType);
}
else{
throw new EJBException("Keyword is invalid.");
}
}catch(FinderException e){
throw new EJBException(e);
}
return itemDatas;
}
PSM記述言語形式のUMLモデル
Javaソースコード
91
Copyright 2003 NTT DATA CORPORATION
UMLコンパイラの構造
PSMパーササブプログラム
 PSM記述言語によるUMLモデルをモデル変換ルール記述言語による
UMLメタモデルインスタンス生成命令文に変換
UMLインタプリタサブプログラム
 モデル変換ルール記述言語形式のプログラムを実行し、メモリ上の
UMLメタモデルインスタンスをターゲットシステムのソースコードに変換
PSMパーササブプログラム
PSM記述言語
構文解析機能
UMLモデル
(PSM形式)
UMLインタプリタサブプログラム
UMLメタモデル
インスタンス生成機能
UMLモデル
(モデル変換ルール形式)
変換ルール記述言語
インタプリタ機能
PSM-実行コード
変換プログラム
(モデル変換ルール形式)
92
実行コード
(EJBソースプログラム)
Copyright 2003 NTT DATA CORPORATION
実行可能例題
 TPC-Wをベースとした業務アプリケーション(インターネット書籍販
売)
⑦
購入
①
⑧
⑥
⑤
ショッピングカート表示
②
顧客情報登録
③
購入確認
購入要求
④
検索
ホームページ
検索条件入力
詳細表示
検索結果一覧
注文照会
注文照会
照会結果
93
Copyright 2003 NTT DATA CORPORATION
実行可能例題による検証
 中小規模WebSI案件へ適用可能
 例題:TPC/W Web書籍販売
(B1: モデル記述エディタ)
業務アプリ
設計者
業務ロジッ
ク
• 同時64ユーザアクセスで全トランザクションが正常に処理
• 同時10ユーザアクセスで、全ページの応答時間は4秒以内
( @Sun UltraSPARC 440MHz ×1 、512MB)
A1: 標準
業務モデル
(B3: 変換ルールエディタ)
A2: PIM
(XMI)
(B5: EJB実行環境)
A5:モデル変換
ルール記述言
語
システム
設計者
(B2: XMIパーサ)
システム設
計者
システム方式
システム方式
A6:モデル
変換ルール
変換
A4: PSM
記述言語
A3: アクショ
ン
記述言語
A4:PSM
A2: PIM
A3:アクション
(TextUML)
【凡例】
配置
本事業の成果
変換
実行コード
(EJB)
B4: UMLコンパイラ
• 200以上のUMLクラスを変換可能
• 200のPSMクラスの変換処理:約10秒
( @Pentium4 2.0GHz ×1、512MB )
94
Copyright 2003 NTT DATA CORPORATION
MDAツールの比較
ArcStyler
開発ベース
MODE開発ツール群
・ビジネスプロセスモデル+
コンポーネント(コンパクトビーン)ベース
・Convergent Architecture process ベース
・RUPベース
⇒ UMLベースの他の方法論へも適用可能
・PIMに実装依存要素を付加(marked PIM)したモ
デルから,Codeを生成する(Model To Code) 。
・PSMは,Codeからのリバースエンジニアリング
で生成可能であり,不要である(と主張)。
・100%コード生成は目指していない。(コンポー
ネント化されていない処理ロジックについては,
基本的に手入力する)
・PIMからPSMへ(Model To Model )さらにCodeへ
と2段階の変換でコードを生成する。
・実装依存要素を変換ルール内に隠蔽する事でよ
り抽象度の高いPIMが記述が可能となる。
⇒ PIMからコードの100%自動生成を目指す。
モデル記述方法(静的部分)
ビジネスオブジェクト(クラス図ベース)
+ プロパティによる情報付加
(ベンダー依存要素が多い)
クラス図
⇒ UML標準準拠
モデル記述方法(動的部分)
・モデル上への記述不可能
・生成済コード内部にプログラマーが記述
⇒ 実装依存
・UML標準のAction Semanticsに基づいた記述⇒
実装非依存
・モデル指向でホワイトボックス化してリポジト
リ管理することにより、業界/業務,知識の共有
化や、プラットフォーム依存性の排除を目指す。
・IBM Rational Rose
・XMI対応CASEツール
⇒ 特定ツール非依存を目指す。
変換
開発環境
/ Borland JBuilder
ArcStyler との差異化要素
・ 標準ベース ・・・ ベンダー依存からの脱却することで,業界標準の開発ツールを目指す。
⇒ 今後の標準的な,参照ツールとしての位置付け。
・
100%コード生成 ・・・必要情報を全てモデル上に記述する事により,100%ソースコード生成を目指す。
95
Copyright 2003 NTT DATA CORPORATION
MDAによるビジネスモデルからのAP自動生成方式
ソフトウェア開発支援ツール
【業務設計】
【PIMシミュレータ】
シミュレート
実行結果
PIM
UMLエディタによる業務モデル設計
実行パターン
【UMLコンパイラ】
【方式設計】
変換
生成
実行コード
(ソースコード)
PSM
ライブラリ
変換ルール
生成ルール
自社開発コンポーネント
96
Copyright 2003 NTT DATA CORPORATION
4 UMLの課題
Copyright 2003 NTT DATA CORPORATION
将来のネットワーク・インフラの姿
ユビキタスネットワーク社会の進展がもたらす2つの作用
1 分散化への触媒
2 再結合への接着剤
社会を分散化させる方向
分散しているリソースを結合させる方向
企業
行政
エージェント
決済・課金
システム
セキュリティ
RFID・センサ
Webサービス
ユビキタス
ネットワーク
街角
GPS・ITS
携帯電話
IPv6
情報家電
家庭
ブロードバンド
車
無線・移動体通信
カフェ
駅
PDA
98
Copyright 2003 NTT DATA CORPORATION
システム連携とビジネス形態の変化
企業内
システム統合
企業間
システム連携
ビジネス連携
疎結合型
密結合型
2000年
MF
Windows
ダイナミック
バリュー
チェーン
バリュー
チェーン
業務AP
DB
2005年
UNIX
連携PF(企業内)
ERP、EAIなど
パラダイムシフトを
サポートするしくみ
企業内から
企業外への
パラダイム
シフト
企業A
企業C
企業B
業種A
連携PF
ビジネスの
パラダイム
シフト
(パートナ選択)
(ビジネス契約)
業種C
業種B
連携PF(企業間)
SCM、ワンストップサービス、
BtoBインテグレーションなど
現在のWebサービス
99
バリューチェーン、
Collaborative Commerceなど
これからのWebサービス
Copyright 2003 NTT DATA CORPORATION
ビジネスとITの統合:ビジネスコラボレーション
組織間の最適化
組
織
内
の
最
適
化
経営課題
経営課題
ビジネス
アーキテクチャ
ビジネス
アーキテクチャ
アプリケーション
アーキテクチャ
アプリケーション
アーキテクチャ
ミドルウェア
アーキテクチャ
ミドルウェア
アーキテクチャ
組織単位
ビジネスプロセス
コラボレーション
アプリケーション統合
EAI
ミドルウェア統合
組織単位
Hasselbring, W., Information System Integration, CACM June 2000, Vol.43, No.6, pp.33-38
100
Copyright 2003 NTT DATA CORPORATION
ブロードバンド社会の展望
ブロードバンドの普及
利用世帯数(万世帯)
普及率
4000
80%
FTTH
3000
60%
日本 0.18 ドル
ADSL
2000
40%
’00.3 ’01.3 ’02.3 ’03.3 ’04.3
(出所:株式会社情報通信総合研究所)
’05.3
’06.3
韓国 0.29 ドル
米国 2.86 ドル
CATV
1000
100Kbpsあたりの月額通信料
20%
’07.3
Webサービスの普及
IT資源のGRID化と利用が進展
101
Copyright 2003 NTT DATA CORPORATION
ID化がもたらすユビキタス社会とITの融合
現実の
世界
個人・組織
仮想化
サービス
(ビジネスプロセス)
コラボレーション化
リアル(モノ)とバーチャル(情報)
の融合
【 IDとメタ情報による有機的連携 】
水平連携から
垂直連携の世界へ
モジュール化
情報システム
ITの
世界
CPU
DB
AP・コンテンツ
NW
デバイス
ユビキタス
ネットワーク
を通じた
「モノ」と「IT」
の融合による
パーソナライズ
サービス
コモディティ化
サービス化
102
Copyright 2003 NTT DATA CORPORATION
Insight for the New Paradigm
未来のしくみを、ITでつくる。
株式会社NTTデータ
103
Copyright 2003 NTT DATA CORPORATION