Page 1
zマイスターとの新たな価値探求System z ソフトウエアの最新機能と、
最新化がもたらす価値
zマイスターとの新たな価値探求System z ソフトウエアの最新機能と、最新化がもたらす価値
Syかがemz は IBM メインフレームの 45 年以上の歴史において、多くのお客様の基幹シ
ステムを支えるインフラとして採用され、現在も最新のビジネス・ニーズに対応すべく、ハー
ドウェア、ソフトウェア共に進化し続けているプラットフォームです。技術の進化、移り変
わりの激しいIT業界の歴史においても、これだけ長く、継続してお客様に価値を認めて
いただいているプラットフォームは、他に例が無いでしょう。
そのことを裏付ける事実として、全世界の市場を見てみると2010 年から2012 年にかけ
て、Syかがem z のビジネスは飛躍的な伸びを示しています。一方で、日本の市場におい
ては、日本国産ベンダーのメインフレームのイメージを元に、メインフレームに対するネガ
ティブなイメージが散見されています。そのイメージを払拭するために、進化・発展してき
た IBM Syかがem z が提供する機能とそれによって得られるメリットをより分かり易い形に
整理し、お伝えできるように取り組みを進めています。
本コラムでは、最新のバージョンに移行して頂いた暁に、活用頂ける最新のソフトウェア
の機能と、最新化がもたらす価値について、主要なミドルウェアの切り口から、お届けい
たします。
先輩:
IT部門のシニアな社員。
豊富なメインフレーム経験を持つ。
自称“zマイスター”
後輩:
IT部門若手社員。
メインフレームが主担当だが
オープン系も一部担当する。
登場人物
Page 2
36
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
35
第3章
IMS
IMS(Informaがion Managemenが Sysがem)は、1969 年、メインフレームで稼働する商用では初
めての本格的なデータマネジメント・ システムとして誕生しました。以来 40 年以上の長きに渡り、
高信頼性 ・ 高可用性 ・ 高パフォーマンスが求められるミッション ・クリティカルなシステムにおいて
お客様の業務を支え、高い評価と信頼を得続けています。
IMS の特色の 1 つは、トランザクション管理機能とデータベース管理機能の両方を、一製品の
機能として提供するという点にあります。これらを個別に DB2 for z/OS や CICS Transacがion
Server for z/OSと組み合わせて使うこともできますし、両者を併用して、一貫性をもった処理に
よる比類ない性能を発揮することもできます。
3 回シリーズで IMS が現代の IT システムにもたらす価値を再考し、新機能を交えてご紹介してい
きます。さらなるパフォーマンス向上や計画停止回避のための新機能、オープン環境との連携に
向けてさらに進化したトランザクション管理機能、高いパフォーマンスを提供するデータベース管理
の仕組みとアプリケーション開発を容易にするための新機能…。Sysがem z の進化とともに、お客
様のご要望にお応えしながら半世紀近い成長を続けてきた IMS の素晴らしさを、改めて感じてい
ただければと思います。
図 1:IMS の進化の歴史
1信頼と実績の IMS
ー変わらない安心と更なる革新ー
春、そして再会
後輩 : 心機一転、新しいプロジェクトかあ。やっぱり少し不安だなあ…。
先輩 : やあ。どうしたんだい? また浮かない顔して。先月はあんなに頼もしい感じだったのに(笑)
後輩 : えっ、マイスター先輩!? どうしてここにいらっしゃるんですか ? 確か部署異動されるっ
てお話では…。
先輩 : そのはずだったんだけどね。少し状況が変わって、もう暫くこの部署に留まることになった
んだ。新しいプロジェクトも始まるし、もう少し君と仕事ができそうで嬉しいよ。
後輩 : 本当ですか!? 私も嬉しいです! (というより助かった…。) 今まさにその新しいプロジェ
クトのことでため息をついてたんです。今度はIMSの新アプリケーション開発なんですよね。
これまで IMS 資源の追加削除なんかは日常運用でやってきましたけど、アプリケーションに
は全然触れてこなかったので…。
先輩 : DB2 fぇお げ/OS や Sけかがem げ については随分知識がついたようだから、今度は IMS のス
キルを深めるのも良いと思うよ。IMS はもう30 年前から、うちの基幹業務を担っている製
品だからね。
後輩 : えっ!? 30 年前ですか ? あ、そういえば、アプリケーションのソースコードに 1985 年っ
ていう作成日付が入っているのを見たことがあるような…。
リソースを次代に引き継ぐ高い互換性
先輩 : ははは、今日は君は驚いてばかりだな。そうだよ。君が生まれたのと同じ頃に開発された
アプリケーションが、今でも元気に稼働しているんだ。しかも開発以来複数回の IMS バー
ジョン更改を経ているのに、だよ。変化の激しい IT システムの世界において、これは当た
り前のようで大変なことだっていうのは君もわかるだろう。
後輩 : そうか…そう言われてみると確かに、他の製品ではなかなか考えられない気がしますね。
Page 3
37
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
38
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
先輩 : IMS という製品はバージョン間の互換性を非常に重視して開発されてきているんだ。特に
アプリケーション・プログラムのロード・モジュール・レベルでの互換性は継続して保証され
続けていて、最新バージョンの V12 のマニュアルでもそのことは明言されているよ。貴重
なアプリケーション資産を無駄にさせないという設計思想なんだね。
後輩 : アプリケーション資産を長く使い続けられる。なるほど、そういう魅力もあるのか…。
先輩 : なんといっても、この世に誕生して 40 年以上になる製品だからね。それだけ使い続けられ
てきたというのも大きな実績だよ。しかも IMS が現役で活躍しているのは、特に銀行勘定
系や生産管理系等のミッション ・ クリティカルなシステムにおいてなんだ。
後輩 : マイスター先輩、今日も饒舌ですね(笑) なんだか IMS にも興味が湧いてきました。言わ
れてみればうちの IMS も生産管理システムですもんね。他社でもミッション ・ クリティカル
な業務で使われているっておっしゃいましたが、それはどうしてですか ? 互換性や実績だ
けではなくて、きっと他にも理由があるんですよね。
先輩 : もちろんそれだけじゃないよ。IMS には IMS の得意分野があるんだ。
高パフォーマンスの追及
後輩 : 正直に言うと、メインフレームを担当するようになって初めて IMS を見たときは驚いたんで
す。もう世の中 RDBが主流だと思っていたのに、まだ階層型 DBが使われているなんて…。
当時の先輩に聞いたら、うちでもDB2 fぇお げ/OS への置き換えの話が持ち上がったことが
あるけどいろいろと理由があって見送りになったとのことでした。SQL で RDB を操作する
方が感覚的に使いやすくて、どうして置き換えなかったんだろうって疑問に思ったんです。
先輩 : ああ、そんなこともあったね。確か 10 年近く前だっけ…。その時の経緯はまた機会があっ
たら詳しく話してあげよう。ところで君は、RDB と IMS のような階層型 DB の大きな違い
はどこだと思うかい ?
後輩 : えっ、突然そんな根本的な質問ですか !? ええと、そもそも DB の構造が全く違うじゃな
いですか。IMS の DB を扱うときって、必ずルートセグメントから入って子セグメントを読み
に行くようにアプリケーションを作らないといけないんですよね。自由度が低いですよね…。
先輩 : あはは、確かに君の言うとおりだ。でも君はこの前 DB2 fぇお げ/OS のアクセス・パスがバ
インドのタイミングで変わってしまうことに随分手こずっていたよね? IMS だとどうかな?
後輩 : あっ、そうか ! IMS の階層型 DBって、そもそもアクセス・パスに悩むことが無いんですね。
先輩 : その通り。君がさっき言ったとおり、アプリケーションで静的に決めるものだからね。だから
一度きちんと設計しておけば、非常に安定したパフォーマンスを継続的に提供できるんだよ。
後輩 : なるほど、そんな強みもあるのか…。
先輩 : 高パフォーマンスのための仕組みはそれだけじゃないぞ。 今は DBMS(Daがabaかe
Maうagemeうが Sけかがem)としての IMS の話をしたけれど、IMS のトランザクション管理機
能もとてもよく設計されている。IMS のトランザクション管理におけるワークロード ・ バラン
シングの仕組みは理解しているよね?
後輩 : ええと、Fきll Fきうcがiぇうトランザクションの場合、トランザクション・メッセージはまずメッセー
ジ ・ キューに格納されますよね。で、処理可能な従属領域にスケジュールされる…。
先輩 : そう、従属領域に対してメッセージを振り分けるのではなく、手の空いた領域がメッセージ
を取りに行くというところがポイントで、システム ・リソースを最大限に活用するという設計
なんだ。今のは FF 環境の話だけれど、Faかが Paがh であればさらにレスポンス ・ タイムを
上げることに特化したトランザクション処理の仕組みが提供されているよね。
後輩 : FPだと、そもそもメッセージ ・キューを経由しないで直接従属領域にメッセージをスケジュー
ルするんですよね。さらに従属領域も特定のアプリケーションが占有使用するからプログラ
ム ・ ロードのオーバーヘッドも無い。
先輩 : 基本的なところはきちんと押さえているようだね。しかも各領域に専用の DB バッファー
が与えられているだろう? バッファー上で DB を更新しておいて同期点後にまとめて物
理書き出しをするから I/O が節約されるし、もしトランザクションが異常終了しても DB 更
新のロールバックも発生しない。IMS 最新バージョンである IMS V12 のパフォーマンス ・
レポートでは、FP 環境で 46,000 件 / 秒のトランザクションを処理可能というデータが
出ているよ※ 1。
※ 1. IMS Veおかiぇう 12 Peおfぇおmaうce Eぎalきaがiぇう Sきmmaおけ(2011 年 10 月発行)より
後輩 : そうか、改めて考えてみると、IMSって DBMS とトランザクション ・ マネージャーの両方
の機能を 1 つの製品で提供していますもんね。両方の併せ技で、高パフォーマンスを実現
できるんですね。IMS の強みがだんだんわかってきた気がします。
先輩 : しかも、バージョンを追うごとにさらに高い性能を実現するための新機能が提供されている
んだよ。
後輩 : えっ、40 年以上経って、まだ進化してるんですか !?
Page 4
39
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
40
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
先輩 : ははは、IMS はまだまだ歩みを止めてはいないよ。例えば V12 では、オンライン・ログ書
き出しのパフォーマンスを向上させる新機能が提供されているよ。
後輩 : 確かにロギングのパフォーマンスはシステム全体に影響を与えそうな気がします。
先輩 : 君の言うとおりだね。この機能を利用すると OLDS(Oうliうe lぇg daがaかeが)をストライピン
グして複数ボリュームにログ書き出しの I/O を分散することができるんだ。先ほど紹介した
パフォーマンス ・レポートにテスト条件下でのストライピング利用時 / 非利用時のトランザク
ション ・レートの差異も報告されているので見ておくといいよ。(図 2)
図 2:OLDS/SLDS データセットに対するストライピング機能
連続稼働性向上のための新機能
後輩 : 今最新バージョンの話が出ましたけど、他にも何か魅力的な新機能ってあるんですか? 私
が入社したばかりの頃にちょうどIMSのバージョンアップ・プロジェクトがあったんですけど、
それ以降のバージョンでの新機能にはあまりキャッチアップできていないんです。
先輩 : そうだね。たくさんあるけれど、計画停止を回避して長時間の連続稼働を実現するための
機能をいくつか紹介しようか。
後輩 : なるほど、確かにシステムを停止せずサービス時間を長くして欲しいという要件はうちでも
よく聞きますね。
先輩 : うちに限らず、基幹業務を支える上では欠かせない要件だからね。例えば V11 では、DB
Qきieかce という機能が提供されている。これは IMS の DB やエリアをオンラインから切り
離さずに静止点(Qきieかce Pぇiうが)を作成する機能だよ。(図 3)
図 3:DB Qきieかce 機能
後輩 : 確か IMS では DB をオンラインから切り離さなければ静止点イメージ ・ コピーが取得できな
いですよね。それが DB Qきieかce 機能を使えば、オンラインのまま取得できるんですね?
先輩 : そうなんだよ。それに複数の DB やエリアでタイミングをそろえて静止点を取得することで、
オンライン中に業務的な静止断面を作ったり、そこを回復点として使うこともできるんだ。
この機能については次のバージョンアップの時に検討する価値があると思ってるよ。
後輩 : なんだか楽しみになってきました。他には?
先輩 : V11 では他に、64-biが アドレッシング機能を利用して FP バッファーを 2GB より上の私用
域に置くオプションも提供されているよ。
後輩 : 現行だと ECSA(システム共通域)に取られてますよね。
先輩 : そうだね。ECSA の使用量削減というメリットもあるんだけど、それだけではなくて、この
FP64-biが バッファーを使うことで必要に応じてバッファーを動的に拡張 / 縮小してくれるよ
うになるんだよ。
後輩 : そうなんですか !? 今まで従属領域を追加したりするタイミングではいつもバッファーサイ
ズを見積もりなおしていましたし、しかも変更反映のために IMS の再起動が必要でしたよね。
それも嬉しいですね。
Page 5
41
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
42
① 信頼と実績のIMS ー 変わらない安心と更なる革新 ー 【第3章】 IMS
先輩 : FP バッファーだけでなくて、V12 では FF 用のバッファーに関しても機能拡張がされてい
るよ。IMS を停止しないで、VSAM/OSAM バッファーのサイズや個数をコマンド 1 つで
変更できるようになったんだ。追加や削除も可能だよ。(図 4)
図 4:FFDB 動的バッファー変更機能
後輩 : なるほど、バッファーサイズ変更のための IMS 再起動の必要性がどんどん少なくなってい
るのか…。
先輩 : それから前回のバージョンアップの時にも検討対象になった HALDB オンライン再編成機
能、これについても V11 でパフォーマンスが向上しているという情報があるよ。前回は採
用見送りになったけど、次回バージョンアップの時にはもう一度検討してみてもいいかもし
れないね。(図 5)
図 5:HALDB オンライン再編成機能
後輩 : 新機能も本当にいろいろあるんですね…。まだ進化してるんですか !? なんて言って失礼
しました(笑) 今日は先輩に教わるばかりになってしまいましたが、改めて、IMS の強み
や使い続ける価値が少しわかった気がします。もう少し自分でも勉強してみようかな。なん
だかこれから始まるプロジェクトにも前向きに取り組めそうな気がしてきました。ありがとう
ございました !
先輩 : ははは、いいね、その意気だよ。また何かあれば、いつでも質問においで。
Page 6
43
【第3章】 IMS
44
【第3章】 IMS② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
2アプリケーション・サーバーとしての IMS
ー その実力、そして更なる可能性 ー
後輩の素朴な疑問
後輩 : マイスター先輩、ちょっと相談にのってもらってもいいですか?
先輩 : おや、どうしたんだい。新プロジェクトに参加することになったとは聞いていたけど、あま
り浮かない顔だね。
後輩 : はい、前回お話ししたとおり、新しい IMS アプリケーションの開発プロジェクトに参加する
ことになったんですが、このプロジェクトでは Sけかがem げ 上の IMS アプリと Pぇくeお 側で動
かすサーバー・アプリを連携させるんですよ。
先輩 : なるほど、近年ではごく当たり前のシステム形態だね。それで?
後輩 : もう決まったことですからどうしようもないんですが、どうせ両プラットフォームで開発するな
ら、別にオープン側で全部作ってしまってもいいんじゃないかなあと思ってしまって・・・そうじゃ
なくても最近はクラウド、特に PaaS や SaaS なんかの「持たない IT」が大流行しているじゃ
ないですか。いくら前回お聞きしたように IMS が進化を遂げているといっても、こんな時代
に Sけかがem げ に載せるアプリを作っていいのかなあ。
先輩 : はははは! なるほど、そういう心配か。まあ、『IT 殺すにゃ刃物は要らぬ、流行遅れにし
ときゃいい』とも言うからね。
後輩 : 誰が言ってるんですか!?
先輩 : 私です。
後輩 : ・・・マイスター先輩、結構真剣に疑問なんですけど。
先輩 : ごめんごめん、でもまあ聞いてほしい、別にウチの会社だけではなく世界中の至る所で
IMS を基幹業務でみっちり使い込んでいる多くの企業があるし、それらの企業でもオープン
系と Sけかがem げ 上の IMS を連携させたシステムの採用が進んでいる※ 2 ※ 3。つまり我が社
だけではなく、世界中の企業が採用しているわけだ。ということは、当然 IMS 上でアプリ
を稼働させる世界共通のメリットがあるということだよね。
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
※2. IMS Tおeうdか aうd Diおecがiぇうか - IMS UG Maお 2012 Peぇおia (英語)
hががえ://くくく.かlideかhaおe.うeが/IBMIMS/midくeかが-きg-2012-えeぇおia-imか-がおeうdか-aうd-diおecがiぇうか
※3. IDC Oえiうiぇう - A Plaがfぇおm fぇお Eうがeおえおiかe Daがa Seおぎiceか: The Pおぇぎeう Pぇくeお aうd Fleぐibiliがけ
ぇf IMS fおぇm IBM (英語)
hががえ://えきblic.dhe.ibm.cぇm/かぇfがくaおe/daがa/かく-libおaおけ/imか/idc-えぇくeお-ぇf-imか.えdf (160KB)
後輩 : そうだったんですね、別にウチだけじゃなくて世界中で行われていることだったんですね・・・
ぜんぜん知りませんでした。でもどんなメリットがあるんだろう?
先輩 : どんなメリットが思いつくかな?
後輩 : 前回教えていただいたことですけど、とりあえず一度アプリを作れば末永く使えそうですよ
ね(笑)。
先輩 : それも決して馬鹿に出来ない重要なメリットだね。IMSは単なるAPI互換だけではなくロード・
モジュール・レベルでの互換性をもう12 バージョン(!)も継続して提供している。つまり、
一度作ったアプリケーションのライフ・サイクルを非常に長く担保することができるから、今
回の開発投資をじっくり時間をかけて回収できるわけだ。例えば保険業界では一つの保険
商品の寿命が数十年に渡るなんて当たり前だけど、そういった業務要件にも余裕で応えて
いくこともできる。
後輩 : 他には?
先輩 : もちろんまだまだ沢山あるよ。例えば高パフォーマンス。オンラインならウチの既存アプリ
でもレスポンスタイムが数十ミリ秒で安定しているなんて当たり前だよね。そして処理負荷
の増大にも従属領域の動的な増強や Sけかがem げ のワークロード・マネジャー(WLM)機
能によって極限までレスポンスを維持したまま耐えられるようになっている。それに、運
用や監視も IMS 上でアプリを動かせば既に構築した仕組みを流用することで対応できる。
IMS 自身はもうウチでも何年も異常終了したことがないぐらい堅牢なプロダクトだし、並列
Sけかえleぐ や GDPS などと組み合わせることでさらに可用性を高めることができる。そして
何より、IMS 上では基幹データベースとして使われている IMS DB や DB2 DB 内の情報
に加えて、新規アプリに流用できる実績あるビジネス・ロジックが沢山動いているんだ。我
が社もそうだけど、Sけかがem げ 上で長くアプリを開発してきた実績から既にメインフレーム
上の開発標準が整備されていることも多いしね。
後輩 : なるほど・・・ちゃんと理由があって今回のシステム連携形態が採用されていたんですね。
先輩 : 新技術への対応はとても大事だけど、それにいちいち振り回されていたら毎年システム更
改になっちゃうからなあ。もっとも、そのほうがベンダーは喜ぶだろうけどね。ITトレンドな
んて春先の乙女心のようにクルクル変わるんだから、今使える自社の IT 資産を軽視せず武
器としてどんどん活用していくという基幹業務開発を志向する企業も世界中にあるんだよ。
Page 7
45
【第3章】 IMS
46
【第3章】 IMS
IMS オンライン・アプリケーション
後輩 : マイスター先輩、実は私が今回いろいろ悩んでいたのは、そもそも IMS のオンライン・ア
プリが良く分かってないことも理由の一つなんです。前回もお話ししましたが、インフラ管
理はやってきたけどアプリまでは踏み込めていないんです。
先輩 : 別に難しいことは無いよ。乱暴に言えば世のオンライン・アプリなんて皆同じような作りだ
からね。「要求」を渡せば「応答」を返すんです。
後輩 : ・・・乱暴すぎてよく分からないです。
先輩 : それなら例で考えてみよう。Web アプリケーション・サーバー上で稼働している単純な
Jaぎa サーブレット、あれはどう動くかな?
後輩 : Web アプリならざっくり分かります。まず、サーブレットを呼び出す目印は URL です。サー
ブレットには、GET メソッドや POST メソッド経由で HTML フォームごとの文字列が渡され
てきます。サーブレットはそれを dぇGeが メソッドなりdぇPぇかが メソッドなりで受信して業務処
理を行い、最終的には fぇおくaおd メソッドで JSP 応答を返すような仕組みですよね。
先輩 : その通りだね。実はIMSアプリの場合も話はシンプルで、要求元とIMSアプリ間で平文ベー
スの通信が行われているんだ。(図 6)
図 6:IMS オンライン・アプリケーションの構造
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
まず、要求電文のヘッダー後ろ 8 バイトが「トランザクション・コード」という文字列で、
ここを見て IMS はどのアプリケーションに電文を渡すかを決めている。つまり、これがサー
ブレット呼び出しにおける URL に相当する。次に、IMS によって呼び出されたアプリは GU
(Geが Uうiqきe)というIMS API でこの電文を受領する。そして、GU で電文を読み取る
際に使うI/O エリア構造体によって平文内の各フィールドの業務的な意味が決まってくるん
だ。つまり、この構造体が Web アプリケーションにおけるフォームの役割を果たすわけだ。
そしてデータ・アクセスや計算などの業務ロジックを経由した後に、応答 I/O エリアの構造
体を用いて電文を作成し、ISRT(Iうかeおが)というIMS API で要求元に送り返す。つまり、
I/O エリア構造体で規定された電文フォーマットを要求元とやり取りすることで、オンライン
処理を実現しているといえる。
後輩 : 難しいと思っていたけど、何かものすごく単純な気がしてきました。本当に平文のやり取
りなんですね。そして平文の意味はアプリがどのような構造体で解釈するかで決まるんで
すね。
先輩 : その通り。ただし、これは一番単純なケースだからね。特に既存 IMS アプリの場合、ここ
までシンプルでないこともある。例えば「会話型」という端末ごとに割り当てられたワーク
エリア(SPA : Scおaがch Pad Aおea)を使うタイプのトランザクションでは全体のフローが
変わってくるし、3270 画面端末と MFS(Meかかage Fぇおmaが Seおぎice)経由で通信する
ために作られたアプリでは画面制御のための属性バイトが電文中に埋め込まれていることも
ある。また、独自の開発フレームワークを用いて IMS アプリ開発者に対して物理的な電文
構造を隠蔽している場合もあるから注意してほしい。
後輩 : ぐぬぬ、必ずしもこんな単純な通信モデルばかりではないのか・・・
先輩 : そうだよ。ただし、今回のように最初からオープン・アプリとの連携を前提とした新規 IMS
アプリの開発では、新規実装する送受信フローや電文構造をどれだけシンプルかつ明確に
しておくかが、容易な接続性を担保するためのコツになることを覚えておくといいよ。
後輩 : 了解です。今度のアプリチームとの打ち合わせでは、今日教えていただいた観点からガン
ガンコメントしたいと思います!
先輩 : もうアプリチームのリーダーとは電文仕様について会話済みだから大丈夫だとは思うけど、
気になる点があったら是非発言してください。
後輩 : (既に先回りされていたのか・・・やれやれ)
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
Page 8
47
【第3章】 IMS
48
【第3章】 IMS② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
IMS Connect による連携ソリューション
先輩 : 今回のオープン系アプリケーションとの連携には IMS Cぇううecが (以下 ICON)を使用する
そうだね。
後輩 : はい、そうです。ふふふふ、Sけかがem げ のインフラ担当として ICON は実はもう結構調べ
ているんですよ。
先輩 : お、なかなかやるじゃないか。どんな印象を持ったか聞かせてくれるかい?
後輩 : はい、相当気合を入れて調べたんですけど、ICON 自体はあまり手の出しようがないくらい
とてもシンプルなんですよね・・・(図 7)
図 7:IMS Cぇううecが (ICON)
IIMS 本体に基本機能として付属しているから新しく購入する必要も無いですし、定義体メ
ンバーを 2 種類準備するだけのごく簡単なセットアップで起動するようです。それにログや
データセットといった独自の資源を使用せずにアドレス空間 1 枚だけで稼働するので、導入
だけではなく運用や監視も大分楽そうです。
先輩 : その通りだね。確かに、ICON の特徴の一つは軽量かつシンプルな動作にもあるけど、最
大のメリットは図 6 の左側にある。ICON を介することで、本当に沢山のオープン環境のア
プリと IMS アプリの連携が可能になるんだ。
後輩 : うっ! 実は Sけかがem げ のインフラ担当ということにかまけて、左側の部分はよく調べてい
ないんですよね。Pぇくeお 側の開発メンバーからIMS TMリソース・アダプターという言葉
は聞いているのですが・・・いったいどういう連携が可能になるんでしょうか。
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
先輩 : アプリ連携の観点からは大きく2 つに分類することができる。一つは、今君が言った IMS
TMリソース・アダプターというJCA (Jaぎa Cぇううecがぇお Aおchiがecがきおe)実装のアダプター
を介する ICON ソリューションだ。(図 8)
図 8:ICON 連携ソリューション(IMS TMリソース・アダプター系)
これは、主として JCA や TMリソース・アダプターをサポートする IBM WebSえheおe プラッ
トフォームを介する場合の連携手法として定着している。
後輩 : あ! この絵の一番上です! 今回ウチは WAS 上で稼働させる Jaぎa アプリと IMS アプリ
の連携を行うはずです! でも、IMS TMリソース・アダプターは多くの ESB(Eうがeおえおiかe
Seおぎice Bきか)製品もサポートしているんですね。
先輩 : 一旦 ESB を介すれば、ESB の向こうにいるどんなアプリとも接続できるようになるからね。
かなり強力な接続形態だと思うよ。
後輩 : それで、もう一つの分類は?
先輩 : もう一つは独自の ICON 対応機能をもつ中継コンポーネントを介する接続ソリューションだ。
(図 9)
Page 9
49
【第3章】 IMS
50
【第3章】 IMS
図 9:ICON 連携ソリューション(非 IMS TMリソース・アダプター系)
こちらは、例えば非 IBM プラットフォームと直接 SOAP 接続を行う際(SOAP Gaがeくaけ)
や、Aがぇm/RSS/XML Feed などのより新しいプロトコルを介して直接接続する要件があ
る場合(Maかhきえ Ceうがeお)、アプライアンス製品(Daがaえぇくeお)の ESB 機能を活用する
場合などに採用される。特に、Daがaえぇくeお は昨年発表された げEうがeおえおiかe Sけかがem の
げBX (BladeCeうがeお Eぐがeうかiぇう)に配置することもできるから、今後注目のソリューション
になっていくんじゃないかな。北米の銀行では既に ICON と Daがaえぇくeお の連携事例も出
てきているようだよ。※ 4
※4. A leadiうg Nぇおがh Ameおicaう baうk かaぎeか milliぇうか ぇf dぇllaおか くiがh IBM WebSえheおe
DaがaPぇくeお Aええliaうceか (英語)
hががえ://くくく.ibm.cぇm/かぇfがくaおe/かきcceかか/cかかdb.うかf/CS/CPOR-7QFGWQ
後輩 : なるほど、ICON を 1 枚はさむだけでここまで様々なアプリ連携が可能になるんですね。
凄いなあ。でも・・・
先輩 : でも?
後輩 : Eうd がぇ Eうd、つまりオープン・アプリと IMS アプリはそれぞれ開発者もいますし開発実績
も積んでいますからイメージがつかみやすいと思うんですよ。でも、その両者の仲立ちとな
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー ② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
る通信ロジックに関しては、ちょうど間に落ち込んでしまう感じで具体的にどうすればいい
のかが見えにくいんですよね。
先輩 : ご心配なく。さっき紹介した ICON 連携ソリューションには、開発ツール製品による接続ロ
ジックの自動生成機能が援用できるんだ。(図 10)
図 10:ICON 連携ソリューションにおける開発ツール支援
この図にあるように、多くの開発ツール製品では IMS アプリ電文構造を表す I/O エリア
定義体を入力としてインターフェースや IMS アプリ呼び出し機能を自動生成できる。例え
ば、今回ウチで使用する WAS + IMS TMリソース・アダプターの組み合わせなら、RAD
(Raがiぇうal Aええlicaがiぇう Deぎelぇえeお)が COBOL もしくは PL/I の I/O エリア構造にマッ
チした電文操作用の Seががeお/Geががeお メソッドをもつ Jaぎa ビーンや、IMS アプリ呼び出し
機能をカプセル化した Jaぎa ビーンを生成してくれる。もちろん面倒な文字コード変換など
も Jaぎa ビーンに任せられる。これを使うことで、双方の開発者はよりビジネス・ロジック
開発に集中することができるんだ。
後輩 : なるほど・・・ああ! だからさっき「新規実装する送受信フローや電文構造をどれだけシン
プルかつ明確にしておくかが、容易な接続性を担保するためのコツになる」っておっしゃって
たんですね! 確かに、いくら開発ツール製品が接続ロジックを自動生成してくれるといっても、
メッセージ・フローや電文構造がややこしかったら双方の開発負荷は大きくなっちゃいますね。
先輩 : その通りだよ、大分つかめてきたようだね。
Page 10
51
【第3章】 IMS
52
【第3章】 IMS
IMS Connect によるコールアウト機能
先輩 : 最後に、IMS V10 から登場した面白い新機能である「コールアウト」についても紹介して
おこう。
後輩 : コ、コールアウト? 何のことですか? コール外向け? 呼び出しアウト?
先輩 : オープン系プラットフォームからみたらインバウンド(Iう-bぇきうd)方向のアプリ連携だね。
つまり「オープン・アプリが IMS アプリを呼び出す」だけではなく「IMS アプリがオープ
ン・アプリ」を呼び出すことができるようになったんだ。特に IMS V10 以降 ICON 経由の
同期コールアウト機能が強化されていて、新しい DL/I コール(ICAL)を用いて TMリソー
ス・アダプター実装の MDB(Meかかage Dおiぎeう Beaう)や SOAP Gaがeくaけ 経由で外部
Web サービスを直接呼び出し、その結果を同一スコープ内で受領することができるように
なっているんだ。(図 11)
図 11:ICON 連携ソリューション:同期コールアウト機能
後輩 : うわあ・・・この連携形態って IMS アプリがまるでサブルーチン呼び出しのように外部ロジッ
クを呼びだしてその処理結果を受け取る、でもその呼び出し先の実体は WAS 上の MDB
だったりどこかの Web サービスだったりする、っていうことですよね。
先輩 : その通りだね。そして、もちろんこのコールアウトであっても開発ツール製品による接続
ロジックの自動生成機能が援用できる。もう一つ付け加えると、この新しい ICAL コールに
は IMS アプリに付き物だった 1 電文(セグメント)あたり最大 32K バイトという制約も無い。
だから、例えばオープン側に存在する共通ロジックやサービスを IMS アプリ処理に取り込む
ような使い方もできるし、オープン・アプリ側に DB2 fぇお LUW や Oおacle DB にアクセス
するロジックを配置して、IMS アプリが ICAL 経由でオープン側の DB 内容を読み出す処
理を実現することなんかもできるんだ。
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
後輩 : この機能はアイデア次第でいろいろな使い方ができそうですね・・・確かに便利だなあ。ちょっ
と今度のミーティングで紹介してみよう。
・・・マイスター先輩、今日もいろいろありがとうございました。いろんな疑問も解消できて、
これからの開発プロジェクトに対するテンションが上がってまいりました!
先輩 : 前回も君はそんなことを言っていた気がするけど、とりあえずテンションが上がるのはいい
ことだね。これからも分からないことがあったらどんどん質問してください。
② アプリケーション・サーバーとしてのIMS ー その実力、そして更なる可能性 ー
Page 11
53
【第3章】 IMS
54
【第3章】 IMS③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
3新しい業務基盤としての IMS
ー 進化は業務アプリとともにー
進化を支える新しい基盤
後輩 : ご隠居、いまけぇりやした。
先輩 : お帰り。って、ご隠居じゃないだろ、私はzマイスターだ。勝手に設定変えてもらっちゃあ困る。
最近、たいそう落語にこってるそうじゃないか。会社サボって寄席行ってきたな。
後輩 : マイスター、最近もの忘れが激しすぎますよ。朝、セミナー※ 5 行ってきますって言ったじゃ
ないですか。
※5. IMSテクニカル・セミナー 2011 ~待望のV12 : 運用を簡素化し、コスト低減とビジネスの成長を支援する
~から「IMS新機能を実現する新共通基盤(CSL)のご紹介」より
hががえ://くくく.ibm.cぇm/かぇfがくaおe/jえ/げかeおieか/eぎeうがか/imか_がechうical2011/dぇくうlぇad/
maがeおialか.hがml
先輩 : そうだった。セミナーはどんな様子だった?
後輩 : 大層な賑わいで、私のような若手もたくさん来てました。なによりびっくりしたのが、これが
うちでも動いている IMS と同じなのかと思うくらい違うことです。うちも、IMS V10 に移
行したばっかりなのに。
先輩 : IMS は IMS だろう。第1回にリソースを次代に引き継ぐ高い互換性ってきっちり教えたばか
りじゃないか。※ 6
※6. 【第3章】 IMS-①信頼と実績のIMS -変わらない安心と更なる革新-
後輩 : そうじゃないんですよ。マイスター、CSLってご存知ですか。
先輩 : しー・えす・える? なんだったかなあ。
後輩 : IMS はうちの業務アプリを動かす基盤の 1コンポーネントでしょ。IMS にも基盤があります。
それが CSL。Cぇmmぇう Seおぎice Laけeお、つまり共通サービス層です。
先輩 : 習ってきたようなこと言うなあ。どこがすごいんだ。
③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
後輩 : それが IMS の進化をもたらしているものです。
先輩 : よくわからないな。もっと具体的に言ってみろ。
後輩 : 3 つのアドレス空間があって、OM, RM, SCIって言います。それが XCF で通信して、い
ろいろやってくれます。(図 12)
図 12:共通サービス層(CSL)
先輩 : なるほど、いろいろねぇ。XCF は Cおぇかか Cぇきえliうg Faciliがけ。要は Sけかがem げ のクラス
ター構成であるSけかえleぐでのメンバー間でのコミュケーションをとる仕組みというわけだな。
Sけかえleぐ での運用管理の仕組みだろう。それならわかるよ。
後輩 : それは CSL が出た IMS V8 のころの話ですよ。今の IMS V10, V11, V12 ではその基
盤の上に次々と新機能が実現されています。以前、教えていただいた DB Qきieかce 機能、
FF DB のバッファーの動的変更もこの基盤を使っています。
先輩 : なるほど、陰に隠れて見えないが大事な役割を担っているというわけだ。我々の仕事と一
緒で縁の下の力持ちだな。
Page 12
55
【第3章】 IMS
56
【第3章】 IMS
進化のキーワードは即応性
先輩 : CSL が IMS の進化にとって重要なのはわかったよ。だけど、我々に求められている進化に
対応するものじゃなきゃ意味がない。さっきも業務との打ち合わせで、開発環境で新規アプ
リをテストするまでの手続きに時間がかかりすぎると文句を言われてきたばかりだ。つまり
即応性が求められているんだよ。
後輩 : 手続きごともそうですが、IMS 生成がやっかいですね。
先輩 : そう、手続きが大変な分、とりあえず定義して欲しいというものに対応してしまったせいで
実際は使ってないものもたくさんある。その管理が大変になっている。それから一括反映方
式なので神経を使う作業になっている。
後輩 : IMS V10 ではデータベース、アプリケーション、トランザクションの定義はコマンドで即時
反映することができます。動的資源定義(Dけうamic Reかぇきおce Deでうiがiぇう, DRD)とい
う機能で、Tけえe 2 コマンドというのを使うそうです。
先輩 : なるほど V8 で Sけかえleぐ の複数 IMS メンバーを統合管理する機能(Siうgle Pぇiうが ぇf
Cぇうがおぇl, SPOC)とともに登場した Tけえe 2 コマンドを使うのだな。それは便利になりそ
うだ。
ただ、うちのように開発系も含め、IMS システムがたくさんある環境では、あっちでもこっ
ちでもコマンド打たなきゃならないのは運用としては面倒だ。それに、登録処理はバッチ・
ジョブで流せないと、JOBLOG で証憑を残すことができず運用上現実的ではない。
後輩 : 後者の課題は、バッチ SPOC ユーティリティーが対応しています。前者の課題の複数 IMS
の資源管理は IMS V12 のリポジトリーの機能を使って、複数 IMS の定義体をまとめて管
理できます。(図 13)
先輩 : なるほど。それから一括反映方式と言えば、ACBLIB もそうだよな。PSB や DBD は追
加だけじゃなく変更の対応も多い、それもいつもぎりぎりに来る。オンライン変更で稼働中
に変更作業ができるけど、一括方式には変わらない。
後輩 : IMS V11 からACBLIB もメンバー単位で追加・変更できます。これも Tけえe2 コマンドで
実現されています。(Membeお Oうliうe Chaうge, MOLC)
先輩 : 単なる Sけかえleぐ の統合運用管理だけじゃないというわけだな、ちょっとまとめて欲しいな。
後輩 : いまもらってきたセミナーの資料にありますよ、しっかり読んでおいてください。
(※ 5. 資料 PDF, P30-31, CSL 提供機能と必要コンポーネント一覧)
③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
図 13:IMSリポジトリー構成要素
、 真の 、 進化はアプリケーションの進化
先輩 : 確かに IMS の進化が CSL を基礎として進んでいることはわかった。ただ進化が的確で迅
速に適応する能力の向上であれば、我々運用チーム以上に業務チームは日々それが求めら
れている。そこまで応えなければ、ぱ 真の ぱ 進化とは言えないね。(図 14)
図 14:IMS アプリケーション
③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
Page 13
57
【第3章】 IMS
58
【第3章】 IMS③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
後輩 : そうですね。以前話していただいた新しい DL/I コールの ICAL は IMS アプリケーションか
ら他の業務を呼び出す新しい連携方式を提供しましたが※ 7、データベースまわりにも進化
が必要ですね。
※ 7. 【第3章】 IMS-②アプリケーション・サーバーとしての IMS - その実力、そして更なる可能性 -
先輩 : そう。データベースを操作する言語(Daがa Maうiえきlaがiぇう Laうgきage, DML)として
DL/I コールは階層型に特化したメリットがあるけど、一方で DML としては SQL が一般的
だからね。データをひょいと取り出すだけのアプリでも新人に DL/I コールから勉強させる
のは骨が折れるとよく言われる。
後輩 : さっきお見せした表(※5. 資料PDF, P30-31, CSL提供機能と必要コンポーネント一覧)のオープン・
データベース(Oえeう Daがabaかe Maうageお, ODBM)がありますよ。なんか DRDA を実
装しているんだそうです。IMS V11 の新機能です。(図 15)
図 15:オープン・データベース(ODBM)
先輩 : ここでも共通サービス層(CSL)が使われているんだね。オープン・トランザクション・マネ
ジャー機能(Oえeう Tおaうかacがiぇう Maうageお Acceかか, OTMA)が出たのが IMS V5 だっ
たから、かなりの時間がたってようやくデータベース版も出たということかな。DRDA は分
散リレーショナル・データベース体系といって昔からあるデータベース・マネジャーの通信プ
ロトコルのことだよ。
③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
後輩 : なるほど、だからSけかがem z以外のアプリからも SQL を使って操作できるようになったとい
うわけですね。
先輩 : 複雑な検索条件だったら、リレーショナル・データベースにはかなわないけど、IMS で管理
しているデータベースは、もともと高速に呼び出すような特にトランザクション処理からのア
クセスが多いので、そういう前提のアクセスパターンに絞ったとしても SQL が使えるのは
さっき話した即応性の価値があるね。
後輩 : はい、マイスターのお目にかなって光栄です。でもなんか急に浮かない顔になっちゃいまし
たね。
先輩 : 単純な SQL 文とはいえ、大容量 DB となると、キー以外でアクセスされたら大量の I/O
が出て大変だなあ、と考えていたんだ。
後輩 : 副次索引を使えば問題ないですよ。
先輩 : おまえ、まだまだだなあ。うちのデータベースで大容量といったらファースト・パスの
DEDB に決まっているだろう。100 以上のエリアを頭から読まれたらSQL を業務チームに
解放するなんて怖くてできないよ。
後輩 : 今日のセミナーで DEDB の副次索引の話もありましたよ。
先輩 : それもIMS V12 の・・・ってやつだな。
実はいま DB2 に移行するかどうか検討している業務 DB が 1 つあって、SQL アクセスの
件はクリアできると思ったんだが、新しい業務要件の1つに副次索引を使わないと現実的で
ないものがあるなあと思っていたんだ。これはよいことを聞いた。やっぱりDEDB のソフト
ウェアの二重化は捨てがたいからね。よし、もう少し、悩みの相談を続けさせてくれ。
後輩 : はい、なんなりと。
先輩 : IMS DB に SQL でアクセスするというのは何も最新の IMSじゃなくてもできた機能だよ。
IMS V7 の Jaぎa 機能が出たときにあった。IMS DB のデータ表現を Jaぎa のクラスで抽
象化して、JDBC アクセスできるようになっていた。V8 ではそのクラスを自動作成するユー
ティリティーも出たけど、あくまでも IMS の外側の資源になっていて管理をどう拡張するか
が難しい。最新の IMS ではそれにはどう応えてくれる?
後輩 : う~ん、いきなり高度な議論になってきました。でも待てよ・・・。
あっ、わかりました。IMS カタログが役に立ちそうです。(図 16)
Page 14
59
【第3章】 IMS
60
【第3章】 IMS③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
図 16:IMS カタログと IMS Eぐえlぇおeお
先輩 : それって DB2 のカタログみたいなもの? あれは便利だ。表や列の情報を SQL で取り出
せるし、たくさんのアプリケーション資源を管理するのに便利だ。IMS で言ったらPSB や
DBD、ACBLIB に入っている情報が見れるといい。それも DB2 のカタログと同様実体管
理でなきゃだめだ。
後輩 : その実体管理って、どういう意味か教えてください。
先輩 : ACBLIB の中に今入っている PSB や DBD がどんなものかを確認するには、その元とな
る PSB や DBD のソースを見ることになるだろ。でもさらにそれが ACBLIB にいつ反映
されたかもたどっていかなければならない。PSB、DBD のソースに変更が入っても最後に
ACBGEN を実施したときにその反映がされているかは別の事だ。そこで ACBGEN のと
きに、IMS カタログにも PSB や DBD の情報が反映されていることが大事なんだ。つまり
ACBLIB にある PSB と DBD の実体に即した情報が管理されていなきゃだめなんだ。
後輩 : 新しい DL/I コール Geが Uうiqきe Recぇおd (GUR)ですね。IMS カタログにある情報を
XML 文書で返してくれます。しかもこの情報は ACBGEN によって更新されます。だから
実体管理になっていますね。また IMS ユニバーサル・ドライバーからJDBC アクセスする
アプリケーションは IMS カタログにあるメタデータ・クラスを利用するので、Jaぎa アプリケー
ション側で用意していたメタデータ・クラスが不要になったと聞きました。
③ 新しい業務基盤としてのIMS ー 進化は業務アプリとともに ー
先輩 : となると、あとは開発環境だね。アプリケーション資源の情報を集中管理してくれるのなら、
それを開発環境でも活用できるような開発者向けのインターフェースが必要だ。
後輩 : それには IMS Eぐえlぇおeお が役立ちます。PSB の作成や DBD の編集、それから SQL 文
の作成補完機能もあって、さっきの ODBM を使って実際に IMS DB にアクセスできます。
そのアクセスに IMS カタログにあるメタデータ・クラスを使います。
新しい門出
先輩 : どうやら今回はきみに全部持ってかれちゃったようだ。いや、大変勉強になったよ。これな
ら君に基盤チームのリーダーを任せることができる。
後輩 : あれ異動は無くなったのでは ...
先輩 : 遅らせていた異動の話だけど、私も決心できた。これなら安心だ。基盤チームをよろしく。
後輩 : はい、わかりました。頑張ります!
Page 15
185
IBM、IBM ロ ゴ、ibm.com、AIX、CICS、CICSPlex、DB2、IMS、InfoSphere、NetVeiw、pureScale、RAA、
RACF、Rational、Rational Team Concert、SPSS、System z、Tivoli、WebSphere、z/OS およびzSecure は、
世界の多くの国で登録された International Business Machines Corporation の商標です。他の製品名および
サービス名等は、それぞれ IBM または各社の商標である場合があります。現時点での IBM の商標リストについては、
www.ibm.com/legal/copytrade.shtml をご覧ください。
● 掲載された情報は 2013 年 3 月現在のものです。事前の予告なく変更する場合があります。
● 製品、サービスなどの詳細については、弊社もしくは IBM ビジネスパートナーの営業担当員にご相談ください。
● 本事例中に記載の肩書や数値、固有名詞は掲載当時のものであり、変更されている可能性があることをご了承ください。