出版社内容情報
【セールスポイント】
分散オブジェクト指向技術DCOMのすべてがわかる!
【発刊の目的と内容】
DCOMとは、マイクロソフト社が開発したActiveX(インターネットにおけるマイクロソフトの技術の総称)における分散オブジェクト技術で、COMのアーキテクチャの分散対応版の名称。COMは、Component Object Modelの略で、OLE Ver2.0から実装されたCORBA(Common Object Request Broker Architecture : UNIXにおけるオブジェクト連携仕様)とWindows環境における業界標準OLE(Object Linking and Embedding)を相互接続するためのプロトコルである。
本書は、あまり正当に理解されていないCOMのアーキテクチャを、さまざまな観点から説明し、その発展系であるDCOMについて詳しく解説するものである。
【購読対象者】
Windows関連の開発技術者(中、上級レベル)
UNIX関連の開発技術者(中、上級レベル)
メインフレーム開発技術者
【詳細目次】
目次
第1章 分散オブジェクト指向DCOMとActiveX
1.1 DCOMとは何か
1.1.1 COMとDCOM
1.1.2 COM/DCOMはActiveXの基礎
1.2 DCOMのイメージ
1.2.1 COM/DCOMのイメージを捉えてください
1.2.2 今までのソフトウェアの動作
1.2.3 オブジェクト指向技術の影響
1.2.4 実行プログラムの新しい関係
1.2.5 コンポーネントとサーバー/クライアント
1.3 ACTIVEXとCOM/DCOM
1.4 COM/DCOMとコンポーネントソフトウェア
1.4.1 COM/DCOMとは
1.4.2 COM/DCOMの歴史
1.4.3 コンポーネントソフトウェア
1.4.4 オブジェクト指向技術
1.5 分散処理環境
1.5.1 インターネットがもたらした新世界
1.5.2 インターネットの「バックチャンネル」
1.5.3 統一されたプログラミングモデルで分散処理を実現
第2章 COM/DCOMの技術概要
2.1 オブジェクト指向技術のタイプ
2.1.1 2つのオブジェクト指向技術
2.1.2 ソースコードを利用したオブジェクト指向技術の実現
2.1.3 実行プログラムによるオブジェクト指向技術の実現
2.1.4 比較できない2つのタイプ
2.2 プログラムの知識をコンポーネントへ組み込む
2.2.1 コンポーネント
2.2.2 共通のプログラミングモデル
2.2.3 クライアントとサーバー
2.2.4 DCE RPCを拡張
2.2.5 COM/DCOMが提供するもの
2.2.6 COM/DCOMがプログラムに要求するもの
2.2.7 サーバーは3種類
2.2.8 サーバーのライフサイクル
2.2.9 実装するロジックを規定
2.2.10 インターフェイス
2.3 バイナリインターオペラビリティ
2.3.1 Vtableの構造
2.4 GUID
2.4.1 GUIDという数値による名称
2.4.2 標準インターフェイスのIID
2.5 バージョン管理を不要にする
2.5.1 バージョン管理をしないように配慮した開発の義務
2.6 IUNKNOWNインターフェイス
2.6.1 すべてのコンポーネントが実装するインターフェイス
2.6.2 Iunknown::AddRef, Iunknown::Release
2.6.3 Iunknown::QueryInterface
2.6.4 すべてのインターフェイスに実装する義務があるIunknownのメソッド
2.7 IClassFactoryインターフェイス
2.7.1 実質的に必須なインターフェイス
2.7.2 クライアントからのIClassFactoryインターフェイスの利用
2.8 IConectionPointインターフェイス
2.8.1 サーバーからクライアントを呼び出すインターフェイス
2.8.2 インバウンドインターフェイスとアウトバンドインターフェイス
2.8.3 ActiveXコンポーネントでは必要に応じて実装
2.9 オブジェクトの再利用
2.9.1 アグリゲーション
2.9.2 コンテイメント
2.10 VTABLE
2.10.1 一般的なVtableの技術
2.10.2 Vtableの配置
2.10.3 Vtableをコンポーネントにもつ意味
2.11 言語からの独立
2.11.1 バイナリインターフェイスを使用する
2.11.2 オートメーションインターフェイスを使用する
2.12 言語との親和(JAVA)
2.13 標準インターフェイス
2.13.1 インターフェイスの標準化
2.13.2 カスタムインターフェイス
2.13.3 統一データ伝送
2.13.4 パーシステントストレージ
2.13.5 モニカー
2.13.6 オートメーション
2.13.7 セキュリティ
第3章 COM/DCOMの動作
3.1 準備
3.1.1 HRESULT
3.1.2 HRESULTのネーミングコンベンション
3.1.3 HRESULTと対応するマクロ
3.1.4 全世界でユニークなID GUID
3.1.5 GUIDの定義
3.1.6 CoCreateGuid
3.1.7 DEFINE_GUIDマクロ
3.1.8 GUIDに割り当てた意味を変更してはならない
3.1.9 インヘリタンス, 多重インヘリタンス
3.1.10 インターフェイス定義用マクロ
3.2 クライアントとサーバーの関係
3.2.1 COMライブラリとインターフェイス
3.2.2 インプロセスサーバーの場合(CoGetClassObjectを使用)
3.2.3 インプロセスサーバーの場合(CoCreateInstanceを使用)
3.2.4 ローカルサーバーの場合(CoGetClassObjectを使用)
3.2.5 サーバーのタイプによる違いの要約
3.2.6 APIの説明
3.2.7 クラスファクトリーの利用
3.2.8 クラスファクトリーの実装
3.2.9 ネゴシエーション
3.2.10 新しいネゴシエーションの方法
3.2.11 オブジェクトの再利用
3.2.12 アグリゲーション
3.2.13 コントロールIUnknown
3.2.14 コンテイメント
3.2.15 オブジェクトを実行する階層
3.2.16 今までのRPCとの違い
3.2.17 クライアントとサーバーの間で取り扱えるデータ型
3.2.18 レジストリとSCM
3.3 クライアント
3.3.1 クライアントの動作
3.3.2 オブジェクトを利用できるようにする
3.3.3 クラスファクトリーの利用
3.4 サーバー
3.4.1 SCM(スカム)
3.4.2 レジストリ
3.4.3 サーバーの停止のルール
3.4.4 クラスファクトリーのエクスポーズ
3.5 マーシャリングメカニズム
3.5.1 マーシャリングが行われる場合
3.5.2 標準マーシャリング
3.5.3 タイプライブラリ
3.5.4 カスタムマーシャリング
3.5.5 IMarshalインターフェイス
3.6 UNIコード
3.6.1 ISO/IEC10646
3.6.2 UNIコードの特徴
3.6.3 UNIコードのコーディング
3.6.4 UNIコードとローカルコードの変換
3.7 DCOMのセキュリティ
3.7.1 DCOMのセキュリティシステム
3.7.2 97年中に実装されるセキュリティプロバイダの予定
3.7.3 Windows NT 5.0以降のセキュリティプロバイダ
3.7.4 セキュリティの概要
3.7.5 アクティベーションセキュリティ
3.7.6 コールセキュリティ
3.7.7 クライアント側のコールセキュリティ
3.7.8 IClientSecurityインターフェイス
3.7.9 サーバー側のコールセキュリティ
3.8 分散に対応した機能の拡張
3.8.1 DCOMの性能
3.8.2 トランザクション数を下げるための機能拡張
3.8.3 リモートオブジェクトの強制的な切断
第4章 COM/DCOMとCORBA
4.1 CORBAの概要
4.2 オブジェクトサービスの比較
4.3 多重インヘリタンス(継承)
4.4 CORBAの提供
4.5 COM/DCOM提供の実際
4.5.1 1つのプラットホームで1ベンダを標準に
4.5.2 プラットホーム毎の開発会社
4.5.3 提供経路
4.5.4 マイクロソフトの提供形態
4.5.5 ソフトウェア・エージー社の提供形態
4.6 COM/DCOMとORBプロダクトとの連動
第5章 システムオブジェクト
5.1 システムオブジェクトとは何か
5.1.1 COM/DCOMに実装されているシステムオブジェクトとは
5.1.2 コンポーネントの意義
5.2 オートメーション(IDISPATCHインターフェイス)
5.2.1 オートメーションとは
5.2.2 IDispatchインターフェイスの生い立ちと特徴
5.2.3 IDispatchインターフェイスとディスプインターフェイス
5.2.4 IDispatchと関係の深いデータ形式
5.2.5 IDispatchインターフェイス
5.2.6 ITypeInfoインターフェイス
5.3 パーシステントストレージ(IPERSISTインターフェイス)
5.3.1 構造化ストレージとIOストリームの対応
5.3.2 構造化ストレージの考え方
5.3.3 複合ファイルの作成
5.3.4 ILockBytesインターフェイス
5.3.5 IStorageインターフェイス
5.3.6 IStreamインターフェイス
5.3.7 IPropertySetStorageインターフェイス
5.3.8 IPropertyStorageインターフェイス
5.3.9 IPersistインターフェイス
5.3.10 IPersistStorageインターフェイス
5.3.11 IPersistStreamInitインターフェイス
5.3.12 IPersistStreamインターフェイス
5.3.13 IPersistFileインターフェイス
5.3.14 IPersistMemoryインターフェイス
5.3.15 IPersistPropertyBagインターフェイス
5.3.16 IPropertyBagインターフェイス
5.3.17 IErrorLogインターフェイス
5.3.18 IPersistMonikerインターフェイス
5.4 コネクタブルオブジェクト(ICONNECTIONPOINTインターフェイス)
5.4.1 FORMATETC構造体
5.4.2 STGMEDIUM構造体
5.4.3 IDataObjectインターフェイス
5.4.4 IAdviceSibkExインターフェイス
5.5 コネクタブルオブジェクト(IConnectionPointインターフェイス)
5.5.1 IConnectionPointContainerインターフェイス
5.5.2 IConnectionPointインターフェイス
5.6 モニカー(インテリジェント名,IMonikerインターフェイス)
5.6.1 モニカー(あだ名)によりオブジェクトを利用する
5.6.2 バインドテキスト
5.6.3 ROT(ランニングオブジェクトテーブル)
5.6.4 標準モニカー
5.6.5 カスタムモニカー
5.6.6 モニカーとIMonikerインターフェイス
5.7 IEnumXインターフェイス
5.7.1 IEnumX::Next
5.7.2 IEnumX::Skip
5.7.3 IEnumX::Reset
5.7.4 IEnumX::Clone
5.7.5 IEnumXインターフェイスの種類
5.8 IMallocインターフェイス
5.8.1 IMalloc::Alloc
5.8.2 IMalloc::Free
5.8.3 IMalloc::Realloc
5.8.4 IMalloc::GetSize
5.8.5 IMalloc::DidAlloc
5.8.6 IMalloc::HeapMinimize
5.8.7 COMライブラリによるメモリ管理機能
第6章 マルチプラットフォームのCOM/DCOM
6.1 DCOMのマルチプラットフォームでの利用
6.1.1 DCOMとActiveグループ
6.1.2 DCOMのサポート
6.2 UNIXプラットフォームのDCOM
6.2.1 構造
6.2.2 構成しているコンポーネントについて
6.3 IBM OS390のDCOM 584
6.3.1 構造
6.3.2 構成しているコンポーネントについて
6.4 その他のDCOM
参考文献
リソースセンター
索引
コラム オブジェクトの生成概念
トランザクションとは
トランザクション処理と会話処理
セキュリティの考え方
仕様書と設計書について
目次
第1章 分散オブジェクト指向技術DCOMとActiveX
第2章 COM/DCOMの技術概要
第3章 COM/DCOMの動作
第4章 COM/DCOMとCORBA
第5章 システムオブジェクト
第6章 マルチプラットフォームのCOM/DCOM