opendolphin システム構築ガイド ライフサイエンスコンピュー … · opendolphin...

13
OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株) オープンドルフィン・ラボ はじめに OpenDolphinは JavaEE(Java Enterprise Edition)ベースのシステムである。稼働システムを構築す る方法は一通りではなく、用途やスケールに合わせていくつもの方法がある。このドキュメントは運用シス テムを構築する際の手がかりとなることを目的とし、コンパイルされたモジュールを使用して最もシンプル と思える構成方法について解説する。 「免責条項」 このドキュメントで説明するのはあくまでもOpenDolphinシステムの基礎的な部分である。実稼働にお いて必要となるチューニング、セキュリティ、冗長化、データのバックアップ等については説明しない。ま た本構成品を使用した場合に何らかの障害、損害、訴訟等が発生してもその責任は一切負わない。 1.稼働イメージ OpenDolphinは下記のように 3-tier (3層)構成になっている。 構築上のキーテクノロジーはクライアントとデータベースの間に位置するApplication Serverである。    OpenDolphinは伝統的にJBossを使用している。またデータベースにはPostgreSQLを使用している。 以下ではアプリケーションサーバーとデータベースサーバーを一つのマシンで構築する場合について説明 する。これを以下Dolphinサーバーと称する。これは説明を簡単にするためであり、JBoss をクラスタリン グしてスケールアウトしたり、後述するORCAも同じマシンに構成する等の、目的や規模に応じて柔軟な構 成をとることが出来る。 Postgres Java, iOS JBoss クライアント Application Server データベース

Upload: others

Post on 21-Oct-2019

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

OpenDolphin システム構築ガイド

ライフサイエンスコンピューティング(株) オープンドルフィン・ラボ

はじめに  OpenDolphinは JavaEE(Java Enterprise Edition)ベースのシステムである。稼働システムを構築する方法は一通りではなく、用途やスケールに合わせていくつもの方法がある。このドキュメントは運用システムを構築する際の手がかりとなることを目的とし、コンパイルされたモジュールを使用して最もシンプルと思える構成方法について解説する。

「免責条項」  このドキュメントで説明するのはあくまでもOpenDolphinシステムの基礎的な部分である。実稼働において必要となるチューニング、セキュリティ、冗長化、データのバックアップ等については説明しない。また本構成品を使用した場合に何らかの障害、損害、訴訟等が発生してもその責任は一切負わない。

1.稼働イメージ

 OpenDolphinは下記のように 3-tier (3層)構成になっている。

 構築上のキーテクノロジーはクライアントとデータベースの間に位置するApplication Serverである。     OpenDolphinは伝統的にJBossを使用している。またデータベースにはPostgreSQLを使用している。

 以下ではアプリケーションサーバーとデータベースサーバーを一つのマシンで構築する場合について説明する。これを以下Dolphinサーバーと称する。これは説明を簡単にするためであり、JBoss をクラスタリングしてスケールアウトしたり、後述するORCAも同じマシンに構成する等の、目的や規模に応じて柔軟な構成をとることが出来る。

PostgresJava,iOS JBoss

クライアント Application Server データベース

Page 2: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

2.OpenDolphinサーバーの概略   2-1.コンポーネント

 サーバー(Application Server + データベース)は下記コンポーネントから構成される。     

2-2.マシンアーキテクチャーについて

 ・32-bit, 64-bit どちらでも可(特別な理由がない限り64bit推奨) ・Java VM がインストールできること

2-3.ソフトウェアバージョンについて

OS CentOS または Ubuntu

データベース PostgreSQL

Java SE jdk1.7

アプリケーションサーバー Jboss-as-71.1.1Final OpenDolphin用に構成済を使用

JBoss AS7

Java SE

CentOS/Ubuntu

Postgres

CentOSの場合 6.3.Final等(5.5以降で所属組織等がサポートの対象としているもの)

Ubuntuの場合 ORCA 4.7以降がインストール対象となっているバージョン

PostgreSQL 8.4 以降(9.xシリーズ可)

Java SE jdk1.7.0_xx (xx:はバージョン部分で、最新のものを使用すること)

Page 3: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

2-4.インストールディレクトリについて

 ・Postgresについては使用するディストリビューションに付属するパッケージコマンドを使用する。そ    のためインストールされる場所はディストリビューションによって異なる。  ・Java と JBoss については手動にてインストールする。このドキュメントでは下記へインストールする。

java -> /usr/java/ 配下へインストール JBoss -> /usr/jboss/ 配下へインストール

2-5.ORCA との接続方法    OpenDolphinはORCAと連携し、診療行為の送信のみならず、点数マスターも参照している。それ故OpenDolphinを稼働させるにはORCAが必要であり、相互の接続の仕方は下記の2通りがある。

(A)DolphinサーバとORCAを接続するケース

(B)DolphinのクライアントとORCAを接続するケース

 iPhone/iPad を用いてORCAへ診療行為を送信する場合は、(A)の方法しかできない。  どちらを採用するかは病院の環境に依存するが、新規に構築する場合は(A)を推奨する。

2-6.構築のための ipアドレス体系例  このドキュメントでは、説明のために次の表記でマシンの ip アドレスを示す。

コマンドについては CentOS の場合を示す。Ubuntuの場合は対応するコマンドに置き換える事。

DolphinServer ORCAクライ

アント

192.168.97.69 192.168.97.88

DolphinServer

ORCA

クライアント

192.168.97.69

192.168.97.88

Dolphinサーバー <dolphin_server_ip> 例 192.168.97.69

ORCA <orca_ip> 例 192.168.97.88

Page 4: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

3.OSインストール後の事前準備

(1)/etc/hosts にDolphinサーバーのホスト名を追加する。   例)ホスト名(マシン名)がdolphinの場合    <dolphin_server_ip> dolphin <= この行を追加

(2)FireWall の 8080 TCP ポートをオープンする。

Page 5: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

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で可)。

Page 6: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

5.dolphin データベース作成    postgres ユーザーになり、 カルテ用の dolphin データベース及びユーザーを作成する。

例) # 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

項 目 値

ユーザー名 dolphin *1

パスワード 空白 *1

データベース名 dolphin *2

ロケール C

エンコーディング UTF-8

Page 7: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

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          <== 追加

Page 8: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

9.設定ファイル編集

9-1 DolphinサーバーとORCAを接続するケース

(1)/usr/jboss/home/custom.properties を編集する。

*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>

項 目 説 明

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

Page 9: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

9-2 DolphinクライアントとORCAを接続するケース

(1)/usr/jboss/home/custom.properties を編集する。

(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>

項 目 説 明

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

Page 10: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

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アドレス

Page 11: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

・このマシンで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アドレス)

Page 12: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

参 考

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

Page 13: OpenDolphin システム構築ガイド ライフサイエンスコンピュー … · OpenDolphin システム構築ガイド ライフサイエンスコンピューティング(株)

履歴 ・2012-10-20  初版 ・2012-11-26 インストール手順から Java SE 6 を削除。(EOL) ・2013-09-24    説明補足、章立て変更、表記方法改善 ・2015-01-15    構成、ダンロード場所、モジュールの更新

以上