COBOLと他言語のデータ型を自動変換
- - PR -
ところで、本連載でこれまで説明してきたとおり、COBOLのデータ型にはJavaとは大きく異なる特性があります。
特にCOBOLでは宣言したデータレイアウトの物理的なバイト順が規定されており、プログラマはこれを意識したアクセスを行うことがある点が、オブジェクトベースのJavaとは大きく異なっています。
この問題はデプロイツールに相当する開発環境によって解決できます。
COBOL側のリスナは、サービス要求を受信すると空いているCOBOLコンテナに処理をディスパッチしますが、このときにJava EEアプリケーションから渡されてきた入力データをCOBOLのデータ型に変換します。
例えば、Javaの基本数字型とBigDecimalオブジェクトは、それが表現する数学的な数値を基にして、対応するCOBOLの数字型に変換されます。StringオブジェクトはUnicodeからCOBOLサーバの実行ロケールにあわせてコード変換されCOBOLの文字型に格納されます。byte[]を使用して無変換でバイナリデータを渡すこともできます。
この型変換の規則は開発者によって自由に設定できます。レガシーCOBOLプログラムの入出力データをJavaからどのように取り扱うかは、Java、COBOL双方のプログラマの都合で変わりますので、事情に合わせて自由に対応付けを設定できる必要があります。
COBOLサーバのためのデプロイツールを使用すると、既存のCOBOLプログラムに記述されている入出力データの定義に、Javaのデータ型をどのように対応付けるかをポイント&クリックで定義できます。
この定義情報は、COBOLサーバへのデプロイ時にコンパイル済みCOBOLプログラムとともにサーバに配備されますので、COBOLサーバのディスパッチャはこれを参照して正しい型変換を行います。
また、デプロイツールはEJBラッパーを自動生成する機能も装備していて、JavaプログラマからみるとあたかもEJBのビジネスロジックを呼び出すのと同じようにCOBOLのビジネスロジックを利用できるようになっています。
クラウドコンピューティングとCOBOL
これまで述べてきたように現代のCOBOLアプリケーションは主にサーバサイドのビジネスロジックのエンジンとして稼動しているわけですが、そうであれば現在普及が進んでいるクラウドサービスはその有力な実行基盤となり得ます。
Amazon Web Serviceに代表されるクラウドサービスは、ホスティングされた仮想サーバをセキュアな接続で利用させるサービスであり、利用者にとっては初期投資を節約しオンデマンドで最大限のコンピューティングリソースを活用できるものです。
英Micro Focus本社では、仮想化されたCOBOLアプリケーションサーバ環境をクラウドサービスとして利用するサービスをMicro Focus Enterprise Cloud Serviceとして発表しており、すでにベータ利用も募っています。
利用者は任意の容量のCOBOLサーバインスタンスを必要なだけ起動し、自身で用意したCOBOLアプリケーションの動的ロードモジュールをインスタンスにデプロイし、自社内のクライアントアプリケーションから利用できます。
アプリケーションをデプロイ済みのサーバはマシンイメージとして保存でき、必要なときに必要なだけの多重度で、時間課金で活用できます。
この仮想サーバはCOBOLアプリケーションの実行に特化されたものであり、利用者はOSにログオンして直接操作することは許容されていません。サービスが用意するツールを使用してCOBOLアプリケーションをデプロイすることのみが許容されています。
なお、コンポジットアプリケーションを構成するCOBOL以外のパーツはすべてオンプレミスで用意する必要があります。
データセンタによるホスティングはメインフレームの世界でも一般的になっています。Micro Focus Enterprise Cloud Serviceのような取り組みは、COBOLベースのミッションクリティカルなアプリケーションにもクラウドの恩恵への道を開くものとして注目に値します。こういった方向にもCOBOLの未来はあるのかもしれません。
以上、3回の連載でCOBOLのあらましを解説しました。COBOL言語についての系統だった学習は、市販書籍や研修会が提供されていますので必要に応じて利用されるとよいでしょう。この連載をスタートにして、「最新テクノロジに精通したCOBOLプログラマ」が1人でも多くビジネスシーンで活躍するようになることを願っています。
3/3 |
COBOL - Getting Started バックナンバー
- 第1回 Java/.NET開発者のための「ここが変だよ、COBOL」
- 第2回 これであなたもCOBOLプログラマ
- 最終回 COBOLのいま、未来そしてクラウド
| Index | |
| COBOLのいま、未来そしてクラウド | |
| Page1 COBOL開発環境の現状 COBOLもIDEから操作できる |
|
| Page2 コンポジットアプリケーション開発でのCOBOL |
|
| Page3 COBOLと他言語のデータ型を自動変換 クラウドコンピューティングとCOBOL |
|
| COBOL - Getting Started |
TechTargetジャパン
- 実例で学ぶRailsアプリのテスト方法 (2011/12/22)
具体的なWebアプリを例に簡単なテストを使ったリファクタリングについ
て解説する - Railsの人気テストフレームワーク6選! (2011/8/18)
今回からテストを使ったリファクタリングを解説する。まずはRailsで人
気のあるテストフレームワークをいくつか紹介する - ActiveRecordの更新系操作 (2011/6/27)
Railsのモデル層を担当するActiveRecordを使った登録、更新、削除
など、更新系の機能を中心に見ていきます - 実例アプリで学ぶ“Railsらしさ”の基礎 (2011/5/26)
Ruby on Railsで書かれた実例アプリを取り上げて、初心者が陥りがちなコードの書き方を指摘します。より「Railsらしい」コードとは?
|
|

