はじめに

ここでは、フローサービス全体の概要について説明します。

フローサービスとは

フローサービスとは、情報システムの中である処理の単位を1つのグラフィカルなもので表し、行いたい処理手順に沿って、そのグラフィカルに表したものを線でつないでいくことによって全体の処理を記述したフローを実行、管理するプラットフォームです。ある処理の単位をコンポーネントといい、行いたい処理を記述していくスペースをフローといいます。フローを設計・開発するフローデザイナーから、フローを実行するプラットフォームであるフローサービスに接続し、フローを作成してサーバー上に保存して、トリガーにより起動します。たとえば、HTMLフォームでデータを入力して送信すると、HTTPリクエストをフローサービス内蔵のHTTPサーバーが受信し、フローサービスがURLに関連付けられたフローを起動して、入力データを各種コンポーネントでフォーマット変換してデータベースに取込むなどの処理をすることができます。

フローサービスでは、情報システムでよく使われる処理をコンポーネントとしてあらかじめ多数用意しています。企業内外のシステム連携に必要なさまざまなインターネットプロトコルやアプリケーションに対応したインターフェースを備えたコンポーネントや、CSV、XML、Excelなどの多種多様なデータ形式を入出力するコンポーネントもあります。処理や手順をグラフィカルに表すことでシステム全体が可視化され、システムを構築するチームの担当者同士のコミュニケーションギャップを埋め、システムの変更や追加時にも柔軟に対応することができます。また、処理や手順をある単位でまとめておくと、それを繰り返し使うことでコーディングが必要ないため開発期間やコストの削減につながります。

フローを起動するトリガーは、以下の6種類があります。また、フローを起動するためのコマンドも用意されています。

起動方法 フローサービス トリガー
HTTP起動 フローとURLを関連付け 任意のクライアントからHTTPリクエストを送信してフローを起動
SOAP起動 フローとメソッド名を関連付け 任意のSOAPクライアントからリクエストを送信してフローを起動
FTP起動 フローサービス内蔵のFTPサービスでフォルダを監視 外部システムからFTPでファイルを転送してフローを起動
メール起動 メールサーバーを定期的に監視 任意のメールクライアントからメールを送信してフローを起動
メッセージキュー起動 メッセージキューを定期的に監視 任意のクライアントからメッセージを送信してフローを起動
スケジュール起動 フローサービス内蔵のスケジューラーで管理 任意の日時や時間間隔でフローを起動

フローを起動するトリガー

フローを起動するトリガー

フロー機能の製品構成

フロー機能は、GUIベースの統合設計環境である「フローデザイナー」とその実行環境である「フローサービス」の2つの環境で構成されます。また、フローサービスには設定や保守運用を支援するWebベースの管理ツールである「フローサービス管理コンソール」(以降、管理コンソールと記述)の機能が内蔵されています。

フローデザイナー GUIベースで処理を記述する統合開発環境
フローサービス フロー関連のサービスを実行するサーバー環境
フローサービス管理コンソール フローサービスの設定管理ツール

フローデザイナー

フローデザイナーは、データの抽出・変換・配信などの一連の処理手順をグラフィカルにあらわすフローを作成・保存・実行するGUIベースの統合設計環境ツールです。フローデザイナーでフローを作成し、フローサービスに登録して、実行するというのが基本的な設計手順になります。フローデザイナーでは、例えばHTTPサーバーに対するリクエストの送信、RDBからのデータの取得やデータの変換、などといった汎用的な機能単位をアイコンとして表現し、それぞれのアイコンをキャンバス内にドラッグ&ドロップの簡単な操作で配置し、それらアイコンを接続線でつないでいくだけのシンプルな操作で、様々な処理手続きを記述することができます。

フローデザイナーには、以下のツールが同梱されています。

トリガー管理 運用時にサーバーに接続して、フローと起動方法を定義する「実行設定」とフローの実行状況をみる「モニター」の機能をもつツール
ログビューアー 運用時にサーバーに接続して、フローサービスで出力されるログを表示する機能をもつツール
比較ツール 2つのプロジェクトまたは関数コレクションを比較して、変更点をグラフィカルに確認する機能をもつツール
テーブル定義書作成 データベースに接続して、テーブルの定義情報を仕様書出力するツール
WebMacroレコーダー ユーザーによるWebブラウザでのURLの入力やFORMへの入力を記録するツール

フローサービス

フローサービスは、フローデザイナーで作成したフローを実行するプラットフォームです。フローデザイナーで作成したフローはフローサービスに保存・登録され、外部からのトリガーまたは設定したスケジュールによって起動・実行されます。フローサービスでは、フローの処理をマルチスレッドにより最適な効率で作動します。

フローサービス管理コンソール

フローサービス管理コンソールは、運用やメンテナンスに関わる作業をWebブラウザから行うためのツールです。フローサービス独自のアカウントの作成、ログの確認、各プロセスの起動・停止などを行うことができます。

機能一覧

フローサービス管理コンソールの機能は以下のとおりです。

機能 説明
「状態」タブ フローサービスやフロー実行の状態を参照、管理するための画面タブで構成されています。
ログ フローサービスとユーザーがフローで設定した情報を出力するアプリケーションのログを参照します。
フロー フローの状態確認や実行などを行います。
バージョン管理 バージョン管理を使用している場合、現在の状態やリビジョン履歴を確認したり、任意のリビジョンに更新します。
サーバー情報 本製品およびOS、Javaの情報を表示します。
ライセンス情報 本製品のライセンス情報を表示します。
「設定」タブ フローサービスの通信関連の設定を行います。
コネクション RDBやインターネットプロトコルなどの接続設定を行います。
トリガー フローの実行設定を参照したり、実行設定を新しく登録、変更、削除します。
プロキシ フローサービスからHTTP、HTTPSリクエストをプロキシ経由で送信する場合の設定を行います。
SSL SSLを利用した通信を行う場合に必要な証明書を管理します。
ログ フローサービスの各種ログの設定を変更したり、フローの中で出力するログ設定を作成、変更します。
通知 サーバーで異常が発生した場合に管理者にメールで通知するための設定を行います。
サービス FlowServiceの各種設定を行います。
パスワード 管理コンソールのログインユーザーのパスワードを変更します。
「ツール」タブ フローサービスで使用するツールの設定を行います。
アカウント フローサービスアカウントを管理します。
メンテナンス フローサービスで出力されたログのメンテナンスやバックアップ/リストアなどを行います。
カレンダー スケジュール機能で使うシステムカレンダーの休日の設定や詳細表示を行います。
サービス フローサービス上で動作している各種サービスの状態の参照や起動・停止を行います。
「ヘルプ」タブ ヘルプを表示します。

フローサービスの仕様

対応フォーマット

XML / HTML / CSV / 固定長 / テキスト / バイナリ / ZIP / GZIP / Tar / PDF /
Excel(※1)/ XBRL(※1)

※1:オプション製品

対応データベース

Oracle
IBM DB2
IBM AS/400 iSeries DB2
Microsoft SQL Server/SQL Azure
Microsoft Access
PostgreSQL
MySQL
MariaDB
Netezza
Dr.Sum EA
FileMaker
Amazon Aurora

※サポートされるバージョンにつきましては製品ホームページをご覧ください。

対応通信プロトコル

HTTP / HTTPS
SMTP / SMTPS
POP3 / POP3S
IMAP / IMAPS
FTP / SFTP
LDAP
SOAP 1.1 / 1.2

対応アプリケーション

IBM Lotus Notes/Domino
NeoCoreXMS
Microsoft Excel
Microsoft Active Directory

※サポートされるバージョンにつきましては製品ホームページをご覧ください。

フローサービスのプロセス構成

フローの実行環境であるフローサービスの内部は、複数のサービスによって構成されています。内部のサービスのうち、実際にフロー実行エンジンをもち、実行管理を行うサービスをFlowServiceといいます。本項では説明上区別するため、実行環境全体のフローサービスを「サーバー」として説明します。

内部のそれぞれのサービスは物理的に独立したJavaVM(Java仮想マシン)のインスタンスを持つプロセスとしてメモリ上に常駐します。さらに、それぞれのサービスごとにマルチスレッドで複数のサービス要求を同時に処理することができる枠組みを持っています。

「サーバー」を構成するサービスのうち、ASTERIA Monitorはその他の一連のサービスを子プロセスとして起動および停止、稼動監視を行うスーパープロセスです。

サーバー(フローサービス全体)の構成図

サーバーの構成図

サービス名の一覧

標準構成では、以下のサービスが登録されています。

サービス名 説明
FlowService フローを実行するためのエンジンやHTTPリスナーなどが内蔵されているサービスです。
AccessControl フローサービス独自のアカウントの管理および認証を行うサービスです。
Scheduler 特定の日時、または開始日時と繰り返し間隔を登録しておくことで、指定日時がきたら特定のフローを起動するサービスです。
ManagementConsole 「サーバー」の運用に必要となる各種設定やメンテナンスを、Webブラウザから行うための管理用サービスです。
FtpService 「サーバー」標準搭載のFTPサーバーです。ファイル受信の完了をトリガーとしてフローを起動することができます(初期設定では起動しないように設定されています)。
InternalDataStorage 「サーバー」が内部データの格納用に使用するデータベースです。通常の使用形態の範囲ではデータが増えていくことはありません。なお、このサービスは内部的には「HSQL
(http://hsqldb.sourceforge.net/)」を利用しています。
接続確認やサンプルフローの動作確認を行う用途以外には使用することは出来ません。

FlowServiceの構成

「サーバー」の中核をなすFlowServiceは、外部からのイベントを受信するための各種リスナーとフローを実行するランタイム環境であるFlow Engineで構成されています。

Flow Engineは、フローの処理手順を記述した実体としてのXMLファイルであるプロジェクトファイル(拡張子「.xfp」)を動的に読み込んでコンパイルして保持し、リスナーからのトリガーに基づいて指定されたフローをマルチスレッドに起動し、実行していきます。

フローの内部では、さまざまなコンポーネントが連携して動作します。また、「サーバー」の外部にあるFTPサーバーやデータベースサーバーなどとの通信においてはコネクションを利用するものがあります。また、コネクションはプールすることも可能となっており、初期化時のコストを抑制することができます。

概念図を以下に示します。各概念の詳細な解説は、左メニューの[詳細なトピック]の「フローサービスのアーキテクチャ」「フローサービスの実行モデル」を参照してください。

FlowSeriveの概念図

FlowSeriveの概念図

FlowServiceとその他のサービスの連携

FlowServiceは、SchedulerやAccessControlといった他のサービスと連携して動作します。その際の動作モデルは下図のようになります。

動作モデルの図

動作モデルの図

フローサービスのファイル構成

フローサービスが使用するファイルの置き場所は以下の2つがあります。以降、それぞれのフォルダの解説は「フォルダ表記」を使って説明します。

対象フォルダ表記デフォルトインストール時のパス
フローサービス
インストールフォルダ
[INSTALL_DIR]WindowsC:\Program Files\asteriawarp
UNIX/[インストールユーザーのホームフォルダー]/asteriawarp
データフォルダ[DATA_DIR]WindowsC:\asteriahome
UNIX/[インストールユーザーのホームフォルダー]/asteriahome

インストールフォルダの構成

(※)のついたフォルダは、開発・運用でユーザーがファイルを配置、参照するなど使用する場合があります。メンテナンスや移行を行うときに必要なファイルについては、「運用ガイド」-「メンテナンス」、「バックアップ」を参照してください。

フォルダ説明
[INSTALL_DIR]/common 他サービスと共通で使用するライブラリ
[INSTALL_DIR]/license (※) ライセンスファイル
[INSTALL_DIR]/jre/lib/ext (※) JDBCなど各種ドライバー
[INSTALL_DIR]/flow/bin (※) 実行ファイル
[INSTALL_DIR]/flow/conf 各種設定ファイル
[INSTALL_DIR]/flow/data InternalDataStorageのデータ、SSLのKeyStoreなど
[INSTALL_DIR]/flow/lib 各種ライブラリ
[INSTALL_DIR]/flow/lib/flowlib コンポーネント、マッパー関数のライブラリ
[INSTALL_DIR]/flow/log (※) 管理コンソールやログビューアで参照するログの実体ファイル
注:管理コンソールから出力先を変更することができます。
[INSTALL_DIR]/flow/services サービス固有の定義ファイル
[INSTALL_DIR]/flow/services/flowservice/conf フローサービス設定ファイル
[INSTALL_DIR]/flow/webapps フローサービス管理コンソール関連ファイル
 

▲ このページのトップへ