クラウド型 ワークフロー

社内マスタを「選択肢 XML」に反映させる方法(前編)

こんにちは、古久保です。

突然ですが、選択肢 XML を活用されていますか?
共有ファイルとして「選択肢 XML」を登録しておくと複数の業務プロセス定義から
参照することができます。
(「選択肢 XML」の詳細は「M319 複数の業務プロセス定義から参照される選択肢XMLを登録する」を参照ください。)

* 取引先企業名マスタデータ
* 商品マスタデータ
* 価格マスタデータ
等など様々ありますし、様々な業務で業務情報として利用することが予想されます。

Questetra BPM Sutie ご利用のお客様に「選択肢 XML」の活用を推奨しております。
しかし、「マスタデータ」の扱いは中々根深いものがあり、頭を悩まされています。

◆「選択肢 XML」を活用をためらうワケ

で、頭を悩ます原因は何か?

* マスタを管理しているシステムが別システムにある。
* 手動で変更するのが面倒だし、失敗すると大変なことになる。
* 「選択肢 XML」形式にデータ変換する手間が掛かる。

が主なところです。
非常に有用なデータであるが故に扱いは慎重にでも余り手間は掛けたくないというところでしょうか。

Questetra BPM Suite から外部システム(ご利用企業様社内システム)に配置された「選択肢 XML」ファイルを参照して利用する方法もあります。
しかし、多くのお客様からは、「社内システムを外部から(例え https アクセスだとしても)アクセスできるような対応はしたくない」という理由でご利用を逡巡されています。

◆お悩み解決案

前振りが長くなりました!
解決策を提案致します。

(図1:システム概要図)

usingselectoptionbydatafederation-fig1

* 企業内システムより送信プログラムの実行によりマスタとして扱いたいデータ(CSV 形式ファイル)を
送信します。
*  Questetra BPM Suite 側は、メッセージ送信中間イベント(http) にて受信し、選択肢 XML へ
格納する処理を行います。

ポイントは、

* 企業内システムへ外部のシステムからアクセスする方式ではないこと。
  (外部からの脅威低減)
* 企業内システムからデータを送信する為、送信タイミングや元データ(CSV 形式ファイル)の保存方法
が柔軟に決められる。

* 比較的容易に実現ができる。(データ送受信 I/F が REST 形式である等)

であります。

◆「マスタ送信プログラム」実装例

図1中の『マスタ送信プログラム』の実装って大変そうではないんか?
という疑問があるかもしれません。
さほどの難易度の高い実装ではないと考えています。

PHP での「マスタデータ送信プログラム」実装例は以下となります。

<?php
mb_language('Japanese');
$file = mb_convert_encoding(file_get_contents('./CSV.txt'), 'UTF-8', 'auto');

$url = "https://●Questetra BPM Suite ご利用環境のホスト名●/System/Event/MessageStart/start";

$postdata = array("processModelInfoId" => "●連携対象のプロセスモデルID●", 
		  "nodeNumber" => "●連携対象のメッセージ送信中華にベントのノードID●",
		  "key" => "●APIアクセスキー●",
		  "data[●CSV形式データを格納するプロセスデータ項目の要素番号●].input" => $file
		  );

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
curl_close($ch);

echo $result;
?>

※PHP 5.5.27 での動作実績がございます。
※エラー発生時の情報取得・通知などの実装は行っておりません。

比較的容易な実装ではないでしょうか?

特にプログラム言語を固定するものでも送信するデータの形式(*)を CSV 形式に限るものではありません。
(*)Questetra BPM Sutie 側でデータの形式に沿って解析を行う為、他のデータ形式でも可能です。
例:JSON 形式等

より安全に利用する為には、
* マスタデータ送信プログラムの実行権限などの厳密性
* 送信する元データファイル(例では CSV 形式のデータ)の格納場所/閲覧権限/削除等の設定
を考える必要がございます。

インターネットに接続されたお使いの PC 端末でも環境が揃えば容易にお試し実行することが可能です。

◆あとがき

「で、Questetra BPM Suite 側の設定どーすんだ?」
とお気づきの方もいらっしゃると思います。

マスタデータを受信し、選択肢 XML に自動で格納するプロセスモデルの解説は次回に致します。

それでは、また!

Masato Furukubo の紹介

Questetra, Inc. Sales Department
Masato Furukubo の投稿をすべて表示

あわせて読みたい
55.カイゼン Tips の前の記事 Questetra の評価方法は?(ステップ3)
55.カイゼン Tips の次の記事 社内マスタを「選択肢 XML」に反映させる方法(後編)
Masato Furukubo の他の記事 ルールに従ったファイル名に自動変更する方法

アーカイブ

 RSS