2013年7月26日金曜日

JBoss Enterprise Data Servicesをインストールしてみる

JBossテクニカルチームの寺田です。

今回はJBoss Enterprise Data Servicesをインストールしてみて、雰囲気をご紹介させていただこうと思います。

本製品は、データベース層の前段に配置しデータベース層を統合するような製品となっています。

データベース層の前段に配置するといっても、JBoss Data Gridのようなキーバリュー型のデータベース製品ではありません。通常アプリケーションではJDBC等の手段でデータベースに問い合わせを行いますが、その際データベース層の形態や配置を意識することなく同じJDBCという手段でJBoss Enterprise Data Servicesを介することによって、異なるデータソースのデータへアクセスできるというものです。
それでは簡単ですが、見ていきましょう。

Agenda

1.Enterprise Data Servicesのインストール

SOAプラットフォーム(soa-p-5.3.1.GA.zip)をダウンロードし、展開します。
jboss-soa-p-5/ディレクトリが出来るので、jboss-soa-p-5の下に、eds runtime(eds-p-5.3.1.GA.zip)をダウンロードし、展開します。
すると、ディレクトリは以下のような構成になります。
jboss-soa-p-5/
Eds/
・・・・
コマンドラインを立ち上げ、jboss-soa-p-5/edsにてantを実行します。
赤字はコメントです。
C:\jboss-soa-p-5\eds>ant
Buildfile: C:\jboss-soa-p-5\eds\build.xmlh promptjboss: prompteds: [input] Enter profile to install EDS to: all, production, or default [default] デフォルトは[default]なのでそのまま[enter] validate.profile: promptcxf: [input] Teiid requires CXF to be installed for web services, do you wish to install (y or n) [y] ApacheCXFをインストールするか確認ですが、入れても問題ないのでデフォルト[y]のまま (中略) [copy] Copying 1 file to C:\jboss-soa-p-5\jboss-as\server\production\deploy \jbossws.sar\jbossws-management.war\WEB-INF secure-standard: [copy] Copying 1 file to C:\jboss-soa-p-5\jboss-as\server\standard\deploy\j bossws.sar\jbossws-management.war\WEB-INF [copy] Copying 1 file to C:\jboss-soa-p-5\jboss-as\server\standard\deploy\j bossws.sar\jbossws-management.war\WEB-INF secure-default: [copy] Copying 1 file to C:\jboss-soa-p-5\jboss-as\server\default\deploy\jb ossws.sar\jbossws-management.war\WEB-INF [copy] Copying 1 file to C:\jboss-soa-p-5\jboss-as\server\default\deploy\jb ossws.sar\jbossws-management.war\WEB-INF secure-console: install: [echo] -------------------------------------------------------------------- --- BUILD SUCCESSFUL Total time: 5 minutes 0 seconds C:\jboss-soa-p-5\eds>
こんな感じでビルド成功すればインストールは完了です。

2.ユーザの作成

次にユーザを作成します。
jboss-as/server/default/conf/props/ に以下のファイルがあるので、編集しユーザを作成します。
- teiid-security-users.properties
- teiid-security-roles.properties
- soa-users.properties
- soa-roles.properties
soausers.propertiesは以下のように、ユーザID=パスワードといった形で記載し、この IDが後でsoaプラットフォームへのログインIDとパスワードになります。
#userid=password
admin=admin
teiid-*の方はteiidのユーザとロールの設定でオブジェクトへのアクセス権限をコントロールするのに使用します。

3.管理コンソールにアクセス

soaプラットフォームの管理コンソールにアクセスします
jboss-soa-p-5/jboss-as/bin/run.sh[enter]
とし、まずjbossサーバを起動します。
古いバージョンのJBossを使ったことがある人は分かるかと思いますが、run.shで起動しているということは、アプリケーションサーバはEAP6ではなく古いバージョンです。
Data Serivcesはsoa基盤の上にのっており、soaのアプリケーションサーバはEAP5となっていますので、起動するのにはやや時間がかかります。
http://127.0.0.1:8080/ にアクセスします。

Admin Consoleリンクをクリックし、http://127.0.0.1:8080/admin-console/ に遷移します。

ログインユーザとパスワードを要求されますので、ここで、soa-*.properties で設定したユーザとパスワードを入力します。

ログインすると、SOAプラットフォームの画面に遷移します。

4.サンプルを動かし確認

サンプルを動かしSOAデータプラットフォームで設定内容を確認します。
ここでは、スタートガイドに出てくる以下のサンプルを実行して確認します。
jboss-soa-p-5/jboss-as/samples/quickstarts/eds_multi_source_federation
このサンプルでは、ModeShape,PortfolioRolesという仮想DBが作られます。
portfoliorolesをクリックすると、詳細な設定が見られます。
下の方の画面を拡大していただくと、portfoliorolesは、AccountsというMySQLのデータベースとフラットファイルのMarketDataという2つのデータソースから構成されていることがわかります。

5.Teiid Designerのインストール

VDBの設計をするデザイナ機能としてTeiid Designerがあり、JBossDeveloperというEclipseベースの開発環境を使ってデザインするような機能となっています。 こちらについて詳細は、また後日ということにさせていただきますが、簡単にインストールについてだけ記載します。 JBoss Developerの4.1.1をダウンロードし、以下のようにインストーラを起動します。
C:\eds>java -jar jbdevstudio-product-win32-4.1.1.v201111110641R-H751-GA.jar
いろいろ画面が表示されてガイドされますのでそれに従って進めますとこんな感じでインストールされます

さらに、Model Explorerという機能を使って、プロジェクトやVDBを作るとこんな感じでVDBが作成できます。
簡単な紹介でですが、今回は以上とさせていただきます。