Micro Focus Server Express
for Linux
基幹業務のLinuxへのマイグレーションを実現
2003年 7月 2日
マイクロフォーカス株式会社
1
Micro Focus会社紹介
Server Express 製品概要
既存COBOLロジックの再利用
Linux/JavaにおけるCOBOLの利用
プログラミングの注意点
2
会社概要
•
•
•
•
•
設立
– 1976年 英国にて設立
– 1984年 日本支社設立
業務内容
– COBOLコンパイラおよび開発支援ツールの開発・販売・保守
ミッション
– 基幹業務アプリケーション開発における生産性向上と容易な保
守を可能にし、更に.NETやJAVA等の最新の技術に対応すること
により、お客様の アプリケーション資産の将来に渡る有効活用と
ビジネスの発展を支援します。
規模
– 従業員数 約470名
最近のトピックス
– LINUX対応製品を発表
– Webサービス向けに完全なCOBOLサポートを発表
– 優れた顧客サービスに与えられる世界的な賞を2年連続で受賞
– ISO2002規格のサポートを発表
– DePaul大学(米国イリノイ州)、COBOL再利用テクノロジが、Java
の書き換えと比較して1/3の時間とコストで済むと発表
3
マイクロフォーカス製品ラインナップ
• Micro Focus Net Express
–
–
–
–
Windows上のGUIを使ったCOBOLの統合開発環境
メインフレーム、UNIXのクロス開発もサポート
ウィザードによる開発支援
Java、COM、.NET、CORBAに対応
• Micro Focus Server Express
–
–
–
–
UNIX/LINUX対応の最新COBOL開発環境
32/64ビットUNIX/LINUX対応
マルチスレッド対応
Javaクラス、Servlet、EJBに容易にラッピング
4
COBOL資産の継承を支援
• Micro Focus Revolve
–
–
–
–
–
リバースエンジニアリングツール
クロス参照、オーバービューにより対象を把握
ビジネスロジックの迅速な理解
スクラップアンドビルド、再利用を支援
COBOLに加え、JCL、CICS、IMS定義も分析
• Micro Focus EnterpriseLink
– Webエミュレータ
– メインフレーム端末をWebブラウザに置き換え
– XMLアプリケーションのメインフレーム接続も可能
5
IBM環境下でのマイクロフォーカス製品
6
IBM
PARTNERSHIP
•
「業務用アプリケーションの70%がCOBOLベースであることを考えると、COBOL開発
の専門家であるマイクロフォーカス社のようなパートナーと協力することは、極めて
重要です。多くの新規または既存のアプリケーションにとってServer Expressは重
要な開発ツールです。」
Joan Dunguid氏 (IBM社、Linux zSeries マーケティング担当ディレクタ)
•
「Micro FocusはAIX上で稼動する、幅広いアプリケーション製品群への貴重な追加
製品です。Micro FocusとIBM eServer pSeriesのシステムの組合せによって、両社
の共通顧客に、費用対効果に優れ、柔軟かつ高性能なプラットフォームを提供す
ることができます。」
Val Rahmani氏 (IBM社サーバーグループ、
IBM eServer pSeries 担当ジェネラル・マネージャ)
7
Windows用COBOL開発環境
8
UNIX用COBOL開発環境
9
Micro Focus会社紹介
Server Express 製品概要
既存COBOLロジックの再利用
Linux/JavaにおけるCOBOLの利用
プログラミングの注意点
10
Micro Focus Server Express
概要
•
JavaとCOBOLの連携
– Servlet, EJBなどからCOBOLロジックを利用
•
分散開発環境
– Windowsで開発、UNIXでビルド・統合テスト・運用
•
高性能
– 64bitマシンコード生成 (Linux は次版からサポート)
– 旧版COBOL製品に比べ 20% から 200% の性能向上
•
マルチスレッド
– COBOLで OSレベルのスレッド制御が可能
•
デバッグ機能の強化
– マルチスレッドのデバッグ
– COBOL以外の言語との混在デバッグ
•
豊富なユーティリティ
– コアダンプ解析ツール
– データベースアクセス
11
Micro Focus Server Express
概要
12
Micro Focus Server Express
概要
UNIXサーバー
Windows
利点
・ Windows GUI環境でのエディト・デバッグ
・ アプリケーションのビルドプロセスを自動化
・ SJIS, EUC環境を一元管理
13
Micro Focus Server Express
概要
CGI, NSAPI の場合
Windows
Net Express
インターネットアプリケーションウィザード
によるHTML, COBOL CGIの自動生成
UNIXサーバー
SOLO配下でのローカルデバッグ
Net Expressによるデバッグ
JAVA の場合
Webブラウザ
14
Micro Focus Server Express
概要
■製品の販売についてのお問い合わせ先
エンサイクロソフト株式会社
オペレーション推進部
Tel:044-201-5505 / Fax:044-201-2930
■製品に関する技術的なお問い合わせ先
マイクロフォーカス株式会社
Tel:0120-209612
e-mail:[email protected]
15
Micro Focus会社紹介
Server Express 製品概要
既存COBOLロジックの再利用
Linux/JavaにおけるCOBOLの利用
プログラミングの注意点
16
e時代を支えるCOBOL
•
実績
–
–
–
–
–
•
四半世紀を超える開発・販売・保守
ANSI 規格制定のリーダーシップ
事実上の業界標準COBOL
IBMメインフレームCOBOLとの高い互換性
IBMミドルウェア(TX series,MQ,DB2等)が唯一公式にサポートしているサードベンダ
ー製COBOL
多様なソリューションを支援
– 既存システムからCOBOLロジックを再利用してのリホスティング、WEB化、
WEBサービスへの直接連携
– COBOL開発ノウハウを活かした新規構築
– ERPパッケージとの併用
– 既存のMicro Focus COBOLの最新環境への移行
•
多くのプラットフォームに対応するCOBOLコンパイラ
– Windows、UNIX(AIX、 HP-UX、Solaris、Tru64)、LINUX
– xSeries、pSeries、zSeries、Itanium2、PA-RISC、SPARC、Alpha
17
既存システム資産の現状
•
•
全世界的にみると、実際に稼動している業務システムの 70%は
COBOLで記述
1万6千社の大企業で、今も開発言語として採用
10%
20%
(出展:Giga Information Group, 2000)
COBOL
Visual Basic
その他(Java含む)
70%
18
COBOL資産の量
•
米IBMの推測
– 98年末時点で世界に1500億行
– 投下された資金が5兆ドル(600兆円)
•
米コンサルティング会社の見方
– 毎年50億行ずつコードが増えている
19
COBOLは働き盛り
•
新しい言語への不安
– 基幹システムのライフサイクルは10年以上
– プラットフォーム変更に耐えられるか
•
技術者の不足
– 業務知識を持つJavaプログラマー?
– 他人が書いたJava、Cプログラムを保守?
完成度
少年期
ティーンエイ
ジャー期
成年期
円熟期
老年期
老境期
開発言語
XML, EJB
HTML, Java
COBOL,
C++
SmallTalk,
RPG, C
FORTRAN
ADA
PL/1
短期的展望
模索
普及
再見直し
再見直し
後退傾向
減衰傾向
次期ステップ
1年
2年
10年
5年
5年
終息
Gartner Group Gartner's Application Development Research Note, 25 February 2000.
20
メインフレーム市場
•
•
日本は「メインフレーム大国」
2002年を境にオープンへの切り替え加速
– メインフレーム利用企業の「コスト削減要求」
– 紹介記事
• 2003年2月14日
• 日経ITPro「記者の眼」
21
適材適所、プログラム言語選択
•
現在のアプリケーション開発の前提は
– Web対応
– Webシステムとの連携
•
プログラミング言語の選択が重要
– 開発の半分以上はビジネスロジックの組上げ
– 最適な言語選択が生産性と品質を向上
•
COBOLとJava
– フロント画面Java、サーバー側COBOL
– 有効桁数18桁のCOBOLは保険料率計算など安心
– 「COBOLかJava」ではなく「COBOLとJava」
22
オープンシステムにおけるCOBOL
 メインフレームオルタナティブとしてのWindows、UNIX
– COBOLバッチプログラムの高い移植性
 アプリケーションサーバーとしてのWindows、UNIX
– ホスト集中型の従来型アプリケーションとの親和性
 COBOLの一般的特性
– 高い可読性、保守性、生産性、均質な品質
 40年間で証明された開発方法論としてのCOBOL
 COBOLプログラマの高い資質
アプリケーションサーバー
クライアント
プレゼンテー
ーション
サービス要求
ロジック
サービス
データアクセス
ロジック
サーバーサイドでのビジネス
ロジックにCOBOLの活用を
23
COBOLロジックのコンポーネント化
強固なビジネスロジックをどこからでも、誰からでも…
アプリケーションサーバー
クライアント
COM+
ラッピング
.NET Framework
ラッピング
Javaクラス
ラッピング
プレゼンテー
ーション
• 多言語
•HTML
•ASP
•JSP
•VisualBasic
•C#
….
• ヘテロ
プラットフォーム
•メインフレーム
•Windows
•UNIX
•Linux
•モバイル端末
….
Enterprise
Java Bean
ラッピング
CORBA
オブジェクト
ラッピング
ビジネスロジック
EVALUATE SHOR
WHEN ADD-VA
PERFORM AD
WHEN DELETE
PERFORM DE
COMPUTE INHE
= YEARS-GIVE
/ ( 12 + IND
IF ( CUSTOMER> ‘20011212’ )
AND
24
既存COBOLロジックの再利用
•
•
•
Webアプリケーション構築でCOBOLを活用するために、既存COBOL
資産を活用したい
 ロジックの抽出が必要
既存COBOLプログラム = プラットフォーム依存部 + ロジック
プラットフォーム依存部
– レガシー環境に特有のDB/DC処理部分
– 画面入出力
•
ロジック
– 業務の計算・編集・DB照会/更新
•
ロジックは入力パラメタを処理して出力パラメタを作製する手続き
– CICSトランザクションのCOMAREA
– RECEIVE文で受け取る電文のレコード形式
– IN と OUT に着目して抽出する
25
既存COBOLロジックの再利用
PROCEDURE DIVISION.
ENTRY 'DLITCBL' USING IO-PCB ALT-PCB.
PERFORM 画面入力.
PERFORM 業務処理.
PERFORM 画面出力.
GOBACK.
画面入力.
CALL 'CBLTDLI' USING GN IO-PCB MID-AREA.
画面出力.
CALL 'CBLTDLI' USING ISRT IO-PCB MOD-AREA
MOD-NAME.
業務処理.
<<< 再利用されるロジック >>>
オンラインプログラムの構造
典型的なIMSオンライン
26
既存COBOLロジックの再利用
ツールの活用 – Micro Focus Revolve
クロス参照と最文書化
27
Micro Focus会社紹介
Server Express 製品概要
既存COBOLロジックの再利用
Linux/JavaにおけるCOBOLの利用
プログラミングの注意点
28
Linuxによる Javaベースシステム構築とCOBOL
 さまざまな連携方法で、COBOLロジックの利用が可能
 疎結合 – バッチのみCOBOL、DBは共有
 蜜結合 – JSP/Servlet/EJB から COBOLロジックを利用
JSP
Servlet
COBOL
EJB
DB2
WebSphere Application Server
バッチ処理層
COBOL
29
COBOLロジックの利用方法
 Micro Focus提供の mfcobol.runtimeクラス
 COBOLプログラムのロード、呼び出し
 パラメタ型変換、返却値
 参照系の利用で便利
 Micro Focus提供の COP Framework
 別プロセスの COBOL Serverにより一元処理
 Javaからは pure Javaの ClientRequestオブジェクトでメッセージ送受信
 Application Server に負担をかけない
 ミドルウェア経由のコンポーネント化
 IBM MQ
 IBM TX Series (CICS)
 BEA Tuxedo
 日立 OpenTP1
 NEC TPBase
 トランザクション処理で利用
30
Mfcobol.runtimeクラスの利用
COBOL
ランタイムシステム
Javaクラス
Cobcall()
runtime
オブジェクト
COBOL
COBOL
COBOL
プログラム
プログラム
プログラム
JVM
31
Micro Focus COP Framework
COBOL
Server
Javaクラス
COBOL
ランタイムシステム
Cobcall()
ClientRequest
オブジェクト
COBOL
COBOL
COBOL
プログラム
プログラム
プログラム
JVM
32
IBM TX Seriesによる連携
注:TX Series のLinux版は
まだ提供されていません
JSP/Servlet
TX Series
Transaction Gateway
ECIリスエスタ
COBOL
ランタイムシステム
CICSコマンド
WebSphere
Application Server
COBOL
COBOL
COBOL
プログラム
プログラム
プログラム
33
Micro Focus Enterprise Serverによる連携
注:Server Express 4.0 J にて
提供が予定されている機能です
JSP/Servlet
Micro Focus
バイナリプロトコル
自動生成 EJB
Micro Focus
Enterprise Server
COBOL
ランタイムシステム
WebSphere
Application Server
自動マッピング
開発環境
Interface
Mapping
Toolkit
COBOL
COBOL
COBOL
プログラム
プログラム
プログラム
34
ABK システム – ドイツ
(ドイツにおける銀行用支払トランザクション・ソフトウェアの大手プロバイダ)
•
ビジネスの課題
– 顧客がトランザクション・スループットの迅速化を要求
– …より低いトランザクションあたりのコストで
•
解決策
– 銀行用支払アプリケーションを Unix から移行
– …Linux 稼動の IBM zSeries メインフレームへ
– …アプリケーションの再コンパイルのみで
•
成果
– 首尾よく移行が完了
– 顧客のトランザクションを削減
– ドイツ国内 5 万件の銀行間トランザクションのを6 時間以内で処理
再コンパイルのみで、新プラットフォームを活用
35
Micro Focus会社紹介
Server Express 製品概要
既存COBOLロジックの再利用
Linux/JavaにおけるCOBOLの利用
プログラミングの注意点
36
インタフェース設計の留意点
 COBOLのデータ型のマッピング
 COBOLデータ型とJavaデータ型
 COBOLのレコード形式
 一般に項目数が非常に多い – CICSのCOMAREAなど
 Javaはひとつのメソッドに300個のパラメータがあることを想定していない
 XMLなどテキストベースのインタフェース
 Javaではテキスト形式での交換が安全
 IN/OUTパラメータの配置
 OUTパラメータはテキスト型返却値にまとめると簡単
 COBOLレコードをテキストへエンコード・デコードする処理が必要
37
インタフェース設計の留意点
COBOLのデータ型とJavaデータ型
Java データ型
COBOL記法
COBOL データ型
説明
byte
jbyte
pic s99 comp-5
1 バイトの符号付き整数
short
jshort
pic s9(4) comp-5
2 バイトの符号付き整数
int
jint
pic s9(9) comp-5
4 バイトの符号付き整数
long
jlong
pic s9(18) comp-5
8 バイトの符号付き整数
boolean
jboolean
pic 99 comp-5
ゼロ値は偽、ゼロ以外は真
char
jchar
(Unicode) pic 9(4) comp-5
Java 中の文字はすべて 2 バイトの
Unicode 文字
float
jfloat
comp-1
浮動小数点数型
double
jdouble
comp-2
倍精度浮動小数点数型
String
MF-jstring
ポインタ
文字列またはバッファのアドレス、サイ
ズおよび容量を与えるユーザー定義型
Net Express、Server Express が提供する COPYライブラリとクラスライブラリで実現
38
インタフェース設計の留意点
 IN/OUTパラメータのテキストへのエンコード・デコード
 基本データ型は Net Express や Server Express が提供するメカニズ
ムで変換される
 Javaなどで 既存COBOLをラッピングする場合、COBOLのLINKAGESECTIONに記述されたレコードを、ラッピングで変換する必要がある
 レコード型は、要素を個別のパラメタにするよりも、テキスト形式にまと
めて、ひとつのパラメタとしたほうが良い
 “&&” のようなセパレータで区切られたテキスト表現とする
 COBOLのUNSTRING文で渡されたテキストを要素へ分割
 COBOLのNUMVAL関数で、テキスト形式の数値を任意のCOBOL数
値型に変換可能
01 ITEM-1 PIC S9(8)V9(5) USAGE PACKED-DECIMAL.
MOVE FUNCTION NUMVAL(“+123.456”) TO ITEM-1.
39
スレッド競合の回避
 スレッド競合の問題
 Javaでは、コンポーネントをサーバー上プロセス内のスレッドとしてイン
スタンス化する
 COBOLプログラム中のリソースは通常プロセス内 Static
 WORKING-STORAGE SECTIONのデータ
 オープンされたファイルの結合子
 同一コンポーネントのインスタンスが同時に複数存在すると、リソース
の競合が発生し、誤操作の原因となる
スレッド1
スレッド2
MOVE 1 TO A
MOVE 2 TO A
Staticなリソース
プロセス
40
スレッド競合の回避
 Javaの場合
 COBOLを利用するJavaメソッドを Synchronize属性にする
 同時に1インスタンスしか実行されないことを強制
 COBOLコンポーネントをスレッドセーフにコンパイルする
 SERIAL指令 – 同時にひとつしか実行されないように強制
一般に小さい処理に適切
 REENTRANT指令 – すべてのリソースをスレッド毎に作製するように強制
一般にオーバーヘッドは大きい
 COBOLコンポーネントをスレッドセーフに再設計する
 競合するデータは THREAD-LOCAL SECTIONに配置
 セマフォやミューテックスを使用して、競合するロジック部分を占有する
41
デモ システム構成
42
ご案内
•
詳細な技術情報について
– 無料定期セミナー
• Windowsアプリケーション構築セミナー
• Java環境でのCOBOLの活用技法
• 既存システムの再利用とダウンサイジング
•
ユーザー事例、技術資料、製品マニュアル、ソリューションプロバイダ
募集要項等
http://www.microfocus.co.jp/
43
ダウンロード

Micro Focus Server Express for Linux 基幹業務の