CookBook

他システムのデータベースに接続する方法

投稿日:

このCookBookでは、intra-mart 製品と関係の無いシステム等で利用されているデータベースに intra-mart Accel Platform から接続する方法についてご紹介します。

intra-mart Accel Platform では、データベースへの接続方法として下記の3種類があります。

  • システムデータベース
    • システムのデータを保存するデータベースです。
  • テナントデータベース
    • テナント内で利用するデータを保存するデータベースです。
  • シェアードデータベース
    • intra-mart Accel Platform 外のデータを保存するデータベースです。
    • 外部システムと連携したい場合等に利用します。

今回は intra-mart Accel Platform 外のデータにアクセスするので「シェアードデータベース」を使用します。

参考)
intra-mart Accel Platform セットアップガイド - 接続先の種類


また、このCookBookにおいて、アプリケーションサーバは Resin を使用する前提とします。

レシピ

以下の手順で「シェアードデータベース」を登録します。

  1. JDBCドライバの追加
  2. Resin の起動 / 再起動
  3. データソースの設定
  4. シェアードデータベースの設定

JDBCドライバの追加

シェアードデータベースとして接続するデータベース製品に合ったJDBCドライバを、Resin をインストールしたディレクトリの lib 配下に配置します。

参考)
intra-mart Accel Platform セットアップガイド - JDBCドライバの配置(Windowsの場合)
intra-mart Accel Platform セットアップガイド - JDBCドライバの配置(Linuxの場合)

Resin の起動 / 再起動

Resin を起動 / 再起動します。

参考)
intra-mart Accel Platform セットアップガイド - コンソール起動・停止(Windowsの場合)
intra-mart Accel Platform セットアップガイド - コンソール起動・停止(Linuxの場合)

データソースの設定

  • システム管理者でログインします。
  • 「システム環境構築」→「データソース設定」をクリックします。
以下、下記ガイドの手順に従ってデータソースの登録を行います。
intra-mart Accel Platform システム管理者操作ガイド - データソース設定

以下は、データソース設定の一例です。
  • JNDI名
    • jdbc/sampleshared
  • ドライバクラス名
    • org.postgresql.ds.PGConnectionPoolDataSource
  • URL
    • jdbc:postgresql://localhost:5432/sampleshared_db

シェアードデータベースの設定

  • 「システム管理」→「シェアードデータベース設定」をクリックします。

以下、下記ガイドの手順に従ってシェアードデータベースの登録を行います。
intra-mart Accel Platform システム管理者操作ガイド - シェアードデータベース設定

以下は、シェアードデータベースの設定の一例です。

  • 接続ID
    • sampleshared
  • リソース参照名
    • java:comp/env/jdbc/sampleshared

これで、シェアードデータベースを利用する準備ができました。

シェアードデータベースの利用方法

ここからはシェアードデータベースを利用可能な機能をいくつかご紹介します。
利用手順は機能ごとに異なりますが、いずれの場合においてもシェアードデータベースの接続IDを指定します。
詳細は各機能ごとのドキュメントをご参照ください。

IM-Repository と IM-LogicDesigner で利用する場合

IM-Repository の「データ定義」を作成すると、SQLを書くことなく、シェアードデータベースのテーブルのデータを取得・更新できます。
また、データの読み書きだけではなく、既存テーブルの管理、テーブルの新規作成を行うことも可能です。
intra-mart Accel Platform IM-Repository ユーザ操作ガイド - IM-Repositoryとは

「データ定義」を作成するとき、「シェアードデータベース」を選択できます。

手順の詳細は下記ドキュメントをご参照ください。
intra-mart Accel Platform IM-Repository ユーザ操作ガイド - データ定義を新規登録する

作成した「データ定義」は IM-LogicDesigner で用意されている専用のタスクで簡単にアクセスできます。

IM-Repository の各タスクの仕様については下記ドキュメントをご参照ください。
intra-mart Accel Platform IM-LogicDesigner仕様書 - IM-Repository

IM-LogicDesigner で利用する場合

「データ定義」を利用せず、IM-LogicDesignerのユーザ定義タスクで任意のSQLを「シェアードデータベース」に対して直接発行することも可能です。
以下のタスクが用意されています。

接続先として「シェアードデータベース」を選択できます。

ViewCreator で利用する場合

クエリ定義を作成するときに「シェアードデータベース」を選択できます。

ViewCreator 管理者操作ガイド - クエリビルダによるクエリの作成

プログラミングで利用する場合

スクラッチ開発等でシェアードデータベースに接続する場合は下記のAPIをご利用ください。

スクリプト開発向けim-BizAPI - SharedDatabaseオブジェクト
JavaEE開発向けim-BizAPI - クラス SharedDatabase

-CookBook
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

IM-BloomMaker 「マルチファイルアップロード」エレメントの利用方法

このCookBookでは、 2021 Spring でリリースした「マルチファイルアップロード」エレメントの利用方法について説明していきます。 登録画面でアップロードしたファイルを別画面でダウンロード …

no image

IMBox の「Like!」を別のキャプションにする方法

この Cookbook では、IMBox の「Like!」を別のキャプションにする方法を紹介します。 具体的には、「Like!」を「確認」に変更する方法を紹介します。 この Cookbook では、日 …

no image

Cassandra の Docker を作成する。

この CookBook では、Cassandra の Docker の作成手順について紹介しています。 レシピ ベースイメージの作成 Cassandra の Docker イメージを作成します 実行し …

no image

imuiListTableでセルに配置したアイコンから別画面に遷移する方法

このCookBookでは、imuiListTableでセルに配置したアイコンから別画面に遷移する方法について紹介しています。 imuiListTableについての詳細はAPIドキュメントを参照してくだ …

no image

スレッドダンプの取り方

このCookBookでは、スレッドダンプの取り方について紹介しています。 以下に手順を説明しますが、スレッドダンプは必ず問題の事象が発生している時に取得してください。 例えば、動作が重い・非同期処理が …