基幹業務アプリケーションの稼働環境として,数多くの実績を持つIBMのオフコンiSeries(AS/400)。最近は,5250エミュレータによるキャラクタ(文字)・ベースのユーザー・インタフェースを捨て,Web化を推進する企業が増えている。そんな折り,AS/400上のビジネス・ロジックを丸々生かす画期的な手法でシステムのWeb化を実現したのが日本野球機構だ。国内では例を見ない「PCML(Program Call Markup Language)」と呼ぶ技術を活用して工数を大幅に圧縮。開発コストの半減に成功した。

エミュレータでは表現力に限界

 今年3月28日,セ/パ両リーグのプロ野球公式戦が開幕した。昨年,ペナントレースを制した巨人と西武がともに開幕初戦を落とすなど,波乱含みの展開で盛り上がりを見せている。

 プロ野球のテレビ中継では,「2000本安打」や「1000奪三振」といった記録的なプレーが発生した際,過去のデータをひも解いて視聴者に紹介するケースがよくある。それら公式記録のデータを過去にさかのぼって管理し,テレビ局や新聞社などマスコミ各社に情報提供しているのが日本野球機構である。

 同機構は,プロ野球が始まった1936年から現在に至るまでのプロ野球公式記録をAS/400上にデータベース化しており,1989年からテレビ局や新聞社に対し,データベースの検索・閲覧サービス「NPB BIS」を提供してきた。マスコミ各社は5250エミュレータを介してデータベースにアクセスする。

 しかし5250エミュレータでは,その仕様により一画面に表示できる情報量が限られてしまう(図1[拡大表示])。縦24行×横80列の文字ベースの情報しか表示できず,今となっては時代遅れ。しかも,キーボードでの操作が基本のため,Windowsアプリケーションのようにマウスで操作することができない。使いこなすには慣れが必要だ。「“目的のデータが探しにくい”,“画面が見づらい”など,ユーザーから改善要求が挙がっていた」(日本野球機構コミッショナー事務局BISデータ本部の守屋裕室長)。

図1●5250エミュレータの制限をWeb化で改善
日本野球機構は2003年1月,日本プロ野球公式記録システム「NPB BIS」のWeb化を完了した。これにより,1画面に表示可能な情報量やユーザーの操作性を大幅に向上させた。それまでは,AS/400上で稼働するシステムに5250エミュレータでアクセスする方式でサービスを提供していた
 
図2●AS/400上のビジネス・ロジックにPCMLでアクセス
Javaサーブレットとビジネス・ロジック(RPG)間は,Javaツールボックスのオープンソース版である「JTOpen」を活用,PCMLでデータを受け渡す。画面生成プログラムのみJavaで構築し,既存のビジネス・ロジックはそのまま生かした

 クライアント環境の導入コストにも頭を悩ませていた。5250エミュレータの導入時には,ライセンス料金として1クライアント当たり6~7万円かかる。これまでは,データを閲覧するユーザー側に負担してもらってきたが,「ユーザーのコスト負担を下げるためにも,AS/400システムのWeb化を決断した」(守屋氏)。

図3●クラスタ構成で稼働するAIXサーバー

 今回のシステムの特徴は,XML(Extensible Markup Language)に似たアーキテクチャを持つ「PCML」という言語を活用した点である(図2[拡大表示])。PCMLは,IBMがXMLを拡張した言語。Javaで再構築した画面生成プログラムと,AS/400上のRPGで開発済みのビジネス・ロジック間は,PCMLを介してデータを受け渡す。

画面生成プログラムだけ再構築

 図2右下のAS/400に関しては,既存のシステムをそのまま流用している。「カットオーバー以来,大きなトラブルもなく安定して稼働していたので,手を加えたくなかった」(守屋氏)ためだ。一部改良を加えたのは,RPGで開発済みのビジネス・ロジック部に,Javaのパラメータを引き渡すインタフェースを実装した点である。その他のロジックやデータベースに関しては,一切手を加えていない。

 画面生成プログラムは,IBM pSeries(AIXサーバー)を導入し,一から構築し直した(図2左下)。Webアプリケーション・サーバーとしてWebSphereを採用。JSPとJavaサーブレットで実装している。作成した画面点数は260点近くに上る。

 AIXサーバー上には,Javaのクラス・ライブラリ群を含む「JTOpen」をインストールしてある。JTOpenは,AS/400上の資源に他のサーバーからアクセスする際に利用するJavaツールボックスのオープンソース版である。AIX上のJavaサーブレットとAS/400上のRPGロジックとのデータ連携の際にAPIとして機能する。無償で入手できるほか,AS/400にも付属している。AS/400とAIXサーバーは,いずれも可用性を高めるためにクラスタ構成を敷いている(図3[拡大表示])。

 結果として,RPGロジックを再構築せずに済んだので,すべてをJavaで再構築した場合と比べ開発期間の大幅な短縮に成功。開発コストは明らかにしていないが,当初予定より約半分に圧縮できたという。


(菅井 光浩=sugai@nikkeibp.co.jp)