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 節 を参照してください。