ColdFusion でSAP Netweaver Gateway データに連携する方法

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

SAP Netweaver Gateway JDBC Driver

SAP Netweaver Gateway に連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。



ColdFusion の標準的なデータアクセスコードでSAP Netweaver Gateway にデータ連携。



CData JDBC Driver for SAP Netweaver Gateway は、ColdFusion のrapid development tools を使ってSAP Netweaver Gateway への接続をシームレスに統合します。この記事では、ColdFusion でSAP Netweaver Gateway に連携しSAP Netweaver Gateway テーブルをクエリする方法を説明します。

※製品について詳しい情報をご希望の方は以下からお進みください。

ColdFusion にSAP Netweaver Gateway のJDBC データソースを作成

下記の手順に従ってSAP Netweaver Gateway データソースを作成し、ColdFusion アプリケーションへの連携を可能にします。

  1. ドライバーのJAR および.lic ファイルを、インストールディレクトリから C:\ColdFusion10\cfusion\wwwroot\WEB-INF\lib にコピーします。

    ドライバーのJAR およびlicense はインストールディレクトリの[lib]サブフォルダに配置されています。

  2. ドライバーをデータソースとして追加:

    ColdFusion Administrator インターフェースで[Data & Services]ノードを展開し、[Data Sources]>[Add New Data Source]をクリックします。ダイアログが表示されたら、以下のプロパティを入力します。

    • Data Source Name:データソースの名前を入力。名前はColdFusion 変数命名規則に一致する必要があります。
    • Driver:[Other]を選択。
  3. JDBC Driver のプロパティ設定:

    • JDBC URL:JDBC URL に接続プロパティを入力。JDBC のURL は以下で始まり jdbc:sapgateway: 次に、セミコロン区切りでname=value ペアの接続プロパティを入力します。以下は一般的なJDBC URL です:

      jdbc:sapgateway:User=user;Password=password;URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;

      SAP Gateway はBasic 認証とOAuth 2.0 認証の両方を許可します。Basic 認証を使用して自分のアカウントに接続するか、OAuth を使用して他のユーザーが彼らのアカウントでサービスからデータを取得できるようにすることができます。基本となる認証情報に加え、SAP Gateway テーブルへのアクセスには以下の追加プロパティが必要です。

      • Url: 環境のURL、またはサービスの完全URL に設定。例えば、完全URL は次のようになります:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/。この例では、環境URL は次のようになります:https://sapes5.sapdevcenter.com。
      • Namespace: 適切なService Namespace を設定。先ほどの例では、IWBEP が名前空間です。サービスへの完全URL が指定されている場合は任意です。
      • Service: データを取得するサービスに設定。先ほどの例では、サービスはGWSAMPLE_BASIC です。完全URL が指定されている場合は必須ではありません。

      Basic 認証での認証

      Basic 認証では、自分のログインクレデンシャルを使用して接続します。次のプロパティを設定します。

      • User: これはSAP Gateway へのログインに使用するユーザー名です。
      • Password: これはSAP Gateway へのログインに使用するパスワードです。

      OAuth 認証での認証

      ユーザー資格情報の接続プロパティを設定せずに接続できます。 接続すると、本製品はデフォルトブラウザでSAP Gateway OAuth エンドポイントを開きます。ログインして、本製品にアクセス許可を与えます。本製品が以下のOAuth プロセスを完了します。 他のOAuth 認証フローについては、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。

    • Driver Class:ドライバーのクラスを入力。ドライバークラスは、以下のとおりです。cdata.jdbc.sapgateway.SAPGatewayDriver
    • Driver Name:ユーザー定義のドライバー名を入力。ドライバー名はColdFusion Administrator コンソールでデータソースを認識するために使われます。
    • Username:認証するユーザーネームを入力。
    • Password:認証するパスワードを入力。

[Actions] カラムのCData SAP Netweaver Gateway データソースを有効にして、接続をテストできます。ステータスがOK になったら、SAP Netweaver Gateway データソースを使うことができます。

クエリを実行

下記の手順に従って、SAP Netweaver Gateway の基準に合ったレコードをクエリし、結果をHTML テーブルに出力する簡単なアプリケーションを作成します。

  1. 新規ColdFusion markup ファイルでクエリを定義:C:\ColdFusion10\cfusion\wwwroot directory for ColdFusion の.cfm ファイルに次のコードを入力:

    <cfquery name="SAPGatewayQuery" dataSource="CDataSAPGateway"> SELECT * FROM SalesOrderLineItems </cfquery>

    Note:CData JDBC Drivers は、cfqueryparam エレメントを使ってパラメータ化されたクエリもサポートします。例:

    <cfquery name="SAPGatewayQuery" dataSource="CDataSAPGateway"> SELECT * FROM SalesOrderLineItems WHERE Quantity = <cfqueryparam>15</cfqueryparam> </cfquery>
  2. CFTable を使ってHTML にテーブルを出力:

    <cftable query = "SAPGatewayQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"/> <cfcol header="<b>ProductID</b>" align="Left" width=9 text="#ProductID#"></cfcol> <cfcol header="<b>Quantity</b>" align="Left" width=8 text="#Quantity#"></cfcol> </cftable>
  3. コードを実行してグリッドを表示します。

HTML 部分を含む以下のフルコードが利用できます。

<html> <head><title>Hello World</title></head> <body> <cfoutput>#ucase("hello world")#</cfoutput> <cfquery name="SAPGatewayQuery" dataSource="CDataSAPGateway"> SELECT * FROM SalesOrderLineItems </cfquery> <cftable query = "SAPGatewayQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>ProductID</b>" align="Left" width=9 text="#ProductID#"></cfcol> <cfcol header="<b>Quantity</b>" align="Left" width=8 text="#Quantity#"></cfcol> </cftable> </body> </html>