生産スケジューラFLEXSCHE へNetSuite からデータを取り込む
FLEXSCHE はあらゆる生産ルールに対応可能な柔軟性と拡張性を備えた生産スケジューラで、さまざまな業界・業種へ導入実績があります。
この記事では、FLEXSCHE と CData ADO.NET Provider を使って、FLEXSCHE へNetSuite からデータを取り込む方法を紹介します。
CData ADO.NET Provider
まずCData ADO.NET Provider を対象の環境にセットアップします。
- 30日の無償評価版のページからダウンロードし、FLEXSCHE と同じマシンでセットアップします。
データソース接続の設定
それでは、ここからFLEXSCHE 上でデータを取り込むための設定を行います。
- 「ファイル」メニューから「外部データソース」の「EDIF構成ツールを起動」を選択し、「EDIF構成ツール」を開きます。
- メニューの「マッピング」から「テーブルマッピングを追加」を選択し、「テーブルのマッピング設定」ダイアログを開きます。 対象とするFLEXSCHE テーブルを選択します。
- ここでマッピングの外部テーブルとしてNetSuite のデータを参照する設定を行います。「外部テーブル」で「<<新規>>」を選択すると「データソース設定」ダイアログが開きます。
- 「種類」を「.NET Frameworkデータ接続(ADO.NET)」にします。「プロバイダー」をインストールしたADO.NETドライバーにします。
- 続いて接続の詳細設定を行います。「接続文字列」の横にあるボタンを押下すると「接続文字列」ダイアログが開きます。 この画面で認証やプロキシ、ログ出力などの設定を行います。
NetSuiteへの接続
NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。
- SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
- SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。
データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。
NetSuite への認証
CData 製品では、以下の認証方式がご利用いただけます。
- トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
- OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
- OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。
トークンベース認証(OAuth1.0)
トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。
- AuthScheme = Token
- AccountId = 接続先のアカウント
- OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
- OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
- OAuthAccessToken = アクセストークン作成時のトークンID
- OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
- 「接続文字列」画面でプロパティを編集したら「テスト接続」を押下して接続を確認してください。 「接続に成功しました。」というメッセージが表示されれば接続設定は完了です。
データソースの対象テーブルの選択
次に接続先のテーブルを選択します。
- 「データソース設定」ダイアログの「テーブル名」の右のボタンを押下し「テーブルの検索」画面を開いてください。 検索対象が「Tables」になっていることを確認し「検索」ボタンを押下します。 NetSuite のテーブル一覧が表示されるので、対象のテーブルを選択します。
- 「データソース設定」ダイアログの「OK」を押下すると、外部テーブルへの接続情報が「テーブルのマッピング設定」画面の「外部テーブル」に反映されます。
- 「OK」を押下し「テーブルのマッピング設定」画面を閉じます。
フィールドマッピングの設定
続いてフィールドマッピングを行います。
- マッピングするテーブル情報の設定が完了すると、「EDIF構成ツール」ダイアログにフィールドマッピングを設定するタブが表示されます。 FLEXSCHE のテーブルとNetSuite のテーブルのカラムをそれぞれ対応付けます。
- 設定が完了しましたらマッピングを保存し、「EDIF構成ツール」を閉じてください。
データのインポートと確認
それでは実際にFLEXSCHE にデータが取り込めるか確認してみましょう。
- 「ファイル」メニューの「外部データソース」にある「EDIFインポート」をクリックするとデータのインポートが実行されます。 FLEXSCHE のデータを確認し、NetSuite にあるデータが表示されれば成功です。
このようにCData ODBC Driver for NetSuite とFLEXSCHE を組み合わせることで、簡単にNetSuite のデータを活用した連携を実現できます。ぜひ、30日の無償評価版をお試しください。