You are not logged in. This forum allows only logged in users to post. If you want to post in the forum, please log in.
다운로드
소프트웨어 개발
계정
다운로드
소프트웨어 개발
Login
Forgot Account/Password
계정 만들기
언어
도움
언어
도움
×
Login
Login Name
Password
×
Forgot Account/Password
Translation Status of 한국말
Category:
Software
People
PersonalForge
Magazine
Wiki
검색
OSDN
>
브라 우즈 소프트웨어
>
Database
>
Database Engines/Servers
>
OpenOLAP
>
포럼
>
Open Discussion
>
Viewerについて
OpenOLAP
Description
Project Summary
Developer Dashboard
웹 페이지
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
다운로드
List of Releases
Stats
티켓
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
포럼
List of Forums
도움 (338)
Open Discussion (13)
Mailing Lists
list of ML
News
포럼:
Open Discussion
(Thread #5266)
Return to Thread list
RSS
Viewerについて (2004-05-28 11:15 by
saiken
#9673)
Create ticket
はじめまして、saikenと申します。
私共の会社のLinux環境に、OpenOLAPを導入して1週間が経過しました。
付属のテキストを一通り目を通しながら環境構築、順調に稼働しておりますが、一つ気になった点が有ります。
Viewerを使ってOpenOLAPにログインの際、$CATALINA_HOME/conf/server.xml で<DefaultContext>タグ内のurl記述で固定されているので、環境の初期設定時点で特定の1つのDBだけにしかアクセスできない仕組みになっています。これをViewerのログイン画面でコンボボックスなどによる切り替えにより、OLAPのメタファイルを組み込んだ複数のDBにアクセスできればと思ったところですが、どうなんでしょうか?
ちなみにDesignerですと、コネクトソースの最後にあるDB名を自分の手で書き換えてあげる事で、OLAPのメタファイルを組み込んだいろんなDBにアクセスできますよね?
(ただし、$CATALINA_HOME/webapps/designer/login.ini のコネクト情報でCONNECT_SOURCEのDB名部分を記述しない、LIST_NAME/USER_NAME/SCHEMA_NAMEが各DBとも同じである事が条件ですが)
発端は、業種が製造業であるゆえ、このOpenOLAPを使って近日に品質関係のDBを構築したいと考えています。
ただし、一言で品質関係といっても苦情処理や製品検査NGの記録、部品受け入れの検査NGと様々の情報がありますので、1つのDB内に各情報を詰め込むのではなく、各情報をDBによって独立させて管理したいと考えています。
これによって運用メンテナンスが容易ですし、万が一うちの1つのDB(情報)が破損して使えなくなっても他のDBは生きてますから、エンドユーザーに対するリスクは比較的少ないと思います。
前述のように、Designerなら管理者・開発者だけのアクセスに限定して使うのでコネクトソースの記述変更で複数のOLAPメタ入りのDBにアクセスできますが、Viewerのログイン画面もアクセスしたいDBに切り替えて、複数のDBにアクセスできるようにしたいと思ったところです。如何なものでしょうか??
RE: Viewerについて (2004-06-03 15:04 by
miyamo
#9748)
Create ticket
miyamoです。
> Viewerを使ってOpenOLAPにログインの際、$CATALINA_HOME/conf/server.xml
> で<DefaultContext>タグ内のurl記述で固定されているので、環境の初期設定時点で特定
> の1つのDBだけにしかアクセスできない仕組みになっています。
このような仕様にした理由は、2点あります。
1.開発時のコンセプトとして、
Designerの使用ユーザー数は、開発ユーザーなので、少数。
Viewerの使用ユーザー数は、参照ユーザー(一般ユーザー)なので、多数と想定。
2.Designerユーザー(開発ユーザー)は、DBのスキーマを理解しているため、
DBの切り替えをしつつ、開発をすることが想定される。(開発DB -> 本番DB等)
Viewerのユーザーは、DBの物理構造を意識することなく、参照すべきであり、
逆に、DBの切り替えリストボックスがあると、
そこからDBがいくつあるかがわかってしまい、セキュリティー上も望ましくない。
上記点を実装するため、技術的には、Desinerは、SessionごとにDBに接続をかけていますが、
Viewerは、ConnectionPooling(DBCP)機能を利用しています。
> Viewerのログイン画面もアクセスしたいDBに切り替えて、
> 複数のDBにアクセスできるようにしたいと思ったところです。
以下のような方法で接続先を切り替えることができると思います。
1.server.xmlを修正
*********************************************************
<DefaultContext>
<!-- 既存のコネクションプーリングの設定 -->
<Resource name="jdbc/WroxTC41" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/WroxTC41">
<!-- 略 -->
</ResourceParams>
<!-- ここに、追加するコネクションプーリングの設定を記述する。-->
<Resource name="jdbc/AnotherDB" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/AnotherDB">
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://localhost:5432/別DB名</value>
</parameter>
<!-- 略 -->
</ResourceParams>
</DefaultContext>
*********************************************************
2.web.xmlへ、追加するコネクションプーリングの設定を記述
*********************************************************
<resource-ref>
<res-ref-name>jdbc/WroxTC41</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- ここから追加 -->
<resource-ref>
<res-ref-name>jdbc/AnotherDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
*********************************************************
3.ソースを修正
1.login.jspにリストボックスを追加するように修正
2.PostgresDAOFactory.javaの39行目
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/WroxTC41"); //$NON-NLS-1$
の部分にリストボックスの情報を引き渡し、
WroxTC41 or AnotherDBのどちらかに接続するよう変更
以上で接続先をわけることが可能だと思います。
※3でプログラムを修正するのが面倒な場合は、
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/AnotherDB"); //$NON-NLS-1$
と修正し、コンパイルをかけ、複数のWebAppを作り、URLを切り替えることで、
接続先を分ければOKだと思います。
以上です。
Reply to
#9673