レッドハットが考える
アプリケーション・アーキテクチャ
レッドハット株式会社
JBossサービス事業部
シニアソリューションアーキテクト
BRMSエバンジェリスト
梅野  昌彦
B-‐‑‒1
アーキテクチャ
Copyright  ©  2014  Red  Hat  K.K.	
 
2
資料料サイズ削減のため写真を削除いたしました。
アーキテクチャ
Copyright  ©  2014  Red  Hat  K.K.	
 
3
資料料サイズ削減のため写真を削除いたしました。
l  ITはビジネスを⽀支える為のツールである
l  ビジネスの改⾰革
l  ⼩小さい変化が継続的に起きている
l  その都度度、システムを改変・追加
l  「例例外」的な取り扱いを追加
l  ビジネスの変⾰革にIT(アプリケーション)の変更更が追従
できていない、もしくは多額のコストがかかる
アプリケーション・アーキテクチャに問題があるのでは?
なぜ「アーキテクチャ」なのか
Copyright  ©  2014  Red  Hat  K.K.	
 
4
l  状態はデータの組合せ
l  本来、ステータス管理理はプロセスで決めるべき
l  データとプロセス密結合
l  予期しないデータになった場合、そのタスクが迷⼦子になる
l  プロセス図が森のようだ
l  プロセスはシンプルであるべき
l  データの中⾝身で枝分かれを沢⼭山書いてしまっている
l  データの中⾝身で処理理を分けるのであれば、ルールで記述してプ
ロセスをシンプルにする
l  マスターというルール
l  ロジックの中でDBのマスターを参照
l  マスターのメンテナンス(チェック)をしていないために、正
しくない結果を出し続けていた
l  マスターに記載できない場合はプログラムロジックとして記述
メンテナンス性を悪くしている原因
Copyright  ©  2014  Red  Hat  K.K.	
 
5
アーキテクチャで⼀一番重要な部分
Copyright  ©  2014  Red  Hat  K.K.	
 
6
プロセス
ルール データ
画⾯面
認証 連携
Mail
SOA  って何?
Copyright  ©  2014  Red  Hat  K.K.	
 
7
サービスバス
営業部 物流流部 製造部 物流流部 経理理部
営業 顧客管理理 物流流 経理理 製造
⾒見見積 受注 新規 審査 請求 回収
⼊入庫 出庫 原価 品質
画⾯面
BPM
App
DB
ESB
l  プロセス  (BPM)
l  ⼈人が責任をもって仕事をしたことを記録し、案件のステータス管理理
する
l  規定した⼿手順に基づき、次に誰が処理理するかを決めたもの
l  システムの連携やロジックを記述するものではない!
l  データ  (DB)
l  トランザクションデータを格納しておくもの
l  過去の状態を記録しておくもの
l  ロジックを格納しておくものではない!
l  ルール  (BRMS)
l  チェック、⽐比較、計算、推論論を⾏行行うもの
l  業務の変化にすぐに対応できるようにしておくもの
3原則  それぞれの役割
Copyright  ©  2014  Red  Hat  K.K.	
 
8
お客様でのアプリケーションアーキテクチャ
Copyright  ©  2014  Red  Hat  K.K.	
 
9
ルール
給与
テーブル
研修履履歴
テーブル
ステータス
管理理
BPM
プロセススタート
部署名確認
対象者確認
移動理理由確認
役職適正確認
研修適正確認
費⽤用確認
社員
テーブル
ステータス
管理理
BPM
承認待ち
ステータス
管理理
BPM
タスクリスト
⼈人事決裁
テーブル
承認画⾯面
社員番号等を
キーにして
データを取得
全ての情報を
⼀一括受け渡し
結果を返却
プロセス
スタート
データ
取得
ルール
判断
結果
書込
プロセス
次へ
⼈人事決裁
テーブル
BPM
承認済み
ステータス
管理理
リスト
取得
データ
取得
プロセス
次へ
DBへのアクセスはデータを取
得・格納だけに使⽤用し、データ
の判定、なかった時のハンドリ
ングなどはDB側では⾏行行わない
ようにする。
データの確認事項などは全て
ルールエンジン側で⾏行行い、判定
結果を出⼒力力する。
事案のデータは⼈人事決裁テーブ
ルに格納しておき、承認時など
に参照する。
⼊入⼒力力画⾯面
部署名
リスト
⼊入⼒力力完了了
承認完了了
BPMはアプリでもサービス連携ツールでもない!
Copyright  ©  2014  Red  Hat  K.K.  |  Confidential	
 
DB格納
他システム連携
(MQ)
DB検索索
計算・判断
(BRMS)
申請者 承認者 購買部⾨門
縦の連携は
“サービスオーケストレーション”
Click!! Click!! Click!!
プロセス管理理
(BPM)
ビジネスプロセス
次の⼈人へ 次の⼈人へ
サービス
メール通知
(Message)
10
横の連携は
“ビジネス・プロセス”
(誰がいつ責任をもってタス
クを実⾏行行したかを記録し、次
の⼈人へバトンを渡す仕組み)
組合せチェック
(BRMS)
バッチ連携
リアルタイム連携
データ連携基盤の役割
Copyright  ©  2014  Red  Hat  K.K.  	
 
11
審査システム
取引データ 顧客データ
SAP
MS-‐‑‒
Access
データの仮想化
JDBC
ESB
NetWeaver
IDOC
Request/Reply  with
REST
MS-‐‑‒
Excel
仮想データビュー
プロトコル変換と
メッセージ変換
MQ
メッセージサービス
JDBC
夜間
バッチ MS-‐‑‒Exchange
Publish  /  Subscrive
P2P
HULFT FTP
携帯
端末
サービスの連携ではなく
「データの連携」
あるべき姿
Copyright  ©  2014  Red  Hat  K.K.	
 
12
営業部 物流流部 製造部 物流流部 経理理部
サービスバス  (APP  とサービス間のプロトコル変換・メッセージ変換)
データ
サービス
プロセス
サービス
ディシジョン
サービス
メッセージ
サービス 他システム
⾒見見積 受注
請求 回収
画⾯面
APP
ESB
サービス
DB
プロセス データ データ プロセス
⾒見見積
プロセス データ データ プロセス
受注
プロセス データ データ プロセス
請求
⾒見見積 受注
請求 回収
ディシ
ジョン
ディシ
ジョン
ディシ
ジョン
レッドハット製品がお⼿手伝いできるところ
Copyright  ©  2014  Red  Hat  K.K.	
 
13
営業部 物流流部 製造部 物流流部 経理理部
サービスバス
データ
サービス
プロセス
サービス
ディシジョン
サービス
メッセージ
サービス 他システム
⾒見見積 受注
請求 回収
画⾯面
APP
ESB
サービス
DB
プロセス データ データ プロセス
⾒見見積
プロセス データ データ プロセス
受注
プロセス データ データ プロセス
請求
⾒見見積 受注
請求 回収
ディシ
ジョン
ディシ
ジョン
ディシ
ジョン
Fuse  Service  Works
JBoss  Fuse
JBoss  Data  
Grid
JBoss  
Data  Virtuali-‐‑‒
zation
JBoss  
BPM  
Suite
JBoss  
BRMS
JBoss  
A-‐‑‒MQ
RHEL
KVM
Storage
Open  Stack
JBoss    EAP Feed  Henry  (Mobile)
ご静聴  ありがとうございました。
梅野  昌彦
mumeno@redhat.com

資料用_B1_mumeno_RHF_2014_wo_pic.pdf

  • 1.
  • 2.
    アーキテクチャ Copyright  ©  2014 Red  Hat  K.K. 2 資料料サイズ削減のため写真を削除いたしました。
  • 3.
    アーキテクチャ Copyright  ©  2014 Red  Hat  K.K. 3 資料料サイズ削減のため写真を削除いたしました。
  • 4.
    l  ITはビジネスを⽀支える為のツールである l  ビジネスの改⾰革 l ⼩小さい変化が継続的に起きている l  その都度度、システムを改変・追加 l  「例例外」的な取り扱いを追加 l  ビジネスの変⾰革にIT(アプリケーション)の変更更が追従 できていない、もしくは多額のコストがかかる アプリケーション・アーキテクチャに問題があるのでは? なぜ「アーキテクチャ」なのか Copyright  ©  2014  Red  Hat  K.K. 4
  • 5.
    l  状態はデータの組合せ l  本来、ステータス管理理はプロセスで決めるべき l データとプロセス密結合 l  予期しないデータになった場合、そのタスクが迷⼦子になる l  プロセス図が森のようだ l  プロセスはシンプルであるべき l  データの中⾝身で枝分かれを沢⼭山書いてしまっている l  データの中⾝身で処理理を分けるのであれば、ルールで記述してプ ロセスをシンプルにする l  マスターというルール l  ロジックの中でDBのマスターを参照 l  マスターのメンテナンス(チェック)をしていないために、正 しくない結果を出し続けていた l  マスターに記載できない場合はプログラムロジックとして記述 メンテナンス性を悪くしている原因 Copyright  ©  2014  Red  Hat  K.K. 5
  • 6.
    アーキテクチャで⼀一番重要な部分 Copyright  ©  2014 Red  Hat  K.K. 6 プロセス ルール データ 画⾯面 認証 連携 Mail
  • 7.
    SOA  って何? Copyright  © 2014  Red  Hat  K.K. 7 サービスバス 営業部 物流流部 製造部 物流流部 経理理部 営業 顧客管理理 物流流 経理理 製造 ⾒見見積 受注 新規 審査 請求 回収 ⼊入庫 出庫 原価 品質 画⾯面 BPM App DB ESB
  • 8.
    l  プロセス  (BPM) l ⼈人が責任をもって仕事をしたことを記録し、案件のステータス管理理 する l  規定した⼿手順に基づき、次に誰が処理理するかを決めたもの l  システムの連携やロジックを記述するものではない! l  データ  (DB) l  トランザクションデータを格納しておくもの l  過去の状態を記録しておくもの l  ロジックを格納しておくものではない! l  ルール  (BRMS) l  チェック、⽐比較、計算、推論論を⾏行行うもの l  業務の変化にすぐに対応できるようにしておくもの 3原則  それぞれの役割 Copyright  ©  2014  Red  Hat  K.K. 8
  • 9.
    お客様でのアプリケーションアーキテクチャ Copyright  ©  2014 Red  Hat  K.K. 9 ルール 給与 テーブル 研修履履歴 テーブル ステータス 管理理 BPM プロセススタート 部署名確認 対象者確認 移動理理由確認 役職適正確認 研修適正確認 費⽤用確認 社員 テーブル ステータス 管理理 BPM 承認待ち ステータス 管理理 BPM タスクリスト ⼈人事決裁 テーブル 承認画⾯面 社員番号等を キーにして データを取得 全ての情報を ⼀一括受け渡し 結果を返却 プロセス スタート データ 取得 ルール 判断 結果 書込 プロセス 次へ ⼈人事決裁 テーブル BPM 承認済み ステータス 管理理 リスト 取得 データ 取得 プロセス 次へ DBへのアクセスはデータを取 得・格納だけに使⽤用し、データ の判定、なかった時のハンドリ ングなどはDB側では⾏行行わない ようにする。 データの確認事項などは全て ルールエンジン側で⾏行行い、判定 結果を出⼒力力する。 事案のデータは⼈人事決裁テーブ ルに格納しておき、承認時など に参照する。 ⼊入⼒力力画⾯面 部署名 リスト ⼊入⼒力力完了了 承認完了了
  • 10.
    BPMはアプリでもサービス連携ツールでもない! Copyright  ©  2014 Red  Hat  K.K.  |  Confidential DB格納 他システム連携 (MQ) DB検索索 計算・判断 (BRMS) 申請者 承認者 購買部⾨門 縦の連携は “サービスオーケストレーション” Click!! Click!! Click!! プロセス管理理 (BPM) ビジネスプロセス 次の⼈人へ 次の⼈人へ サービス メール通知 (Message) 10 横の連携は “ビジネス・プロセス” (誰がいつ責任をもってタス クを実⾏行行したかを記録し、次 の⼈人へバトンを渡す仕組み) 組合せチェック (BRMS)
  • 11.
    バッチ連携 リアルタイム連携 データ連携基盤の役割 Copyright  ©  2014 Red  Hat  K.K.   11 審査システム 取引データ 顧客データ SAP MS-‐‑‒ Access データの仮想化 JDBC ESB NetWeaver IDOC Request/Reply  with REST MS-‐‑‒ Excel 仮想データビュー プロトコル変換と メッセージ変換 MQ メッセージサービス JDBC 夜間 バッチ MS-‐‑‒Exchange Publish  /  Subscrive P2P HULFT FTP 携帯 端末 サービスの連携ではなく 「データの連携」
  • 12.
    あるべき姿 Copyright  ©  2014 Red  Hat  K.K. 12 営業部 物流流部 製造部 物流流部 経理理部 サービスバス  (APP  とサービス間のプロトコル変換・メッセージ変換) データ サービス プロセス サービス ディシジョン サービス メッセージ サービス 他システム ⾒見見積 受注 請求 回収 画⾯面 APP ESB サービス DB プロセス データ データ プロセス ⾒見見積 プロセス データ データ プロセス 受注 プロセス データ データ プロセス 請求 ⾒見見積 受注 請求 回収 ディシ ジョン ディシ ジョン ディシ ジョン
  • 13.
    レッドハット製品がお⼿手伝いできるところ Copyright  ©  2014 Red  Hat  K.K. 13 営業部 物流流部 製造部 物流流部 経理理部 サービスバス データ サービス プロセス サービス ディシジョン サービス メッセージ サービス 他システム ⾒見見積 受注 請求 回収 画⾯面 APP ESB サービス DB プロセス データ データ プロセス ⾒見見積 プロセス データ データ プロセス 受注 プロセス データ データ プロセス 請求 ⾒見見積 受注 請求 回収 ディシ ジョン ディシ ジョン ディシ ジョン Fuse  Service  Works JBoss  Fuse JBoss  Data   Grid JBoss   Data  Virtuali-‐‑‒ zation JBoss   BPM   Suite JBoss   BRMS JBoss   A-‐‑‒MQ RHEL KVM Storage Open  Stack JBoss    EAP Feed  Henry  (Mobile)
  • 14.