IICS(CAI)でJDBC接続を設定する

2020.11.02

はじめに

データアナリティクス事業本部のkobayashiです。

Informatica Intelligent Cloud Services(以降、IICS)はオンプレミスおよびクラウド環境に置かれているデータサービスとアプリケーションサービスを統合するiPaaS(integration Platform as a Service)製品です。

IICSの機能の一つであるInformatica Cloud Application Integration(以降、CAI)ではAPIをGUIの操作で簡単に構築することができます。

前回まででインフォマティカで用意されているチュートリアルを行いCAIからAPIを作成しました。

これらのチュートリアルでは事前に準備されているアプリケーション接続やサービスコネクタを使用していましたが実際にAPIを作成しようとすると独自のものを用意する必要があります。そこで今回からそのコネクションの作成方法と簡単な使い方をまとめていきたいと思います。

今回はまずはじめにJDBCコネクションの設定を行います。

  • JDBCコネクション(今回)
  • AWS SNSコネクション(第2回)
  • AWS SQSコネクション(第3回)

JDBCコネクション

JDBCのアプリケーション接続を作成するとCAIのサービス作成でJDBC接続を使ってデータベースからデータを取得・保存・更新・削除といったことが行なえます。 JDBC接続に対応しているのはType4 JDBCドライバになります。具体的には以下のデータベースになります。

  • IBM DB2
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL

今回はRDS上のMySQLへの接続設定を行います。 またアプリケーション接続を行う条件としてJDBCドライバをインストールしたSecure Agentが必須になります。

JDBCドライバのインストール

初めにJDBCドライバをSecure Agentにインストールします。

手順1)MySQLのダウンロードサイト よりJDBCドライバをダウンロードする。

手順2)ダウンロードファイルを解答するとmysql-connector-java-8.0.xx.jarファイルが取得できるのでこれをSecure Agentの<Secure Agent installation directory>/apps/process-engine/ext配下にこのファイルを配置する。

JDBCコネクションの設定

手順1) サイドメニューから新規を選択するとモーダルが表示されるのでその中からアプリケーション接続を選択し、作成を押下する。

手順2) 接続の詳細の設定を行う。

  • 名前 : 適当な名前の入力
  • タイプ : JDBC Generic Cloud Adapterを選択
  • 実行 : ドライバをインストールしたSecure Agentを選択
  • OData対応 : はいを選択
  • ODataクラウドアクセス有効 : はいを選択
  • ODataで許可されたユーザー/グループ : IICSへアクセスユーザーのうちAdmin, Designer, and Service Consumerロールを持つユーザーを入力
    • データベースからデータを取得する場合はOData対応が必要になります。

手順3)接続のプロパティの設定を行う。

  • JDBC Connection URL : jdbc:mysql://{ホスト名}:3306/{データベース名}?allowPublicKeyRetrieval=true&useSSL=false
  • JDBC Driver Class Name : com.mysql.jdbc.Driver
  • Username : データベースのユーザー名
  • Password : 上記ユーザーのパスワード

*他は基本的にデフォルト設定で問題ないです。

手順4)右上のテストを押下して合格しましたが表示されることを確認する。

手順5)右上のメニューからパブリッシュを押下してアプリケーション接続をパブリッシュする。

パブリッシュすると右上のメニューからプロパティの詳細で作成したアプリケーション接続のOData Swagger URLが表示されますが、後に使うのでこれを控えておきます。

またメタデータタブからオブジェクトとしてテーブル情報が閲覧できるので内容に相違がないか確認しておきます。

これでJDBCドライバのアプリケーション接続は終わりです。次にこのステップをプロセス内でどう使うかを解説します。

データベースとのデータのやり取り

作成ステップでのレコード追加

JDBCのアプリケーション接続を作成するとプロセス内の作成ステップを使うことでテーブルにレコードを追加することができます。

この用途としてはCAI中で作成した各フィールド(入力、出力、一時)、コンテンツ、計算式(ユーザーIDやプロセスID等)データをログ収集用途としてデータベースへ保存する場合に使用します。

では実際にリクエストに応じてデータベースを読み書きするにはどうするかというとOData接続を使います。

サービスコネクタの作成とODataのアプリケーション接続を作成

流れとしてはアプリケーション接続時にOData対応を行い、それをもとにサービスコネクタを作成しサービスコネクタに対してアプリケーション接続を作成します。そこで作成したアプリケーション接続をプロセス内のサービスステップで呼び出すことでデータベースとのやり取りが行えます。

手順1)サイドメニューから新規を選択するとモーダルが表示されるのでその中からサービスコネクタ>Swaggerからの作成を選択し、作成を押下する。

手順2) サービスコネクタの設定値を入力し次へを押下する。

  • Swagger URL : JDBCドライバのアプリケーション接続のプロパティの詳細で取得したOData Swagger URLを入力
  • 認証の使用 : チェックする
    • ユーザー名: DBCドライバのアプリケーション接続のODataで許可されたユーザーで指定したユーザー名を入力
    • パスワード: 上記ユーザーのパスワードを入力

サービスコネクタが作成されますので細かい調整を行います。

手順3)接続のプロパティを設定する。

名前 テストに使用する値 必須
username 手順2のユーザー名 チェック
password 手順2のパスワード チェック

手順3)アクションはサービスコネクタが作成されたときに自動で作成されるので必要なもののみを残して削除する。

手順4)プロセスオブジェクトもサクション同様に必要なもののみを残して削除する。

これでサービスコネクタの設定は終わりなので保存してパブリッシュします。次にサービスコネクタからアプリケーション接続を作成します。

サイドメニューから新規を選択するとモーダルが表示されるのでその中からアプリケーション接続を選択し、作成を押下します。

手順5) アプリケーション接続の設定値を入力し保存を押下して設定を保存します。アプリケーション接続を作成したあとにこちらもパブリッシュを行う。

  • タイプ : 手順4で作成したサービスコネクタを選択
  • 実行 : ドライバをインストールしたSecure Agentを選択
  • username: 手順2のユーザー名を入力
  • password: 手順2のパスワードを入力

これでアプリケーション接続の設定は終わりなのでこちらも保存を押下して設定を保存します。アプリケーション接続を作成したあとにこちらもパブリッシュを行います。

以上でプロセス内でデータベースとデータをやり取りする準備が整いました。 あとはプロセスの中でサービスプロセスをパスに配置し、アクションを呼び出すだけです。

今回はMySQLのJDBCドライバのアプリケーション接続を行いましたが他のデータベースに関してもJDBC Connector Guide(公式ドキュメント) に記載がありますのでPostgreSQLなどを使いたい場合はこちらを参考に設定を行ってみてください。ただし、所々誤植があるのでエラーが出る場合はナレッジで検索すると良いです。

まとめ

MySQLのJDBCドライバを使ったアプリケーション接続を作成しました。他のJDBCドライバでもドライバクラスなどの指定が違うだけで他は同じ様に使うことができます。

次回はアプリケーション接続のAWS SNS編を試してみたいと思います。

最後まで読んで頂いてありがとうございました。