micro focus server express for linux 基幹業務の linux への マイグレーションを実現...
DESCRIPTION
Micro Focus Server Express for Linux 基幹業務の Linux への マイグレーションを実現 2003年 7月 2日. マイクロフォーカス株式会社. Micro Focus 会社紹介. Server Express 製品概要. 既存 COBOL ロジックの再利用. Linux/Java における COBOL の利用. プログラミングの注意点. 会社概要. 設立 1976年 英国にて設立 1984年 日本支社設立 業務内容 COBOL コンパイラおよび開発支援ツールの開発・販売・保守 ミッション - PowerPoint PPT PresentationTRANSCRIPT
2
Server Express 製品概要
既存 COBOL ロジックの再利用
Linux/Java における COBOL の利用
プログラミングの注意点
Micro Focus 会社紹介Micro Focus 会社紹介
3
会社概要• 設立
– 1976 年 英国にて設立– 1984 年 日本支社設立
• 業務内容– COBOL コンパイラおよび開発支援ツールの開発・販売・保
守• ミッション
– 基幹業務アプリケーション開発における生産性向上と容易な保守を可能にし、更に .NET や JAVA 等の最新の技術に対応することにより、お客様の アプリケーション資産の将来に渡る有効活用とビジネスの発展を支援します。
• 規模– 従業員数 約 470 名
• 最近のトピックス– LINUX 対応製品を発表– Web サービス向けに完全な COBOL サポートを発表– 優れた顧客サービスに与えられる世界的な賞を 2 年連続で受
賞– ISO2002 規格のサポートを発表– DePaul 大学(米国イリノイ州)、 COBOL 再利用テクノ
ロジが、 Java の書き換えと比較して 1/3 の時間とコストで済むと発表
4
マイクロフォーカス製品ラインナップ
• 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 に容易にラッピング
5
COBOL 資産の継承を支援
• Micro Focus Revolve– リバースエンジニアリングツール– クロス参照、オーバービューにより対象を把握– ビジネスロジックの迅速な理解– スクラップアンドビルド、再利用を支援– COBOL に加え、 JCL 、 CICS 、 IMS 定義も分析
• Micro Focus EnterpriseLink– Web エミュレータ– メインフレーム端末を Web ブラウザに置き換え– XML アプリケーションのメインフレーム接続も可能
7
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 担当ジェネラル・マネージャ )
10
Server Express 製品概要Server Express 製品概要
既存 COBOL ロジックの再利用
Linux/Java における COBOL の利用
プログラミングの注意点
Micro Focus 会社紹介
11
Micro Focus Server Express
概要• Java と COBOL の連携
– Servlet, EJB などから COBOL ロジックを利用• 分散開発環境
– Windows で開発、 UNIX でビルド・統合テスト・運用• 高性能
– 64bit マシンコード生成 (Linux は次版からサポート )– 旧版 COBOL 製品に比べ 20% から 200% の性能向上
• マルチスレッド– COBOL で OS レベルのスレッド制御が可能
• デバッグ機能の強化– マルチスレッドのデバッグ– COBOL以外の言語との混在デバッグ
• 豊富なユーティリティ– コアダンプ解析ツール– データベースアクセス
13
WindowsWindows
UNIXUNIX サーバーサーバー
利 点利 点 ・ Windows GUI 環境でのエディト・デバッグ
・ アプリケーションのビルドプロセスを自動化
・ SJIS, EUC 環境を一元管理
Micro Focus Server Express
概要
14
CGI, NSAPI CGI, NSAPI の場の場合合
JAVA JAVA の場の場合合
UNIXUNIX サーバーサーバーNet Express
インターネットアプリケーションウィザード
による HTML, COBOL CGI の自動生成
Net Express によるデバッグ
SOLO配下でのローカルデバッグ
Windows
WebWeb ブラウザブラウザ
Micro Focus Server Express
概要
15
■製品の販売についてのお問い合わせ先
エンサイクロソフト株式会社
オペレーション推進部
Tel: 044-201-5505 / Fax: 044-201-2930
■製品に関する技術的なお問い合わせ先
マイクロフォーカス株式会社
Tel:0120-209612
e-mail:[email protected]
Micro Focus Server Express
概要
16
Server Express 製品概要
既存 COBOL ロジックの再利用既存 COBOL ロジックの再利用
Linux/Java における COBOL の利用
プログラミングの注意点
Micro Focus 会社紹介
17
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
18
既存システム資産の現状
• 全世界的にみると、実際に稼動している業務システムの 70%は COBOL で記述
• 1万 6千社の大企業で、今も開発言語として採用
70%
20%10%
COBOLVisual Basic
J avaその他( 含む)(出展: Giga Information Group, 2000)
19
COBOL 資産の量
• 米 IBM の推測– 98 年末時点で世界に 1500億行– 投下された資金が 5兆ドル( 600兆円)
• 米コンサルティング会社の見方– 毎年 50億行ずつコードが増えている
20
COBOL は働き盛り
• 新しい言語への不安– 基幹システムのライフサイクルは 10 年以上– プラットフォーム変更に耐えられるか
• 技術者の不足– 業務知識を持つ Java プログラマー?– 他人が書いた Java 、 C プログラムを保守?
完成度 少年期 ティーンエイジャー期 成年期 円熟期 老年期 老境期
開発言語 XML, EJ B HTML, J ava COBOL,C++
SmallTalk,RPG, C
FORTRANADA
PL/ 1
短期的展望 模索 普及 再見直し 再見直し 後退傾向 減衰傾向
次期ステップ 1年 2年 10年 5年 5年 終息
Gartner Group Gartner's Application Development Research Note, 25 February 2000.
21
メインフレーム市場
• 日本は「メインフレーム大国」• 2002 年を境にオープンへの切り替え加速
– メインフレーム利用企業の「コスト削減要求」– 紹介記事
• 2003 年 2 月 14 日• 日経 ITPro 「記者の眼」
22
適材適所、プログラム言語選択
• 現在のアプリケーション開発の前提は– Web 対応– Web システムとの連携
• プログラミング言語の選択が重要– 開発の半分以上はビジネスロジックの組上げ– 最適な言語選択が生産性と品質を向上
• COBOL と Java– フロント画面 Java 、サーバー側 COBOL– 有効桁数 18桁の COBOL は保険料率計算など安心– 「 COBOLか Java 」ではなく「 COBOL と Java 」
23
オープンシステムにおける COBOL
メインフレームオルタナティブとしての Windows 、 UNIX– COBOL バッチプログラムの高い移植性
アプリケーションサーバーとしての Windows 、 UNIX– ホスト集中型の従来型アプリケーションとの親和性
COBOL の一般的特性– 高い可読性、保守性、生産性、均質な品質
40 年間で証明された開発方法論としての COBOL COBOL プログラマの高い資質
クライアント
プレゼンテーーション
アプリケーションサーバー
サービスロジック
ロジック
サービス要求サービス要求
データアクセスデータアクセス
サーバーサイドでのビジネスロジックに COBOL の活用を
24
アプリケーションサーバー
COBOL ロジックのコンポーネント化
ビジネスロジック
EVALUATE SHOR WHEN ADD-VA PERFORM AD WHEN DELETE PERFORM DE
COMPUTE INHE = YEARS-GIVE / ( 12 + IND
IF ( CUSTOMER- > ‘20011212’ ) AND
COM+ ラッピングラッピング
ラッピングラッピング
ラッピングラッピング
ラッピングラッピング
ラッピングラッピング
.NET Framework
Java クラス
EnterpriseJava Bean
CORBAオブジェクト
クライアント
プレゼンテーーション
サービス要求
サービス要求• 多言語•HTML•ASP•JSP•VisualBasic•C# ….
• ヘテロ プラットフォーム
•メインフレーム•Windows•UNIX•Linux•モバイル端末 … .
強固なビジネスロジックをどこからでも、誰からでも…
25
• Web アプリケーション構築で COBOL を活用するために、既存COBOL 資産を活用したい
ロジックの抽出が必要• 既存 COBOL プログラム = プラットフォーム依存部 + ロジック• プラットフォーム依存部
– レガシー環境に特有の DB/DC処理部分– 画面入出力
• ロジック– 業務の計算・編集・ DB 照会 / 更新
• ロジックは入力パラメタを処理して出力パラメタを作製する手続き– CICS トランザクションの COMAREA– RECEIVE文で受け取る電文のレコード形式– IN と OUT に着目して抽出する
既存 COBOL ロジックの再利用
26
オンラインプログラムの構造
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 オンライン
既存 COBOL ロジックの再利用
28
Server Express 製品概要
既存 COBOL ロジックの再利用
Linux/Java における COBOL の利用Linux/Java における COBOL の利用
プログラミングの注意点
Micro Focus 会社紹介
29
Linux による Java ベースシステム構築と COBOL
JSPServlet
COBOL
EJB
WebSphere Application ServerDB2
さまざまな連携方法で、 COBOL ロジックの利用が可能 疎結合 – バッチのみ COBOL 、 DB は共有 蜜結合 – JSP/Servlet/EJB から COBOL ロジックを利用
バッチ処理層COBOL
30
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 トランザクション処理で利用
31
Mfcobol.runtime クラスの利用
runtimeオブジェクト
Java クラス
JVM
COBOLプログラム
COBOLプログラム
COBOLプログラム
Cobcall()
COBOLランタイムシステム
32
Micro Focus COP Framework
ClientRequestオブジェクト
Java クラスCOBOLServer
JVM
COBOLプログラム
COBOLプログラム
COBOLプログラム
Cobcall()
COBOLランタイムシステム
33
IBM TX Series による連携
Transaction GatewayECI リスエスタ
JSP/Servlet
TX Series
COBOLプログラム
COBOLプログラム
COBOLプログラム
CICS コマンド
COBOLランタイムシステム
WebSphereApplication Server
注: TX Series の Linux版は まだ提供されていません
34
Micro Focus Enterprise Server による
連携
自動生成 EJB
JSP/Servlet
Micro FocusEnterprise Server
COBOLプログラム
COBOLプログラム
COBOLプログラム
自動マッピング
COBOLランタイムシステム
WebSphereApplication Server
Micro Focusバイナリプロトコル
開発環境InterfaceMappingToolkit
注: Server Express 4.0 J にて 提供が予定されている機能です
35
ABK システム – ドイツ (ドイツにおける銀行用支払トランザクション・ソフトウェアの大手プロバ
イダ)
• ビジネスの課題
– 顧客がトランザクション・スループットの迅速化を要求– …より低いトランザクションあたりのコストで
• 解決策– 銀行用支払アプリケーションを Unix から移行– …Linux 稼動の IBM zSeries メインフレームへ– …アプリケーションの再コンパイルのみで
• 成果– 首尾よく移行が完了– 顧客のトランザクションを削減– ドイツ国内 5 万件の銀行間トランザクションのを 6 時間以内で処理
再コンパイルのみで、新プラットフォームを活用
36
Server Express 製品概要
既存 COBOL ロジックの再利用
Linux/Java における COBOL の利用
プログラミングの注意点プログラミングの注意点
Micro Focus 会社紹介
37
インタフェース設計の留意点
COBOL のデータ型のマッピング COBOL データ型と Java データ型
COBOL のレコード形式 一般に項目数が非常に多い – CICS の COMAREA など Java はひとつのメソッドに 300個のパラメータがあることを想定
していない XML などテキストベースのインタフェース
Java ではテキスト形式での交換が安全 IN/OUT パラメータの配置
OUT パラメータはテキスト型返却値にまとめると簡単 COBOL レコードをテキストへエンコード・デコードする処理が必
要
38
インタフェース設計の留意点
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 ライブラリとクラスライブラリで実現
39
IN/OUT パラメータのテキストへのエンコード・デコード 基本データ型は Net Express や Server Express が提供す
るメカニズムで変換される Java などで 既存 COBOL をラッピングする場合、 COBOL の
LINKAGE-SECTION に記述されたレコードを、ラッピングで変換する必要がある
レコード型は、要素を個別のパラメタにするよりも、テキスト形式にまとめて、ひとつのパラメタとしたほうが良い
“&&” のようなセパレータで区切られたテキスト表現とする COBOL の UNSTRING文で渡されたテキストを要素へ分割 COBOL の NUMVAL関数で、テキスト形式の数値を任意の
COBOL 数値型に変換可能
01 ITEM-1 PIC S9(8)V9(5) USAGE PACKED-DECIMAL.MOVE FUNCTION NUMVAL(“+123.456”) TO ITEM-1.
インタフェース設計の留意点
40
スレッド競合の回避
スレッド競合の問題 Java では、コンポーネントをサーバー上プロセス内のスレッド
としてインスタンス化する COBOL プログラム中のリソースは通常プロセス内 Static
WORKING-STORAGE SECTION のデータ オープンされたファイルの結合子
同一コンポーネントのインスタンスが同時に複数存在すると、リソースの競合が発生し、誤操作の原因となる
プロセス
Static なリソース
スレッド 1
MOVE 1 TO A
スレッド 2
MOVE 2 TO A
41
Java の場合 COBOL を利用する Java メソッドを Synchronize属性にする
同時に1インスタンスしか実行されないことを強制 COBOL コンポーネントをスレッドセーフにコンパイルする
SERIAL指令 – 同時にひとつしか実行されないように強制一般に小さい処理に適切
REENTRANT指令 – すべてのリソースをスレッド毎に作製するように強制
一般にオーバーヘッドは大きい COBOL コンポーネントをスレッドセーフに再設計する
競合するデータは THREAD-LOCAL SECTION に配置 セマフォやミューテックスを使用して、競合するロジック部分を占有す
る
スレッド競合の回避