ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソリューション・サービス
  3. SOA
  4. SOA関連製品・サービス
  5. BPM/SOAシステム開発方法論
ここから本文です。

SystemDirector EnterpriseのBPM/SOAシステム開発方法論のご紹介

1.今後ますます求められるBPMシステムの導入と開発方法論の必要性

企業活動はビジネスプロセスを通して顧客へ提供する価値を生み出す活動といえます。

企業活動図1-1 企業活動

ビジネスプロセスを構成する一つ一つのタスク(作業)の中にはシステムによる自動化が可能なものもありますが、人間が実行しなければならないタスクが必ず存在します。そういったタスクには、人間が行っているがゆえに、熟練度によって所要時間やアウトプットの精確性などの品質にバラつきがあったり、オペレーションミスが発生してしまったり、タスクの受け渡しに時間がかかってしまうなどといった、ビジネスのQCD(品質、コスト、リードタイム)の悪化につながる要因も潜んでいます。

企業が他社に対して競争優位を確立するためには、そういった要因をできるだけ少なくし、ビジネスプロセスが生み出す価値を最大化することが必要です。また、そのための取り組みとしてBPM(Business Process Management)、及びBPMの実現を支援するBPMシステムの導入が考えられます。

従来、多くのベンダが個別システムの呼び出しフロー(システムプロセス)を実行する製品を提供してきましたが、上記のような背景から、単なる個別システム間連携のプロセスだけでなく、人間の行うタスクを含んだ実際のビジネスプロセス全体を管理できる基盤となるBPMシステムが求められるようになってきています。

NECでも、そういったビジネスプロセスの実装・実行に強い製品としてOracle社のOracle Business Process Management Suite(以下、Oracle BPM)を提供しています。しかし、製品導入だけでは本当にBPMの実現を支援できるBPMシステムは構築できません。例えば、業務を変更したときに柔軟に対応できるシステムにするためにはどうすればよいか、など、PDCAサイクルを回して継続的に業務を改善するというBPMの手法に対応できるBPMシステムの設計・実装を考えなければなりません。

これに対しNECでは、「SystemDirector Enterprise開発方法論 SOA導入手順書Oracle BPM版(以下、Oracle BPM開発方法論)」を整備し、具体的な設計・開発の手順を示しています。

2.Oracle BPM開発方法論の特長

Oracle BPM開発方法論で規定されるシステム開発プロセスの全体像を図2-1 開発プロセス全体像に示します。

開発プロセス全体像図2-1 開発プロセス全体像

NECはこれまでもSOAシステム開発に特化した開発方法論を提供しており、これを適用することでお客様のSOAシステムの構築を成功に導くお手伝いをしてきております。今回ご紹介するOracle BPM開発方法論も、NECのノウハウを結集したそのSOAシステム開発方法論の考えを踏襲して作成されています。

SOAシステム開発方法論をBPMシステム開発方法論の基礎としているのは、「機能の流れ」と「機能の実体」を分離して標準インタフェースを持たせて開発し、それらを組み合わせてシステムを構築するというSOAの考え方がBPMシステムの開発に非常に適しているためです。

BPMシステムはビジネスプロセスの変更に合わせて柔軟に変更できる必要があります。このとき、SOAの考えに基づいてシステムが構築されていれば、「機能の流れ」に相当するビジネスプロセスのフローの変更も、「機能の実体」に相当する一つ一つの業務機能の変更もお互いに影響を与えることなく柔軟に行うことができます。

Oracle BPM開発方法論においてもSOAに対する考え方や開発プロセスにおける大きな作業項目、および流れは従来のNECのSOAシステム開発方法論と変わりありません。一方、Oracle BPMをプロセスの実行基盤とするBPMシステムを構築するために、主に以下の設計項目を追加または変更しています。

  • ユーザインタフェースの設計
    BPMシステムで業務を実行していく上で必要になるユーザインタフェース(画面)の設計を行います。通常の業務Webシステムにおける画面構成と異なる点などを2.1で説明しています。
  • 役割の設計
    Oracle BPMで実装されるプロセスフローはビジネスプロセスを描くための標準であるBPMN(Business Process Modeling Notation)に準拠して表記されます。BPMNによるプロセス表記、およびプロセス実行のために必要となる「役割」の設計を行います。詳細は2.2で説明します。
  • プロセスの設計
    業務のAs-IsやTo-Beモデルとして作成された業務フローをOracle BPMでシステム化するための設計を行います。詳細は2.3で説明します。

2.1 ユーザインタフェースの設計

通常の業務Webシステムでは、システム毎に、業務機能のメニュー画面と各業務機能の実行画面をもっており、この二つの画面についてユーザインタフェースの設計を行います。このとき、「ビジネスプロセスを開始するための機能」と「ビジネスプロセス内のタスクを実行するための機能」の区別はなく、どちらも同一のメニュー画面内に表示されます。

これらの画面を利用してエンドユーザが業務を実行する流れは以下のようになります。

  1. メールや口頭での指示などから自分が実行するべきタスクを把握する
  2. タスクの内容によってどのシステムを利用するかを判断する
  3. 利用するシステムのメニュー画面にアクセスする
  4. メニューの中からタスク実行に必要な機能を探して、機能の実行画面を起動する

業務Webシステムの画面イメージ図2-2 業務Webシステムの画面イメージ

一方、BPMシステムでは、「ビジネスプロセスを開始するための機能」と「ビジネスプロセス内のタスクを実行するための機能」が明確に区別されます。また、ビジネスプロセス内でユーザが実行するべきタスクはBPMシステムによって管理されており、実行するべきタスクが自動的にリスト表示される画面(以下、ToDoリスト)がエンドユーザ毎に用意されます。そして、リストの中から実行するタスクを決定し、実行ボタンをクリックすることで適切なタスク実行画面が自動的に呼び出されます。つまり、エンドユーザには以下の三つの画面が提供されることになります。

  1. ビジネスプロセスを開始するためのメニュー画面
  2. ToDoリスト画面
  3. ビジネスプロセス内のタスクを実行するための画面

BPMシステムの開発ではこれらの画面についてユーザインタフェースの設計を行う必要があります。なお、外部からのメッセージをトリガーとして自動的に開始されるビジネスプロセスはメニューには表示しません。

これらの画面を利用した業務実行の流れは以下のようになります。

  • ビジネスプロセスを開始する場合
    1. ビジネスプロセスの開始メニューからプロセスを開始する
  • ビジネスプロセス内のタスクを実行する場合
    1. ToDoリストに表示されたタスクの中から、実行するタスクを決定する
    2. 当該タスクのタスク実行ボタンをクリックする

BPMシステムのイメージ図2-3 BPMシステムのイメージ

このように、BPMシステムでは、業務システムを意識する必要がないため、業務機能のメニュー画面は必要ありません。代わりにプロセスの開始メニュー画面とToDoリスト画面についてユーザインタフェースの設計を行います。

タスク実行画面のユーザインタフェース設計は通常のWeb業務システムの業務機能実行画面と同様の手順になります。

2.2 役割の設計

役割とは「ビジネスプロセスを構成する一つ一つのタスク(作業)を実行する権限」を表すものです。

システム連携だけのプロセスであれば、「Aシステムからデータを受取る」、「受取ったデータをBシステムに渡す」といったタスクが全てBPMシステムにより実行されてプロセスが進んでいくため、役割という概念は存在しません。しかし、人間の行うタスクを含んだビジネスプロセスでは、権限をもった人がタスクを実行することでプロセスが進んでいきます。

例えば、「一般社員が申請し、課長が承認する」、「関東支店が案件獲得して、本店が信用調査を行い、関東支店が調査結果に基づいて契約書を作成する」などといったビジネスプロセスが考えられます。この文脈からは「一般社員」、「課長」、「関東支店」、「本店」が役割の候補として考えられます。

役割の例図2-4 役割の例

このように、ビジネスプロセスをシステム化するには役割の設計を行う必要があります。

2.3 Oracle BPMのプロセスの設計

実際のビジネスプロセスをOracle BPMで実装し、システム化するために必要な以下の項目について設計を行うのがプロセスの設計になります。

  • プロセス図
  • プロセス内部で使用するデータオブジェクト
  • 各アクティビティ(プロセスを構成するタスク)で行う処理
  • サービス、他システム、外部Web画面との連携方式
  • 業務例外/システム例外に対する補償
  • プロセスのインタフェース

NECのSOAシステム開発方法論では、システム化されたビジネスプロセスも一つのサービス(プロセスサービス)と捉えています。従ってインタフェースは標準化を行いますが、中身の実装は、やはりプロセスを実行する製品のエンジンに依存する部分が多くあります。そのため、プロセス設計方法は製品毎に異なります。

製品固有の設計方法が必要となる分かりやすい例として、プロセス図の設計(表記)があります。プロセス図とは、プロセス実行エンジンが実際に実行するプロセスフローを表記した図のことです。

BPMシステムは現実の業務をシステム化するものです。従って、業務フローと同じプロセス実装し、実行できることが理想です。しかし、業務フロー図をそっくりそのままプロセス図にすることは非常に困難です。業務フロー図がARISを初めとする表記の自由度の高いモデリング専用ツールを用いて描かれることが多いのに対し、プロセス図はプロセス実行エンジンが解釈・実行可能な形式で表記される必要があり、表記方法に制約があるからです。そのため、Oracle BPMで表記できない(プロセス実行エンジンで実行できない)業務フローは、プロセス図作成時に書き換えを行います。

業務フロー図からプロセス図への書き換え図2-5 業務フロー図からプロセス図への書き換え

このように、製品固有の仕様を意識してプロセスの設計を行う必要があります。

3.コンサル、製品サポートを含めた一貫したシステム構築の実現

ほんの一部ですが、NECの持つBPM/SOAシステム開発方法論について紹介してきました。

冒頭でも述べていますが、単純に製品を導入するだけではBPMの実現を支援できるBPMシステムを構築することはできません。同様に、BPMはシステム構築で終わるのではなく、構築後のシステム運用、更にモニタリングを行い、次の改善ポイントを特定して、PDCAによる継続的なプロセスの改善に取り組んでいくことで真価を発揮します。

NECでは、グループ会社、パートナ企業と連携し、BPM分野において業務コンサルティングからシステム構築、製品サポートまで一貫した支援しております。本開発方法論もシステム構築に係るサービスの一部として提供しているものです。

業務改革やBPM/SOAシステム構築をお考えのお客様は、是非NECにお声がけください。お客様のお役に立てると考えております。

サービス紹介

NECの開発方法論は、個別のお客様向けにテーラリングして、お客様における標準としてお使いいだくことが可能です。

SystemDirectorおよびSystemDirector Enterpriseは日本電気株式会社の登録商標です。
ARISはSoftware AGの登録商標です。
Oracleは、米国オラクル・コーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標です。
その他の会社名、製品名等は一般に各社の商標または登録商標です。

ページの先頭へ戻る