HOMEドクターソフトニュース

News(1998/9/16) DRSはクライエントサーバー方式


「DRSをクライエントサーバー方式で使用したいが、そのためにはWIN-NTサーバーを使う必要があるのか?」というご質問が何件かありました。このご質問への回答を兼ねて、DRSのデータベース方式について解説します。

ご質問があれば、 drs@yuiconsulting.com あて遠慮無くEMAILください。   

<結論>

DRS独自のデータベースシステム(M16)は、それ自体がクライエントサーバー方式で動いています。したがって、DRSのサーバーのOSの種類にかかわらず、クライエントサーバー方式でDBアクセスを行います。

DRSのサーバーOSとしてNTサーバーが必要となるのは、OracleなどのDBを使用する場合だけです。Oracleはそれ自身がNTサーバー上でないと動かないためです。

OSに「NTサーバー」という名前がついていますが、この「サーバー」は、DBアクセス方式を示す「クライエントサーバー」の「サーバー」とは無関係です。

<クライエントサーバーの仕組み>

DRS独自のDBシステム(コード名:M16)は、完全なクライエントサーバーシステムです。 (WebからのインストールではM16がインストールされます。)

たとえば、A、B2台のPCをLANで接続して、DBファイルをAに置き、B上のDRS電子カルテからそのDBを読み書きするとします。

このとき、B上の電子カルテは直接 A上のファイルを読み書きせず、B上で動いているDBマネージャープログラムである DBMAN32.EXE(DRSを起動すると同時に起動する十字架のようなアイコンのプログラム) に対して読み書き要求のメッセージをプログラム間通信を使って送ります。

B上のDBMAN32は、そのメッセージをLAN経由でAのDBMAN32に転送します。

A上のDBMAN32.EXEは、Bから要求された読み書きの対象ファイルがどのドライブのどのディレクトリに存在するかを判断し、(M16データベースシステムを使って)Aの要求にしたがって読み書きし、

その結果を LAN経由でB上のDBMAN32に送り返し、B上のDBMAN32はプログラム間通信でA上の電子カルテプログラムに返します。

このような仕組みを「クライエントサーバー方式」といいます。利点は、たとえば、B上のアプリケーションプログラムがDBに書きこみをしている最中にBのPCの電源を切っても、A上のDBファイルは壊 れません。

それに対して、DBシステムとして、たとえばMS-Accessを使用したシステムの場合は、B上のアプ リケーションプログラムは直接A上のファイルに書きこみますので、Bの電源を落とすとAのファイルに傷がつきます。

MS-Accessのような方式を、「仮想ファイル方式」とか「仮想ディスク方式」と呼んでいます。

(DRSは、サーバーのOSが、WIN-NT、WIN95、WIN98いずれであっても、同じようにクライエントサーバー方式で動きます。)

クライエントサーバー方式の利点は、複数クライエントからの同時アクセス時の排他制御の効率と安全性が高い、LANのトラフィックが少ない、など他にも数々あります。

<NTサーバーの必要性>

DBMAN32.EXEは、NTサーバー、NTワークステーション、WIN95、WI N98、のいずれでも稼動しますので、M16を使う限りDRSのDBを配置する サーバーとしてNTサーバーを使う必要はありません。

すなわち、WIN98でもNTワークステーションでもクライエントサーバー型DB を実現できます。

M16はコンパクトで高速で信頼性の高い、高度な機能をもったDBシステムですが、端末の台数が20台以上の大型のシステムには向きません。また、台数は少なくてもクライエントが24時間いつでもDBアクセスする必要がある場合にも向きません。

M16は、クライエントがアクセスしている状態でDBのバックアップをとったり、保守を行うことができないからです。

そのような環境では、OracleやMS-SQLサーバーなどの大規模用DBシステム(以下、「SQLDB」と呼ぶ)を使います。

DRSは、クライエント上はまったく同じソフトを使って、サーバーだけをSQLDBに置き換えることが可能です。SQLDBを使った場合は、クライエントPC上のDBMAN32が、アプリケーションからのDBアクセス要求をSQLDB用に変換してサーバーに送り、逆にSQLDBからの結果をDBMAN32が翻訳してアプリケーションに返します。

SQLDBとM16のインタフェースの違いは、DBMAN32がすべて吸収しますので、クライエント上のアプリケーションは、自分が読み書きしているDBがM16なのかSQLDBか、知りませんし、知る必要もありません。

ユーザーやディーラが独自にDRSに付加したプログラムも、DBMAN32経由でDBアクセスをする限りは、同様に、SQLかM16かを意識する必要はありません。(DBMAN32を使うためのオブジェクトをYCから無料提供しています)

もし、サーバーとしてOracleを使う場合は、OracleがNTサーバー上でしか動きませんので、NTサーバーが最低一台 は必須となります。

以上

 

  • 資料請求はこちら
  • 無料試用版はこちら
  • デモビデオ