4D Server はマルチユーザー、クロスプラットフォームデータに対応する 4D用のアプリケーションサーバーです。
4D Server ではクライアント / サーバーアーキテクチャーに基づいたマルチユーザーデータベースおよびカスタムアプリケーションを作成し、使用することができま す。プラットフォームに依存しないクライアント / サーバーアーキテクチャーにより、Windows および Macintosh 上の 4D からデータベースをシームレスに管理できます。4D Server には大規模システムに向けて、プロフェッショナル仕様の開発用ツール、拡張性、データ保護機能、コネクティビティオプションが用意されています。
4D Server のアーキテクチャーは完全に統合されており、クライアントとサーバーの両方で 1つの 4D アプリケーションを使用します。4D Server により、開発者はフロントエンドアプリケーションとバックエンドアプリケーションを個別に設計する手間から解放されます。それだけではありません。4D Server は "管理不要" のサーバーです。インストールや使用、管理が容易であり、非常にコスト効率の高いサーバーです。
ローエンドのファイル共有ベースのシステムと複雑な SQL ベースの RDBMS との中間に位置するもの、それが 4D Server です。4D Server アプリケーションは既存の大規模データベース (Oracle、Sybase、ODBC 対応サーバ等) とスムーズに連携させることができます。4D Server は、あらゆる規模の企業のワークグループから派生するニーズに対応します。
4D Server では、フロントエンドアプリケーションとバックエンドアプリケーションは同じものです。クライアントソフトウェアとサーバーアプリケーションは、4D という 1つの製品が 2つの役割を果たしています。4D Server アプリケーション自体は、4D Server と 4D リモートモードという 2つの部分に分かれており、それぞれがクライアント / サーバーアーキテクチャーにおける構成要素となります。
4D Server 部分は、サーバーマシンに常駐し、サーバー上のデータベースを保存し、管理します。エンドユーザーは自分自身が使用しているマシン (クライアント) からこのデータベースを利用します。
各クライアントマシンには、4D アプリケーションが常駐し、ローカルモードまたはリモートモードで使用します。ローカルモードでは、データベースまたはユーザーのマシンのローカルに保存されている 4D アプリケーションと連動します。リモートモードでは、ユーザーはサーバー上のデータベースにアクセスし、データの追加、レポートの作成、データベースデザインの変更等のデータベース作業を行います。4D のローカルモードで行う作業はすべて、4D Server と 4D リモートモードを使用して行うことができます。
クライアント / サーバー環境で操作するために、他のミドルウェアや開発は不要です。4D と 4D Server では同一のインタフェースツール、言語、情報管理システムが使用されます。
1つのプラットフォーム (Windows あるいはMacintosh) 用に作成されたローカルシングルユーザー用アプリケーションはすべて、ワークグループ対応のクライアント / サーバーソリューションへと簡単に拡張できます。また逆に、4D Server で作成されたアプリケーションを自動的にローカルモードモードのスタンドアロンアプリケーションに変えることも可能です。
4D Server は、ユーザーに重点を置いた 4D の特長を受け継ぎました。この結果、4D Server は完全なプラグアンドプレイシステム(PnP)となっています。
4D Server の管理ウィンドウ
- わかりやすくグラフィカルなオンライン一元管理情報 : 4D Server の管理ウィンドウには重要な情報が自動的に表示されます。4D Server に割り当てられているメモリ合計、データキャッシュ、接続中のユーザー数と名前、プロセス数とプロセスのステータス、バックアップとリクエストのモニターリング、すべてのサーバーの稼働状況等の情報です。
- システム自動構成とスケーラビリティ: 4D Server は、システムの再構成や再設計を行わなくても、新しいプロトコル、クライアント、プラグインを追加できるように設計されています。
- クライアントワークステーションに対するダイナミックな自動更新とバージョン管理 : データベースの変更や、プラグインまたはコンポーネントの追加、削除、修正があった場合には、接続されているすべての 4D マシンがダイナミックに自動更新されます。更に、カスタムクライアント / サーバーアプリケーションを構築した場合には、4D Server アプリケーションが更新される際、実行可能な 4D クライアントアプリケーションの新しいバージョンを自動的にダウンロードすることが可能です。
- 標準の TCP/IP プロトコルを使用した非同期自動接続: 4D Server と 4D は、クライアントおよびサーバーのプラットフォームに関わらず、TCP/IP プロトコルを使用して透過的に通信を行います。あらゆるオペレーティングシステムにおいて、TCP/IP プロトコルが導入されるようになったため、4D Server でこのプロトコルを使用する際にその他のインストール作業は必要ありません。
- 4D SQL と HTTP 接続の同時セッションおよび状況管理: 4D Server は、テーブル / プロセス / ユーザの組み合わせごとに現在の作業環境を自動的に作成し、管理します。このセッションベースのアーキテクチャーにより、ユーザーごとの各プロセスでは、データを個別かつ同時に操作することができます。設定を行えば、4D Server の SQL サーバーは自動的に内部および外部の SQL クエリを処理します。4D Server のHTTP サーバーは、HTTP リクエストおよび SOAP リクエストに応答します。
- 自動レコードロック機能: 4D Server では、レコードのロックや解放が自動的に行われ、"使用中" のレコードの変更に関わるトラブルを回避することができます。また、レコードロック機能により、ページロックやファイルロックに関連する問題も解消されます。
- 統合ユーザーインタフェースメッセージシステム: デスクトップの領域から誕生した 4D Server は、最新の統合開発環境で提供されているユーザーインタフェースをすべて備えています。例えば、接続解除やバックアップ等をスケジュール管理するなど、管理側の作業をクライアントに通知することができます。
- 自動起動、自動終了メソッド: 4D Server では、特定のイベントに応じて 5つのサーバーデータベースメソッドが自動的に起動されます。この 5つのメソッドとは、On Server Startup、On Server Shutdown、On Server Open Connection、On Server Close Connection、On Web Connection です。例えば On Server Startupデータベースメソッド はセッション全般で必要となるオブジェクトを自動的に初期化し、ロードします。
4D Server には、4D の機能に加えて次の機能があります。
- マルチユーザーデータ管理: 複数のユーザーがデータベース作業を同時に実行できます。複数のユーザーが同じファイルあるいは異なるファイルのレコードを追加、変更、削除、検索、ソート、印刷することが可能です。データの整合性は、内蔵のレコードロックシステムによって保持されます。
- マルチユーザー開発: 複数のユーザーがデータベースの開発や設計を同時に行えます。例えば、同時に複数ユーザーがファイル定義の編集、およびレイアウト、スクリプト、メソッドの作成、変更をおこなうことができます。データベースデザインの整合性は、内蔵のオブジェクトロックシステムによって保持されます。
- プラットフォームに依存しないクライアント / サーバーアーキテクチャー: このアーキテクチャーにより、Macintosh および Windows 上の 4D クライアントに対するデータベースパフォーマンスはシームレスに管理されます。また、異なるプラットフォーム上での同時マルチ開発や、異種混合ハードウェア環境で動作する 4D クライアントにより入力、変更されるすべてのデータのインタフェースも管理されます。
- 64-bit 版: Windows用 4D Server (v12.1以降) と Mac OX用 4D Server (v15.1以降) では 64-bit版がご利用いただけます。64-bit アーキテクチャーを使用するとお使いのアプリケーションがより多くのRAMを割り当てることができるようになります。
- Windows および Mac OS ベースの 4D プラグインアーキテクチャー: Windows 版および Mac OS 4D Server では、サーバーマシンに Windows ベースおよび Macintosh ベースの 4D プラグインをインストールできます。このアーキテクチャーにより、プラットフォームに依存しない 4D プラグインの配布を簡単に行えます。クライアントのプラットフォームが何であれ、4D Server および 4D によりプラグインはスムーズに処理されます。
- ビルトイン HTTP サーバ: 4D ローカルモードと同様に、4D Server および 4D リモートモードには HTTP エンジンが組み込まれており、Web 上に 4D データベースを公開することができます。データベースは Web 上に直接公開されるので、データベースシステム、Web サイト、この両者の間の CGI インタフェースを開発する必要はありません。データベースが Web サイトなのです。また、あらゆるリモート 4D マシンを Web サーバーへ変換することもできます。組み込みの 4D Web サーバーおよび 4D の詳細については、4D Language Reference マニュアルの Webサーバ概要 の項を参照ください。
- 接続保護 : 4D Server の接続を暗号化することができます。実際、"クラシック" なクライアント / サーバーアーキテクチャーは TLS/SSL の暗号化サービスを使用できます。詳細は クライアント/サーバー接続の暗号化 を参照ください。
- トリガー: トリガーはテーブルに結び付けられたメソッドです。開発者はトリガーを呼び出しません。トリガーはレコードが操作 (追加、削除、更新) されるたびに、4D データベースエンジンが自動で起動します。4D Server では、トリガーはサーバーマシン上で実行されます。4D であろうと ODBC で接続するアプリケーションであろうと、すべてのクライアントはトリガーによりデータベースルールが強制されます。4D のトリガーに関する詳細は、4D Language Reference マニュアルの トリガ を参照してください。
- ストアドプロシージャー: 4D メソッドを作成して、それがサーバーマシン上あるいは複数の指定したクライアント上の独立したプロセスで実行されるよう設定できます。クライアント / サーバーの業界用語で、この機能は "ストアドプロシージャー" と呼ばれますが、4D Server はストアドプロシージャーのコンセプトの先を行くアーキテクチャーを提供しています。4D Server において、ストアドプロシージャーはカスタムサーバープロセス (またはクライアントプロセス、後述参照) であり、サーバーあるいはクライアントの他の実行中のプロセスとは非同期かつ独立してコードを実行します。通常のクライアント / サーバーアーキテクチャーでは、 ストアドプロシージャーは実行して結果を返します (同期的にあるいは非同期的に)。4D Server では、クライアント / サーバーセッション中を通して実行されるストアドプロシージャーを開始し、クライアントから送信されるメッセージに応答させ ることができます。同時にクライアントと協働しないストアドプロシージャーを走らせて、4D コネクティビティプラグインや ODBC を使用して SQL ベースのサーバーや他の 4D Server とデータの同期を行うこともできます。同時に起動できるストアドプロシージャーの数に制限はありません (ハードウェアとメモリの制限を除く)。4D Server のストアドプロシージャーは独自のプロセス内で実行され、他のプロセスと同様に個別のデータベースコンテキスト (カレントセレクションなど) を保守できます。さらに 4D ランゲージは、ストアドプロシージャーのプロセス変数 (BLOB変数を含む) をクライアントプロセスから読み書きするコマンドを提供します。これによりクライアントとストアドプロシージャー間の洗練された通信が可能になります。実際ストアドプロシージャーを使用して、新しいカスタムサービスを 4D Server に追加できます。詳細は ストアドプロシージャ を参照してください。
- クライアント上で実行されるストアドプロシージャー: 4D Server では、クライアントやサーバーから、1つあるいは複数の他のクライアント上でストアドプロシージャーを実行できます。これによりワークロードをクライアントやサーバー間で分散したり、クライアント間の通信を行うようなアプリケーションをビルドできます。詳細は ストアドプロシージャ を参照してください。
- サーバーパス: ユーザーのパスワードと一緒に、サーバーデータベースのパスを保存できます。この機能を使用して、ユーザーは .4DLink ドキュメントをダブルクリックしてサーバー上のデータベースに接続できます。詳細は 4D Serverデータベースへの接続 を参照してください。
- サービスとして登録: Windows では 4D Server をサービスとして起動できます。
- 組み込みのバックアップシステム: 4D Server は完全なデータベースバックアップおよび復元モジュールを持っています。このモジュールを使用して、アプリケーションを終了しなくても、動作中にデータベースをバックアップできます。バックアップは手動あるいは特定の間隔で自動で起動できます。問題が発生した場合、データベースの復元と再起動も自動で開始できます。
- 物理ミラーによるバックアップ: 重要なアプリケーションでは、物理ミラーによるバックアップを設定できます。これにより動作中のデータベースに問題が発生した場合でも即座に再起動が可能です。
- コネクティビティプラグイン: 4D ODBC Pro のような 4D コネクティビティプラグインを使用すれば、4D Server や 4D から直接メインフレームや ORACLE など他の ODBC データソースに接続できます。これらのデータベースとインタラクティブに情報を共有できます。さらに 4D は 4D Server ODBC Driver を提供していて、ODBC クライアントから 4D Server に接続することができます。