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

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

関連記事

IM-BloomMaker のカスタムスクリプト内で $im.resolve を使った一覧画面の作成

この CookBook では、ユーザー情報一覧画面からデータの詳細情報を表示する画面に遷移するために $im.resolve を使う方法を紹介します。 以下のレシピに従って作業を行うと、一覧に表示され …

no image

画面操作方法によって画面アイテムの入力チェックを切り替える方法

このCookBookでは、IM-FormaDesignerの入力チェックプログラムで、画面の操作方法に応じた入力チェックを設定する方法を紹介します。 この方法は、以下の製品で作成したアプリケーションや …

スプレッドシートにフロー毎の未処理件数を表示するポートレットの作成方法

このクックブックでは、スプレッドシートにフロー毎の未処理件数を表示するポートレットの作成方法をご紹介します。 ポートレットは、スプレッドシートとIM-Workflow REST APIを利用して作成し …

IM-BloomMaker のアクション「複数選択組織検索ダイアログを表示する」の使い方

このCookBookでは、「複数選択組織検索ダイアログを表示する」アクションの使用方法について紹介します。 「複数選択組織検索ダイアログを表示する」アクションは、共通マスタから取得した組織情報をダイア …

no image

画面UI部品(imuiValidate)のバリデーションメッセージを任意の場所に表示する方法

このCookBookでは、画面UI部品のバリデーションメッセージを任意の場所に表示する方法について紹介しています。 intra-mart Accel Platform では、画面上に配置したUI部品の …