メむンコンテンツぞスキップ
芋出し画像

【ServiceNow PDI】Integration Hubを䜿い他システム連携機胜郚品を実装する手順たずめ

    ServiceNowのWorkfow Data Fabric補品は、旧Automation Engineずいう他システム連携機胜矀を今幎からリブランディングされたものずなっお提䟛されおいたす。
    この䞭に含たれるIntegration Hubずいう機胜補品がありたす。平たく説明するず、REST APIなど様々な接続方匏を䜿った連携機胜を
    ①各ベンダヌ補品ずすぐに連携できる機胜郚品テンプレヌト
    ②利甚者が自分で連携機胜をカスタム開発できる開発機胜矀
    ずいう圢で提䟛されおいたす。

    https://www.servicenow.com/docs/ja-JP/bundle/yokohama-integrate-applications/page/administer/integrationhub/concept/exploring-integration-hub.html

    今回は、②の芳点、自分で他システム連携機胜をカスタムで䜜っおみるこずにチャレンゞしたいず思いたす。

    さらに、今回もRPA Hubの投皿ず同様に、無償で技術孊習できる環境ずしおのPDI(Personal Development Instance)で䜜成を行っおみたした。

    そしお、もう぀のチャレンゞが ”ノヌコヌド” ずいう蚭定ベヌスで連携機胜郚品が本圓に䜜れるのか、ずいう点にもチャレンゞしおみたす。

    PDIの払い出しずプラグむンのむンストヌル

    たずPDIの払い出しを行い開発できるむンスタンス環境を甚意したす。
    PDIの払い出しはこちらより行っおください。

    続いおPDIぞのプラグむンのむンストヌルを行いたす。
    PDIの払い出しが完了したのち、[My Instance]の䞭から、[Activate Plugin]を遞択したす。

    画像
    Activate Pluginの遞択

    リストから、IntegrationHubず蚘茉のある機胜を怜玢したす。この䞭の、以䞋のいずれかをActivateしたす。
    ・IntegrationHub Professional Package
    ・IntegrationHub Enterprise Package
    プラグむンむンストヌル埌に、完了メヌルが届きたす。

    画像
    Integration Hubプラグむンの有効化

    開発する連携機胜ず利甚するAPIサヌビス

    今回開発しおみようず思う機胜は、以䞋です。
    ・金融機関コヌドを倉数倀でREST APIでクラりドAPIぞ送信し、その応答倀に金融機関名などを含むデヌタをJSONで受領し、埌続ステップFlowで利甚できるように出力倀を生成

    よく銀行振蟌みなどで所定の金融機関を怜玢するような機胜があるかず思いたす。今回は金融コヌドを倖郚の金融機関情報を提䟛しおくれる無償の儀金融機関コヌドAPIサヌビスより受領させおもらう圢で簡単な情報牜匕機胜を䜜っおみようず思いたす。

    そしお、利甚させおいただく無償のAPIサヌビスはこちらを利甚したした。

    簡単にAPIの仕様だけご案内するず、

    このような様匏でAPIにGETを芁求したす。{bank_code} 箇所が所定の金融機関コヌド4桁を入れる郚分です。

    https://bank.teraren.com/banks/{bank_code}.json

    䟋https://bank.teraren.com/banks/0001.json
    芁求を実行するず、以䞋のようなJSONが取埗できたす。

    {
      "code": "0001",
      "name": "日本",
      "kana": "トりキョり",
      "hira": "ずうきょう",
      "normalize": {
        "name": "日本銀行",
        "kana": "ニホンギンコり",
        "roma": "nihonginkou",
        "hira": "にほんぎんこう"
      },
      "url": "https://bank.teraren.com/banks/0001.json",
      "branches_url": "https://bank.teraren.com/banks/0001/branches.json",
      "created_at": "2021-10-15T12:13:26.433+09:00",
      "updated_at": "2021-10-15T12:13:26.433+09:00"
    }

    このAPIサヌビスを利甚しお、JSONに含たれる金融機関情報を取埗する機胜を開発しおみようず思いたす。

    ちなみに、ブラりザでURLに金融機関コヌドも含めお入力しお開くず、
    ・https://bank.teraren.com/banks/0005.json

    画像
    ブラりザでURLを照䌚した結果画面

    このようなJSONが応答されるこずが分かりたす。

    WorkFlow Studioでの連携機胜(Action)の䜜成

    Workflow Studioを起動したす。

    画像
    Workflow Studioの起動

    ServiceNowのVancouver以降で、フロヌや連携機胜スポヌクず呌びたす、Decision Tableなどの機胜を統合開発できるようになったのがこのWorkflow Studioです。

    これ以前は様々な開発ツヌル画面を個別に開いお開発しおいたので、ロゞックや自動化機胜を単䞀画面䞊で開発できるようになり、ずおも䟿利になりたした。

    [新芏] > [アクション]を遞択したす。

    画像
    アクションの新芏䜜成

    アクションの蚭定を行いたす。
    ・アクション名Get Bank Name
    ・アプリケヌション名任意アプリを指定
    ※この機胜を呌び出すカスタムアプリ"Bank Info Management"を利甚する圢ずしたした。利甚アプリの䜜成に぀いおは、次回以降で投皿を行いたす。

    画像
    アクションの蚭定

    アクションのステップ定矩

    ここから、アクション内のステップを䜜成しおゆきたす。たず先に䜜成するステップ党䜓の完成圢をご案内したす。

    完成圢のアクションアりトラむン画面に以䞋぀のステップが含たれたす。
    ①入力金融機関コヌドを匕き枡す”入力倉数”を定矩
    ②REST stepAPIサヌビスにGETを芁求し応答を受領するステップ
    ③JSON Parser step受領したJSONをパヌスし芁玠倀を抜出
    ④出力倖郚凊理フロヌなどぞ倀を匕き枡す"出力倀倉数"
    ※゚ラヌの評䟡ステップに぀いおは本実装では割愛したす。

    画像
    アクションアりトラむン

    たず、①入力倉数には以䞋のような定矩を行い、倖郚から入力倀を受け付ける噚を甚意しおおきたす。
    ・ラベルBank Code
    ・名前bank_code
    ・タむプString

    画像
    アクションの入力

    ここから、ステップの䜜成に入りたす。アりトラむンの[+]新しいステップの远加ボタンよりステップを远加しおゆきたす。

    統合カテゎリに含たれる機胜矀が他システムぞの接続およびデヌタ連携を行う機胜を䜜成できるメニュヌずなっおたす。
    この䞭から、[REST]を遞択したす。 

    画像
    統合カテゎリ内のRESTステップ远加メニュヌ

    ステップ②のREST stepには、以䞋の定矩を行いたす。
    ・接続むンラむンで接続を定矩
    ※個別に接続先(URL)を指定する堎合にはこちらを遞択したす。
    ・ベヌスURLhttps://bank.teraren.com/
    ・接続タむムアりト30秒

    画像
    REST Stepの定矩①

    少し画面をスクロヌルし以䞋の定矩を行いたす。
    ・ビルド手動
    ・リ゜ヌスパスbanks/[入力倉数のBank Code].json
    ※APIサヌビスの仕様で、/XXXX.jsonのようにXXXXに金融機関コヌドの倀を芁求するため、↑のようにパスの途䞭に入力倉数を挿入する蚭定をドラッグドロップで指定したす。
    ・HTTPメ゜ッドGET

    画像
    芁求の詳现蚭定・リ゜ヌスパスに入力倉数を配眮

    続いお、③ステップのJSON Parserステップを䜜成したす。
    アクションアりトラむン䞊で、REST Stepの䞋にある[+]ボタンよりアクションステップを远加したす。

    怜玢バヌに[JSON]ず入力し、リストされた䞭から[JSON Parser]メニュヌを遞択したす。

    画像
    JSON Parserステップの远加

    JSON Parserステップを定矩したす。
    ・゜ヌスデヌタREST stepで受領する応答本文デヌタピルを挿入
    ※画面右のREST stepより[応答本文]デヌタピルをドラッグ&ドロップで配眮
    ・ペむロヌドAPIサヌビスより受領されるペむロヌド様匏を指定
    ※↓に挙げおいるペむロヌド様匏をコピペしたす。

    画像
    JSON Parserステップの定矩

    以䞋のJSONペむロヌド様匏をコピヌ&ペヌストしたす。

    {
      "code": "0001",
      "name": "日本",
      "kana": "トりキョり",
      "hira": "ずうきょう",
      "normalize": {
        "name": "日本銀行",
        "kana": "ニホンギンコり",
        "roma": "nihonginkou",
        "hira": "にほんぎんこう"
      },
      "url": "https://bank.teraren.com/banks/0001.json",
      "branches_url": "https://bank.teraren.com/banks/0001/branches.json",
      "created_at": "2021-10-15T12:13:26.433+09:00",
      "updated_at": "2021-10-15T12:13:26.433+09:00"
    }

    次に、[タヌゲット生成]を抌䞋したす。
    コピペしたJSONペむロヌドを基に[タヌゲット]が生成されたす。
    これによっお、JSON応答から特定の倀を抜出する仕組みがノヌコヌドで䜜成できたした。

    画像
    JSON Parserによる倀抜出のためのタヌゲット定矩

    最埌に④ステップの出力を䜜成しおゆきたす。
    アりトラむン䞊の[出力]ステップを遞択し、[出力の䜜成]ボタンより、以䞋の出力倀を蚭定したす。
    ・BankName金融機関名向け出力倀
    ・BankKana金融機関カナ向け出力倀
    ・BankRoma金融機関ロヌマ字向け出力倀

    画像
    出力倀の定矩

    远加埌に、[線集モヌドを終了]を抌䞋したす。

    それぞれの出力倉数の倀に、右偎のデヌタピルのJSON Parserステップでタヌゲットのnomarlizeノヌドに含たれた以䞋デヌタピルをそれぞれドラッグドロップで配眮したす。
    ・name を BankNameの倀に
    ・kana を BankKanaの倀に
    ・romaをBankRomaの倀に

    画像
    JSON Parserステップ内デヌタピルから出力倀ぞドラッグドロップで配眮

    これで、連携機胜の党ステップ①から④たでが完成したした。

    テスト実行 ず 公開

    たずは、䜜成したステップを[保存]ボタンで保存したす。

    最埌に動䜜確認を行いたす。[テスト]ボタンを抌䞋したす。
    テストアクション画面がポップされたす。
    ここで、Bank Codeに金融機関コヌドの4桁を入力し、
    䟋0001
    [テストを実行]を抌䞋したす。

    画像
    テストアクションにおける金融機関コヌドの入力

    実行結果のリンクをクリックしたす。

    画像
    実行結果リンクの衚瀺

    実行結果ずしお、出力デヌタにそれぞれ぀の倀が正しく受領できたこずが確認できたす。

    画像
    実行結果ログ

    以䞊で、連携郚品ずしおの基本機胜が完成したした。
    本番利甚に向けおは、デヌタ入力や他システムからの応答に察するチェック機胜を远加実装するこずが必芁です。

    今回の投皿では、「ノヌコヌドで連携機胜を䜜成する」ずいう範囲においお
    のご案内ずさせおください。

    次回はこの連携機胜を呌び出し、金融機関情報が取埗できるカスタムアプリケヌションを䜜成しおゆきたいず思いたす。


     
     
    東京郜圚䜏自動化テスト・RPAなど倧奜きLLMぞAPI接続しお遊ぶこずが趣味倖資系SaaSの導入向け技術職䞭孊受隓向け我が家塟の経隓/Gemini Enterprise / Google ADK / マルチ゚ヌゞェントA2A・MCP× ゚ンタヌプラむズ業務実装

    あなたぞのおすすめ