z/OSMF速習：アーキテクチャ、拡張プラグイン、REST APIを理解する

## はじめに
z/OS Management Facility (z/OSMF) について、概要を把握したいというメインフレームエンジニアの方々に向けて、本記事では [z/OSMF Guild Session 1 Recording](https://community.ibm.com/community/user/ibmz-and-linuxone/viewdocument/zosmf-guild-session-1-recording?CommunityKey=1ca674e5-aada-4194-a16e-059cafe7b807&tab=librarydocuments "z/OSMF Guild Session 1 Recording - IBM Z and LinuxONE Community") を基に、z/OSMF の主要機能を簡単に解説します。

本記事は、動画の内容を日本語で要約し、私なりの解釈を加えています。IBMによる公式な見解ではない点にご留意いただき、正確な情報については引用元動画をご確認ください。

本記事で扱う内容は下記の通りです。
•	z/OSMFの概要
•	z/OSMFのアーキテクチャと構成要素
•	z/OSMF Desktop UIによる操作
•	z/OSMFの拡張機能・プラグイン
•	z/OSMFのRESTful API
•	Ansibleとの連携

各機能の具体的な使用方法や詳細な設定方法については、別途解説記事を用意する予定です。




## z/OSMFとは？
z/OS Management Facility (z/OSMF) は、z/OS の管理をWeb ブラウザー・ベースのユーザー・インターフェースで行うことができる製品です。z/OS の管理を簡略化し、モダナイズすることを目的として開発されました。

z/OS V2R2 以降、z/OSMF は z/OS オペレーティングシステムの一部となり、個別注文の必要がなくなり、全ての z/OS システムに標準搭載されています。

z/OS V2R3 では、システムIPL(初期プログラムロード)時に z/OSMF が自動的に起動する機能が追加されました。これは、IBM やベンダーが提供する多くの z/OS 機能が z/OSMF に依存するようになったためです。 z/OSMF は追加する個別製品ではなく、z/OS システム管理の中核を担う欠かせない製品と言えます。



## z/OSMFのアーキテクチャと構成要素
z/OSMF は、z/OS システム上に専用のサーバーを起動することで機能します。このサーバーはカスタマイズされた軽量な WebSphere Liberty サーバーであり、z/OSMF の中核を担っています。 z/OSMF REST API はこのサーバー内で動作し、z/OS の様々な構成要素と連携することで、z/OS の管理が可能になります。

![20250325_ZOSMF_動画1個目_翻訳_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/d0f7d03d-59cd-4abc-ac24-6f4aa6df5dab.png)

z/OSMF REST API を使用するためのユーザーインターフェースを2つ紹介します。

代表的なものは、ブラウザ上で動作する z/OSMF Web UI です。動作のためのコードは z/OS 側にインストールされており、ブラウザで z/OSMF の URL を開くと、HTTPS 通信を介してブラウザにロードされます。そのため、ユーザー側で専用のクライアントアプリケーションをインストールする必要はありません。

2つ目に紹介するのは Zowe です。 Zowe は、REST API や Zowe コマンドを通じて、内部でz/OSMF REST API を活用しています。 Zowe 以外にも、多くのユーザーやベンダーが z/OSMF REST API を利用した独自のプログラムを開発しており、分散プラットフォームから z/OS を操作することが可能になっています。

さらに、近年 z/OSMF Ansible Collection が追加されました。この Ansible Collection を使用することで、Ansible ユーザーは z/OSMF REST API をより簡単に利用することができるようになりました。


## z/OSMF Desktop UIによる操作
z/OSMF は、GUIのデスクトップ環境を提供します。デスクトップ上にはアイコンが表示され、下部にはタスクバーがあり、複数のウィンドウを開いてマルチタスクを行うことができます。

![20250325_ZOSMF_動画1個目_翻訳_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/8ab763d9-9b9d-45ec-ad1a-0a97041e4579.png)


### データセット・USSファイル操作
タスクバーの検索アイコンをクリックするだけで、データセットやUSS (UNIX System Services) ファイルを簡単に検索できます。

z/OSMF のエディタは VSCode のようなモダンなエディタで、検索・置換機能も備えています。さらに右クリックメニューから様々な操作が可能です。 JCL、Rexx スクリプト、シェルスクリプト、XML の構文ハイライトにも対応しています。複数のウィンドウを開いて、複数のデータセットを同時に操作できます。

### データセットの作成
z/OSMF では、既存のデータセットの情報に基づいて新しいデータセットを作成できます。この機能により、新しいデータセット名を入力するだけで、既存データセットの属性を継承したデータセットを作成できます。手動で全てのフィールドを入力する必要はありません。

また、データセットテンプレートが用意されており、テンプレートを利用することで必要なフィールドが自動的に入力されます。さらに、独自のデータセットテンプレートを作成・共有することも可能で、データセットを作成する作業を効率化できます。

![20250325_ZOSMF_動画1個目_翻訳_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/1d4ae7d1-ea5a-4f17-bcec-b8a75493418f.png)


### ショートカットとジョブの実行
データセットや USS ファイルへのショートカットを作成し、デスクトップからダブルクリックで開くことができます。

JCL をサブミットすると、ジョブスプールの情報が別のウィンドウに表示されます。このウィンドウもエディタと同じ機能を持つため、単語検索などが可能です。

データセットや USS ファイルを操作する際に、ファイル内にデータセット名や USS ファイルパスが参照されている場合、クリック可能なリンクとして表示されます。リンクをクリックすると、参照先のデータセットや USS ファイルの内容を確認できる別のウィンドウが開きます。

![20250325_ZOSMF_動画1個目_翻訳_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/a4a86e50-79bd-415b-a316-bca39ba290d6.png)


## z/OSMFの拡張機能とプラグイン
プラグインと呼ばれる拡張機能を導入することで、データセット関連以外のz/OSの機能もz/OSMF上で実行でき、z/OSの管理を効率化できます。ここでは、主要なプラグインとその機能について解説します。

### 通知プラグイン
z/OSユーザーや、ワークフローなどのz/OSMFプラグインから通知を受け取ることができます。ワークフローでは、複数のユーザー間での共同作業が必要になる場合があり、通知機能によって担当者に必要な情報を伝えることができます。通知はz/OSMF上の画面またはメールで受信できます。

![20250325_ZOSMF_動画1個目_翻訳_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/0210bba3-383d-4ae4-9ac0-7078d19bcaca.png)

### ワークフロー・プラグイン
ワークフローはz/OSMFの最も重要なプラグインでz/OSタスクを効率化することができます。

![20250325_ZOSMF_動画1個目_翻訳_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/1f12c94e-802a-45f9-9dae-6b138fd5dfb0.png)

ワークフロー・プラグインの上部には、ワークフローインスタンスの情報（進捗状況、所有者、ターゲットシステムなど）が表示されます。

ワークフローは手動または自動で実行でき、バッチジョブ、Rexxスクリプト、シェルスクリプト、REST APIなどを操作できます。これらのプログラムやツールはワークフローUIから簡単に操作でき、実行されたアクティビティの履歴とジョブ出力は記録され保存されます。ワークフローは印刷可能な形式（通常はHTML）にエクスポートしてオフラインで参照することも可能です。

#### ワークフローの使用例:
- z/OSのバージョンアップ
- ZCX (z/OS Container Extensions) イメージのプロビジョニング/デプロビジョニング
- Db2のバージョンアップ、Db2データベース/スキーマのプロビジョニング
- ミドルウェアのプロビジョニング

ワークフロー定義は、ワークフローエディタータスクを使用してGUIから作成・更新できます。ステップライブラリ機能を活用し、他のユーザーとワークフローステップについて共同作業することも可能です。

![20250325_ZOSMF_動画1個目_翻訳_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/82a4c8ae-5588-4a8b-8554-daf37e3e9d34.png)



Zoraというコミュニティサイトでは、他のユーザーが作成した既存のワークフロー定義をダウンロードしたり、独自の新しいワークフロー定義を作成・共有したりできます。


### ネットワーク構成プラグイン
z/OS Communication Server のTCP/IPポリシーの設定などを実行できます。

![20250325_ZOSMF_動画1個目_翻訳_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/dfdc8132-441a-4f4c-9f57-32e09988b805.png)


### z/OS Encryption Readiness Technology (zERT) プラグイン
zERTプラグインは、システムZの暗号化準備状況をテーブル形式で表示します。これにより、システム内でまだ保護されていないデータセットを容易に把握できます。zERTは、z/OS通信サブシステム（TCP/IPスタック）を通じて暗号化と認証に関する情報を収集し、ネットワーク通信の保護状況を詳細に記録・報告するツールです。

![20250325_ZOSMF_動画1個目_翻訳_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/7f5846b2-9d35-4682-aed9-d11c49adf523.png)


### セキュリティ構成アシスタントプラグイン
セキュリティ構成アシスタントプラグインでは、グラフィカルなインターフェースで製品や機能ごとに必要なセキュリティ要件を表示・検証することができます。RACF など、SAF ベースのあらゆるセキュリティ製品で利用可能です。このプラグインを使用することで、セキュリティ設定の確認と管理が効率化されます。

![20250325_ZOSMF_動画1個目_翻訳_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/9e9c0551-7b1f-47f9-9dbc-456b19f75d6b.png)


### z/OS オペレーター・コンソール・プラグイン
グラフ表示により、特定の時間に出力されたメッセージ量を視覚的に確認できます。ソート、フィルター、色分けによるフィルタリング機能もあります。任意のメッセージIDにマウスを合わせると、ヘルプにメッセージ内容が自動的に表示される機能もありメッセージ内容を理解しやすくなっています。

![20250325_ZOSMF_動画1個目_翻訳_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/d09c505b-0d60-4e43-b72e-4383853ef5a2.png)


### SDSFプラグイン
SDSFの情報をグラフィックビューとテーブルベースのビューで表示します。

![20250325_ZOSMF_動画1個目_翻訳_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/5afeb0fe-1664-4e56-b757-50f990f88b2e.png)

### Web ISPFプラグイン
他のz/OSMFプラグインで実行できないタスクを、Web ISPF内で実行できます。複数のISPFウィンドウを同時に操作できます。

![20250325_ZOSMF_動画1個目_翻訳_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/03b8b060-d2bb-41c8-8977-7d4c646fb1e1.png)

### Workload Manager (WLM) プラグイン
テーブルベースのビューからWLMサービス定義を操作することができます。

![20250325_ZOSMF_動画1個目_翻訳_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/3f48adf6-0721-4d4d-b469-cc479761460a.png)

### Resource Monitoring Facility (RMF) プラグイン
数種類のダッシュボードからパフォーマンス結果をモニタリングすることができます。パフォーマンスダッシュボードをカスタマイズして作成することも可能です。z/OSMF WLMプラグインはパフォーマンスを定義する場所で、z/OSMF RMFプラグインはパフォーマンス結果をモニタリングする場所なので、両プラグイン間にはスムーズに画面を切り替えるためのリンクが実装されています。

![20250325_ZOSMF_動画1個目_翻訳_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/898b3ffa-e1a0-4638-8b3a-8111dbcd2e63.png)

### キャパシティ・プロビジョニング・プラグイン
CPUリソースを動的にプロビジョニングまたはデプロイジョニングする場合、このプラグインを使用してポリシーを管理、インストール、およびアクティブ化できます。

![20250325_ZOSMF_動画1個目_翻訳_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/8b216b0c-b5db-49d6-a373-cf23681d15f7.png)


### インシデント・ログ・プラグイン
z/OS側でダンプが発生すると、インシデント・ログ・プラグインは自動的に必要な診断データを収集し、メインテーブルに新しいエントリを作成します。診断データの確認、パッケージ化、IBMサポートチームへの送信を支援するウィザードやジョブテンプレートも利用できます。複数のシスプレックスにわたるインシデントの一元管理も可能です。

![20250325_ZOSMF_動画1個目_翻訳_17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/56a45f83-7a28-4df4-9216-b3f42e4e1ce1.png)


### ソフトウェアマネジメントプラグイン
z/OS V2R5以降、ソフトウェアのインストールにはソフトウェアマネジメントプラグインの使用が推奨されています。また、ソフトウェア・アップデート・プラグインはPTF適用のベストプラクティスを実装し、ソフトウェアメンテナンスを効率化します。

![20250325_ZOSMF_動画1個目_翻訳_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/a05bdf27-b6ad-46e7-9a07-2b5309179444.png)
![20250325_ZOSMF_動画1個目_翻訳_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/7431fe78-8b0d-492e-ae0f-2d7a04dd05df.png)

### シスプレックス・マネジメント・プラグイン
構成やネットワークなどをグラフィカルなインターフェースで管理できます。CFRMポリシーの編集も可能です。

![20250325_ZOSMF_動画1個目_翻訳_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/59f0829b-9047-4784-a0fe-37960c599d1a.png)

### ストレージ・マネジメント・プラグイン
DFSMS をテーブルビューで管理できます。

![20250325_ZOSMF_動画1個目_翻訳_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/fa198ec7-b5a4-4458-8f7f-7fef032b7900.png)

### クラウド・プロビジョニング・プラグイン
ミドルウェアインスタンスの作成と削除が可能です。サービステンプレートを作成・公開することで、アプリケーション開発者が他のクラウドサービスと同様にミドルウェアインスタンスを利用できます。サービステンプレートは、汎用的な設計テンプレートであり、必要な設定や構成を定義できます。アプリケーション開発者はこのテンプレートを使用して、各自の用途に合ったインスタンスを作成・利用できます。これにより、開発者が必要なリソースを簡単に利用できるようになります。

![20250325_ZOSMF_動画1個目_翻訳_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/e47dd04a-7b42-4b87-8a8e-92c1387b6763.png)


## z/OSMF の RESTful API
z/OSMF の多くのプラグインは、内部で z/OSMF REST API を利用して動作しています。この REST API は公開されており、z/OSMF サーバーに認証さえできれば誰でも利用可能です。

![20250325_ZOSMF_動画1個目_翻訳_23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4030603/894fcd9e-23b6-4a86-bb64-2bed59bb198d.png)


## Ansible との連携
z/OSMF は、Ansible と連携することでワークフローとクラウドプロビジョニングの管理を自動化できるようになりました。Ansibleのインターフェースで操作できるというだけでなく、Ansible を使用することで初めて実現できる機能もあります。

例えば、現在z/OSMF内のワークフローやクラウドプロビジョニングではサポートされていないスケジューリング機能が Ansible を利用することで実現できます。

## まとめ
z/OS Management Facility (z/OSMF) は、z/OS の管理をWeb ブラウザー・ベースのユーザー・インターフェースで行うことができる製品です。この記事では、 [z/OSMF Guild Session 1 Recording](https://community.ibm.com/community/user/ibmz-and-linuxone/viewdocument/zosmf-guild-session-1-recording?CommunityKey=1ca674e5-aada-4194-a16e-059cafe7b807&tab=librarydocuments "z/OSMF Guild Session 1 Recording - IBM Z and LinuxONE Community")  を基に、z/OSMF の主要機能を簡単に解説しました。内容は、z/OSMF の概要、アーキテクチャ、Desktop UI、拡張機能・プラグイン、RESTful API、そして Ansible との連携についてでした。

本記事は動画の内容を日本語で要約し、私なりの解釈を加えたものであり、IBM による公式な見解ではない点にご留意ください。正確な情報については、引用元動画をご確認ください。

各機能の具体的な使用方法や詳細な設定方法については、別途解説記事を用意する予定です。

以上になります。ありがとうございました。