OpenVMS Alpha 
 オペレーティング・システム
コネクティビティ開発者ガイド
3.3.2 既存のアプリケーションのカプセル化
手順型言語 (Fortran や COBOL など) で書かれ,キャラクタ端末インタフェースを使用するアプリケーションを使っている場合,COM "ラッパー" またはジャケットでこれらのアプリケーションを包み込むことにより,アプリケーションを新しいプラットフォームで実行することができるようになり,また,OpenVMS のクライアント/サーバ環境で実行することも可能になります。
従来のアプリケーションの中には,新しい技術に対応するように完全に書き直すと,非常に危険性の高いアプリケーションがあります。多くのアプリケーションは大規模で,複雑で,ドキュメントが不足しており,現在の保守担当者はこのようなアプリケーションを完全に理解できません。既存のアプリケーションをカプセル化すれば,作り直すより危険性が低くなり,また,書き直すための最初のステップとして利用することもできます。このようにしておけば,必要に応じて既存のアプリケーションの一部だけを書き直すことができ,その間もアプリケーションの以前のバージョンは安定した状態で利用できます。また,カプセル化では,開発者はコードを再利用でき,作業時間とリソースを節約できます。
一方,カプセル化には欠点もあります。保守作業が複雑になり,基礎になるコードを変更することができません。既存のアプリケーションが不安定だったり,保守が困難な場合は,カプセル化したアプリケーションがそれ以上のものになるわけではなく,ラッパーを追加したために,さらに状況が悪化する可能性もあります。
従来の手順型アプリケーションは複数の層でカプセル化することができます。ユーザ・インタフェース (UI),データベース,データ操作ルーチンでカプセル化できます。
- ユーザ・インタフェース 
ユーザ・インタフェース (UI) をカプセル化すると,UI を他のプラットフォームでサポートできるようになります (たとえば, Windows NT システムのグラフィカル・ユーザ・インタフェース [GUI] から)。 
UI をカプセル化してユーザのデスクトップに移動しても,アプリケーションの他の部分は OpenVMS に残しておくことができます。バッチ処理プログラムは,このようなユーザ・インタフェースのカプセル化に適しています。画面管理を行うアプリケーション (たとえば,SMG や FMS) は, COM for OpenVMS を使用して従来のキャラクタ端末インタフェースをカプセル化することができ,ユーザは Windows NT スタイルのダイアログ・ボックスを通じてアクセスできるようになります。
 - データベース 
 COM for OpenVMS を使用してデータベースをカプセル化すると,データベースは他のプラットフォームで稼動している分散アプリケーションの一部からアクセスできるようになります。この方法の場合,プログラマは安定した OpenVMS 上でデータベースを管理することができ,ユーザ・インタフェースとデータ・アクセス・ルーチンはリモートの (おそらく信頼性の低い) システムに置くことができるという利点があります。
 - データベース操作ルーチン 
データベース操作ルーチンをカプセル化すると,ルーチンは異種コンピューティング環境の他のどの COM コンポーネントからもアクセスできるようになります。
 
COM for OpenVMS を使用して OpenVMS アプリケーションをカプセル化するということは,カプセル化されるアプリケーションと会話する COM for OpenVMS サーバを作成することを意味します。 COM for OpenVMS サーバは,アプリケーションが必要とする順序および形式で引数をアプリケーションに渡します。 COM for OpenVMS サーバはアプリケーションからの出力を傍受して,それを表示装置,ユーザ・インタフェース,その他のルーチンに渡します。
3.4 OpenVMS MIDL コンパイラ
OpenVMS MIDL コンパイラは,次の点を除き, MIDL (Microsoft Interface Definition Language) コンパイラ V3.00.44 と同じです。
- Microsoft MIDL では,複数の最適化レベルがサポートされます。一方,OpenVMS MIDL では,-Oicfだけがサポートされます。他の最適化レベルは使用できません。
 - /cpp_cmdスイッチと/cpp_optスイッチは,OpenVMS MIDL では完全に機能しません。
 -  Windows NT システムでは,Microsoft MIDL コマンド,スイッチ,修飾子で大文字と小文字が区別されます。 OpenVMS MIDL コンパイラでは大文字と小文字が区別されません。 OpenVMS MIDL コンパイラに渡されるすべてのコマンド,スイッチ,修飾子は小文字になります。このため,Microsoft MIDL のスイッチ/Iと/iは OpenVMS では同じになります。
 - MIDL で生成されたファイルはプラットフォーム固有です。 
MIDL は両方のプラットフォームで実行しなければなりません。どちらか一方のプラットフォーム (OpenVMS または Windows NT ) で生成された MIDL 出力ファイルは,もう一方のプラットフォームにコピーしたり,使用することができません。
 - MIDL-wスイッチ 
Microsoft MIDL コンパイラでは,-wまたは-warnを指定して,コンパイラで生成される警告のレベルを制限できます。OpenVMS MIDL コンパイラでは,-wスイッチだけがサポートされます。
 
第 4 章
 COM for OpenVMS  キットのインストール
この章では, COM for OpenVMS キットの内容,必要なソフトウェア,インストールの前処理について説明します。また, COM for OpenVMS のインストールの方法とインストールの後処理についても説明します。
4.1 COM Version 1.1 for OpenVMS キットの内容
COM Version 1.1 for OpenVMS には,次のコンポーネントが含まれています。
- ソフトウェア
-  COM for OpenVMS 実行時ライブラリ
 -  COM for OpenVMS MIDL コンパイラとヘッダ・ファイル
 -  COM for OpenVMS 構成ユーティリティ
 - サンプル・アプリケーション
 
 - ドキュメンテーション
-  『OpenVMS Connectivity Developer Guide』  (PostScript 形式,HTML 形式,PDF 形式)
(本書『OpenVMS コネクティビティ開発者ガイド』の英語版)
 
 
4.2 インストールの要件
次のソフトウェアが必要です。
- OpenVMS システム
- OpenVMS バージョン 7.2-1 以上
 - DEC C バージョン 5.6 以上と DEC C++ バージョン 5.6 以上 ( COM for OpenVMS アプリケーション開発の場合)
 -  DIGITAL TCP/IP Services for OpenVMS Version 5.0 またはそれに相当するもの
 -  Advanced Server for OpenVMS Version 7.2A 以上
 -  COM for OpenVMS をインストールする前に,グローバル・ページ,グローバル・セクション,ディスク・ブロックに必要な空き領域があるかどうか確認してください。次の表は必要な空き領域を示しています。
 | ソフトウェア  | 
 グローバル・   ページ  | 
 グローバル・   セクション  | 
 ディスク・   ブロック  | 
 | COM for OpenVMS | 
 11,000 | 
 27 | 
 57000 | 
 | RPC 実行時 | 
 3,300 | 
 14 | 
 N/A | 
Advanced Server:
『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照。
TCP/IP:
『DIGITAL TCP/IP Services for OpenVMS: Installation and Configuration』マニュアルを参照。
 
 - Windows® NTtm システム
- Windows NT 4.0 と Service Pack 3
 - Microsoft® Visual C++ (Windows NT クライアント開発と,MIDL コンパイラに関する情報)。必要なコンパイラ・バージョンについては,Microsoft の Web サイトを参照。
 - TCP/IP を有効に設定 (OpenVMS との接続のために必要)
 
 
4.3 サポートされる COM for OpenVMS のインストール・オプション
ここでは, COM Version 1.1 for OpenVMS のインストール・オプションとアップグレード・オプションについて説明します。
 | 実行する操作  | 
 参照箇所  | 
| COM for OpenVMS を OpenVMS スタンドアロン・システムに初めてインストールする。
 | 
 第 4.4 節 を参照。 | 
 | COM for OpenVMS を OpenVMS Cluster システムに初めてインストールする。 | 
 第 4.6 節 を参照。 | 
 | OpenVMS スタンドアロン・システムで COM Version 1.0 for OpenVMS から COM Version 1.1 for OpenVMS にアップグレードする。 | 
 第 4.5 節 を参照。 | 
 | OpenVMS Cluster システムで COM Version 1.0 for OpenVMS から COM Version 1.1 for OpenVMS にアップグレードする。 | 
 第 4.7 節 を参照。 | 
4.4 OpenVMS スタンドアロン・システムでの COM for OpenVMS のインストール
次の操作を行います。
-  OpenVMS Version 7.2-1 をインストールします。この手順については,『OpenVMS Alpha Version 7.x Upgrade and Installation Manual』を参照してください。
 - TCP/IP をインストールします。この手順については,『DIGITAL TCP/IP Services for OpenVMS: Installation and Configuration』マニュアルまたは TCP/IP サプライヤが提供するマニュアルを参照してください。
 - インストールしたシステムをシステム・ディスクからブートします。
 -  COM Version 1.1 for OpenVMS をインストールします。この手順については, 第 4.10 節 を参照してください。
 -  Advanced Server for OpenVMS をインストールします。この手順については,『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照してください。
 - TCP/IP を構成し (スタートアップとリブートのための設定),起動します。この手順については,『DIGITAL TCP/IP Services for OpenVMS: Installation and Configuration』マニュアルまたは TCP/IP サプライヤのマニュアルを参照してください。
 - 次の手順で OpenVMS Registry を構成します。
- 
REG$CONFIGを実行して, OpenVMS Registry を構成します。 第 8.2 節 を参照してください。
 - 
SYLOGICALS.COMファイルを編集して,次のように
SYS$REGISTRY論理名を定義します。
 
$ DEFINE/SYSTEM SYS$REGISTRY directory-specification
 
 | 
 
 - 
REG$STARTUP.COMファイルを実行して, OpenVMS Registry を起動します。
 - DCE を実行する場合は,ここで起動します。
注意 
DCE を使用しなくても COM for OpenVMS を実行することはできますが,環境で DCE を使用する場合は,ここで起動してください。 
 | 
この手順については,『DIGITAL DCE Installation and Configuration Guide』を参照してください。 
OpenVMS 外部認証の詳細については, 第 4.8 節 を参照してください。
 -  Advanced Server for OpenVMS を構成します。 Advanced Server for OpenVMS の構成を終了するには,最後にリブートする必要があります。システム構成に応じて, 0〜n 回リブートする必要があります。この手順については,『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照してください。
 -  Advanced Server for OpenVMS を起動します (リブート時にスタートアップするための設定)。この手順については,『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照してください。
 - 次のコマンドを使用して,ACME サーバを起動します。
 
  $ @SYS$STARTUP:NTA$STARTUP_NT_ACME 
 
 | 
 - 次のコマンドを使用して,RPC を起動します。
 
  $ @SYS$STARTUP:DCE$RPC_STARTUP.COM 
 
 | 
 -  COM for OpenVMS を構成します。この手順については, 第 4.11 節 と 第 5.2 節 を参照してください。
-  OpenVMS Registry に情報を登録します。この手順については, 
第 5.2 節 を参照してください。 OpenVMS Registry データベースに情報を登録するには,オプション 3 を使用します。
 -  COM for OpenVMS Service Control Manager で必要な OpenVMS アカウントと Advanced Server for OpenVMS アカウントを作成します。詳細については, 第 5.2 節 を参照してください。アカウントを作成するには,オプション 8 を使用します。
 
 - 
SYLOGICALS.COMファイルを編集し,次の行を追加します。
 
  $ DEFINE DCOM$TO_BE_STARTED TRUE 
 
 | 
 -  COM for OpenVMS を起動します。この手順については, 第 4.12 節 を参照してください。
 
4.5 OpenVMS スタンドアロン・システムでの COM Version 1.0 for OpenVMS からのアップグレード
注意 
アップグレードを開始する前に, Advanced Server for OpenVMS , OpenVMS Registry ,その他のレイヤード製品の自動スタートアップを無効にして, COM for OpenVMS とその関連コンポーネントがアップグレードされるまで,これらの製品が起動されないようにしてください。
次の操作を行います。
 
- 次の製品が起動されないように,
SYLOGICALS.COMファイルを編集します。
-  OpenVMS Registry (
DEFINE REG$TO_BE_STARTED TRUEまたは
DEFINE/SYSTEM REG$TO_BE_STARTED TRUEという行を削除)
 -  COM for OpenVMS (
DEFINE DCOM$TO_BE_STARTED TRUEという行をコメントに変更)
  
  - 次の製品が起動されないように,
SYS$STARTUP:SYSTARTUP_VMS.COMファイルを編集します。
-  Advanced Server for OpenVMS (
@SYS$STARTUP:PWRK$STARTUP.COMという行をコメントに変更)
  
   
 COM for OpenVMS が実行中の場合は,最初に COM for OpenVMS をシャットダウンし,次に Advanced Server for OpenVMS をシャットダウンし (実行されている場合),最後に OpenVMS Registry をシャットダウンします。  
 | 
次の操作を行います。
-  OpenVMS Version 7.2-1 にアップグレードします。この手順については,『OpenVMS Alpha Version 7.x Upgrade and Installation Manual』を参照してください。
 - TCP/IP をアップグレードする場合は,ここでアップグレードしてください。この手順については,『DIGITAL TCP/IP Services for OpenVMS: Installation and Configuration』マニュアルまたは TCP/IP サプライヤのマニュアルを参照してください。
 - アップグレードしたシステムをシステム・ディスクからブートします。
 -  COM for OpenVMS をアップグレードします。この手順については, 第 4.10 節 を参照してください。
 -  Advanced Server for OpenVMS をインストールまたはアップグレードします。システム構成に応じて,0〜n 回リブートする必要があります。この手順については,『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照してください。
 - リブート時に起動するように TCP/IP を有効に設定した場合を除き, TCP/IP を起動します。この手順については,『DIGITAL TCP/IP Services for OpenVMS: Installation and Configuration』マニュアルまたは TCP/IP サプライヤのマニュアルを参照してください。
 - リブート時に起動するように OpenVMS Registry を有効に設定した場合を除き, OpenVMS Registry を起動します。この手順については, 
第 8.2 節 を参照してください。
 - DCE を実行する場合は,ここで DCE を起動します。
注意 
DCE を使用しなくても COM for OpenVMS を実行することはできますが,環境で DCE を使用する場合は,ここで起動してください。 
 | 
この手順については,『DIGITAL DCE Installation and Configuration Guide』を参照してください。 
OpenVMS 外部認証の詳細については, 第 4.8 節 を参照してください。
 -  Advanced Server for OpenVMS を構成します。 Advanced Server for OpenVMS の構成を終了するには,リブートしなければなりません。システム構成に応じて 0〜n 回リブートする必要があります。この手順については,『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照してください。
 -  Advanced Server for OpenVMS を起動します (リブート時にスタートアップするための設定)。この手順については,『日本語 Advanced Server for OpenVMS インストレーションおよび構成ガイド』を参照してください。
 - 次のコマンドを使用して,ACME サーバを起動します。
 
  $ @SYS$STARTUP:NTA$STARTUP_NT_ACME 
 
 | 
 - 次のコマンドを使用して,RPC を起動します。
 
  $ @SYS$STARTUP:DCE$RPC_STARTUP.COM 
 
 | 
 -  COM Version 1.0 for OpenVMS から COM Version 1.1 for OpenVMS へのアップグレードの詳細については, 
付録 D を参照してください。
 -  COM for OpenVMS を構成します。この手順については, 第 4.11 節 と 第 5.2 節 を参照してください。
-  OpenVMS Registry に情報を登録します。この手順については, 
第 5.2 節 を参照してください。 OpenVMS Registry データベースに情報を登録するには,オプション 3 を使用します。
 -  COM for OpenVMS Service Control Manager で必要な OpenVMS アカウントと Advanced Server for OpenVMS アカウントを作成します。詳細については, 第 5.2 節 を参照してください。アカウントを作成するには,オプション 8 を使用します。
 
 - 
SYLOGICALS.COMファイルに次の行を追加します。
 
  $ DEFINE DCOM$TO_BE_STARTED TRUE 
 
 | 
 -  COM for OpenVMS を起動します。この手順については, 第 4.12 節 を参照してください。