「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
近頃、SBC(Server-Based-Computing)という言葉を聞く機会は増えていると思います。
今回はSBC技術とCitrix社のMetaFrameを使用したSBCのシステム構築例についてご紹介させていただきます。
SBC(Server-Based-Computing)とは、クライアントPCで動作していたソフトウェアをアプリケーションサーバに集中し、クライアントPCからの入力に応じてアプリケーションサーバ上で実行した結果をクライアントPCで表示する技術です。(図1参照)
図1. SBCモデル
図2. サーバ/クライアントモデル
SBCのメリットは以下のようになります。
入出力に必要な分の通信速度さえ確保できれば、軽快にアプリケーションを実行できます。通信データ量が多いシステムにおいて効果を発揮します。
クライアントPCによる情報漏えいのリスクを軽減できます。
クライアントPCごとにソフトウェアをインストールする必要がありません。
ある一定水準さえ満たせば、クライアントPCのスペックは低くても高速にソフトウェアを実行できます。使用したことはありませんが、ハードディスクなどの記憶媒体がないSBC専用端末も存在します。SBC端末では、盗難などによる物理的な情報漏えいの心配をする必要がありません。
逆にSBCのデメリットは以下のようになります。
多数のクライアントPCから同時にアクセスされた場合は処理能力が落ちるため、サーバを複数台用意して負荷分散する方法などが用いられます。
MetaFrame(正式名称 MetaFrame Presentation Server)とはCitrix社が提供するSBCを実現するためのソフトウェアです。MetaFrameは以前のソフトウェアの名称で、その後Presentation Serverを経て、現在はXenAppに名称が変わっています。
MetaFrameの主な機能はアプリケーションの仮想化ですが、そのほかにも負荷分散や接続ユーザの管理などが行なえます。 Citrixのページに機能について詳しくのっていますのでここでは割愛します。
MetaFrameを使用する際に必要なライセンス(Citrix Presentation Server4.0の例)は以下のとおりです。
MetaFrameはWindows Serverのターミナルサービス機能を利用しています。そのため、CAL(Client Access License:クライアントアクセスライセンス)とTS-CAL(Terminal Service Client Access License:ターミナルサービス クライアントアクセスライセンス)の購入が必要です。
私がかかわった案件でのシステム構築の例をご紹介します。
システム要件は以下のとおりです。
今回は以下のようにシステムを構築しています。
図3. システム構成
マシン名 | OS | 役割 | ソフトウェア |
---|---|---|---|
データベースサーバ | Windows Server | TS-CALライセンスサーバ ドメインコントローラ DNSサーバ TS-CAL ライセンスサーバ プリンタサーバ |
|
プレゼンテーションサーバ1 | Windows Server | ターミナルサーバ アプリケーションサーバ CitrixPresentationServer4.0 |
アプリケーションソフト データベースクライアント |
プレゼンテーションサーバ2 | プレゼンテーションサーバ1 と同じ |
プレゼンテーションサーバ1と同じ | プレゼンテーションサーバ1 と同じ |
プレゼンテーションサーバ3 | プレゼンテーションサーバ1 と同じ |
プレゼンテーションサーバ1と同じ | プレゼンテーションサーバ1 と同じ |
クライアントPC(50台) | Windows XP | CitrixPresentationServer4.0 (クライアント) | なし |
表1. サーバ及びクライアントPCの構成
構成の要点をまとめますと、以下のようになります。
アプリケーションソフトとデータベースとの通信データ量が多いため、高速ネットワークを使用しています。 逆にクライアントPCとの通信量は多くないため、高速ネットワークは必要ありません。
負荷分散はプレゼンテーションサーバの機能で自動的に行なわれます。
なんらかの原因でプレゼンテーションサーバがダウンしても、最低1台稼動していれば業務を継続できます。
TS-CALのライセンスサーバをデータベースサーバに入れています。このため、プレゼンテーションサーバの起動前にデータベースサーバを起動する必要がありますが、逆にプレゼンテーションサーバの起動順序を意識する必要はありません。
今後、アプリケーションソフトの変更やオラクルデータベースクライアントのパッチ修正などがあっても、クライアントPCを変更する必要はありません。
システム構築の主目的はアプリケーションソフトの高速化でしたが、はじめて顧客にシステムを使っていただいたときは高速化したことに驚いていただきました。また、納品後は完成披露会を開いてくださり、高速化にはご満足いただけたと思います。実際、社内試験でMetaFrameを使用しないでアプリケーションソフトを使用したときと比べ、大きく速度改善ができていることが確認できました。また、低スペックのPCからアプリケーションソフトを使用しましたが、高スペックのPCと比べても遜色なく使用できました。
また、システム構築後、顧客からの要望で何度かアプリケーション変更を行なっていますが、サーバに入れてあるアプリケーションソフトだけ入れ替えればよいので、アプリケーションソフトの入替にかかる手間はかなり少なくなりました。
今回は、SBC技術の概要及びMetaFrameを使用したシステム構築例についてご紹介させていただきました。私自身SBCの考え方は知っていましたが、本件でSBC技術のメリットを肌で感じることができ、良い経験をさせていただきました。SBC技術はまだまだ進化中ですが、本稿が皆様のご参考になれば幸いです。
(K.S.)
関連ページへのリンク
関連するソフテックだより