American Flights プロセスの統合

進行中のベータリリース​: クラウド IDE は進行中のベータリリースです。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。

最初に American Flights の例の基本インテグレーションを作成します。このインテグレーションは、American Flights API からの要求を処理するいくつかのロジックを提供する Mule アプリケーションです。

始める前に

次の手順を実行します。

  • American Flights API 仕様の設計 (API 仕様の作成から Exchange への仕様のパブリッシュまでのすべてのタスク)

  • Postman や Advanced REST クライアントなどの REST クライアントのインストール。

Mule アプリケーションを作成する

American Flights の例のインテグレーションアプリケーションを開始します。

  1. IDE のアクティビティバーで、​​ (​Anypoint Code Builder​) アイコンをクリックします。

    VS Code アクティビティバーの MuleSoft アイコン
  2. [Quick Actions (クイックアクション)]​ から ​[Develop an Integration (インテグレーションを開発)]​ をクリックします。

    [Getting started (使用開始)] セクション内で強調表示されている [Develop an Integration (インテグレーションを開発)]リンク
  3. [Develop an Integration (インテグレーションを開発)]​ フォームにインテグレーションプロジェクトプロパティを入力します。

    インテグレーションプロジェクトを最初から作成します。
    1. [Project Name (プロジェクト名)]​ で​「american-ws-anypoint-code-builder」​と入力します。

    2. [Project Location (プロジェクトの場所)]​ で ​[Browse (参照)]​ を選択してホームディレクトリを選択します。

    3. [Create (作成)]​ で、​[Empty Project (空のプロジェクト)]​ を選択します。

    4. Mule Runtime​ および ​Java​ バージョンを選択します。

      サポートされるバージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​mule-artifact.json​ ファイルに保存します。 作成するプロジェクトのデフォルトの Mule Runtime バージョンと Java バージョンを設定するには、Mule、Java、コネクタのバージョン設定を参照してください。

  4. [Create Project (プロジェクトを作成)]​ をクリックします。

    IDE では、プロジェクト用に選択した Mule Runtime バージョンまたは Java バージョンをダウンロードする必要がある場合に通知が表示されます。Mule Runtime は ​${user.home}/AnypointCodeBuilder/runtimes​ にダウンロードされ、選択した Java バージョンは ​${user.home}/AnypointCodeBuilder/java​ にダウンロードされます。

  5. HTTP リスナー操作と Set a Payload の設定​に進みます。

HTTP リスナー操作と Set a Payload の設定

リスナーの目的はフローをトリガーすることです。Set Payload でインテグレーション用の一部のテストデータを提供します。

  1. プロジェクトのキャンバスおよび設定 XML が開いていない場合、[Explorer] から ​american-ws-anypoint-code-builder.xml​ に移動します。

    Mule フローと Mule 設定ファイルの視覚表現領域に表示されている american-ws-anypoint-code-builder.xml ファイル
    1 キャンバス UI では、Mule フローまたはサブフローを視覚的に表現する領域が提供されます。
    2 設定 XML エディターには、Mule アプリケーションの設定ファイルが表示されます。
  2. キャンバスで ​[Build a Flow (フローをビルド)]​ を選択して、Mule インテグレーションアプリケーション内で空のフローを作成します。

  3. キャンバス UI または設定 XML からフローのデフォルト名を変更します。

    • キャンバス UI から

    • 設定 XML から

    [Flow name1 (フロー 名前 1)]​ をクリックして Flow コンポーネントの設定パネルを開き、フロー名を ​getFlights​ に変更し、チェックマークをクリックして新しい名前を設定します。

    キャンバス UI からフローの名前を変更。

    フローのデフォルトの名前 (​name1 (名前 1)​) を ​getFlights​ に置き換えます。

    自動的に生成されたフロー要素 名前変更されたフロー要素
    <flow name="name1" >
    
    </flow>
    <flow name="getFlights" >
    
    </flow>
  4. HTTP Listener コンポーネントを設定 XML に追加します。

    1. キャンバス UI の ​Flow​ コンポーネントの後で ​​ (​[Add component (コンポーネントを追加)]​) アイコンをクリックします。

      フロー内で強調表示されているプラスアイコン
    2. [HTTP]​ の検索結果から ​[Listener]​ を選択します。

      [Add Component (コンポーネントを追加)] セクション内で強調表示されている Listener コンポーネント

      設定 XML ファイルでは HTTP リスナーの XML が ​<flow/>​ 要素に追加されます。次に例を示します。

      <flow name="getFlights" >
        <http:listener path="" config-ref="" doc:name="Listener" doc:id="ojzfry" />
      
      </flow>
  5. 設定 XML で、<flow> 開始タグの前にカーソルを置いて​「http」​と入力します。

  6. 組み込み ​<http:listener-config/>​ スニペットを選択します。

    設定 XML メニュー内で強調表示されている http:listener-config
    スニペット XML の例:
    <http:listener-config name="HTTP_Listener_config" >
      <http:listener-connection host="0.0.0.0" port="8081" />
    </http:listener-config>

    メニュー内では、スニペットは ​2 次元​ボックスアイコンで表されている部分的に設定された Mule コンポーネントです。3 次元ボックスアイコンは、事前設定されていない基本コンポーネント XML 用に予約されています。コードスニペットについての詳細は、コードスニペットの操作を参照してください。

  7. 設定 XML で、HTTP リスナー設定 ​<http:listener-config/>​ の属性を設定します。

    <http:listener-config name="inbound-request" doc:name="Listener Config" doc:id="b5c62f-a84a3a">
      <http:listener-connection host="0.0.0.0" port="8081"/>
    </http:listener-config>

    <http:listener-config/>​ とその子要素 ​<http:listener-connection/>​ で、属性を例で指定された値に設定します。

    [name (名前)]​ 属性が ​inbound-request​ に変更されています。​doc:id​ はランダムに生成されます。変更する必要はありません。

  8. HTTP リスナー設定の属性を設定します。

    • キャンバス UI から

    • 設定 XML から

    [Listener]​ 操作をクリックして、その設定パネルを開き、HTTP Listener の属性を次の値に設定します。

    設定パネルを使用した Listener 操作の設定。
    1 操作名を ​HTTP /flights​ に変更します。
    2 設定参照ドロップダウンメニューから ​[inbound-request]​ を選択します。
    3 [Path (パス)]​ 属性を ​[flights (フライト)]​ に設定します。

    <http:listener/>​ で、属性を例で指定された値に設定します。

    <flow name="getFlights">
        <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" />
    </flow>
  9. キャンバス UI から、HTTP Listener 操作の後に Set Payload コンポーネントを追加します。

  10. Set Payload コンポーネント属性を設定します。

    • キャンバス UI から

    • 設定 XML から

    [Set Payload] コンポーネントをクリックして、その設定パネルを開き、属性を次の値に設定します。

    設定パネルを使用した Set Payload コンポーネントの設定。
    1 コンポーネント名を ​Set Response​ に変更します。
    2 [Value (値)]​ 属性を ​[Flight info (フライト情報)]​ に設定します。

    <set-payload/>​ で、属性を例で指定された値に設定します。

    <http:listener-config name="inbound-request" doc:id="b5c62f-a84a3a">
        <http:listener-connection host="0.0.0.0" port="8081" />
    </http:listener-config>
    
    <flow name="getFlights" >
      <http:listener path="flights" config-ref="inbound-request" doc:name="HTTP /flights" doc:id="htprur" />
      (1)
      <set-payload value="Flight info" doc:name="Set Response" doc:id="e43e98-1a9a01"/>
    </flow>
    1 value​ 属性を​「Flight info」​ (フライト情報) に設定し、​doc:name​ を​「Set Response」​ (応答を設定) に設定します。
  11. 設定 XML の ​<http:listener-config/>​ の前で ​[Test Connection (接続をテスト)]​ をクリックし、HTTP リスナー接続を確認します。

    UI では次の状況が提供されます。

    • Verifying connection inbound-request (接続のインバウンド要求を検証中)​: テストが進行中であることを示します。

    • Connection is valid (接続は有効)​: 正常に接続されていることを示します。

    • Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation (Mule Runtime 操作を解決しようとしているときに無効な接続で状況コード 500 を取得)​: 接続エラーを示します。

      一般的なコード ​500​ エラーは、​[port 8081: Address already in use (ポート 8081: アドレスはすでに使用中)]​ です。ポート競合の場合、別のポート (​8082​ など) を設定して設定をリセットします。

  12. [Connection is valid (接続は有効)]​ メッセージを受け取ったら、​デバッグモードでアプリケーションを実行する​に進みます。

デバッグモードでアプリケーションを実行する

  1. [Run and Debug (実行とデバッグ)] パネルを開きます。

    手順を表示
    • アクティビティバーの ​​ (​Run and Debug (実行とデバッグ)​) アイコンをクリックする。

    • キーボードショートカットを使用する。

      • Mac: Cmd+Shift+d

      • Windows: Ctrl+Shift+d

    • デスクトップ IDE で、​[View (表示)]​ > ​[Run (実行)]​ を選択する。

    • クラウド IDE で、​​ (メニュー) アイコンをクリックし、​[View (表示)]​ > ​[Run (実行)]​ を選択する。

  2. [Debug Mule Application (Mule アプリケーションをデバッグ)]​ で ​​ (​[Start Debugging (F5) (デバッグを開始 (F5))]​) アイコンをクリックします。

    デバッガーを実行します。

    Anypoint Code Builder で Maven を使用してアプリケーションが構築され、埋め込み Mule Runtime Engine にデプロイされます。

    [Run (実行)]​ > ​[Start without Debugging (デバッグなしで実行)]​ を使用すると、エラーが発生します。

  3. IDE から、コンソールのターミナルウィンドウを開きます。

    • デスクトップ IDE で、​[View (表示)]​ > ​[Terminal (ターミナル)]​ を選択する。

    • クラウド IDE で、​​ (メニュー) アイコンをクリックし、​[Terminal (ターミナル)]​ > ​[New Terminal (新規ターミナル)]​ を選択する。

    • いずれかの IDE で、Ctrl キーを押してからバッククォートキー (`) を押す。

      *******************************************************************************
      * - -  + APPLICATION + - -   *   - - + DOMAIN + - -      * - - + STATUS + - - *
      *******************************************************************************
      * american-ws-anypoint-code-builder-1.0.0-SNAPS * default   * DEPLOYED        *
      *******************************************************************************
  4. アプリケーションをテストする​に進みます。

アプリケーションをテストする

IDE のターミナルを使用してフローをトリガーします。

  1. /flights​ エンドポイントへの URL を使用してターミナルから ​curl​ コマンドを実行し、フローをトリガーします。

    > curl http://0.0.0.0:8081/flights

    詳細は、​「フローをトリガーする」​を参照してください。

  2. REST クライアントまたはブラウザーで応答 ​[Flight info (フライト情報)]​ がないかを確認します。

    この応答を受け取っていない場合、または接続エラーを受け取った場合、XML 設定を見直して、アプリケーションがデプロイされていることを確認し、HTTP リスナー接続を再確認します。

  3. [Flight info (フライト情報)]​ 応答を受け取ったら、​アプリケーションを停止する​に進みます。

アプリケーションを停止する

  1. Anypoint Code Builder のツールバーから停止アイコンを選択します。

    ツールバー内で強調表示されている停止アイコン
  2. アプリケーションからデータベースへの接続に進み、Exchange からコネクタをインポートして、American Flights API のフライトに関するデータを返す既存のデータベースに接続します。