PowerBuilder で SharePoint OData フィードを利用

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
この記事では、API Server を使用して PowerBuilder からSharePoint のデータを OData フィードとして利用する方法を説明します。

CData API Server は、PowerBuilder DataWindow で利用できるセキュアなSharePoint のデータフィードを生成します。API Server は、OData、Atom、JSON、HTML、CSV、TSV、RSS などの主要な Web サービスをサポートしています。また、主要な認証スキームと SSL もサポートしています。

この記事では、CData API Server を使用して読み取りと書き込みを実行する DataWindow を作成する方法を説明します。

SharePoint データ連携について

CData を使用すれば、SharePoint のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • Windows SharePoint Services 3.0、Microsoft Office SharePoint Server 2007 以降、SharePoint Online を含む、幅広い SharePoint バージョンのデータにアクセスできます。
  • 非表示カラムとルックアップカラムのサポートにより、SharePoint のすべてにアクセスできます。
  • フォルダを再帰的にスキャンして、すべての SharePoint データのリレーショナルモデルを作成できます。
  • SQL ストアドプロシージャを使用して、ドキュメントや添付ファイルをアップロード・ダウンロードできます。

多くのお客様は、SharePoint データをデータベースやデータウェアハウスに統合するために CData ソリューションを活用していますが、Power BI、Tableau、Excel などのお気に入りのデータツールと SharePoint データを統合しているお客様もいます。

お客様が CData の SharePoint ソリューションで問題を解決している方法については、ブログをご覧ください:Drivers in Focus: Collaboration Tools


はじめに


API Server のセットアップ

以下の手順に従って、セキュアな SharePoint OData サービスの作成を開始します。

デプロイ

API Server は独自のサーバー上で実行されます。Windows では、スタンドアロンサーバーまたは IIS を使用してデプロイできます。Java サーブレットコンテナでは、API Server WAR ファイルをドロップします。詳細と手順については、ヘルプドキュメントを参照してください。

API Server は、Microsoft AzureAmazon EC2Heroku へのデプロイも簡単です。

SharePoint への接続

API Server をデプロイしたら、API Server 管理コンソールで Settings -> Connections をクリックして新しい接続を追加し、SharePoint に接続するために必要な認証値やその他の接続プロパティを指定します。

Microsoft SharePoint への接続

URL の設定:

Microsoft SharePoint では、2つの範囲でデータを操作できます。グローバルなMicrosoft SharePoint サイト全体を対象にするか、個々のサイトのみを対象にするかを選択できます。

グローバルなMicrosoft SharePoint サイトですべてのリストおよびドキュメントを操作したい場合は、URL 接続プロパティをサイトコレクションURL に設定しましょう。以下のような形式です。

https://teams.contoso.com

個々のサイトのリストおよびドキュメントのみを扱いたい場合は、URL 接続プロパティを個々のサイトURL に設定してください。以下のような形式です。

https://teams.contoso.com/TeamA

続いて、お使いの環境に適した認証プロパティを設定していきましょう。詳細な設定手順については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご参照ください。

Microsoft SharePoint Online

SharePointEdition を"SharePoint Online" に設定し、User およびPassword にはSharePoint へのログオンで使用するクレデンシャル(例:Microsoft Online Services アカウントのクレデンシャル)を設定します。

Microsoft SharePoint Online は様々なクラウドベースアーキテクチャをサポートしており、それぞれ異なる認証スキームが利用できます。

  • Microsoft Entra ID(Azure AD)
  • ADFS、Okta、OneLogin、またはPingFederate SSO ID プロバイダーを介したシングルサインオン(SSO)
  • Azure MSI
  • Azure パスワード
  • OAuthJWT
  • SharePointOAuth

Microsoft SharePoint オンプレミス

Microsoft SharePoint オンプレミスでは、多くのオンプレミス環境に対応した認証方式をサポートしています。

  • Windows(NTLM)
  • Kerberos
  • ADFS
  • 匿名アクセス

まずSharePointEdition を"SharePoint On-Premises" に設定しましょう。

Windows(NTLM)認証

これは最も一般的な認証方式です。そのため、CData 製品ではNTLM をデフォルトとして使用するよう事前設定されています。Windows のUser およびPassword を設定するだけで接続できます。

次に、Settings -> Resources をクリックして、API Server からアクセスを許可する SharePoint エンティティを選択できます。

また、Settings -> Server をクリックし、PowerBuilder との互換性のために以下の設定を変更します:

  • Default Format:メニューから XML (Atom) を選択。
  • Default Version:メニューから 2.0 を選択。

API Server ユーザーの認可

生成する OData サービスを決定したら、Settings -> Users をクリックしてユーザーを認可します。API Server は Authtoken ベースの認証を使用し、主要な認証スキームをサポートしています。アクセスは IP アドレスに基づいて制限することもできます。デフォルトでは、ローカルマシンへの接続のみが許可されています。SSL で認証と接続の暗号化も可能です。

SharePoint 用のプロファイルを作成

以下の手順に従って、Database Painter ツールを使用して API Server の OData API 用のデータベースプロファイルを作成します。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. Tools -> Database Painter をクリックします。
  2. OData ノードを右クリックし、New Profile をクリックします。
  3. Database Profile Setup ダイアログで、以下を入力します:
    • Profile Name:プロファイルのわかりやすい名前を入力します。
    • URI:API Server の OData エンドポイントへの URL を入力します。この URL は以下のような形式になります:
      http://MyServer:8080/api.rsc
    • Supply User Id and Password:HTTP Basic 認証を使用する場合は、このオプションをクリックします。なお、API Server は Windows 認証もサポートしています。
    • User Id:API Server のユーザー名を入力します。
    • Password:API Server のユーザーの Authtoken を入力します。
  4. テーブルを表示・変更するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで SharePoint のデータ を使用

標準的な PowerBuilder オブジェクトを使用して OData フィードに接続し、クエリを実行できます。以下の例は、SharePoint のデータ を DataWindow に取得する方法を示しています。

open メソッドに以下のコードを追加できます:

SQLCA.DBMS = "ODT"
SQLCA.DBParm = "ConnectString='URI=http://MyServer:8080/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'";
CONNECT USING SQLCA;
dw_mycustomlist.SetTransObject(SQLCA);
dw_mycustomlist.Retrieve();

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

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ