Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IBM Operational Decision Managerによるビジネスルール開発

71 views

Published on

IBM Operational Decision Manaerを用いたビジネスルール開発の紹介です。開発時の注意点、ルール開発の進め方などについて紹介しています。

Published in: Software
  • Be the first to comment

IBM Operational Decision Managerによるビジネスルール開発

  1. 1. © 2017 IBM Corporation IBM Operational Decision Managerによるビジネス ルール開発 日本アイ・ビー・エム株式会社 BPM製品技術サービス 船木 五月
  2. 2. © 2017 IBM Corporation 2 目次 • BRMSのコンセプト • BRMS導入プロジェクトイメージ • ビジネスルール開発概略 • IBM Operational Decision Managerのシステム構成例 • IBM Operational Decision Managerのアーキテクチャ構成例 • ルールエンジン(ODM)へのご期待 • ビジネスルール基本構造 • ビジネスルール実装の問題点 • ルール分析の注意点 • ルール開発の進め方 • ルール開発役割分担例
  3. 3. © 2017 IBM Corporation 3 ビジネス・ルール管理システム (BRMSBRMSBRMSBRMS) ・ルールの定義 ・ルールの分析 ・ルールの保守 ※業務用語 ユーザー・ツールユーザー・ツールユーザー・ツールユーザー・ツール ・ルールを保存 ・ルールの一元 管理 ・ルールの共有 ルール・リポジトリールール・リポジトリールール・リポジトリールール・リポジトリー ルールを展開、 実行、および モニター ルール・エンジンルール・エンジンルール・エンジンルール・エンジン ビジネス・ルールが存在する典型的な場所 アプリケーションコードに 埋め込まれたロジック If xxxx Then xxxxx Else xxxxx ・・・・・・・ ・・・・・・・ 人の頭の中にノウハウ としてあるロジック プロセスの中に定義さ れたロジック 各種ドキュメントの中に あるロジック From:Honmoku To :Smyrna Today :2005/04/16 Order No. RAN No. Part Number : 24011 CJ000 Tracking Point Status Invoice No. B/L No. … Plan Revised Actual Plan Revised Actual … SA00001 24011 CJ000 200 200 60 060415 060415 060415 060415 060415 060415 SA00002 24011 CJ000 100 100 60 060415 060415 060415 060415 060415 060415 SA00003 24011 CJ000 200 200 40 060415 060415 060415 060415 060417 SA00004 24011 CJ000 200 200 00 060415 060418 060415 060418 SA00005 24011 CJ000 100 100 00 060415 060418 060415 060418 (60)B/L(40)Vanning Completion RAN# PART# Actual QTY Current Status Plan QTY ビジネスロジックが各所に散らばっている 可視化されていない(透明性の課題) 保守性が悪いために陳腐化する ルールのルールのルールのルールの 一元管理による一元管理による一元管理による一元管理による 保守性の確保保守性の確保保守性の確保保守性の確保 結果として変更へ結果として変更へ結果として変更へ結果として変更へ の対応柔軟性を実の対応柔軟性を実の対応柔軟性を実の対応柔軟性を実 現現現現 システムの計算、判断、確認など柔軟に変更したい部分をプログラムコードと別に管理 滅多に変えない堅牢なシステム基盤と、柔軟に変更・進化させたい業務ロジックの分離 業務ロジックの可視化によるコミュニケーションの改善と監査性の向上 ルールの可視化ルールの可視化ルールの可視化ルールの可視化 ビジネスユーザビジネスユーザビジネスユーザビジネスユーザ 自らルールの自らルールの自らルールの自らルールの 変更が可能変更が可能変更が可能変更が可能 BRMSのコンセプト
  4. 4. © 2017 IBM Corporation 要件定義 受入開発 設計 開発 ユーザー研修 要件定義 統合 テスト ガバナン ス設計・ 研修 業務アプ リ・DB・基 盤等 ビジネスビジネスビジネスビジネス ルールルールルールルール 開発開発開発開発 データ モデル 設計ルール 分析 ルール開発 反復開発2 反復開発3 PoC: 業務への 適合性 検証 2ヶ月 2~6ヶ月 1ヶ月 システム テスト 要件定義 プロセ ス分析 設計 反復開発1 事前検証 1ヶ月 ガバナンス設計 BRMS導入プロジェクトイメージ ルール開発、基盤構築、ガバナンス設計がBRMS導入の主要作業 ビジネスルール開発ではPoC、ルール分析、データモデル設計、ルール反復開発を行う ルールは頻繁に変更されるため、ルール開発、変更作業を管理するガバナンスを設計する ※※※※実際の作業はプロジェクトに合わせて構成します実際の作業はプロジェクトに合わせて構成します実際の作業はプロジェクトに合わせて構成します実際の作業はプロジェクトに合わせて構成します
  5. 5. © 2017 IBM Corporation 5 入出力定義体の作成 ルールに渡すデータ構造(Class, XML等)を定義し、 属性のget / set を行うメソッドを作成する 業務用語の定義 先に作成したクラス・メソッドに対し、ルールを業務用語で記述できるよう、言 葉の定義を行う ルールの作成 定義された言葉を使用して、ルールを作成する ルールの検証 Eclipse上でのデバッグ、シナリオマネージャを使用して、作成されたルールに対 してテストを行う ルールの配備 業務アプリケーションがルールを呼べるように環境を構築する ルールの更新 業務ユーザーがルールを更新・新規作成を行う ルールの配備 業務ユーザーがルールを有効化する IT Biz ビジネスプランの明確化、現状分析(機能的観点、変更の観点)と問題点の抽出 ODM適用の期待効果分析(機能的観点、変更の観点) ルール化対象範囲の明確化 ルール構成要素の抽出 ビジネスルールの識別,ビジネスルールの標準化/正規化,用語の抽出, 【ODM導入フェーズ】 【ビジネスルール抽出・分析フェーズ】 Biz・IT IT部門と業務部門が連携して開発を進める ルール開発の全フェーズに業務部門が参加 ビジネスルール開発概略
  6. 6. © 2017 IBM Corporation IT担当者用 ルール開発PC 業務担当者用 ルール編集PC Rule DesignerRule DesignerRule DesignerRule Designer Web Browser Decision ServerDecision ServerDecision ServerDecision Server ODM開発・テスト環境 アプリケーション Decision CenterDecision CenterDecision CenterDecision Center Decision ServerDecision ServerDecision ServerDecision Server Decision ServerDecision ServerDecision ServerDecision Server ルールの編集/配備 ルール処理 ODM本番環境 (本番系) (本番系) AP ServerAP ServerAP ServerAP Server OS( Windows,Linux,UNIX )OS( Windows,Linux,UNIX )OS( Windows,Linux,UNIX )OS( Windows,Linux,UNIX ) DBDBDBDB DBDBDBDB Decision ValidationDecision ValidationDecision ValidationDecision Validation ServiceServiceServiceService IBM Operational Decision Managerのシステム構成例 ビジネスルールを実行するDecision Serverとルールを編集、管理するDecision Centerから構成 継続してルールの修正、開発を行うための環境も実行環境と合わせて構築 IT担当者用にはルール開発にJavaを使用できるRule Designerを提供 業務担当者が直接ルール開発を行う環境をブラウザーで提供 ODM:IBM Operational Decision Managerの略称
  7. 7. © 2017 IBM Corporation 中継サーバー Decision ServerDecision ServerDecision ServerDecision Server Decision ServerDecision ServerDecision ServerDecision Server ODM本番環境 (本番系1) (本番系2) AP ServerAP ServerAP ServerAP Server OS( Windows,Linux,UNIX )OS( Windows,Linux,UNIX )OS( Windows,Linux,UNIX )OS( Windows,Linux,UNIX ) DBDBDBDB DBDBDBDB 業務 アプリケーション (ワークフローなど) ロードバランシング ・入力項目チェック・入力項目チェック・入力項目チェック・入力項目チェック ・入力型チェック・入力型チェック・入力型チェック・入力型チェック ・コード変換・コード変換・コード変換・コード変換 ・・・・DBアクセスアクセスアクセスアクセス ・ルール実行に必要な・ルール実行に必要な・ルール実行に必要な・ルール実行に必要な データ項目の収集データ項目の収集データ項目の収集データ項目の収集 ・ルール呼び出し・ルール呼び出し・ルール呼び出し・ルール呼び出し ・業務規定・業務規定・業務規定・業務規定 ・料金表・料金表・料金表・料金表/料率料率料率料率 ・査定・査定・査定・査定 IBM Operational Decision Managerのアーキテクチャ構成例 ODMはステートレスなサービスを提供するコンポーネントとして構成 ODM内部からは業務DBにアクセスしない(パフォーマンスの確保、判定結果の統一性保障のため) アプリケーションに公開する機能にDBアクセスが必要な場合、DBとODMにアクセスする中継サー バーを構築し、中継サーバーを公開する アプリケーションへの 公開ポイント
  8. 8. © 2017 IBM Corporation 8 • ITの側面から – システム開発コストおよび開発期間の削減 • 業務部門とシステム部門の密な連携による手戻り作業の極小化 • ルール化によるプログラムコード開発量の削減 • 商品改訂などにより発生するメンテナンス作業の迅速化 • ビジネスの側面 – 商品開発速度の向上 • 商品開発後のシステム構築期間を短縮 • 商品開発速度の向上 – 業務自動化によるレスポンスタイムの改善とカスタマーエクスペリエンスの向上 – ルール判定条件、計算条件に対するリスク回避 • 判定条件の柔軟な変更 • 判定条件の見える化 ルールエンジン(ODM)へのご期待 単純な開発コスト、メンテナンスコスト削減だけではなく、ビジネスへの貢献の点からも期待が高い ルール開発プロジェクトでは、ビジネス面での期待にも対応する観点が必要
  9. 9. © 2017 IBM Corporation 9 三階層で構成されるため、判定処理の実装について自由度が高い • 業務的な判定ロジックをXOMおよびルールの双方の階層で実装可能 ビジネスルール基本構造 ルール・プロジェクトはビジネスルール/ビジネス・オブジェクト・モデル(BOM)/実行オブジェクトモデ ル(XOM)の三階層で構成される 条件判定文とそれに伴う操作(ビジネスルール)を実装するのに、XOM,BOM,ルール3階層の実装が 必要となる。 ビジネスルールは日本語で記述されるため、ルール部分の実装は素早く進めることができる。 ルールの記述形式がXOMの構造に依存する。 定義定義定義定義 {{{{ 入院保険入院保険入院保険入院保険30303030、入院保険、入院保険、入院保険、入院保険60606060、入院保険、入院保険、入院保険、入院保険 120120120120 }}}} をををを ‘‘‘‘入院保険入院保険入院保険入院保険’’’’ とするとするとするとする 。。。。 仮定条件仮定条件仮定条件仮定条件 以下に続くすべての条件は正しい以下に続くすべての条件は正しい以下に続くすべての条件は正しい以下に続くすべての条件は正しい :::: - ‘申込情報申込情報申込情報申込情報’’’’ の 保険コード は ‘‘‘‘入院保入院保入院保入院保 険険険険’’’’ の 1 つである - ‘申込情報申込情報申込情報申込情報’’’’ の 入院日額 は 0 より大き く 2000 未満である 、、、、 その場合その場合その場合その場合 不備コード ““““G42G42G42G42” 内容 ““““疾病入院日額未疾病入院日額未疾病入院日額未疾病入院日額未 達達達達”””” 解決 ““““日額を増額する日額を増額する日額を増額する日額を増額する"""" 。 ビジネスルール定義例
  10. 10. © 2017 IBM Corporation • XOM/BOM/ルールは相互に影響しあうため、それぞれの関係性を整理しないままルールを実装した場 合、変更容易性・拡張性に問題が発生する場合がある • 変更容易性・拡張性が犠牲になった場合、業務部門によるビジネスルール開発、改訂作業に大きな影響 をおよぼす ルール BOM XOM ビジネスルール実装の問題点 • XOMのデータ構造に変 更が入った場合、ルール の記述に変更が入る • IT視点のデータモデルを そのまま使用して、可読 性が低いルール記述に なる • ルールの変更時に各階 層に変更が必要となって しまう。 • XOMの実装を過度に最 適していまい、変更容易 性が犠牲となる
  11. 11. © 2017 IBM Corporation 11 • 実装の問題に対応するため、ルール分析フェーズで、業務ユーザーによる変更を前提にルールの構造 を定義していく – 何のためのルールかがよくわかるようにルールの可読性を高くする • ルールが意図している判断条件は何か • アクションが何を目的としているのか • どの領域を対象としているのか – 業務プロセス – 商品構成など – 変更作業を容易にするためにルールの独立性を確保する – そのルール単独で稼働できるか – 変更を入れた場合、他のルールに対して影響がないか 分析結果に対し、以下の操作を業務ユーザーが問題なく進められるかを評価する。 • ルールの変更 • ルールの削除 • ルールの追加 ルール分析の注意点 ルールは作り方によって開発コスト/開発期間/業務ユーザーの参画の度合いに大きな差がでてしまう。 変更を前提にしてどう作るかが重要 実装するのは、現状のルールではなく、変更しやすいルールの仕組み
  12. 12. © 2017 IBM Corporation 12 代表的な個別判定代表的な個別判定代表的な個別判定代表的な個別判定 他条件での判定処理他条件での判定処理他条件での判定処理他条件での判定処理 総合判定ルール総合判定ルール総合判定ルール総合判定ルール 個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート 個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール 共通ルールドラフト共通ルールドラフト共通ルールドラフト共通ルールドラフト 全体の判定処理全体の判定処理全体の判定処理全体の判定処理 リファクタリングリファクタリングリファクタリングリファクタリング 判定ルール判定ルール判定ルール判定ルール 反復開発1 反復開発2 反復開発3 子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール 共通ルールドラフト共通ルールドラフト共通ルールドラフト共通ルールドラフト HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール 共通ルールドラフト共通ルールドラフト共通ルールドラフト共通ルールドラフト HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール 共通ルールドラフト共通ルールドラフト共通ルールドラフト共通ルールドラフト HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール 共通ルールドラフト共通ルールドラフト共通ルールドラフト共通ルールドラフト HB疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)疾患(子宮筋腫以外)子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール子宮筋腫以外ルール インターフェースドラフトインターフェースドラフトインターフェースドラフトインターフェースドラフト 総合判定ルール総合判定ルール総合判定ルール総合判定ルール総合判定ルールドラフト総合判定ルールドラフト総合判定ルールドラフト総合判定ルールドラフト 他条件での判定ルール他条件での判定ルール他条件での判定ルール他条件での判定ルール判定ルール判定ルール判定ルール判定ルール インターフェースドラフトインターフェースドラフトインターフェースドラフトインターフェースドラフトI/Fドラフトドラフトドラフトドラフト 分析分析分析分析 実装実装実装実装 成果物成果物成果物成果物 分析対象分析対象分析対象分析対象 ○ルールロジック確認 ○ルールパターン定義 △BOMの言語化 ○ルール記述 ○ユニットテスト実施 □XOM/BOM定義 □ルールテンプレート設計 □ルール・フロー設計 □ Java設計 □テストツール作成 ○業務主体 △共同作業 □IT主体 代表的な判定条件を分析します。ルー ルのパターンを定義し効率的に開発が 進むようテンプレートを作成します。 テンプレートをもとに実装を進めます。ま た、複数判定を纏める総合判定ルール の作業を始めます メンテナンス性の向上のため、 リファクタリングを実施します。 個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート 判定ルール判定ルール判定ルール判定ルール 個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート インターフェースドラフトインターフェースドラフトインターフェースドラフトインターフェースドラフト 判定ルール判定ルール判定ルール判定ルール 個別判定テンプレート個別判定テンプレート個別判定テンプレート個別判定テンプレート ルール開発の進め方 要件定義、設計、実装がほぼ同時に進行するため業務部門、IT部門の密接な連携が必要 ITが変更容易性が高いテンプレートを作成し、業務部門がルール実装(更新)を行うことで開発のスピー ドを向上させる。
  13. 13. © 2017 IBM Corporation 13 業務部門業務部門業務部門業務部門 IT(((( アナリスト)アナリスト)アナリスト)アナリスト) IT(プログラマープログラマープログラマープログラマー) ルールロジック確認ルールロジック確認ルールロジック確認ルールロジック確認 ルールパターン定義ルールパターン定義ルールパターン定義ルールパターン定義 ルールパターン定義ルールパターン定義ルールパターン定義ルールパターン定義 テンプレート作成テンプレート作成テンプレート作成テンプレート作成 条件判定に使用す る入出力の定義 ルールの整理 記述形式の統一 ルール記述書作成 ルールの整理 記述形式の統一 ルール記述書作成 ルール定義の定型化 テンプレートの実装 ルール記述ルール記述ルール記述ルール記述 ルール記述書に基づ きテンプレート上に ルールを記述 ルールテスト 打鍵テスト打鍵テスト打鍵テスト打鍵テスト 業務部門によるシス テム全体の打鍵テスト 意志決定表に近い形式で ルール記述書を作成 パターン毎にテンプレートを 作成 (Javaスキル要) テンプレートを基に病種の 拡大 (Javaスキル不要) ルール記述書 ルール 記述書 システム 仕様書 ルール レポート ルール レポート ルール記述ルール記述ルール記述ルール記述 ルール記述書に基づ きテンプレート上に ルールを記述 ルールテスト ルール開発役割分担例 ルールの特徴を生かして役割分担することで開発効率を向上 業務部門が直接開発作業に参加し、ルールの品質を確保
  14. 14. © 2017 IBM Corporation 14 © IBM Corporation 2017. All Rights Reserved. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみ で提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本プレ ゼンテーションに含まれている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証 も伴わないものとします。本プレゼンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を 負わないものとします。 本プレゼンテーションに含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすこ とを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもあり ません。 本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示す るものではありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもって いつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料に含まれて いる内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそ のような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ フォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を 含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。 実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、IBM Operational Decision Managerは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。 現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。 Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。 IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標です。 インテル, Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, およびPentium は Intel Corporationまたは子会社の米国およびその他の国における商標または登録商標です。 Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。 Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。 ITILは英国The Minister for the Cabinet Officeの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。 UNIXはThe Open Groupの米国およびその他の国における登録商標です。 Cell Broadband Engineは、Sony Computer Entertainment, Inc.の米国およびその他の国における商標であり、同社の許諾を受けて使用しています。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。 Linear Tape-Open, LTO, LTOロゴ, UltriumおよびUltriumロゴは、HP, IBM Corp.およびQuantumの米国およびその他の国における商標です。

×