WinViewインフォメーション


Active Platformの概要

<本コラムは、マイクロソフト株式会社ホームページ(http://www.microsoft.co.jp)の「開発者向け情報」の『Active Platformの概要情報』資料に基づいて作成しております。>

ホワイトペーパー
1996年11月 Professional Developers Conference
ドラフト(最終版ではありません)

分散コンピューティングのルネッサンス

要約
このホワイトパーパーは、Microsoftのプラットフォーム テクノロジーのキーとなる新しい要素に焦点をあて、これらの要素がユーザーやネットワーク管理者にいかに大きな利益をもたらすか、また分散アプリケーションの開発を簡略化するうえでいかに大きく寄与するかについて紹介しています。特に、ネットワーク環境でのコンピューティングの問題を中心に取り上げ、Microsoft Windows NTとActive Serverがこれらの問題にどのように対処しているかについて説明しています。

目次
・はじめに
・将来性のあるクライアント/サーバー コンピューティング
・Windows 95とWindows NT: ネットワークとオペレーティング システムとの統合
・分散コンピューティングの障害物
・より使いやすく、管理しやすいネットワークの実現
・分散環境におけるプログラミングの挑戦
・分散コンピューティングに対するインターネットの影響力
・Active Server ― 分散環境での容易なプログラミングを実現
・将来の展望
・より詳しい情報を得るには


はじめに
オンラインの生産性向上と開発およびトレーニング コスト削減に取り組む中で、さまざまな業種が、情報の格納、発信、検索、そして一連のビジネス アプリケーションの実行に関して、企業内ネットワークとインターネットの両方に通用するソリューションを切望しています。Active Platformは、Microsoftが提供する分散コンピューティングのためのファンデーションです。これは、対称型のビルディング ブロック群(HTML、スクリプティング、コンポーネント、およびシステム サービス)をベースに構築されています。Active Platformのネイティブで包括的なインプリメンテーションは、クライアントとサーバーにWindows 95やWindows NTを使用することにより実現され,本来の高パフォーマンスが得られます。

ユーザーや管理者に対しては、Active Platformは、グラフィックを随所に配した,直感的で、管理しやすい、一貫性のある体験を提供します。開発者にとっては、システムに組み込みの豊富なサービスと、整合性のある一連の統合ツールを使ってアクセスできるサーバーとクライアントに共通のプログラミング モデルが利用できます。


図1. MicrosoftのActive Platformなら、Active Desktopの包括的なインターフェイスを使って、インターネットやイントラネットの情報をデスクトップ上で利用できます。

インターネットは、情報にアクセスするための単一のパラダイム―標準言語(HTML)を翻訳し、標準プロトコルを理解するブラウザを生み出しました。Active Desktop―Microsoftが分散コンピューティング向けに提供するActive Platformのクライアント サイド―は、スクリプティングやコンポーネントを組み込んでこのユニバーサルなクライアントを拡張し、アクティブなコンテンツをサポートするとともに、 Internet Explorer 4.0を介してこのクライアントとWindowsのユーザーインターフェイスを統合します。Active Desktopのネイティブなインプリメンテーションは、Windows 95やWindows NTを使うことで実現されますが、MacintoshやUNIXなどの他のオペレーティング システム上で動作するクライアント ソフトウェアの開発へのサポートも設計に組み込まれています。Active Serverは、情報の格納、処理、管理、およびActive Desktopへの伝達に必要なインフラストラクチャーの基盤を提供します。使いやすいフレームワークにより、より多くの開発者がイントラネットやインターネット向けのサーバー アプリケーションを書けるようになります。Active Serverはサーバー プログラミングの複雑さを隠し、コンポーネントをシステム サービスと統合します。
 Active Platformの強力な開発ツールは、オペレーティング システムと親密に統合されたた包括的で作りやすい分散アプリケーションの量産を可能にします。
 本書は、Microsoftのプラットフォーム テクノロジーのキーとなる新しい要素に焦点をあて、これらの要素がユーザーやネットワーク管理者にいかに大きな利益をもたらすか、また分散アプリケーションの開発を簡略化するうえでいかに大きく寄与するかについて紹介しています。特に、ネットワーク環境でのコンピューティングの問題を中心に取り上げ、Microsoft Windows NTとActive Serverがこれらの問題にどのように対処しているかについて説明しています。


将来性のあるクライアント/サーバー コンピューティング

 コンピューティング業界では、クライアント/サーバーコンピューティングがいずれメインフレームに取って代わるだろうとの見方が定着しています。とりわけビジネス ソリューションの開発分野では、中央集中型のメインフレーム コンピューティングは費用のかからないサーバーに置き換えられていくでしょう。要するに、メインフレームは、購入、インストール、保守のすべての面で費用がかかりすぎました。中央の1台のマシンに依存するということは、そのマシンが故障するとシステム全体が麻痺することを意味しました。また、ユーザーは、たとえ無関係な仕事をしていたとしても、常にリソースを共有することになるため、ユーザー数を増やすためには(システムの拡張)、結局はメインフレームをより大型の(より高価な)マシンと交換しなければならない状態でした。
 しかし、クライアント/サーバーコンピューティングは、利点と引き替えに別の種類のコストを発生させました。サーバーを単一ユニットとして連携動作させるという思想がなく、実際には、小型のメインフレームを入れるような感覚で導入され、結果的に、サーバーの台数が増えるほど、ネットワークの管理が難しくなるという事態を招きました。複数のサーバーを扱う繁雑な作業からユーザーや管理者を解放するようなアプリケーションを書くことは、オペレーティング システムとネットワーク サービスとの統合が不完全な状況では、無理がありました。ユーザーは、特定の情報を探すのに、その情報が物理的に格納されているマシンを知る必要がありました。事実、クライアント/サーバー環境のユーザーと管理者にとって、仕事の内容は集中型のメインフレーム モデルを使っていたときよりもはるかに複雑になりました。
 このような経緯はあったものの、クライアント/サーバーへの移行は多くの利点も生み出しました。特に、生産性とリソースの使用における柔軟性が増したことです。たとえば、クライアント/サーバーは、管理の負荷を小単位に分散しました。ユーザーも、手紙を書くといった単独の仕事は、自分自身のデスクトップマシンを使って行うようになり、メインフレームの当時のように共有コンピューティング リソースに負担をかけることもなくなりました。しかしそれでもユーザーは、ネットワーク上のサーバーを通してプリンタ、ファイルサーバー、電子メール、データベースといった共有リソースにアクセスできるのです。


Windows 95とWindows NT: ネットワークとオペレーティング システムとの統合

 クライアント/サーバーモデルでは、最初のステップとしてネットワークをオペレーティングシステムに統合する作業に取り組まざるを得ませんでした。このことが、WindowsとWindows NTの設計者に、ネットワーク接続されたPCに関係する多くの重要な問題を解決するきっかけを与えました。たとえば、以下のようなものです。

● プログラムから低レベルのプロトコルに容易にアクセスできること。 通信プロトコルの複雑さの多くは隠蔽されユーザーの目から見えなくなりました。ユーザーは、自分がTCP/IP、IPX/SPX、または他のプロトコルのどれを使っているか意識する必要がなくなりました。ネットワークにアクセスするのに、アプリケーションやサービスは、DCOMやRPCといったよく定義されたシステムサービスを信頼するだけでよく、プロトコルの詳細を知る必要はありません。

● アプリケーションがオペレーティング システムのセキュリティ サービスと完全に統合できること。 アプリケーションは、自身が提供するサービスやリソースへのアクセスを制御するのにWindows NTのセキュリティ サービスを利用できます。これにより、ユーザーはログオンを2回以上しなくて済むようになり、管理者は複数のアプリケーション固有のセキュリティ データベースにユーザーを登録する煩雑さから解放されます。プログラマーにとっても、ユーザーのカスタムデータベースを作成したり、認証やアクセスの検証を自身で行う必要がなくなります。

● サーバー上のセキュリティの管理を論理的に集中化し、管理作業を大幅に簡略化すること。 管理機能の多くは、一回の操作でサーバーのグループ全体または「ドメイン」を対象に実行され、ネットワーク環境の詳細をサーバーごとに管理する必要がなくなります。

● オペレーティング システムは、ユーザー、管理者、およびプログラマーが使用するリソースの名前付け方法を簡略化すること。 すべてのアプリケーションが、ユーザー、グループ、配布リスト、ドメイン、プリンタ、ワークステーション、およびサーバーに対して、オペレーティング システムによって定義された同じ名前付け規則を使用できます。ユーザーと管理者は、この簡略化による恩恵を直接得られます。


分散コンピューティングの障害物

 Windowsは分散コンピューティングのための優れたプラットフォームとして長足の進歩を遂げてきました。しかし、PCによるネットワーク上のコンピューティングは、コンセプトの分かりやすさでは、単一の大型マシンを使ったコンピューティングに比べるとまだ劣っており、運用コストの面でも課題を残しています。分散コンピューティングにおいて、複数のサーバーを単一のユニットとしてシームレスに連係動作させ、物理的に集中化したコンピューティング環境以上のフォールトトレランスと、より簡単で低コストのスケーラビリティを実現することは十分可能です。つまり、分散コンピューティングは、集中化したコンピューティングの世界と分散したコンピューティングの世界の両方のよさを引き出せる大きな可能性を秘めています。分散コンピューティングは、コストの大幅な削減を同時に達成できるという点で、クライアント/サーバーモデルを凌いでいます。
 理想の分散コンピューティング環境を実現するためには、キーとなるネットワーキングサービスをオペレーティングシステム完全に統合することが必要となります。これは、ネットワーク化したPCの取り扱いに関してユーザーと管理者が抱えている多くの難問を解決することにもなります。

● 情報の検索が非常に難しい。 情報がますます分散し、情報とリソースの制御と管理の分散化が進むにつれ、ユーザーにとって捜しものを見つけだすのがいっそう難しくなってきています。ネットワークの物理的な構造を理解し、移動できるまでに、あまりにも多くの時間が費やされています。これは、見つけだそうとしている情報とは何の関係もない作業です。その上、捜している情報そのものを見つけだすには、膨大な量の情報をふるいにかけなければなりません。

● 管理の対象となるディレクトリやセキュリティシステムが多すぎる。オペレーティング システムがサーバー アプリケーションに対して汎用の共有「スキーマ」を提供していないため、アプリケーションの多くは、自身でディレクトリに似たサービスを考案したり、あるいはシステムが提供するディレクトリの外部にアプリケーション固有のアドオンディレクトリを作って対処しています。これは管理者にとって頭痛の種です。たとえば、このようなシステムでは、各アプリケーション(データベース、ファイルシステム、メイル システム、およびセキュリティシステム)が互いに無関係に情報のレプリケーションを扱うことになり、それに伴う問題点をすべて管理者が抱え込むことになります。

● 大規模な分散ネットワークでは、運営コストがネットワークの成長以上の速さで膨らむ。 常に増え続けるクライアントとサーバーを管理する作業は、ますます複雑になり、費用がかさんでいます。使用しているサーバーが2、3台の小規模なネットワーク向けのモデルが、大規模な企業内ネットワークやインターネットのような大規模な公衆ネットワークにそのまま通用すると考えるのは、非現実的です。ワークステーションとサーバーからなるネットワークの管理方法を根本から考え直す必要があります。

● サーバーおよびサーバーのネットワークが十分な堅牢さを持っていない。 個々のサーバーはミニチュアのメインフレームのように振る舞えるかもしれませんが、ある種の障害に対してはまだまだ安定性に欠ける部分があります。ネットワークに接続されたサーバーは、最高レベルの可用性をメインフレームよりも大幅に低いコストで達成しなければなりません。また、サーバーにはそれだけの能力があります。

● 大規模な公衆ネットワークおよび企業内ネットワークには、よりフレキシブルで、包括的なセキュリティオプションが必要。 イントラネット、エクストラネット(企業間ネットワーク)、およびインターネットのネットワーク シナリオは、それぞれセキュリティの必要条件が異なります。大企業では、セキュリティに多数の「ドメイン」に見合うだけのスケールを必要とします。イントラネットの多くは、内部的な制約は公衆ネットワークほど厳しくありませんが、外部からのアクセスに対する保護を強化する必要があり、攻撃に対する強い抵抗力が要求されます。企業間ネットワークとインターネットでは、セキュリティに厳しい制約が要求され、多くのユーザー数に見合うだけのスケールを必要とします。

● インクリメンタルな拡張はまだ難しい。 あるサーバーに負荷がかかりすぎたときに、追加のサーバーをどのように使用するのが負荷の分散に効果的かは状況によって異なります。特定の機能(たとえば、Webサーバー上のデータベース)を別のマシンに移動しても、処理に伴う負荷を最適に、あるいは公平に分散させることにはなりません。理想的な分散環境としては、負荷をバランスさせる責任を管理者に持たせるのではなく、サーバーがネットワークに追加されたときに、コンピューティングに伴う負荷が「魔法のように」自動調整されるようにすべきです。

 こうした問題を解決するには、分散したサービスやアプリケーションを構築し、動作させるための強固な基盤が必要です。この強固な基盤がWindows NTです。Windows NT 5.0にはエンド ユーザーと管理者に直接役立つ拡張機能が豊富に組み込まれています。

・ アクティブ ディレクトリ
・ 分散セキュリティ
・ 分散ファイル システム
・ マネジメント コンソール
・ クラスタ化
・ メッセージ キュー
・ コンポーネント サービス


より使いやすく、管理しやすいネットワークの実現

 分散環境において、Windows NT 5.0は、信頼性、スケーラビリティ、および導入、管理、運用のしやすさの点で、これまでのあらゆる分散システムを凌駕しているはずです。

● Windows NT 5.0のActive Directoryが情報の容易な検索を実現。 管理者、ユーザー、およびアプリケーションは、1つしかないActive Directoryを見るだけで、ユーザー、プリンタ、ファイルなど、すべての共有リソースの情報を知ることができます。リソースがそれぞれ異なる物理サーバー上に格納されていたとしても条件は同じです。オブジェクトは、個々のサーバーではなく、論理的なワークグループあるいはその他の組織的な単位に対して割り当てられます。したがって、ファイルなどのオブジェクトを管理者が別の物理サーバーに移動しても、ユーザーは、そのオブジェクトの検索方法や名前の指定方法を変更する必要がありません。この「位置への独立性」こそ、分散コンピューティングを使いやすく、管理しやすくする決め手です。

 他のシステム サービスと同様に、Windows NT 5.0はActive Directoryに対して標準のインターフェイスを定義しているため、Active Directoryは他のディレクトリと同様に扱うことができます。実際、Active Directoryは単一のシステム ディレクトリ オブジェクトとして、複数のソースからの情報を提供することができます。プリンタのステータスやプリント キューの内容など動的に変化するソースであっても同様です。
 Windows NTでは、ディレクトリ アクセスのためのネイティブなプロトコルとして、他のベンダーのディレクトリ サービスとの互換性を考慮し、業界標準のLDAPを採用しています。


 図2. Active Directoryは共有リソースの検索のために論理的に集中化したロケーションを提供します。これにより、ユーザーや管理者はネットワークの物理的な構造を移動する必要がなくなります。代わりに、Active Directoryが提供する、物理的なネットワークが進化しても一貫して変わらないネットワークのビューを利用できます。

● Active Directoryがおびただしい数のアプリケーション固有ディレクトリの必要性をなくし、容易に管理できるネットワークを実現。 Active Directoryには拡張性があるため、最も条件の厳しいアプリケーションやサービスでもActive Directoryを利用することができます。アプリケーションは、既存のオブジェクトの「スキーマ」を使って情報の追加や変更を行ったり、新しいオブジェクト クラスを追加することができます。Active Directoryは、このディレクトリを使用するアプリケーションやサービスの数が増えてくれば、特に大企業で、いずれネットワーク管理のバックボーンとして使われるようになるでしょう。

● Microsoft Management Consoleがネットワーク サービスとアプリケーションの管理を大幅に簡略化。 管理者は、Windows NT 5.0に付属する包括的なツールであるMicrosoft Management Consoleを介して、企業内ネットワークのすべてのサービス、アプリケーション、ユーザー、およびリソースを管理できるようになります。アプリケーションとサービスは、Windows NTのマネジメント フレームワークに情報や操作をディレクトリ オブジェクトとして公開できます。Microsoft Management Consoleには、「Snap-ins.」と呼ばれる特殊用途の管理ツールを組み込むことができます。

 マネジメント コンソールは、作成したベンダー、サービス、またはアプリケーションの違いや物理的な格納場所の違いなど、どのような組み合わせのオブジェクトも操作できる任意の言語で書かれたスクリプトに対してホストとして機能します。さらに、管理者は任意個のコンソール構成を作成、保存、交換でき、これにより責任とタスクのきめ細かい委任が可能になります。


 図3. Microsoft Management Consoleを使用することにより、管理者はすべてのシステムサービスとアプリケーションを包括的な単一ツールで管理することが可能になります。

● 企業内のすべてのワークステーションが完全に集中管理されることを見越したNet PC とZero Admin Windowsのイニシアティブ。Windows NT 5.0では、リモートの管理者が企業内のすべてのワークステーションを1台ずつ、リアルタイムに管理する方法ではなく、別のアプローチをしています。Windows 95とWindows NTのクライアントの場合、ユーザー、アプリケーション、およびマシンに関するすべての構成情報と状態情報が一カ所に集中され、アクセスと操作が容易にできるようになっています。ユーザーとマシン グループのプロファイルが一度設定されると、管理者はオペレーティング システムを手動でアップグレードしたり、アプリケーションを個々のマシンにインストールする必要がなくなります。どのユーザーがどのアプリケーション ソフトウェアを必要とし、どのコンピューターがどのオペレーティング システム ソフトウェアを必要とするかは、ポリシーが指示してくれます。システムは、ポリシーに従ってアプリケーション ソフトウェアやシステム ソフトウェアを自動的にアップデートし、ソフトウェアの状態を常に最新に保ちます。これは、ポリシーに変更があったとしても同様です。システムがユーザーのプロファイルとハードウェアの条件に基づいてソフトウェアのインストールを正確に再現するため、ユーザーのクライアント マシンを置き換える場合も、バックアップやリストア操作は不要です。


 図4. ユーザーがネットワーク上の任意のNetPCにログオンすると、そのユーザー用にカスタマイズされたデスクトップが表示されます。ログオンしたPCがトラブルを起こしても、ユーザーは別のマシンから自分のデスクトップへ簡単にアクセスできます。さらに、バックアップやリストアの操作を必要としないため、管理者にとって、ユーザーのクライアントマシンの交換も簡単にできます。すべてのユーザーのプロファイルが1箇所に集中されているので、容易に管理ができます。

● 新しいシステムとネットワーク サービスがリソースの可用性とシステムの堅牢性を大幅に改善。Windows NT 5.0のすべてのサービスは、分散コンピューティングを有効に活用し、障害に対するシステムの抵抗力が強化されるように設計されています。ネットワーク上で起きた単一の障害で、Windows NTの中枢の分散サービスが失敗することはありません。

 1997年の初期に登場するWindows NT用のクラスタ化機能は1対のサーバーを対象にフェイルオーバー機能をサポートします。 もし一方のサーバーが故障したり、定期的なメインテナンスのためにシャットダウンする必要がある場合は、他方のサーバーが引き継ぎます。いずれのサーバーも正常に動作している場合は、クラスタ化されたマシンはそれぞれ単独でネットワークの要求を処理でき、サーバー リソースへの要求の負荷が物理マシン間でバランスするため、全体の処理性能が向上します。Windows NTでは、“Falcon”メッセージ キューを介して永続ストレージにメッセージをキューできるので、たとえ失敗があっても、コンポーネント間のメッセージの受け渡しを保証することができます。


 図5. サーバーのクラスタは、クライアントからは単一の「Server 1」として見えます。“Falcon”は、一方のマシンがネットワークに物理的に接続されていない場合でも、クライアントと「Server 2」間で送信されるメッセージが確実に配信されることを保証します

● 他に類を見ない安全性、フレキシビリティ、およびスケーラビリティを誇るWindows NTのセキュリティ プロトコルおよびサービス。Windows NT 5.0の最新のセキュリティ システムは攻撃に対する抵抗力がさらに強化されています。最新のパブリック(RSA)キーおよびシークレット(Kerberosベース)キー テクノロジーがシンプルで包括的な統合セキュリティ サービスを実現しています。パブリック キーは,大企業、公衆ネットワーク、および企業間ネットワークのセキュリティにとって特に重要です。


図6. PPTPを用いることで、企業は費用のかかるリース ラインを経由せずにパブリック インターネット上の異なる場所にある個人のネットワークに接続できます。リモート ユーザーもまたインターネットを通して企業のネットワークにアクセスできます。

 個々のドメイン間に通過的な(transitive)信頼関係が追加されたことで、Windows NTの拡張性が大幅に向上し、企業の成長に応じた柔軟な対応が可能になっています。比較的大きな組織では、小さな「ドメイン」は他のすべてのドメインと明示的な信頼関係を結ぶ必要がない場合があります。その場合、小さなドメインは組織のルートに位置する親ドメインよって確立された信頼関係を継承することができます。これにより、ディレクトリ サービスやセキュリティ サービスの日常の管理が著しく簡略化されます。



 図7. Windows NT4.0では、ドメイン“Arcadia Bay”、“North America”および“Europe”間の信頼関係は全方向に確立されなければなりません。Windows NT 5.0では、親ドメイン(ここでは“Alcardia Bay”)経由で通過的に信頼関係を結べるため、管理者にとって管理を必要とする信頼関係の数が減ります。

 Webサーバーなどのサーバー上で実行されるコンポーネントが、SQLデータベースなどの他のサーバーにアクセスする際に、ユーザー識別を偽装できるようになりました。また、Windows NT 5.0では、どのアプリケーションも、システムに組み込みのパブリック キー サービスを使って、特定の受信者だけが読めるようにオブジェクトを暗号化するとか、オブジェクトやメッセージに「署名」を行って、受信者が身元やデータの完全性を確認できるようにするといったことが可能になっています。

 Windows NT 5.0の開発と並行して、Microsoftは、現在あるどのシステムよりも使いやすく、管理しやすいフルスケールのインターネットおよびイントラネット コンピューティングのモデルを開発中です。企業内でも、インターネット上でも、情報システム グループは、サーバーの「ビルディング ブロック」を使って、提供するサービスを拡張し、堅牢性を改善し、可用性を確保することができます。その際、個々のマシンの管理にはいっさい気を遣う必要がありません。たしかに、1箇所で集中的に計画するやり方にも多くの利点がありますが、それは必須ではありません。Windows NT 5.0の視野にあるのは、やがては企業のネットワークに成長しうるワークグループの「草の根的」な成長という実世界の出来事です。


分散環境におけるプログラミングの挑戦

 ここで取り上げる改善は、これだけにとどまりませんが、Windows NTが真の分散プラットフォームに成長するために重要なステップです。システムに追加されるアプリケーションやサービスは、我々がエンド ユーザーと管理者のために努力を傾けて開発しているモデルの簡潔さを損なわないようにしなければなりません。それには、こうしたプログラムを作成するタスクを根本的に簡略化する必要があります。メインフレーム モデルに逆戻りするのではなく、単一マシン環境におけるプログラミングの簡潔さを、そのまま分散コンピューティングの世界に持ち込むことが必要です。
 Windows NTでは、アプリケーションとサービスの管理を容易にするための基本サービスが、アプリケーションとサービスの作成を容易にするためのサービスを兼ねています。 その結果生まれたのが、堅牢性が大幅に強化され、超大規模なネットワークにも対応できる拡張性を備えた新世代の分散コンポーネントです。Active Serverは、Windows NTの基本サービスの上に構築され、分散コンポーネントの作成と導入を根本的に簡略化し、開発者やユーザーがかつて経験したことのない成果をもたらします。

 インターネットの規模で真の分散コンピューティングを実現するためには、サーバー アプリケーションは、論理的に集中化され、物理的に分散したネットワークのビューに相応しいものでなければなりませんが、こうしたビューをさらに押し進める能力も要求されます。本格的なスケーラビリティと堅牢性を備えた、つまりビジネスでの使用に十分耐えられる信頼性の高いコンピューティングを実現するには、分散コンポーネントがオペレーティング システムの分散サービスと完全に統合されることが必要です。コンポーネントの分散の仕方とシステム サービスとの協調動作の仕方がシステムの管理に委ねられたときに、コンポーネントは、容易な導入と簡単かつシームレスな拡張が可能になり、分散システム自体と同レベルの有用性を持つことができます。
 これまでは、分散環境におけるエンドユーザーと管理者のために「正しいことをする」ことは、ソフトウェア開発者にとって至難のことでした。

● 現在の通信メソッドとメッセージング モデルは大規模な公衆ネットワークには力不足。 リモート プロシージャ コール(RPC)を介した同期通信では、クライアントはコードの実行を続ける前に応答を待つことを要求されます。非同期のメッセージングはこの種の渋滞を緩和しますが、プログラミングが非常に難しくなります。この2つの種類の通信は、ネットワークとの持続的な接続に依存していますが、持続的な接続をインターネットのような多くのネットワークで維持するのは困難です。信頼できる方法で通信を行うには、コンポーネントは、このような曖昧さや、HTTP、TCP、またはRPC固有の詳細を扱うようなことは避けるべきです。

● 分散環境で動作するアプリケーションやサービスは失敗する可能性が非常に高い。 結果として、開発者は、膨大な数のエラー状態の組み合わせを処理するために、多くのクライアント コードとサーバー コードを書くはめになります。モノリシックなアプリケーションは失敗してもそこだけで収まりますが、コンポーネントが失敗したときには、そのコンポーネントに依存しているアプリケーションの動作を止めないためにも、手際よく回復しなければなりません。複数の操作をグループ化して1つのアトミック単位として処理する方法は、まだ必要ですが、分散環境でグループ化した操作を実行することは、とくにアプリケーションが関連の情報を求めて2つ以上のストレージ システムをスキャンする場合には、困難です。

● 分散アプリケーションのコンポーネントは調整や拡張が難しい。 次のことを判断するのに多くのオーバーヘッドを必要とし、複雑さも増します。

・ コンポーネントは他のアプリケーションのコンポーネントとどのように対話すべきか
・ どの通信トランスポート(HTTP、TCP/IP、IPX/SPX)を使用するか
・ どのコンポーネントをどのサーパー、どのプロセス、またはどのスレッドで実行すべきか
・ コンポーネントの1つが失敗したときに、アプリケーションはどのように回復するか

● サーバー アプリケーションを書くには、低レベルのシステム サービスの動作に関する煩雑な知識が必要。 たとえば、効率と堅牢性を実現するには、開発者は、作成するサーバー アプリケーションごとに、プロセス、スレッド、トランザクション、セキュリティ、およびキャッシュを扱うための複雑なコードを書かなければなりません。これには開発時間の30〜40パーセントに相当する膨大な時間がかかります 。

● オペレーティング システムに、キーとなる分散サービスまたは「既存の」データおよびシステムにアクセスするための包括的なインターフェイスが提供されていない。 現在のオペレーティング システムは、マルチプロセッシング、マルチスレッディング、ファイル サービス、グラフィック、および低レベルのネットワーク アクセスに対しては完璧なサポートを提供していますが、ディレクトリに対する完成度の高い、シンプルで使いやすいインターフェイスや、分散セキュリティは提供していません。データ アクセス サービスもまた重要なシステム サービスです。既存のデータベース システムに多額の投資を行っているユーザーは、アップグレードや再構築をしなくても、新しいテクノロジーから既存のシステムにアクセスできることを望んでいます。

● 動的なWebコンテンツの作成はあまりにも面倒 動的なWebコンテンツ、CGI(Common Gateway Interface)の作成に一般に使用されるテクノロジーは、テキスト、レイアウト、グラフィックといったWebページ要素をCGIスクリプト中に埋め込むことです。そのため、Webページの作者は、ごく小さな変更を行う場合でも、ソース コードを厳密に調べ、しかも後でコンパイルし直さなければなりません。CGIのメカニズムは、HTMLのデザイナにはプログラミングの知識を要求し、プログラマにはHTMLのデザインに関係する知識を要求します。


分散コンピューティングに対するインターネットの影響力

 インターネットのロジックをサーバーに取り入れざるをえない状況に追い込まれている現在、分散コンポーネントを容易に作れることの重要性はますます高まっています。伝統的なクライアント/サーバー モデルでは、アプリケーション固有コードの重要な一部をクライアント側で実行しました。しかし、Webモデルでは、クライアントは情報の表示に専念しています。多くの場合、現在のWebサーバーはほとんどすべてのビジネスまたはアプリケーション ロジックを実行しており、コンピューティングの負荷がサーバー側に大きく偏っています。そのため、サーバー用に書かれるコードは今まで以上にうまくスケーリングしなければなりません。インターネットを克服するためには、現在はシングル ユーザーのデスクトップに専念しているプログラマのますます多くが、効率のよいサーバー コードを書くという気の滅入るような仕事に向かわざるを得なくなるでしょう。
 さらに、企業は、社内のイントラネットとインターネットの両方を包みこむ単一の共通インフラストラクチャの構築を要望しています。サーバー向けに確立された優れたプログラミング モデルなしにこれを行うことは困難です。骨組みだけのWebサーバー プログラミング モデルは、スケーラビリティ、配布、セキュリティ、およびその他の多くの問題を扱っていません。たとえば、ステートを保持しないWebサーバーでは、アプリケーションは、"cookies"のような稚拙なメカニズムを使ってステートを再生する必要があります。実際、今日のWebサーバーは、多くの点で、伝統的なクライアント サーバー コンピューティングや、RPCサーバーのランタイムを通して利用できるある種のサービスよりもむしろ後退している趣があります。
 サーバー プログラミングに200万人以上もいるVisual Basicプログラマなどの平均レベルの開発者も携われるようになることと、彼らが書いたプログラムが効率よくスケーリングできるようになることが必須です。
  要約すると、分散環境のプログラミングは以下のことができなければなりません。

・ エンドユーザーと管理者に「単一のサーバー」の錯覚を与えること
・ 高度なトレーニングや再教育の必要がほとんど(あるいはまったく)ないほどに簡単であること
・ インターーネットとイントラネット向けの統一された単一のプログラミング モデルを持っていること
・ 包括的なオペレーティング システム サービスとの緊密な統合が考慮されていること
・ 分散と管理が容易な、堅牢でスケーラブルなアプリケーション コンポーネントを生成できること


Active Server ― 分散環境での容易なプログラミングを実現

 Active Serverは、ここで取り上げる問題をはじめ多くの基本的な問題に対処することを目的に、Windows NT 5.0の分散機能の上に構築されています。Active Serverの基盤であるMicrosoft Transaction Serverは、あらゆるプログラマが利用できる、分散コンポーネントを管理するための包括的なランタイム環境を提供します。状態やリソース共有の管理、およびエラー回復の管理をシステム サービスに委ねるシンプルなコンポーネントを設計する開発者が多くなるほど、これらを容易に管理できるシステムが増え、システムのスケーラビリティが向上します。しかし、特定の環境下では、システム レベルのプログラマが、コンポーネントへの依存度が低く、ランタイム環境も利用しないアプリケーションやサービスを書き続けるでしょう。この柔軟性がプラットフォームの成功の鍵です。そこでは、問題のレベルに応じた開発者の棲み分けが可能になります。


 図8. Active Serverは、低レベルのシステム サービスを管理し、分散コンポーネントを調整し、プログラマから煩雑さを隠すことにより、サーバー アプリケーションの設計を容易にします。

 Windows NT 5.0とActive Serverは、連携してプログラマにとって次の利点を持つ包括的なサーバー プラットフォームを提供します。

● Active Serverが開発者をサーバー プログラミングの煩雑さから解放。 Active Serverは、次の機能を提供することにより、開発者が本来の仕事―ビジネス ロジックとアプリケーション ロジックのインプリメント―に専念できるようにします。

● プロセスやスレッドの管理、あるいはオブジェクト インスタンスの作成、起動、および破壊といった低レベルのタスクを扱うレディメイドの"serverplumping"を提供します。

● アプリケーションの全コンポーネントを単一のパッケージとして扱い、これらを動的にインストール、構成、および実行する方法を決定します。

● DCOMを用いてコンポーネント間の通信を管理します

● リソースの管理、共有リソースの同時実行制御とロック管理、競合条件と枯渇を防止する仕組みの複雑さの隠蔽、およびデッドロック状態の解除を行います。

 図9. Active Serverのコンポーネント サービスにより、開発者はサービス ロジックや共有データに専念できます。煩雑な低レベルのタスクはシステムが自動的に処理します

● Active Serverがサーバー アプリケーションの管理に柔軟性を付加。 Active Serverにより、コンポーネントは、仮想的にネットワークの任意の場所で実行できます。コンポーネントを呼び出すプログラムは、そのコンポーネントが物理的に実行されている場所を意識する必要がありません。そのため、システム管理者(または実行中のシステム自体)は、ネットワークの現在の状況に基づいて、コンポーネントをどの物理マシン上で実行するかを決めることができます。開発者はこれらの決定をコンポーネント自身にハードコーディングすることはしません。

● Active Serverがトランザクションを介したエラー処理を簡略化。 トランザクション サーバーにより、トランザクション プロセッシング モニターの最高のアイデアが分散コンポーネントの世界で生かされます。アプリケーションは、自分が要求した操作が現実には複数のマシンやコンポーネントにまたがっているかもしれないということを知りません。アプリケーションは、トランザクションを開始し、一連の呼び出し(これはネットワーク中のコンポーネントを起動するかもしれません)を行い、コミットを要求するだけです。一連の操作の全体が正常に終了しないかぎり、Active Serverは操作全体をロールバックします。クラスタ接続されている場合は、Active Serverが持つ分散コンポーネントの管理機能が働いて、非常に高い可用性が達成されます。

● Active Serverが完成度の高い通信インフラストラクチャを提供。 Active Serverはコンポーネント間の互換性を保証し、低レベルの通信を管理して、ネットワーク状態が異なる場合にプログラマが固有のトランスポートを選択しなくて済むようにします。
・ Active Serverは、Windows NT上に構築されるので、TCP/IP、RPC、RAS、PPTPなどの通信メカニズムをオペレーティング システムから継承します。
・ COMは一貫したアーキテクチャでコンポーネント間の互換性を保証し、コンポーネント相互の通信に使用する基本的なメカニズムを標準化します。また、同期および非同期のトランスポート サービスを含む各種のメッセージング スタイルを抽象化します。
・ “Falcon”はメッセージのキューと非同期通信を提供します。相互に通信し合う2つのコンピューターを、同時に立ち上げ、実行させておく必要はありません。システムは確実にメッセージを受信できます。コンポーネントはこの機能を透過的に利用でき、特別なプログラミングを必要としません。

 図10. Active Serverは完成度の高い通信インフラストラクチャを提供します。コンポーネントは、その下のネットワーキング プロトコルを抽象化するDCOM経由で通信します。

● コンポーネントはシステムのWebサービスに容易に統合可能。 Internet Information Serverの機能であるActive Server Pagesは、HTML、サーバー実行型のスクリプト、およびコンポーネントを結合して、Webページを動的に作成します。Active Server Pagesは、HTMLまたはブラウザなどのHTTPクライアントとサーバー コンポーネントの間をつなぐ「プレゼンテーション サービス」の役割を果たします。スクリプトは標準的なOLE Automationを介してコンポーネントを呼び出すことができ、データベース、メインフレーム、またはサーバー上で動作している任意のサービスにアクセスできます。Active Server Pagesは、コンポーネントをHTMLのデザイン上の問題から明確に切り離しているため、CGIスクリプトに比べて作成や修正がはるかに容易です。Webのデザイナは、ジャストインタイム(JIT)にコンパイルできる標準HTML構文に従ってページを作成します。

 図11. Active Server Pagesは、HTML、サーバー実行型のスクリプト、およびコンポーネントを結合して、Webページを動的に生成します。

● Active Serverコンポーネントはレガシー データに透過的にアクセス可能。 “Cedar”テクノロジーにより、Active Server上で動作しているコンポーネントは、メインフレーム上で実行されている“work with and invoke”アプリケーションと対話し、これを起動して、既存のデータにアクセスできます。たとえば、Windows NT Sever上で実行されているアプリケーションは、LU6.2接続を介して既存のCICS/IMSメインフレーム上のトランザクションを呼び出すことができ、結果を、Webブラウザで表示できるHTMLで記述して返します。

● 使い慣れたツールでサーバー コンポーネントを作成。 どのプログラム言語で書かれたCOMコンポーネントも自然にかつシームレスに相互作用できるので、開発者は、Microsoft、Borland、Powersoft、Sybase、Symantec、ORACLE、IBM、Micro Focus など幅広い範囲からツールを選択して、サーバー コンポーネントを作成できます。かつては低レベルのツールとインストラクタ クラスのプログラミング知識を必要とした作業が、今や高水準言語を使用する平均レベルのプログラマにも可能になったのです。

 図12. COMをサポートする既存のツールを使って、システム サービスにアクセスし、既製のコンポーネントを再利用して、新しいコンポーネント、アプリケーション、および動的なWebページを作成できます。


将来の展望

 将来は、ファイル システムやレジストリといったシステム サービスはトランザクション ベースとなり、一連のサービスをトランザクション処理するコンポーネントがもっと広範な呼び出しを行えるようになります。たとえば、アプリケーションは、インストールの失敗など、中断された複雑な操作をシステムに依頼してロールバックしてもらうことができるようになります。新しいシステム サービスと既存のシステム サービスは、COMインターフェイスを介して利用できるようになり、高水準の言語やツールからさらにアクセスしやすくなります。


より詳しい情報を得るには

 Active SeverとActive Platformに関するより包括的で詳しい情報を必要とされる場合には、World Wide Webのhttp://www.microsoft.com/pdc/か、またはMicrosoft Network(GO WORD: MSNTS)のWindows NT Server Forumをご覧ください。World Wide Web経由で情報にアクセスするためにはHttp://www.microsoft.comへ行き、Microsoft Sitebuilder、intranet、MSDN、NTServerまたはBackOfficeを選んでください。

1996 Microsoft Corporation. All rights reserved.

・このホワイトペーパーは情報提供のみを目的としています。
・Microsoftは明示または暗示を問わず、本書の中でいかなる保証もしません。
・ Microsoft、Windows、Windows NT、ActiveX、Visual Basic、BackOfficeロゴは、米国および/またはその他の国々におけるMicrosoft Corporationの登録商標または商標です。本書にでてくるその他の製品名または会社名はそれぞれの企業の商標です。
Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 USA


<< ニュースリリース>>

● エム・ピー・テクノロジー ニュースリリース(1996.12.6)<抜粋>

最速リアルタイム ウェッブ アクセラレーター ソフトウェア
〜 モデムの転送効率を最大10倍までアップする! 〜
net.jet 発売のお知らせ

株式会社エム・ピー・テクノロジー(では、先月米国LasVegasで行われましたCOMDEXにおきまして、メディア各誌から高い評価を受けました、 Peak Technologies社 (米国)のウェッブアクセラレーター ソフトウェア、 net.jet を日本にて発売することとなりました。

COMDEXでの模様は以下の通りです。
COMDEX初日、 net.jet はC/NET Newsで「今日のトピックス」として取り上げられ、「 COMDEXで最も賑わっているブースの一つ」と伝えられました。また、C/NET Newsが選ぶ「 COMDEXベストソフトウェア」としてnet.jet も、Netscape Communicator、Lotus Smart Suite 97、Windows CE 、Starfish Web Publisherとともに選ばれております。

商品特徴:

● インターネットのスピードを驚異的に高速化するオンライン リアルタイムソフトウェア net.jet はネットサーフィンを10倍近く高速化するリアルタイム ウェッブアクセラレーター ソフトウェアです。ページを読んでいる間にその先のリンク先を先読みし、キャッシュしますので、次の通信のための待ち時間はありません。事前に読み込ませなければならない、今までのオフラインのアクセラレーターとは違い、今読んでいるそのページをリアルタイムに高速ブラウズできます。ホームページ上の先読みできたリンク先のページが一目で見られるサブウィンドウで、より効率的なアクセスができます。先読みするページがテキストで10KB以上、グラフィックで100KB以上の場合は先読みしないので、キャッシュヒットしない場合でも、効率低下を防ぎます。 net.jet は最速のコミュニケーション手段としてもエンターテイメントにも、全世界を相手としたマーケティング手段としてもインターネット上で「検索する」という価値ある時間をご提供します。

● net.jet はモデムや専用線の実用性を最大10倍まで高めます
多くのブラウザーではモデムの性能の約10%程度しか利用していません。しかし、 net.jet を使えば、モデムの転送効率自体を50%から100%近くまで増加させます。この結果、待ち時間の削減とネットサーフィンのスピードアップは劇的に変化します。

● net.jet はネットサーファーの好みを理解し、ひんぱんに見るページへのアクセス
スピードを高速化します。 net.jet は何度も見るページへのアクセスを記憶します。次回以降はキャッシュを最大限最適化、再編成させる機能を持ちます。この機能が先読み機能に併用されることで、お気に入りのホームページへのアクセススピードがアップするのが実感できます。

● Javaによるネットワークアップデート機能
net.jet はJavaで記述されており、Windows95が動作するマシンであればご利用いただけます。あなたが持っているどんな回線でもそのスピード感を実感できます。14.4K、28.8Kモデム、ISDN回線そして専用線の64kbsやT1回線でもです!
さらに、 net.jet は毎回使用時、サーバをチェックし、最新のバージョンに自動的にアップデートします。いつも新鮮な状態でお使いできます。

●動作環境
486以上のCPUでMicrosoft Windows95が動く環境
最低16MBのRAMで、ハードディスクに14MB以上の空き容量が必要
インターネットを利用できる環境
(Netscape Navigator2.0以上またはMicrosoft Internet Explorer3.0以上)
ただし、プロキシーサーバーとの併用はできません
CD-ROMドライブが必要です。

● 商品仕様
商品名:「 net.jet for Windows」
JANコード:4988747012189
価格:5,800円(税別)
発売日:1996年12月28日(土)
内容:CD-ROM1枚、日本語マニュアル
商品の仕様・価格は予告なく変更する場合がございます。

開発元:Peak Technologies,Inc.(米国)
販売・サポート: 株式会社エム・ピー・テクノロジー
〒160 東京都新宿区坂町26-27 IPB 5F
Tel. 03-3358-9800/Fax. 03-3358-9802
URL: http://www.mptech.co.jp/
Mail Address: sales@mptech.co.jp


● エム・ピー・テクノロジー ニュースリリース(1996.12.17)<抜粋>

Wでお得!セーラームーン・コレクションの決定版
〜 美少女戦士セーラームーンBEST SELECTION 〜
デスクトップアクセサリー集&スクリーンセーバー 発売のお知らせ

株式会社エム・ピー・テクノロジーでは、昨年、「セーラームーンコレクションスクリーンセーバー」を、また、本年7月にはデスクトップアクセサリー集「セーラームーンコレクションきらめきセーラーメモリーズ」を発売し、いずれもおかげさまで完売となりました。
 そこでこの度は両タイトルから厳選した素材に、新たに新作を加えて、「美少女戦士 セーラームーンBEST SELECTION」を限定3,000本にて発売する運びとなりました。

商品特徴:
デスクトップアクセサリー集
各キャラクターのさまざまな表情やキャラクターのアイテムをフィーチャーしています。

● 壁紙
・新作10種104枚追加
・前作未収録の新キャラクターを大追加!
・大好評のオリジナル壁紙も完全網羅
・多彩な壁紙で楽しさいっぱい!!

●アイコン
・デザインアイコン
収録数は、Windows用256色20種・Mac用フルカラー20種です。

−グラフィックすべて新作のアイコンばかり!
全5シリーズのセーラー戦士他、ギャラクシア、ちびちび、スターライツも勢ぞろい!

● サウンド
・セリフ
「月にかわっておしおきよ!」などおなじみの声をシステムイベント発生時に鳴るように自由に設定できます。
・厳選した50種、150音! WAVE、AIFF、TALK7対応
うさぎの名セリフ「お腹のラッパがプップクプー」も収録!
−従来のアニメに登場するセリフの他にも「ダメ!」 「早く〜」 「もっと〜」「もうやめちゃうの」等のちょっとHなセリフや、「ゲゲっ!」「信じらんない」など現代言葉のセリフも収録。

● スクリーンセーバー
前回の「セーラームーンコレクションスクリーンセーバー」から好評だった5モジュールを厳選。
・クレーンゲーム(Cranegame)
・ 神経衰弱(Cardsgame)
・ 砂時計(Sandglass)
・ 変身(Makeup)
・ 大車輪(Wheels)

● パッケージの内容
壁紙30種320点(3パターンの解像度に対応。すべて256色・フルカラーを用意)アイコン20種40点( Windows用256色・Mac用フルカラーで用意)
サウンド50種、150点( WAVE、AIFF、TALK7対応)
スクリーンセーバー5モジュール(各種パラメータ設定可能)

● 必要動作環境
・本体:Windows/DOS/VまたはPC98シリーズで日本語 MS-Windows3.1かMS-Windows95が動作する環境。386以上のCPU(486/25Mhz以上のCPU推奨)
・解像度640×480ピクセル・256色以上表示可能なカラーディスプレイ
・MIDI及びWAVE対応のサウンドボード
・CD-ROMドライブ
・スクリーンセーバーの再生には、ハードディスクの空き容量15MB、メモリー容量8MB 以上が必要。
・Windows環境でアイコンを使うにはMicrosoft Plus!のインストールが必要。

● 商品仕様
媒体: Windows ・MacintoshハイブリットCD-ROM版
発売予定日 平成8年12月21日(土)
価 格 3,000円(税別)
発 売 元 東映動画株式会社
JANコード 4988747012646
(商品名: 美少女戦士セーラームーンBEST SELECTION)
制 作 協 力 凸版印刷株式会社
販売代理店およびサポート 株式会社エム・ピー・テクノロジー
*武内直子・講談社・テレビ朝日・東映動画
各商品名は各会社の登録商標です。

仕様・価格は予告なく変更される場合があります。

◆エム・ピー・テクノロジー ニュースリリースに関するお問合せ先
〒160 東京都新宿区坂町26-27 IPB5F
株式会社エム・ピー・テクノロジー
マーケティング部 三浦
Tel. 03-3358-9800/Fax. 03-3358-9802
URL: http://www.mptech.co.jp/
Mail Adress: sales@mptech.co.jp


Contents         Windows Consortium ホームページ