紹介

本章では、OpenFrame OSIアプリケーション・プログラムの概念と特徴的な構造について説明します。

1. 概要

開発者は、OpenFrame OSI(以下、OSI)システムで運用される新しいアプリケーションを開発するか、既存のIMS/DCで運用していたアプリケーションをマイグレーションしてトランザクション・サービスを構成することができます。OSIシステムで提供されるほとんどのリソースは、IMS/DCが提供する機能やサービスを同様に提供しています。

OSIプログラミングは、DL/I関数に基づいて各関数の機能を組み合わせて業務プログラムを構成します。DL/I関数の種類と機能の詳細については、アプリケーション・インターフェースを参照してください。

2. データベース

IMS/DCシステムが使用するデータベースは、階層型データベース管理システムであり、クライアントの業務データを構造的に保存および管理します。このデータベースは、IMS/DBと呼ばれており、IMS/DCで実行されるアプリケーション、または純粋なバッチ・アプリケーションがこのIMS/DBにアクセスするには、標準DL/I関数を呼び出す必要があります。

アプリケーションは、各プログラミング言語が提供する標準アプリケーション・インターフェースであるDL/Iを介して標準DL/I関数を使用することができます。

OSIでは、UNIXでデータベース構造を再実装し、OpenFrame HiDBと連携してIMS/DCと同じ機能を提供します。

3. データ通信

IMS/DCは、ユーザーが端末を介してアプリケーションが処理したデータの結果を確認できるように、システム・サーバー(制御領域)とユーザー・サーバー(従属領域)を提供します。

OSIは、Tmaxとの連携を通じてIMS/DCの機能を提供し、トランザクションを効率的に処理します。また、IMS/DCで運用中のクライアントのプログラムをOSIでも同様に運用できるよう、IMS/DCで提供するDL/Iインターフェースと同じインターフェースを提供します。

DL/Iインターフェースを使用して、ユーザー・サーバー(従属領域)のMPP、BMPで実行されるユーザー・プログラムを簡単にマイグレーションし、OSIで実行することができます。

4. アプリケーション

OSIは、IMS/DCで実行されていたアプリケーションをIMS/DCでも実行できるように、IMS/DCと同じ機能と基盤構造を提供しています。

IMS/DCアプリケーションは、非IMS/DCアプリケーションと違って、PSB(プログラム仕様ブロック)が必要です。PSBは、IMSがアプリケーションに提供するサービスを実行するためのインターフェースとして機能します。これらのサービスには、メッセージを端末に送信する方法、データベースにアクセスする方法、IMSコマンド、IMSサービス呼び出しが含まれます。OSIアプリケーションは、PSBを介してIMSサービスを実行する方法を決定できます。

PSBとアプリケーションは、OSIシステムによって同時にロードされます。OSIの実行モジュールは、アプリケーション内で実行される呼び出し関数を使用して、アプリケーションが要求する機能を実行します。各MPPアプリケーションは、MPPタイプのユーザー・サーバーを通じてOSI機能(DL/I呼び出し関数、コマンドなど)を実行することができます。そのため、必要なシステム定義が事前に登録されている必要があります。システムは、IMS/DCが使用したシステム・マクロを使用して定義できます。

バッチ・アプリケーションは、上記の場合とは異なる方法で実行されます。OSIシステムでバッチ・アプリケーションを実行するには、BMP(Batch Message Processing Region)サーバーが必要です。このサーバーは、バッチJOB(JCL開始)を介して要求されるアプリケーションの関数を処理できます。

アプリケーションを作成する際、ENTRY文にプログラムで使用するPCBを定義します。その定義されたPCBを通じてOSIシステムの機能を使用できます。PCBは、アプリケーションで使用されるOpenFrame HiDBに関するビューやメッセージ・ソース、またはメッセージ宛先と通信するためにシステムが提供する制御ブロックです。OSIではPCBを400個まで使用できます。

以下は、アプリケーションのPCBについての説明です。

  • Database Program Control Block (DB-PCB)

    データベースに格納されている情報をアプリケーションが読み取る方法について説明します。同じデータベースでも、DB-PCBでの記述方法に応じて異なる方法で読み取ることができます。

  • IO Program Control Block (IO-PCB)

    OSIは基本的に端末を使用して動作します。オンラインで実行されるアプリケーションにはIO-PCBが必要です。

  • Alternative Program Control Block (ALT-PCB)

    アプリケーション内で他のプログラムまたは端末にメッセージを送信する場合は、ALT-PCBを使用します。ALT-PCBは、宛先を変更して使用できます。

PSBとDBDの構文については、OpenFrame HIDB『HiDBガイド』を参照してください。

以下の図は、アプリケーションの一般的な動作フローを示します。

figure 1 1
アプリケーションの動作フロー