« IPAでの学生討論 | トップページ | 三菱東京UFJ銀の障害は切り替えミス? »

2008年6月 3日 (火)

汎用機からPCへ、バッチからオンラインへ

汎用機上に作られたシステムのほとんどは、以下のようなものであろうと思います。

  1. バッチ処理のシステム
  2. COBOLで書かれている
  3. フラットファイルをプログラムからプログラムへと順に受け渡して処理が進む

一方で、汎用機でもオンライン・トランザクション・システム(OLTPシステム)というのは、存在していたわけでして、有名なところでは、旧国鉄・現JRの マルスシステム(予約・発券システム) ですとか、銀行のオンラインシステム といったものがあります。

第1次オンライン化は、1960年代後半から70年代前半にかけて推進された個々の銀行の本支店をオンラインで結ぶというエレクトロニクス化である。第1次オンライン化では、金融機関のコンピュータ・センターと本支店の端末が結合され、当座預金、普通預金などの勘定科目ごとのオンライン処理がすすめられた。このような勘定系のオンライン化は1960年代後半から都市銀行を中心に始まった。この第1次オンライン化により金融機関の事務コストが減少しただけでなく、同一金融 機関内であればどの店舗でも預金の預入、引出ができるようになった(経済 企画庁総合計画局(1991)による。)。今日では当たり前の、このようなサービスもコンピュータの導入により、即時に他支店にある勘定の残高が判明し、そこから引き落しなどができるようになったため、初めて実行可能となった。また、現金自動支払機(CD、Cash Dispenser)の使用や公共料金の自動引き落し、給与振り込みなどのサービスが普及したのも第1次オンライン化の推進と並行している。今日では自動引落は当然のごとくうけとられているサービスであるが、アメリカのように自動引落が行われていない国もある。わが国では、電話料金(昭和30年)などの公共料金に始まり、税金(昭和42年)や各種会費,クレジットカードの支払いにまで普及している自動引落はこの第1次オンライン化によって利用可能になったのである。

銀行の第1次オンラインについて

1960年代後半から1970年代前半にかけては、OLTPシステムの基礎技術を確立した時期であるとされており1、この時代、日本の情報システムは、世界的にも最先端のレベルにあったのであろうと思います。また、この時代は、データベース・システム、トランザクション処理システムといった、”ミドルウエア”は当然存在していなかったわけでして、このレベルのソフトウエアから、手組みで開発していたのではないでしょうか。

OLTPシステムの標準化・オープン化が始まったのは、1980年代末から1990年代にかけてとされています1。この時期は、情報システムの”ダウンサイジング”が始まった時期とも一致していたわけでして、汎用機からUNIX機、さらにはPCへとシステムのハードウエアが変わり、また、汎用機上のシステムをUNIX機、PCへと移行することになったわけです。このときに、単に汎用機上のバッチ処理システムをそのまま異なるハードウエアへと移行するのではなく、クライアント・サーバ(C/S)型のシステムへと”再構築”して移行したのです。つまり、バッチからOLTPへと処理形態も変わったわけでして。

もともと、汎用機の時代から、OLTPシステムというのはプログラム開発の難度が高いとされていたのですよね。特に初期のオンラインシステムでは、データベースやトランザクション処理からスクラッチ開発していたわけですから、当然でありましょう。C/S型システムが主流になったときには、すでにRDBMSパッケージが存在していたわけで、一番難しい部分をスクラッチする必要はなくなってはいたわけですが、それでもバッチ処理に比べれば難しいのは当然であったと思うわけです。

その後、C/S型システムから、Webアプリケーションへと、システムの主流は移り変わってきたわけですけど、OLTPシステムという処理形態は変わっていないのですよね。変わったのはフロントエンドなわけですけど、この面では、むしろ汎用機時代の中央集中処理へと回帰しているともいえるわけでして。実際、 タンデム・コンピュータ の NonStop システムなどは、現在の Enterprise Java のアーキテクチャにかなり似ていて、フロントエンドに”スクリーンCOBOL”なる言語を使うのはご愛嬌というものですが、フォールトトレラントの部分なんかは、今でも先進的に感じますね。

最初のシステムは T/16(後に NonStop I と改称)である。システム設計は1975年に完了し、最初の製品は1976年にシティバンクに売られた。

【略】

NonStop I は、システムのフェイルオーバモード実現の鍵であった独自オペレーティングシステム Guardian を搭載していた。他社はフェイルオーバーを実現する際に他のCPUでプログラムを再始動させていたが、Guardian では全ての処理はメッセージパッシングを使い、全ての操作でチェックポイントが設定された。結果として Guardian ではプログラム中の任意の位置から処理を再開することができる。これにはスタックベースのプロセッサがほとんど内部状態を持っていないために、プロセスをCPUからCPUに移動しやすいという点も影響している。全ての命令はスタックからデータを取り出し、演算結果をスタックに戻す。演算中に障害が発生したら、スタックを他のCPUにコピーして失敗した命令から処理を再開することができる。

タンデム・コンピュータ (Wikipedia)


1. 渡辺榮一、J・グレイ他著, 『OLTPシステム』, 近代科学社, 1995

|

« IPAでの学生討論 | トップページ | 三菱東京UFJ銀の障害は切り替えミス? »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/80472/21373343

この記事へのトラックバック一覧です: 汎用機からPCへ、バッチからオンラインへ:

« IPAでの学生討論 | トップページ | 三菱東京UFJ銀の障害は切り替えミス? »