ここでは、クライアント・サーバモデルの概要について、以下の順に説明します。
クライアントとは
サーバとは
通信方法
トランザクション制御
クライアント・サーバモデルの利用パターン
クライアントとは、データ処理を要求する動作単位のことです。データベースシステムをクライアント・サーバモデルで運用する場合には、データベースに対してアクセスを要求するアプリケーションは、クライアントとして位置づけられます。
サーバとは、データ処理を実行する動作単位のことです。データベースシステムをクライアント・サーバモデルで運用する場合は、データベース本体が存在する側として位置づけられます。
通信方法
クライアントとサーバとの間の通信方法は、クライアントのサーバに対するアクセス方法によって異なります。
ローカルアクセスする場合は、自動的にサーバと接続されます。リモートアクセスする場合の通信方法には、以下の2種類があります。
性能を重視したRDB2_TCP連携
Symfoware/RDB専用のプロトコルを使用すると、高速にデータベースにリモートアクセスすることができます。
OSI(Open Systems Interconnection)の汎用プロトコルを使用したRDA-SV連携
RDAプロトコルでアクセスするアプリケーションを作成する場合に使用します。
リモートアクセスする場合の通信方法は、クライアント用の動作環境ファイルのSERVER_SPECで指定します。通信方法とSERVER_SPECの指定および接続できるサーバの種類と接続方法について以下に示します。
通信方法 | SERVER_SPECの指定 | |
---|---|---|
リモートアクセス | 性能を重視したRDB2_TCP連携 | RDB2_TCP |
OSIの汎用プロトコルを使用したRDA-SV連携 | RDA |
SERVER_ | 接続形態 | Windows | Solaris | Linux | グローバルサーバ |
---|---|---|---|---|---|
RDB2_TCP | TCP/IP | ○ | ○ | ○ | ○ |
RDA | TCP/IP | ○ | ○ | × | ○ |
○ : 接続可能
× : 接続不可能
データベースの定義、検索および更新に対してデータの整合性を保つためのトランザクション制御機能が、有効に働きます。そのため、ローカルを含む複数のサーバとの連携時も安全にデータベースへアクセスすることができます。ただし、1トランザクション内で複数サーバに対するデータベースの同時更新はできません。1つのトランザクション内では1つのサーバの1つのデータベースに対してだけ更新できます。
Symfoware/RDBは、Solaris、Linux、Windows(R) 2000、Windows(R) XP 、Windows Server(R) 2003、Windows Vista(R)、Windows Server(R) 2008および日本語MS-DOS上のアプリケーションをクライアントとし、Solaris、Linux、Windows(R) 2000、Windows Server(R) 2003、Windows Server(R) 2008またはグローバルサーバをサーバとして使用することができます。ローカルのデータベースとリモートのデータベースを1つのアプリケーションから同時にアクセスすることができます。利用パターンを以下に示します。
図1.2 クライアント・サーバモデルの利用パターン