この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 を使用する前提とします。
レシピ
以下の手順で「シェアードデータベース」を登録します。
- JDBCドライバの追加
- Resin の起動 / 再起動
- データソースの設定
- シェアードデータベースの設定
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の場合)
データソースの設定
- システム管理者でログインします。
- 「システム環境構築」→「データソース設定」をクリックします。
- 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を「シェアードデータベース」に対して直接発行することも可能です。
以下のタスクが用意されています。
- ユーザ定義 - SQL(2WaySQL)
- 任意のSELECT, INSERT, UPDATE, DELETE を発行可能なタスクです。
- ユーザ定義 - Database Fetch
- データベースに格納されている大量のデータを効率的に取得するためのタスクです。
接続先として「シェアードデータベース」を選択できます。
ViewCreator で利用する場合
クエリ定義を作成するときに「シェアードデータベース」を選択できます。
ViewCreator 管理者操作ガイド - クエリビルダによるクエリの作成
プログラミングで利用する場合
スクラッチ開発等でシェアードデータベースに接続する場合は下記のAPIをご利用ください。