こんにちは。CData Software Japan リードエンジニアの杉本です。
以下のプレスリリースで紹介されている通り、V2022からMuleSoft 向けコネクターはCData JDBC Driver を利用するように変更となりました。
https://www.cdata.com/blog/2022-data-connectivity-update
>Using JDBC in MuleSoft AnyPoint Studio
>
>CData JDBC Drivers provide access to data in MuleSoft (along with any other tool, platform, or framework that supports JDBC connections).
>
>For an example of connecting to data in MuleSoft AnyPoint Studio using a CData JDBC Driver, please read our Knowledge Base article (this article features Snowflake, but all 250+ sources are supported): Access Snowflake Data in Mule Applications Using the CData JDBC Driver
今回はこのJDBC Driver版の使い方を解説したいと思います!
利用した CData JDBC Driver
本記事ではMuleSoft AnyPoint Studio 7.13を用いて、CData JDBC Driverで連携する方法を解説します。
CData JDBC Driverは一例として国産SFAサービスである e-Sales Managerを用いましたが
https://www.cdata.com/jp/drivers/esalesmanager/jdbc/
他にもCDataで提供している250以上のJDBC Driverが利用可能です。
https://www.cdata.com/jp/jdbc/
シナリオ
シナリオはシンプルにMuleSoft AnyPoint Studio でHTTPのListnerを構成し、e-Sales ManagerからデータをSELECTしレスポンスとして返すフローとしています。
このプロジェクトに対してHTTPリクエストを発行すると以下のような結果が取得できます。
CData JDBC Driverの準備および接続テスト
まず、CData JDBC Driverを準備しましょう。
以下のリンクから30日間のトライアルが取得できるので、これをダウンロードし、セットアップします。
https://www.cdata.com/jp/drivers/esalesmanager/download/jdbc/
インストール完了後、「C:\Program Files\CData\CData JDBC Driver for e-Sales Manager Remix 2021J\lib」のフォルダに移動して「cdata.jdbc.esalesmanager.jar」を実行しましょう。
以下のような接続テストツールが立ち上がるので、必要なプロパティを指定して、接続文字列を作成してコピーしておきます。
https://cdn.cdata.com/help/GRG/jp/jdbc/pg_connectionj.htm
AnyPoint Studio の準備
続いてAnyPoint Studioの準備です。AnyPoint Studioは以下のリンクから入手できます。
https://docs.mulesoft.com/jp/studio/7.3/to-download-and-install-studio
ダウンロード後、「AnyPointStudio.exe」を実行しプロジェクトを作成しておきます。
Listner の配置
それでは実際のフローを構成していきます。最初にHTTP Listnerを構成しましょう。Mule Paletteから「Listner(HTTP)」を配置し「http://localhost:8081/mulesoft/esales」でリクエストが受け取れるように構成しました。
HTTP Lisnter configの設定は以下のように指定しています。
Database Select の配置
続いて、今回のメインとなるCData JDBC Driver for e-Sales Managerからのデータ取得コンポーネントを構成します。
JDBC Driverでの処理は Mule PaletteのDatabase系コンポーネントを利用することで一連の操作が可能です。データの取得であれば、「Select」、データの書き込みや更新であれば「Insert」や「Update」が利用できます。
詳しくはMuleSoftの「Database Connector」に関するドキュメントも参照してみてください。
https://docs.mulesoft.com/jp/db-connector/1.8/
今回はデータの取得処理を行うので「Select」を以下のように配置しました。配置後、「Basic Settings」の「Connector configuration」から「+」ボタンを配置して接続設定を行います。
接続設定ではまずConnectionを「Generic Connection」に変更し、「JDBC Driver」の「Configure」ボタンをクリックします。
ここのFileで先程接続テストを行った「cdata.jdbc.esalesmanager.jar」ファイルを指定してOKをクリックしましょう。
あとは、採取しておいた接続文字列をURLに入力し、Driver class nameとして「cdata.jdbc.esalesmanager.ESalesManagerDriver」を入力します。
https://cdn.cdata.com/help/GRG/jp/jdbc/pg_connectionj.htm
これで接続設定は完了です。
最後にデータ取得のためのSQL Query を入力します。今回は以下のようなSQLを指定してみました。
「SELECT [顧客コード] as Code, [顧客名] as Name FROM Customer」
予めSQLのテストをしたい場合は、「DbVisualizer 」というツールで試すのがおすすめです。
DbVisualizer で e-Sales Manager データに連携しクエリを作成:https://www.cdata.com/jp/kb/tech/esalesmanager-jdbc-dbv.rst
Transform Message の構成
最後に出力結果のPayloadをJSONに変換するための「Transform Message」を配置します。
%dw 2.0
output application/json
---
payload
フローを実行してみる
これでフローの作成が完了です。プロジェクトを実行してみましょう。
プロジェクトが起動し、以下のようにHTTPリクエストが実行できれば、OKです。
おわりに
このようにJDBC DriverでもMuleSoft AnyPoint Studioから手軽に利用することが可能です。
30日間のトライアルはフル機能で利用できるので、是非皆さんのユースケースにフィットするかどうかお気軽にお試しください。
トライアル期間中にわからないことがあれば、お気軽にテクニカルサポートまでお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ