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 では、intra-mart Accel Platform 2020 Spring から利用可能になった IM-BloomMaker のリッチテーブルエレメントの活用方法について …

no image

Payara blog のご紹介

この CookBook では Payara のブログについて紹介したいと思います。 以下の URL で Payara に関する様々な記事が投稿されています。 https://blog.payara.f …

no image

リッチテーブルの任意の列を非表示にする方法

このCookBookでは、リッチテーブルの任意の列を非表示にする方法について紹介しています。 列の非表示は intra-mart Accel Platform 2022 Spring から可能です。 …

no image

IM-BloomMaker Chrome 拡張機能のデバッグツールの使い方

この CookBook では、2022 Winter でリリースされた Chrome 拡張機能であるデバッグツールの使い方を、実際に不具合のあるコンテンツをデバッグしていきながらご紹介いたします。 レ …

標準の画面アイテムを利用して「先頭へ戻る」ボタンを実現する

このCookBookでは、標準の画面アイテムを利用して「先頭へ戻る」ボタンを実現する方法について紹介しています。 本稿では、表示する項目が多く縦長い画面で下へスクロールすると右下に「先頭へ戻る」ボタン …