生産スケジューラFLEXSCHE へRabbitMQ からデータを取り込む

浦邊信太郎
浦邊信太郎
プロダクトスペシャリスト
生産スケジューラFLEXSCHE へRabbitMQ からデータを取り込む方法



FLEXSCHE はあらゆる生産ルールに対応可能な柔軟性と拡張性を備えた生産スケジューラで、さまざまな業界・業種へ導入実績があります。

この記事では、FLEXSCHE と CData ADO.NET Provider を使って、FLEXSCHE へRabbitMQ からデータを取り込む方法を紹介します。

CData ADO.NET Provider

まずCData ADO.NET Provider を対象の環境にセットアップします。

  1. 30日の無償評価版のページからダウンロードし、FLEXSCHE と同じマシンでセットアップします。

データソース接続の設定

それでは、ここからFLEXSCHE 上でデータを取り込むための設定を行います。

  1. 「ファイル」メニューから「外部データソース」の「EDIF構成ツールを起動」を選択し、「EDIF構成ツール」を開きます。
  2. メニューの「マッピング」から「テーブルマッピングを追加」を選択し、「テーブルのマッピング設定」ダイアログを開きます。 対象とするFLEXSCHE テーブルを選択します。
  3. ここでマッピングの外部テーブルとしてRabbitMQ のデータを参照する設定を行います。「外部テーブル」で「<<新規>>」を選択すると「データソース設定」ダイアログが開きます。
  4. 「種類」を「.NET Frameworkデータ接続(ADO.NET)」にします。「プロバイダー」をインストールしたADO.NETドライバーにします。
  5. 続いて接続の詳細設定を行います。「接続文字列」の横にあるボタンを押下すると「接続文字列」ダイアログが開きます。 この画面で認証やプロキシ、ログ出力などの設定を行います。

    RabbitMQ Management HTTP API について

    RabbitMQ は、複数のメッセージングプロトコルをサポートするオープンソースのメッセージブローカーです。RabbitMQ Management HTTP API は、RabbitMQ サーバーの管理データと監視データに HTTP 経由でアクセスする手段を提供します。この API では、仮想ホスト、エクスチェンジ、キュー、バインディング、コネクション、チャネル、コンシューマー、ユーザー、権限、ポリシー、クラスター全体の統計情報を取得できます。

    HTTP API を利用するには、RabbitMQ サーバーで Management プラグインを有効化する必要があります。デフォルトでは、管理インターフェースはポート 15672 でリッスンします。

    Basic 認証の設定

    RabbitMQ Management HTTP API は HTTP Basic 認証を使用します。RabbitMQ 管理ユーザーのユーザー名とパスワードを指定する必要があります。

    管理 API へのアクセスを有効にするには、以下のステップで進めます:

    1. サーバーで RabbitMQ Management プラグインが有効になっていることを確認します(rabbitmq-plugins enable rabbitmq_management)。
    2. 既存の管理ユーザーを使用するか、適切な管理タグ(management、policymaker、monitoring、または administrator)を持つユーザーを作成します。
    3. RabbitMQ Management HTTP API の完全なベース URL を控えておきます(例:http://localhost:15672)。

    RabbitMQ サーバーを設定したら、以下の接続プロパティを設定して接続します:

    • AuthScheme:Basic に設定します。
    • URL:RabbitMQ Management HTTP API のベース URL に設定します(例:http://localhost:15672)。
    • User:RabbitMQ の管理ユーザー名に設定します(例:guest)。
    • Password:RabbitMQ の管理パスワードに設定します。

    接続文字列の例:

    Profile=C:\profiles\RabbitMQ.apip;AuthScheme=Basic;URL=http://localhost:15672;User=guest;Password=guest;
    

    利用可能なテーブル

    RabbitMQ プロファイルでは、以下のテーブルにアクセスできます:

    • Overview - クラスター全体の統計情報と RabbitMQ ノードに関する情報
    • Nodes - RabbitMQ クラスター内の個々のノードに関する情報
    • NodeMemory - 特定のクラスターノードの詳細なメモリ使用状況の内訳
    • Connections - ブローカーへのすべてのオープンな AMQP コネクションの一覧
    • Channels - すべてのコネクションにわたるオープンな AMQP チャネルの一覧
    • Consumers - すべてのキューに登録されたコンシューマーの一覧
    • Exchanges - すべての仮想ホストで宣言されたエクスチェンジの一覧
    • Queues - すべての仮想ホストで宣言されたキューの一覧
    • Bindings - エクスチェンジとキュー間のすべてのバインディングの一覧
    • VirtualHosts - ブローカーに設定された仮想ホストの一覧
    • VhostPermissions - 特定の仮想ホスト内のユーザー権限
    • Users - すべての RabbitMQ ユーザーの一覧
    • Permissions - すべての仮想ホストにわたる全ユーザーの権限レコード
    • TopicPermissions - 全ユーザーのトピックレベルの権限レコード
    • Policies - 仮想ホスト内のキューおよびエクスチェンジに適用されたポリシーの一覧
    • OperatorPolicies - 仮想ホスト内のキューに適用されたオペレーターポリシーの一覧
    • Parameters - 仮想ホストごとのコンポーネントパラメータ(例:federation、shovel)の一覧
    • GlobalParameters - すべての仮想ホストに適用されるグローバルパラメータの一覧
    • VhostLimits - 特定の仮想ホストに設定されたリソース制限
    • UserLimits - 特定のユーザーに設定されたリソース制限
    • FeatureFlags - フィーチャーフラグの一覧と、ノード上での有効/無効の状態
    • DeprecatedFeatures - 非推奨機能の一覧と、その使用状態
    • AuthAttempts - ノードの認証試行統計
    • ClusterName - RabbitMQ クラスターの名前
    • WhoAmI - 現在認証されている管理ユーザーに関する情報
    • ExchangeBindingsSource - 特定のエクスチェンジがソースとなっているバインディング
    • ExchangeBindingsDestination - 特定のエクスチェンジが宛先となっているバインディング
    • QueueBindings - 仮想ホスト内の特定のキューのバインディング
  6. 「接続文字列」画面でプロパティを編集したら「テスト接続」を押下して接続を確認してください。 「接続に成功しました。」というメッセージが表示されれば接続設定は完了です。

データソースの対象テーブルの選択

次に接続先のテーブルを選択します。

  1. 「データソース設定」ダイアログの「テーブル名」の右のボタンを押下し「テーブルの検索」画面を開いてください。 検索対象が「Tables」になっていることを確認し「検索」ボタンを押下します。
    RabbitMQ のテーブル一覧が表示されるので、対象のテーブルを選択します。
  2. 「データソース設定」ダイアログの「OK」を押下すると、外部テーブルへの接続情報が「テーブルのマッピング設定」画面の「外部テーブル」に反映されます。
  3. 「OK」を押下し「テーブルのマッピング設定」画面を閉じます。

フィールドマッピングの設定

続いてフィールドマッピングを行います。

  1. マッピングするテーブル情報の設定が完了すると、「EDIF構成ツール」ダイアログにフィールドマッピングを設定するタブが表示されます。
    FLEXSCHE のテーブルとRabbitMQ のテーブルのカラムをそれぞれ対応付けます。
  2. 設定が完了しましたらマッピングを保存し、「EDIF構成ツール」を閉じてください。

データのインポートと確認

それでは実際にFLEXSCHE にデータが取り込めるか確認してみましょう。

  1. 「ファイル」メニューの「外部データソース」にある「EDIFインポート」をクリックするとデータのインポートが実行されます。 FLEXSCHE のデータを確認し、RabbitMQ にあるデータが表示されれば成功です。

このようにCData ODBC Driver for API とFLEXSCHE を組み合わせることで、簡単にRabbitMQ のデータを活用した連携を実現できます。ぜひ、30日の無償評価版をお試しください。

はじめる準備はできましたか?

API Driver で RabbitMQ のライブデータに接続

RabbitMQ に接続