2016年7月7日木曜日

第9,10回 WEB電子カルテのインストール(その2)

前回に引き続き,WEB電子カルテのインストールを行いました。

設定ファイル

まず、JDBCの設定ファイルであるcontext.xmlの編集作業です。このファイルはServerプロジェクト内にあります。JDBCの設定は、プロジェクトごとにもできるし、Serverプロジェクトで一括してもできるということです。
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><!-- The contents of this file will be loaded for each web application --><Context>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

 <Resource name="jdbc/emrsdb" auth="Container"
    type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
    url="jdbc:postgresql://172.16.111.123:5432/emrsdb"
    username="orca" password="orca" maxActive="20" maxldle="10"
    maxWait="-1"/>

 <Resource name="jdbc/orca" auth="Container"
    type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
    url="jdbc:postgresql://172.16.111.123:5432/orca"
    username="orca" password="orca" maxActive="20" maxldle="10"
    maxWait="-1"/>
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
</Context>
ResourceタグでJDBCの設定を行っている。このようにServersプロジェクトにJDBCの定義を集約することによって、プロジェクトごとに分散するのに比べて管理しやすくなる。

コンテキストの設定

コンテキストの設定はメニューの[ウィンドウ]→[設定]→[Tomcat]で行う。コンテキスト宣言モードにServer.xmlがチェックされている。context.xmlへはどうやって辿り着くのだろう?
これについては,この記事が詳しい。 要するに,コンテキストを記述するには5通りの方法があり,そのうち2つ(server.xml, context.xml)はすべてのアプリケーションに適用し,他の3つはアプリケーションごとに適用させる方法とのこと。
ところで,コンテキストというのはTomcatで管理されるひとまとまりのアプリケーションのことを言うそうで,コンテキスト.xmlにはその動作を設定するそうです。

emrs.property

このファイルはWEB電子カルテシステムがORCA認証をする際に、認証を受けるORCAサーバのIPアドレスとポート番号を設定するファイル。web.karte.common.OrcaAuth.javaで使用している。

データベース

2つのデータベースを作る。一つはWEB電子カルテ用のemrsdbで、もう一つはORCA用のorca。後者はORCAをインストールした際に自動的に作成されるが、今回作成するのは開発環境でテストを行うためのダミーのデータベース。ダミーといっても中身はちゃんとある。ただ、実際にORCAサーバが使っていないというだけ。
いずれのデータベースもorcaというRole(アカウント)をオーナーとして作成する。orcaロールはデータベース作成権を与える。データベース作成時にオーナーにorcaを設定する。
テーブルやデータはバックアップデータをリストアする。その際、まず、orcaデータベースをリストアし、次いでemrsdbをリストアする。しかも、リストアに使用するアカウントは管理者であるpostgresで行う。その理由は、emrsdbはdblinkでorcaデータベースとリンクしているため管理者アカウントでなければリストアに失敗するため。考えてみれば一般ロールでどんなデータベースとでもdblinkができるのはまずいので、これは当然かも。

dblink


ソースプログラム

マニュアルにはCVSによってソースを取得することになっているが、CVSは利用できないので、W先生からいただいたデータからソースをプロジェクトへコピーする。

WEB電子カルテシステムの実行

マニュアルを見てもW先生のレポートを見てもソースをビルドする記載がない。何もしなくとも勝手にビルドされるのか?どうもそうらしい。確かにメニューで[プロジェクト]を選択すると[自動的にビルド]が選ばれた状態になっている。ネットによれば、クラスファイルはWEB-INF/classesにできるとある。プロジェクトを選んで[プロパティ]→[Javaのビルドパス]を選ぶと、デフォルト出力フォルダーがemrs/WEB-INF/classesになっている。しかし、パッケージエクスプローラには表示されない。けれどもエクスプローラで確認すると確かにworkspace\emrs\WEB-INF\classesというフォルダがあって、その中にクラスファイルが出来上がっていた。
そこで、さっそく実行してみた。実行方法として、 [ウィンドウ]→[ビューの表示]→[サーバ]でサーバビューを表示させ、[サーバーを始動]ボタン(緑色のマル内に白い右向きの△があるボタン)をクリック。しかし、ブラウザには「HTTPステータス404」「The requested resource is not available」がでる。いろいろとやってみると、どうやらTomcatプロジェクトはこの方法では起動できないようだ。「この方法」とは、eclipseからTomcatサーバを起動する方法では、という意味。その代り、すべてのアプリからApache TomcatのConfigure Tomcatを起動し、ここからTomcatをスタートさせ、ブラウザからURL(http://localhost:8080/emrs/jsp/Login.jsp)を打ち込むとWEB電子カルテの諸画面が表示された。Tomcatプロジェクトは何かとイレギュラーが多く、使いこなすのは大変そう。動的Webプロジェクトにすべきだった。
すべてのプログラム

Configure Tomcat
WEB電子カルテ諸画面

0 件のコメント:

コメントを投稿