ITpro Special
週間WEEKLY ITpro Special ITpro

実績ある開発基盤がさらに進化

ワークフローエンジンとBPMエンジンが強み
長年にわたって高いシェアを維持

NTTデータイントラマート 開発本部 プロダクトディベロップメントグループ 芳本 大輔 氏
NTTデータイントラマート
開発本部 プロダクトディベロップメントグループ
芳本 大輔 氏

 NTTデータイントラマートは、設立当初から業務システムの開発基盤である「intra-mart」を手掛けてきた。現在では5000社を超える企業に導入され、全社ワークフローシステムやERPフロントシステムなど様々な業務システムの開発に利用されている。

 intra-martは、Javaアプリケーションサーバー機能を中核にした業務システムの開発基盤である。リクエスト処理やデータベース処理など一般的な開発フレームワークが提供する機能だけでなく、ワークフローエンジンやアクセス権管理、共通マスタ、全文検索など業務システムを構築する上で必要となる業務部品をAPI(application programming interface)や機能という形で提供している。intra-martが提供する業務部品を利用することで、業務システム独自の部分の開発に集中することができ、開発期間を大幅に削減することができる(図1)。

図1●intra-martを利用することで業務システムを素早く低コストで開発
図1●intra-martを利用することで業務システムを素早く低コストで開発
[画像のクリックで拡大表示]

 intra-martが提供する業務部品の中でも強みとなっているのが、ワークフローエンジン「IM-Workflow」とBPMエンジン「IM-BPM」だ。前者が稟議や決済など組織内の意思決定プロセスを電子化し効率化するための機能であるのに対し、後者は納品プロセス・受注生産プロセスなど企業の実際の業務プロセスを効率化するための機能である。また、前者が処理画面での入力操作など人間によってのみ処理されるのに対し、後者が扱う業務プロセスでは人間の処理だけでなく、ERPなど既存の業務システムを呼び出しデータの送受信を行う。ワークフローに関しては、金額ベースの市場シェアにおいてintra-martが9年連続首位(出典:株式会社富士キメラ総研『ソフトウェアビジネス新市場2016年版 上巻』)を獲得している。

 IM-Workflowの特徴は、他社製品と比較して柔軟な承認ルートを実現できることだ。日本式の稟議、合議、回覧、差戻し、承認者が動的に変わるフローや、「人」だけではなく組織や役職で権限を割り当てるフローといった、従来のワークフローではカスタマイズが必要となるフローも、簡単に実現することができる。また、フローの運用中に発生する組織改編や人事異動などの変化が頻繁に起きる日本の商習慣にも柔軟に対応できる。

 IM-BPMの特徴は、外資系ベンダーの製品では実現できないような日本企業の複雑な業務プロセスにも対応できる点だ。業務プロセスの人間系の領域に対して、IM-Workflowで作成したフローを呼び出すことができる。日本の商習慣に対応したワークフローを呼び出せることで、日本企業の複雑な業務プロセスにも柔軟に対応できる。

ビジュアル・プログラミング・ツール群など
選べる柔軟な開発スタイル

 従来のintra-martでは、技術者がこれらの業務部品を組み合わせてコーディングを行うことで業務システムを開発していた。例えば、ワークフローの申請帳票や業務プロセスの入力画面を開発する際には、intra-martが提供するUIコンポーネントを組み合わせてHTML・JavaScriptベースでコーディングを行っていた。業務プロセスから呼び出される業務ロジック(入力データの加工や他システムとの連携)を開発する際には、intra-martが提供する業務API群を利用してJavaベースでコーディングを行っていた。

 しかし、業務システムをより素早く低コストで開発することが求められるようになったため、現在のintra-martでは、技術者だけでなく現場のビジネスユーザーが簡単に業務システムを開発できるビジュアル・プログラミング・ツール群を提供している。ビジュアル・プログラミング・ツールでは、intra-martが提供する業務部品をWebブラウザー上のデザイナーで配置することで業務画面・ロジックを開発することができる。

(1)業務画面をノンコーディングで作成できる「IM-FormaDesigner」
(2)データの集計と出力を簡単に作成する「ViewCreator」
(3)Webブラウザー上で業務ロジックを作成する「IM-LogicDesigner」

操作が簡単でビジネスユーザーでも
業務ロジックを作成できる

 講演では、特に業務ロジックをノンコーディングで開発できるIM-LogicDesignerに力を入れて紹介した。intra-martが提供する様々な業務部品をWebブラウザー上で配置し、線でつなげるだけで、業務ロジックを開発できる。コーディングの知識を必要としないので、現場のビジネスユーザーが簡単に業務ロジックを作成することができる。業務ロジックを内製化したいときに有効だ。

 例えば、申請画面に添付されたファイルをワークフロー完了後に文書管理に格納する処理を作成する場合に、文書管理のAPIを利用してコーディングするのではなく、文書管理の部品を配置するだけで作成できる。同様に、業務プロセスの処理画面で入力された情報をCSVファイルに出力し、そのファイルを外部システムへ連携する処理を作成する場合には、CSVファイル出力と外部システム連携の部品をそれぞれ配置し、線で結ぶだけで作成できる。

 講演では、実際に業務ロジックを作成し、実行するデモを行った。IM-LogicDesignerのデザイナー画面でグループウエアのスケジューラと社内SNSの部品を配置し、入力された情報に基づいてスケジュール登録・社内SNSへの通知を行うシンプルなロジックを作成した。デザイナー画面にはintra-martが提供する業務部品が並べられたパレットがあり(図2)、そこから部品を配置し、線をつなぎ合わせることで業務処理の流れを定義する。部品のマッピング画面で入力パラメータと出力パラメータを線で結ぶことで、データの入出力を定義する。

図2●IM-LogicDesignerのビジュアルに操作できる画面
図2●IM-LogicDesignerのビジュアルに操作できる画面
[画像のクリックで拡大表示]

 作成したロジックはデバッグ画面上で簡単に動作確認することができる。ロジックに定義した入力パラメータをテスト実行値として設定し、実行ボタンを押下することで、作成したロジックを実際にサーバ上で動作させることができる。ステップ実行ボタンを押下することで、ロジック上に並べた各業務部品を1つずつ進めることができ、実行中のロジックに保持されたパラメータの内容やどの分岐に処理が到達したかを確認することができる。

 IM-LogicDesignerが提供する業務部品の数は、今年の年末にリリース予定の2016 Winterのアップデートにて200種類を超える予定である。ワークフローやグループウエアなどintra-mart上で動作するアプリケーションを操作する部品だけでなく、Office 365やSalesforceなど外部システムと連携する部品も提供されている。2016 Winterのアップデートでは、SAPのHANAと連携する部品も提供される予定である。REST API呼び出しやデータベース操作など外部システムが提供するデータソースに直接アクセスする部品も提供されている。

 分岐や繰り返し、エラーハンドリングなどロジックを制御する部品も提供されており、複雑なロジックにも対応することができる。

 加えて、製品標準で提供されていない特殊な処理・データソースに対応するために、業務部品を追加する仕組みが提供されている。シンプルな処理であればブラウザー上でサーバーサイドJavaScriptを記述し、開発することができる。複雑な処理をまとめた本格的な部品についてはJavaでコーディングし、モジュールとして追加することができる。

作成した業務ロジックは
様々なトリガーから呼び出すことができる

 IM-LogicDesignerで作成した業務ロジックは、様々なイベントを契機に呼び出すことができる。
(1)画面イベントの発生時にロジックを実行する。
(2)intra-mart上のアプリケーション操作時にロジックを実行する。
(3)外部システムからロジックを呼び出す。
(4)ジョブスケジューラ(バッチ)から定期的にロジックを実行する。

 IM-FormaDesignerで作成した業務画面のイベントの発生時(入力フィールドの変更・ボタンのクリックなど)に呼び出す業務ロジックを定義できる。例えば、業務画面で選択したコード値を基に外部システムのマスタデータを検索し、取得した情報を画面にセットする処理などを実現できる。

 ワークフロー・BPM・グループウエアなどintra-mart上のアプリケーション操作に業務ロジックを紐づけることで、ユーザーが登録されたり、スケジュールが登録されたり、ワークフローが完了されたタイミングで任意の業務ロジックを実行させることができる。

 IM-LogicDesignerで作成した業務ロジックはREST APIとして登録することができるため、リクエストを送ることで外部システムから業務ロジックを呼び出すことができる。また、SalesForceなどintra-martと双方向で連携しているシステムについては、外部システム上のイベント(オブジェクトの登録・更新など)に対して任意の業務ロジックを実行させることができる。例えば、SalesForce上で見積もり依頼のレコードが登録されたタイミングでintra-mart上の見積もりプロセスを開始させることができる。

 intra-martが提供するバッチサービスに対して、任意の業務ロジックを呼び出すスケジュールを設定することができる。例えば、月末の営業日に月次の締め処理のロジックを実行させたり、日時の集計処理を夜間バッチとして実行させたりすることができる。

 今後もIM-LogicDesignerで提供される業務部品や連携する外部システムは追加されていくようだ。

お問い合わせ
  • NTTデータイントラマート

    セールス&マーケティング本部

    TEL:03-5549-2821

    URL:http://www.intra-mart.jp/

    メールでのお問い合わせはこちら