ColdFusion で ODBC 経由のHalo Service Desk のデータをリアルタイムにインポートしてアプリケーションを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData ODBC ドライバーを使って、ColdFusion でHalo Service Desk のデータ をインポート・活用。

Adobe ColdFusion は、Web およびモバイルアプリケーションの開発プラットフォームです。独自のスクリプト言語である ColdFusion Markup Language(CFML)を使用して、データ駆動型の Web サイトを作成したり、REST などのリモートサービスを生成したりできます。ColdFusion を CData API Driver for ODBC と組み合わせることで、ColdFusion の Web およびモバイルアプリケーションとHalo Service Desk のライブデータを連携できます。これにより、アプリケーションをより堅牢で完全なものにすることができます。この記事では、ODBC ドライバーを使って、ColdFusion マークアップファイル内でHalo Service Desk のデータを取得してテーブルを作成する方法を説明します。

このチュートリアルを進めるには、CData API Driver for ODBC と Adobe ColdFusion をインストールする必要があります。

接続の設定

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップです。Microsoft ODBC データソースアドミニストレーターを使って ODBC DSN を作成・設定できます。

まず、Profile 接続プロパティをディスク上の HaloServiceDesk プロファイルの場所に設定します(例:C:\profiles\HaloServiceDesk.apip)。次に、ProfileSettings 接続プロパティを HaloServiceDesk の接続文字列に設定します(以下を参照)。

HaloServiceDesk API プロファイル設定

HaloServiceDesk では API キー認証を使用します。API キーは、HaloServiceDesk の「Administration」>「Integrations」>「Halo API」で確認・作成できます。

接続するには、以下の接続プロパティを設定します。

  • AuthScheme:APIKey に設定します。
  • APIKey:HaloServiceDesk アカウントの API キーに設定します。
  • Domain:HaloServiceDesk インスタンスのホスト名に設定します(例:yourcompany.haloservicedesk.com)。

データソースの追加とテーブルの作成

DSN を作成したら、以下の手順に従って、新しいデータソースを追加し、接続をテストし、ColdFusion マークアップファイルを作成し、最後にHalo Service Desk のデータをインポートして ColdFusion でテーブルに表示します。

  1. ColdFusion 管理インターフェースから、Data & Services を選択します。 Data & Services の選択
  2. ここで「Add New Data Source」をクリックします。データソース名は、ColdFusion の変数命名規則に準拠していれば任意の名前で構いません。ODBC ドライバーの場合は「ODBC Socket」を選択し、「Add」ボタンをクリックします。 データソース名の追加
  3. ODBC DSN ドロップダウンメニューから CData Halo Service Desk Sys を選択します。Advanced Settings セクションでは、Connection String は空白のままにしておきます。なお、この入力フィールドで指定されたプロパティは、DSN 設定で指定されたものを上書きします。 ドライバープロパティの設定
  4. 次に、先ほど作成した CDataHalo Service DeskODBC データソースの左側にあるチェックマークを押して、接続をテストします。データソースが「OK」ステータスを報告したら、使用する準備ができています。 接続のテスト
  5. 次に、新しい ColdFusion マークアップファイル(.cfm)を作成し、ColdFusion の wwwroot ディレクトリ(「C:\ColdFusion2021\cfusion\wwwroot」)に配置します。

    以下のコードでデータソースをクエリします:

              
          <cfquery name="Halo Service DeskQuery" dataSource="CDataHalo Service DeskODBC">
            SELECT * FROM Assets
          </cfquery>
      
    CFTable を使用すると、HTML でテーブルを簡単に出力できます:
              
            <cftable
            query = "Halo Service DeskQuery"
            border = "1"
            colHeaders
            colSpacing = "2"
            headerLines = "2"
            HTMLTable
            maxRows = "500"
            startRow = "1">
    
            <cfcol header="<b>Id</b>" align="Left" width=2 text="Id"/>
    
            <cfcol header="<b>InventoryNumber</b>" align="Left" width=15 text="InventoryNumber"/>
    
            ...
    
          </cftable>
      
    HTML 部分を含む完全なコードは以下のとおりです:
              
          <html>
          <head><title>CData Software | Halo Service Desk Assets Table Demo </title></head>
          <body>
          <cfoutput>#ucase("Halo Service Desk Assets Table Demo")#</cfoutput>
          <cfquery name="Halo Service DeskQuery" dataSource="CDataHalo Service DeskODBC">
    
            SELECT * FROM Assets
    
          </cfquery>
          <cftable
            query = "Halo Service DeskQuery"
            border = "1"
            colHeaders
            colSpacing = "2"
            headerLines = "2"
            HTMLTable
            maxRows = "500"
            startRow = "1">
            <cfcol header="<b>Id</b>" align="Left" width=2 text="Id"/>
    
            <cfcol header="<b>InventoryNumber</b>" align="Left" width=15 text="InventoryNumber"/>
    
            ...
    
          </cftable>
          </body>
    
          </html>
      
  6. 最後に、ブラウザでコードを実行します。Halo Service Desk のデータを含むテーブルが表示されます。 コードの実行

なお、CData ODBC ドライバーは cfqueryparam 要素を使用したパラメータ化クエリもサポートしています。例:

SELECT * FROM Account WHERE name =  

おわりに

CData ODBC Driver for Halo Service Desk の 30日間無償トライアルをダウンロードして、Adobe ColdFusion でHalo Service Desk 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、サポートチームまでお問い合わせください。

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

API Driver で Halo Service Desk のライブデータに接続

Halo Service Desk に接続