CICS 文書テンプレートまたは z/OS UNIX ファイルによる静的 HTTP 応答の提供

CICS® 文書テンプレートまたは z/OS® UNIX System Services ファイルを使用して、Web クライアントからの HTTP 要求に対して静的応答を提供することができます。

始める前に

CICS Web サポートの基本コンポーネントを構成します。詳しくは、 CICS Web サポート・コンポーネントの構成を参照してください。

このタスクについて

このタスクには CICS Web サポートの以下のコンポーネントが関連し、いくつかのサブタスクが含まれます。
  • TCPIPSERVICE リソース定義
  • URIMAP リソース定義
  • z/OS UNIX ファイル
  • CICS 文書テンプレートのサポート
  • セキュリティー機能
  • Web エラー・プログラム
図 1 は、この CICS Web サポート・タスクのアーキテクチャー・エレメントを示しています。 HTTP サーバーとしての CICS の HTTP 要求と応答の処理 では、プロセス・エレメントがどのように連携するかについて説明しています。
図1: 静的 HTTP 応答
静的 HTTP 応答。 使用されるエレメントについては、図の後の本文で説明しています。 図の前にリンクされているトピックで、それらがどのように連携しているかを説明しています。

手順

  1. この CICS Web サポート・タスクのセキュリティー問題を検討します。
    CICS は、接続の HTTP 基本認証を実装できます。この場合、ユーザーは ID とパスワードを指定する必要があります。 ユーザー ID を使用すると、アプリケーション生成の応答または静的応答に使用される個々のリソースへのアクセスを制御することができます。 インターネットで渡される情報 (基本認証に使用されるユーザー ID およびパスワードを含む) を保護する必要がある場合は、SSL (Secure Sockets Layer) を使用してください。 詳しくは、 CICS Web サポートのセキュリティーを参照してください。
  2. 応答を提供するために z/OS UNIX System Services ファイルを使用する場合は、そのファイルを作成し、 z/OS UNIX ファイル・システム内の適切な場所に配置します。
    Web クライアント要求に一致する URIMAP 定義によってこの応答が識別されると、 CICS はファイルを取得し、適切なコード・ページ変換を実行します。 次の点に注意してください。
    1. z/OS UNIX ファイルには、HTTP ヘッダーや状況表示行情報を含めないでください。
      CICS は、応答の送信時に必要な情報を生成します。 z/OS UNIX ファイルは、応答の本体のみを提供します。
    2. このタスクで後ほど説明するように、パスの突き合わせを使用する場合は、このファイルの場所が重要になります。 パスの突き合わせを使用しない場合は、このファイルの場所が要求の URL と関係を持つ必要はありません。
    3. CICS 領域は、 z/OS UNIX にアクセスする許可を持っている必要があり、ファイルとファイル自体が含まれているディレクトリーにアクセスする許可を持っている必要があります。
    4. Web クライアントのユーザー ID を使用してアクセス制御を実装している場合は、そのユーザー ID も、そのファイルを含むディレクトリーおよびそのファイルそのものへのアクセス権限が必要になります。
  3. CICS 文書テンプレートを使用して応答を提供する場合は、「 文書の作成」の説明に従って文書テンプレートを作成します。
    文書テンプレートは DOCTEMPLATE リソース定義を使用して定義されます。 文書テンプレートは、区分データ・セット、 CICS プログラム、ファイル、一時記憶域キュー、一時データ・キュー、出口プログラム、または z/OS UNIX System Services ファイルに保持できます。
    Web クライアント要求に一致する URIMAP 定義によってこの応答が識別されると、 CICS はテンプレートを使用して文書を作成し、文書を取得して、適切なコード・ページ変換を実行します。
    1. 文書テンプレートには HTTP ヘッダーまたは状況表示行情報は含めないでください。
      CICS は、応答の送信時に必要な情報を生成します。 文書テンプレートは、応答のボディを提供するだけです。
    2. 名前と値のペアで構成される照会ストリングをシンボル・リストとして使用して、文書テンプレート内で置き換えることができます。
      (照会ストリングが、URIMAP 定義の PATH 属性の一部としてすでに URIMAP の突き合わせに使用されている場合は、その照会ストリングをこのように使用することはできません。)
      URL 内の予期される形式の照会ストリングをクライアントが送信するようにするには、ユーザーが指定する HTML フォームを GET メソッドで送信します。
      照会ストリング内の任意の名前を記号として文書テンプレートにコーディングできます。テンプレートが使用される場合、 CICS は照会ストリングに指定された値を各記号で置換します。 例えば、名前と値のペア username=Peter を含む照会ストリングを取得した場合は、username をシンボルとしてコーディングして、この照会ストリングを文書テンプレートで使用することができます。
      Welcome to the finance system, &username;.
      
      この結果得られる、ユーザーに送達される静的応答は、以下のようになります。
      Welcome to the finance system, Peter.
      
      注: 文書テンプレート内の記号には大/小文字の区別があります。 名前は、元の照会ストリング内と同じ大/小文字を使用して指定してください。
      文書テンプレート内のシンボルに対応しない名前と値のペアはすべて無視されます。
    3. Web クライアントのユーザー ID を使用してリソース・レベルのセキュリティーを実装している場合は、そのユーザー ID には、文書テンプレートへのアクセス権が必要になります。
      CICS Web サポートのCICS システムおよびリソースのセキュリティーを参照してください。 文書テンプレートが z/OS UNIX System Services ファイルの場合、Web クライアントにはそのファイルに対する許可を与える必要はなく、DOCTEMPLATE リソース定義に対してのみ許可を与える必要があることに注意してください。
  4. z/OS UNIX ファイルまたは CICS 文書テンプレートによって提供されるメディア・タイプ (データ内容のタイプ) を識別します。
    URL の構成要素を参照してください。
    URIMAP 定義を使用して静的応答を送信する場合は、品質係数 (「q」パラメーター) の使用はサポートされていないので注意してください。 品質係数を使用して、Accept ヘッダーで指定されている許容メディア・タイプまたは文字セットのクライアント・リストの中から選択します。 このタイプの分析を行う場合は、代わりにアプリケーション生成応答を使用できます。
  5. CICS が静的応答のコード・ページ変換に必要とする情報を識別します。
    コード・ページ変換は、テキスト・メディア・タイプが指定されている場合のみ実行されます。 CICS Web サポートのコード・ページ変換を参照してください。
    1. CICS が静的応答を Web クライアントに送信する前に変換する文字セットを識別します。
      HTML コード化文字セット は、コード・ページ変換のために CICS によってサポートされる IANA 文字セットをリストしたものです。
    2. 文書テンプレートまたは応答本文を提供する z/OS UNIX ファイルがエンコードされている IBM® コード・ページ (EBCDIC) を識別します。
    静的応答の場合、この情報はその要求の URIMAP 定義で指定されています。
  6. Web クライアントが各要求に使用する URL を、スキーム、ホストとパス・コンポーネント、および任意の照会ストリングを含めて決定します。
    URL の構成要素を参照してください。 CICS Web サポートの URL では、URL を選択する際に考慮すべき要因と制限事項について説明しています。
  7. URIMAP 定義でパス・マッチングを使用する場合は、要求 URL を計画し、 CICS 文書テンプレートの名前、またはそれをサポートする z/OS UNIX ファイルの場所を調整します。
    パス・マッチングでは、URIMAP 定義のパス・コンポーネント、および URIMAP 定義によって指定される CICS 文書テンプレートまたは z/OS UNIX ファイルの名前でワイルドカード文字が使用されます。 ワイルドカード文字によってカバーされるパスの部分は、応答を提供する文書テンプレートまたは z/OS UNIX ファイルを選択するために使用されます。
    1. CICS 文書テンプレートの場合、ワイルドカード文字によってカバーされるパスの部分が、テンプレート名の最後の部分として置換されます。 名前が同じように始まる文書テンプレートのコレクションを作成し、単一の URIMAP 定義を使用して、パスが同じように始まる要求 URL を使用してそれらの文書テンプレートにアクセスできます。
    2. z/OS UNIX ファイルの場合、ワイルドカード文字によってカバーされるパスの部分は、ファイル名の最後の部分として置換されます。 同一ディレクトリーにこれらのファイルを多数保管し、単一の URIMAP 定義を使用して、パスが同じように始まる要求 URL を使用してそれらのファイルにアクセスできます。
      URIMAP 定義ではデータ内容のタイプ (MEDIATYPE 属性) を指定する必要があるため、単一の URIMAP 定義で処理できるのは、同じタイプのデータ内容を生成する z/OS UNIX ファイルのグループのみであることに注意してください。
  8. 要求に使用されるポートを決定します。次を参照してください。
    HTTP の場合のデフォルトのポート番号は 80 で、HTTPS (SSL を使用) の場合のデフォルトのポート番号は 443 です。 スキームのデフォルト以外のポート番号は、要求の URL で明示的に指定されます。
    必要に応じて、 CICS Web サポートに関連付けられている任意のポートを使用する要求を許可することができます。
  9. 要求を受信するポートの TCPIPSERVICE 定義がまだない場合は、 CICS Web サポートの TCPIPSERVICE リソース定義の作成の手順に従ってください。
    この定義を使用して、ポートに対して選択したセキュリティー手段 (例えば SSL および基本認証を使用する) を指定します。
    関連する TCPIPSERVICE 定義の名前は、要求の URIMAP 定義で指定されます。 TCPIPSERVICE 定義を指定しなかった場合、URIMAP 定義に一致した要求は、TCPIPSERVICE 定義が存在している任意のポートを使用することができます。
  10. 各要求を処理するための URIMAP 定義をセットアップします。 HTTP サーバーとしての CICS 用の URIMAP リソースの作成の手順に従ってください。
    URIMAP 定義は、 z/OS UNIX ファイルまたは文書テンプレートのいずれかを識別できます。
  11. この CICS Web サポート・タスクのエラー処理手順を確認してください。
    1. 要求が受信されるポートの TCPIPSERVICE 定義に関連付けられているアナライザー・プログラムの動作を確認します。 要求に対して URIMAP の突き合わせが失敗した場合、その要求はアナライザー・プログラムに渡されます。
      ポートが静的応答にのみ使用されている場合は、CICS 提供のデフォルトのアナライザー・プログラム DFHWBAAX は、適切なエラー処理を行います。 ポートが静的応答以外にも使用されている場合は、 アナライザー・プログラムの選択 は、ユーザー・アプリケーション・プログラムの要件に応じたものになる可能性があります。 静的応答に対して適切なエラー処理を提供するようにアナライザー・プログラムのカスタマイズを 行うことが必要な場合もあります。 アナライザー・プログラムを参照してください。
    2. アーキテクチャーに含まれている、ユーザーによる置換が可能な Web エラー・プログラムが Web クライアントに適切な応答を提供することを確認します。