Micro Focus Server Express は、UNIX/Linuxをターゲットとして、高性能でスケーラブルなアプリケーションの構築を実現する世界標準COBOLコンパイラです。Micro Focus Server Expressは、Windows版のCOBOLコンパイラ製品であるMicro Focus Net Expressの統合開発環境との緊密な連携によって、プログラムの編集、デバッグ、コンパイル作業を、UNIX/LinuxにログインすることなくほとんどWindows上で行うことができます。Net Expressが提供するさまざまなウィザードにより、データベースのクエリー、ホスト変数宣言、クラス定義など多くの部分を自動生成し、これをServer ExpressがUNIX/Linux上で実行可能にします。
Net Expressに標準装備の「UNIXオプション」という機能を用いることにより、COBOLアプリケーションの開発、テスト、デバッグに加え、アプリケーションのファイル転送やUNIX/Linux上での再コンパイルまでの作業を、Windows GUI環境下で一貫して行うことができるのです。
マイクロフォーカス株式会社ではServer ExpressとNet Express を組み合わせてのクロス開発を推奨しています。この組み合わせによって、より多くのプラットフォームの開発が可能となるだけでなく、UNIX/Linux アプリケーションの開発工数が飛躍的に向上します。ここでは、その機能について解説します。
昨今、メインフレームからオープンシステムへの移行プロジェクトにおいて、メインフレーム上の既存COBOLアプリケーションを再利用し、COBOLの持つ強力なビジネスロジックの記述力を活かしながらUNIXやLinuxプラットフォームを採用する事例が増加しています。このような事例では、多くの場合、UNIX/Linuxサーバ側ではCOBOLで記述されたアプリケーションロジックを分散トランザクションのコンポーネントとして配置し、フロントエンドのWebアプリケーション等がこれを起動する方式をとります。このような場合、UNIX/Linux側のCOBOLプログラムは、データベースアクセスと算術演算などのロジック処理に専念するため、一般にプラットフォーム依存性が非常に低いものになります。従って、同じCOBOLプログラムを異なるUNIX/Linuxプラットフォームや Windows プラットフォームでも稼動させることができるメリットもあります。
このメリットをアプリケーション開発の生産性向上に適用したものが、Net Expressの 「UNIXオプション」機能です。Net Expressの統合化された開発環境で、開発のほとんどのフェーズを行うことができ、最後にターゲットのUNIXもしくはLinuxにパブリッシュするだけで、UNIX/Linux上でアプリケーションをビルドすることができます。
以下に、UNIXオプションの方式の概要を示します。
UNIXオプションは、インポートを実行するときにフリーソフトウェアのSambaによるドライブマッピング機能を使用します。各種UNIX/Linuxプラットフォーム用のSambaが Net Express製品CD-ROMに収録されています。 UNIXオプションは UNIXリモートシェル (RSH)プロトコルを使用して、アプリケーションをPCからUNIX/Linuxへパブリッシュします。ほとんどすべての UNIX/Linuxシステムは、デフォルトで RSHサーバプログラムの使用が可能です。他の特別なサーバソフトウェアをインストールする必要はありません。
Net Express と Server Expressは、非常に互換性の高い構文チェックを行いますので、基本的にパブリッシュ時にUNIX/Linux上のコンパイラが構文エラーを報告するようなことはありえません。しかし、オペレーティングシステムやハードウェアに依存するプログラミングが非互換を生じることはありえます。このため、Net Expressコンパイラは、Windows上でそのような互換性がない構文を事前チェックするオプションを装備しています。例として以下のような構文があります:
160 バイトを超える文字定数
空白文字を含むファイル名
4 バイトを超える BY VALUEパラメタ
マルチスレッド構文
Object COBOL構文
UNIXオプションによってUNIX/LinuxへパブリッシュされたCOBOLアプリケーションは、UNIX/Linux上のプロセスとして動作します。このUNIX/Linux上で稼動しているCOBOLプログラムを、Windows上のGUIデバッガであるアニメータを使用してリモートデバッグすることができます。
アニメータは Windows GUIの高い操作性を活かして、プログラムのステップ実行や、ブレークポイント、データ項目の内容検査などのデバッグ作業を行うことができます。このとき実際の COBOLプログラムは UNIX/Linuxサーバ上のプロセスとして動作しており、Windows上のアニメータがこれと通信しながら制御しています。