OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株

OpenDolphin システム構築ガイド
ライフサイエンスコンピューティング(株)
オープンドルフィン・ラボ
はじめに
OpenDolphinは JavaEE(Java Enterprise Edition)ベースのシステムである。稼働システムを構築す
る方法は一通りではなく、用途やスケールに合わせていくつもの方法がある。このドキュメントは運用シス
テムを構築する際の手がかりとなることを目的とし、コンパイルされたモジュールを使用して最もシンプル
と思える構成方法について解説する。
「免責条項」
このドキュメントで説明するのはあくまでもOpenDolphinシステムの基礎的な部分である。実稼働にお
いて必要となるチューニング、セキュリティ、冗長化、データのバックアップ等については説明しない。ま
た本構成品を使用した場合に何らかの障害、損害、訴訟等が発生してもその責任は一切負わない。
1.稼働イメージ
OpenDolphinは下記のように 3-tier (3層)構成になっている。
クライアント
Java,
iOS
Application Server
データベース
JBoss
Postgres
構築上のキーテクノロジーはクライアントとデータベースの間に位置するApplication Serverである。 OpenDolphinは伝統的にJBossを使用している。またデータベースにはPostgreSQLを使用している。
以下ではアプリケーションサーバーとデータベースサーバーを一つのマシンで構築する場合について説明
する。これを以下Dolphinサーバーと称する。これは説明を簡単にするためであり、JBoss をクラスタリン
グしてスケールアウトしたり、後述するORCAも同じマシンに構成する等の、目的や規模に応じて柔軟な構
成をとることが出来る。
2.OpenDolphinサーバーの概略
2­1.コンポーネント
サーバー(Application Server + データベース)は下記コンポーネントから構成される。
OS
CentOS または Ubuntu
データベース
PostgreSQL
Java SE
jdk1.7
アプリケーションサーバー
Jboss-as-71.1.1Final
OpenDolphin用に構成済を使用
JBoss AS7
Postgres
Java SE
CentOS/Ubuntu
2­2.マシンアーキテクチャーについて
・32-bit, 64-bit どちらでも可(特別な理由がない限り64bit推奨)
・Java VM がインストールできること
2­3.ソフトウェアバージョンについて
CentOSの場合
6.3.Final等(5.5以降で所属組織等がサポ
ートの対象としているもの)
Ubuntuの場合
ORCA 4.7以降がインストール対象とな
っているバージョン
PostgreSQL
8.4 以降(9.xシリーズ可)
Java SE
jdk1.7.0_xx (xx:はバージョン部分で、
最新のものを使用すること)
2­4.インストールディレクトリについて
・Postgresについては使用するディストリビューションに付属するパッケージコマンドを使用する。そ のためインストールされる場所はディストリビューションによって異なる。
・Java と JBoss については手動にてインストールする。このドキュメントでは下記へインストールする。
java -> /usr/java/ 配下へインストール
JBoss -> /usr/jboss/ 配下へインストール
2­5.ORCA との接続方法
OpenDolphinはORCAと連携し、診療行為の送信のみならず、点数マスターも参照している。それ故
OpenDolphinを稼働させるにはORCAが必要であり、相互の接続の仕方は下記の2通りがある。
(A)DolphinサーバとORCAを接続するケース
クライ
アント
Dolphin
Server
ORCA
192.168.97.69
192.168.97.88
(B)DolphinのクライアントとORCAを接続するケース
Dolphin
Server
192.168.97.69
ORCA
192.168.97.88
クライ
アント
iPhone/iPad を用いてORCAへ診療行為を送信する場合は、(A)の方法しかできない。
どちらを採用するかは病院の環境に依存するが、新規に構築する場合は(A)を推奨する。
2­6.構築のための ipアドレス体系例
このドキュメントでは、説明のために次の表記でマシンの ip アドレスを示す。
Dolphinサーバー
<dolphin_server_ip>
例 192.168.97.69
ORCA
<orca_ip>
例 192.168.97.88
コマンドについては CentOS の場合を示す。Ubuntuの場合は対応するコマンドに置き換える事。
3.OSインストール後の事前準備
(1)/etc/hosts にDolphinサーバーのホスト名を追加する。
例)ホスト名(マシン名)がdolphinの場合
<dolphin_server_ip> dolphin <= この行を追加
(2)FireWall の 8080 TCP ポートをオープンする。
4.Postgresインストール
最初にPostgresをインストールする。
手順リスト
(1)yum 等のパッケージコマンドで postgres (8.4. 以降)をインストール
(2)起動確認
(3)自動起動設定
コマンド例)
# yum install postgresql-server.x86_64(64bit版の場合)
# service postgres stop(Postgres停止)
# service postgres start (Postgres開始)
# chkconfig --list postgres (自動起動状態の確認)
# chkconfig postgres on (自動起動設定)
(4)Postgresへのアクセス許可設定(後述)
(5)Postgresのlisten port 設定(後述)
(6)postgres リスタート
4ー(4) Postgresへのアクセス許可設定
vi 等で pg_hba.conf 編集する。
# vi /var/lib/pgsql/data/pg_hba.conf
-------------------------------------------------------------------------------------------------- host all
all
127.0.0.1/32
trust
<== trust にする
-------------------------------------------------------------------------------------------------- DolphinクライアントとORCAを接続するケースでは、クライアントからのアクセスも許可するように設
定する。今クライアントがネットワークアドレス: 192.168.97.0 、サブネットマスク 255.255.255.0にあ
る場合、次のようになる。
-------------------------------------------------------------------------------------------------- host all
all
192.168.97.0/24
trust <== 追加する
-------------------------------------------------------------------------------------------------- 詳細はpostgres関係文書参照。
4­(5)listen port 設定
この設定はORCAとの接続方法が(B)の場合にのみ必要で、(A)の場合はスキップする。
vi 等で postgresql.conf を編集する。
# vi /var/lib/pgsql/data/postgresql.conf
------------------------------------------------------------------------------------------------------------------------ listen_addresses = 'localhost,<dolphin_server_ip>' <== 先頭の#を外し、
Dolphinサーバのip アドレスを追加
------------------------------------------------------------------------------------------------------------------------ 以上の設定が終了したら Postgresをリスタートする(stopし続いて startで可)。
5.dolphin データベース作成
postgres ユーザーになり、 カルテ用の dolphin データベース及びユーザーを作成する。
項目
値
ユーザー名
dolphin *1
パスワード
空白 *1
データベース名
dolphin *2
ロケール
C
エンコーディング
UTF-8
例)
# su - postgres
$ createuser dolphin(質問にはyes)
$ createdb -lC -EUTF-8 -Ttemplate0 dolphin
*1)ユーザー名、パスワードを独自に設定する場合は、JBoss の standalone-full.xml で データソース部
分 PostgresDS のエントリを書き変える。
*2)データベース名も任意である。dolphin以外を使用する場合は、上記同様 PostgresDSのエントリを変
更する。
6.Java jdk1.7 インストール
(1)Orcale サイトより最新の Linux用 Java SE7 tar.gz 版をダウンロードする。
http://www.oracle.com/technetwork/java/index.html
(2)jdkへシンボリックリンク作成する。
例)
jdk-7u<version>-linux-x64.tar.gz (64bit版)を /usr/java 配下へインストールする場合
#
#
#
#
#
mkdir - p /usr/java
mv path_to_jdk-7u<version>-linux-x64.tar.gz /usr/java/
cd /usr/java
tar zxvf jdk-7u<version>-linux-x64.tar.gz
ln -sf jdk1.7.0_<version> /usr/java/home
7.構成済 JBoss インストール
(1)OpenDolphin用に構成済の jboss-as-7.1.1.Final.zip をダウンロードする。
URL
http://www.digital-globe.co.jp/openDolphin/sys-guide/25/server/jboss-as-7.1.1.Final.zip
(2)ダウンロードしたjbossを /usr/jboss 配下に展開する。
(3)シンボリックリンクを作成する。
例)
#
#
#
#
#
mkdir -p /usr/jboss
mv path_to_jboss-as-7.1.1.Final.zip /usr/jboss/
cd /usr/jboss
unzip ./jboss-as-7.1.1.Final.zip
ln -sf jboss-as-7.1.1.Final /usr/jboss/home
8.環境変数設定
(1)root の 環境変数 PATH に JBossのbinを通す。
例) bashの場合 /root/.bash_profileを編集
export PATH=/usr/jboss/home/bin:$PATH <== この行を追加
(2)/usr/jboss/home/bin/standalone.confファイルの下記行を書き変える。
JAVA_HOME="/usr/java/home <== 先頭の#を外し java へのシンボリックリンクを設定
(3)/usr/jboss/home/bin/jboss-cli.sh の先頭に下記二つのエントリ(行)を追加する。
export PATH=/usr/jboss/home/bin:$PATH:$HOME/bin <== 追加
export JAVA_HOME=/usr/java/home <== 追加
9.設定ファイル編集
9­1 DolphinサーバーとORCAを接続するケース
(1)/usr/jboss/home/custom.properties を編集する。
項目
説明
dolphin.facilityId=1.3.6.1.4.1.9414.70.1
固定
jamri.code=123456789012
納入医療機関の JMARI コード (JPN 部を除く12桁)
useAsPVTServer=true
固定
pvt.listen.bindIP=<dolphin_server_ip>
Dolphinサーバーの ipアドレス
pvt.listen.port=5002
固定
pvt.listen.encoding=UTF-8
固定
claim.conn=server
固定
claim.host=<orca_ip>
ORCAマシンのip アドレス
claim.send.port=8210
固定
claim.send.encoding=UTF-8
固定
rp.default.inout=out
納入医療機関のデフォルトの処方 院内の時in 院外の時out
claim.jdbc.url=jdbc:postgresql://
<orca_ip>:5432/orca
<orca_ip>部分がORCAのipアドレス、他は固定
claim.user=orca
ORCAのPostgresデータベースユーザー名 *1
claim.password=
ORCAのPostgresデータベースパスワード *1
*1 )ORCAのPostgresデータベースに設定したユーザー名とパスワード。デフォルトでは上記のようになっ
ている。変更している場合は書き変えること。
(2)/usr/jboss/home/standalone/configuration/standalone-full.xml を編集する。
-------------------------------------------------------------------------------------------------------------------------<interfaces>
<interface name="management">
<inet-address value="127.0.0.1"/> <== セキュリティ上 強く推奨
</interface>
<interface name="public">
<inet-address value="<dolphin_server_ip>"/> <== Dolphinサーバーのipアドレス
</interface>
<interface name="unsecure">
<inet-address value="127.0.0.1"/> <== セキュリティ上 強く推奨
</interface>
</interfaces>
9­2 DolphinクライアントとORCAを接続するケース
(1)/usr/jboss/home/custom.properties を編集する。
項目
説明
dolphin.facilityId=1.3.6.1.4.1.9414.70.1
固定
jamri.code=123456789012
納入医療機関の JMARI コード (JPN 部を除く12桁)
useAsPVTServer=false
固定
pvt.listen.bindIP=<dolphin_server_ip>
Dolphinサーバーの ipアドレス
pvt.listen.port=5002
固定
pvt.listen.encoding=UTF-8
固定
claim.conn=client
固定
claim.host=<orca_ip>
ORCAマシンのip アドレス
claim.send.port=8210
固定
claim.send.encoding=UTF-8
固定
rp.default.inout=out
納入医療機関のデフォルトの処方 院内の時in 院外の時out
(2)/usr/jboss/home/standalone/configuration/standalone-full.xml を編集
-------------------------------------------------------------------------------------------------------------------------.............
<interfaces>
<interface name="management">
<inet-address value="127.0.0.1"/> <== セキュリティ上 強く推奨
</interface>
<interface name="public">
<inet-address value="<dolphin_server_ip>"/> <== Dolphinサーバーのipアドレス
</interface>
<interface name="unsecure">
<inet-address value="127.0.0.1"/> <== セキュリティ上 強く推奨
</interface>
</interfaces>
10.JBoss の起動と停止
設定ファイルを編集後、JBossを起動する。
(1)JBoss を起動コマンド(webプロフィールの standalone-full.xml を指定する)
# standalone.sh -c standalone-full.xml &
(2)停止
下記コマンドで停止も確認しておく。
# jboss-cli.sh -c --command=":shutdown"
12.クライアントインストール
クライアントに使用するマシンは、Windows、Mac 等、サーバーとは異なるものを使用する。これには
最新のJava実行環境(jre-8u<最新バージョン>)がインストールさtれていること。
(1)OpenDolphinクライアントダウンロード
URL http://www.digital-globe.co.jp/opendolphin/sys-guide/25/client/OpenDolphin.zip
(2)クライアント起動
・ダウンロードしたファイルを適当な場所へ解凍する
・解凍して出来たOpenDolphinフォルダ内の OpenDolphin.jar をダブルクリックする
(2)ー1.共通
ログイン画面の「設定」ボタン押下し、「サーバータブ」に下記値を入力
・医療機関ID : 1.3.6.1.4.1.9414.70.1
・ユーザーID: admin
・ベースURI: http://<dolphin_server_ip>:8080(Dolphinサーバipアドレス:8080)
-------------------------------------------------・ログイン時のパスワード: admin
(2)ー2.DolphinサーバーとORCAを接続するケース(A)
レセコンタブを押下
・「診療行為送信」:(*1)
・医療機関コード(JMARI): ORCAに登録した12桁の医療機関コード
・ レセコンとの接続: サーバーを選択
(2)ー3.DolphinクライアントとORCAを接続するケース (B)
レセコンタブを押下
・「診療行為送信」: (*1)
・医療機関コード(JMARI): ORCAに登録した12桁の医療機関コード
・レセコンとの接続: クライアントを選択
・IPアドレス: ORCAのipアドレス
・このマシンでORCAからの受付情報を受信する:(*2)
*1)
・利用者が医師で診療行為をORCAに送信する場合: 送信するを選択
・利用者が事務等で診療行為の送信をしない場合: 送信しないを選択
*2)
・複数のDolphinクライアント端末がある場合、どれか1台にチェックを入れる。
(残りの端末はチェックしない。またORCA側のCLAIM設定でチェックした端末に受付情報を送信するよ
うに設定する。)
13.ORCA 受付情報送信先設定
(1)ORCAメニューの「91 マスタ登録」->「101 システム管理マスタ」から
「9000 CLAIM接続情報」を選択
(2)下記のように設定
CLAIM 接続
送信用コード
送信用アドレス
ポート受付
請求
1 する
3 UTF8
*1
5002
5004
*1)
(A)DolphinサーバとORCAを接続するケース
送信用アドレス ==> <dolphin_server_ip>(Dolphinサーバのipアドレス)
(B) DolphinクライアントとORCAを接続するケース
送信用アドレス ==> 受付情報を受信するクライアントのipアドレス
(ぜんこう12の *2 でチェックを入れたクライアントマシンのipアドレス)
参 考
R-1. OpenDolphin用に構成済のJBoss について
・JBoss バージョン: jbsoo-as-7.1.1.Final
・postgres ドライバを module として組み込み: modules -> org -> postgresql
・プローフィール: stanadlone/configuration/standalone-full.xml
----------------------上記プロフィールの構成内容--------------------------- ・logger、PostgresDS、jms-destinations:dolphinQueue、
subsystem xmlns="urn:jboss:domain:web:1.1"のenable-welcome-root ==>"false"、
・interfacesの各 inet-address」
-------------------------------------------------------------------------------------- ・custom.properties (Dolphinサーバーの個別設定ファイル)
・templates内の .vm ファイアル(CLAIM送信に使用)
・init-dolphin-utf8.txt (初期アカウント登録用 sql)
・openDolphin-server-2.xx.war (OpenDolphinサーバプログラム warファイル)
・openDolphin-server-2.xx.war.deployed (deploy 指示ファイル)
R-2. サーバメンテナンス用の cron 設定例
-------------------------------------------------------------------------------------------------------------------------0 3 * * * /usr/jboss/home/bin/jboss-cli.sh -c --command=":shutdown";
5 3 * * * find /usr/jboss/home/standalone/log/ -type f -mtime +180 -exec rm {} \;
10 3 * * * /usr/jboss/home/bin/standalone.sh -c standalone-full.xml &
-------------------------------------------------------------------------------------------------------------------------上から順番に、jboss 停止、180日以前のログ削除、jboss起動
他に Postgresのvacuum, reindex (月に一度等)を設定するとよい。
R-3. JBoss 文献
(1)公式ページ: http://www.jboss.org
(2)eBook: JBoss AS 7 Configuration, Deployment and Administration
Francesco Marchioni 著
Packt Publishing, 12月 2011
履歴
・2012-10-20 初版
・2012-11-26
インストール手順から Java SE 6 を削除。(EOL)
・2013-09-24 説明補足、章立て変更、表記方法改善
・2015-01-15 構成、ダンロード場所、モジュールの更新
以上