第4回COBOL活用セミナー資料

Javaはミッションクリティカル業務に耐えられるか？

2002年12月11日
COBOLコンソーシアム
会長 今城 哲二

自己紹介・1969年

日立製作所ソフトウェア工場（現在のソフトウェア事業部）入社

25年間：COBOLコンパイラ，開発支援ツールなどの製品開発
6年間：OLTP/運用管理などのミドルウェアのマーケティング
現在は、日立製作所ソフトウェア事業部テクノロジソリューション推進部長（Java/XMLソリューションセンタ担当，アライアンス担当）
・COBOL,他のプログラム言語,文字コード,情報処理用語などの標準化を30年以上担当（CODASYL COBOL委員会委員，JIS COBOL原案作成委員会委員長，ISO COBOL標準化委員会日本代表，JIS C＃原案作成委員会委員(2003年度），・・・）
・分散オブジェクト推進協議会の部会主査，EJBコンポーネントに関するコンソーシア
ムの部会主査，COBOLコンソーシアム会長など
・芝浦工業大学客員教授，千葉大学工学部非常勤講師（1995〜1999）
・工学博士

2主なプログラム言語のプログラマ人口推移
300万COBOL

C／C++
100万Java

PL/I00

2095

1990

1985

1980

1975197019651960019

プログラマ人口︵世界︶Visual Basic200万

出典：共立出版社 bit誌 ２００１年４月号（今城他）を訂正
3プログラム言語利用状況
・ある大手SIベンダのプログラム開発量
2000年/2001年度：納入した行数
COBOL

40〜45％

（横ばい）

C/C++

15〜25％（横ばい又は減少傾向）

Visual Basic

15％前後（横ばい又は減少傾向）

Java

１％→５％

（増加傾向）

その他(PL/I，４GL，‥‥）

20％

・COBOLが相変わらずトップ ユーザ自身での開発（主に保守）はほとんどCOBOL（業界全体では60〜70％と思われる）・Javaは伸びているが，2002年度も10％までは至らない見込み。
Java™ 及びすべてのJava™関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。その他，本資料に記載の会社名、製品またはサービス名は、それぞれの会社の商標または登録商標です。

4ミッションクリティカル業務とは組織のレベルz 作業グループレベル
z 部門レベルz 企業レベル−大企業，中小企業
z グローバルレベル−企業間など
基幹系業務/情報系業務
ミッションクリティカル業務：
z 基幹系業務の中で社会的あるいは企業存亡の影響度大のもの。
z 5分以上のダウンが許されないシステム（ダウンすると新聞ザタ）
z 例：社会インフラをささえるもの（銀行勘定系システム，みどりの窓口，・・・）
z 例：その企業の中核の生産管理システム（24時間稼動製鉄所システム，・・・）

5

J2EE（Java２ Ｐｌａｔｆｏｒｍ， Enterprise Edition)
Javaはそもそもは組込みシステムを意図したプログラム言語

アプレット，JSP/サーブレット，EJB（Enterｐrise Java Beans)など企業系システム向けにシステム環境をエンハンス。
今や システム環境 となった。
メインフレームなど頑丈なものではなく，現在も進歩を続けており，発展途上（未完の大器）

6

Java(J2EE)の構成要素とその役割

クライアントWebｻｰﾊﾞ(httpﾘｽﾅ)

ｱﾌﾟﾚｯﾄEJB

WWWブラウザ

JSP ｻｰﾌﾞﾚｯﾄ
ｻｰﾌﾞﾚｯﾄ
JSP ｻｰﾌﾞﾚｯﾄ

Bean
Bean

ｱﾌﾟﾘｹｰｼｮﾝｻｰﾊﾞ

ｺﾝﾃﾅ

JDBC

ＤＢＭＳ

ｱﾌﾟﾚｯﾄJSP

ｻｰﾌﾞﾚｯﾄ

Bean

JDBC

ｸﾗｲｱﾝﾄで動作するJava(GUI等)

HTMLからJava機能を利用Web中で動作するJava

ﾋﾞｼﾞﾈｽﾛｼﾞｯｸのｺﾝﾎﾟｰﾈﾝﾄ

JavaによるDB
アクセスI/F

7

システム基盤としてのJavaのレイヤ
J2EE (Java™2 Platform, Enterprise Edition)

レイヤ
アプリケーション開発

画面

JSP (JavaServer Pages)

言語

Java[言語]
JDBC (Java Database Connectivity)
各種オープンDBMS(HiRDB,DB2，Oracleなど)

オンライン
トランザクション

JTA (Java Transaction API)JTS (Java Transaction Service)

通信基盤

Java IDL (Java Interface Definition Language)
Java RMI (Java Remote Method Invocation)OS

ハードウェアシステムコール

Javaクラスライブラリ

カーネル

Java仮想マシン*1

ＥＪＢ

データベース

各種CPU (Intel Pentium，HP PA‑RISC など)

8メインフレームのOLTPアプリケーションの構造
端末
画面制御

SNAなど
3270や
3270や
560/20560/20端末機
端末機

画面
定義
画面
ｱｸｾｽ

ビジネス
ロジック
レイヤ

論理
RMIMAP
IIOP

アプリケー
ション

バックエンド
レイヤ

ｱｸｾｽ
ﾙｰﾁﾝ
Database
Database

9JavaのOLTPアプリケーションの構造
Webクライアント

AppletAppletAppletコンテナ
コンテナ
Applicationクライアント

Application
ClientApplication
Application
クライアントクライアント
コンテナ
コンテナ

HTTP
SSL

Web
フロントエンド
レイヤ

JSP
FW

ビジネス
ロジック
レイヤ

RMIIIOP

バックエンドレイヤ

EJB
Database
Database

ServletWebコンテナ
Webコンテナ

EJBコンテナ
EJBコンテナ
Resource固有10J2EEの問題点
トランザクション機能は持っているが，OLTPと比べ機能は貧弱−OLTPの基本機能の入力キュー，出力キュー，ジャーナルなし→各ベンダが一部を独自追加−ミッションクリティカル機能はJCP（Java標準化団体）で検討が始まった。
メモリプロテクトが脆弱：Java VM(OS相当）とユーザアプリケーションプログ
ラム（UAP)が１つの空間で動作。異なるトランザクションのUAPどうしも一つの空間で動作。UAP（から呼ばれたプログラム）の誤動作でJava VMや別のUAPのメモリを破壊。
Javaでのバッチ業務のノウハウ蓄積がほとんどない。
若い技術 なので，適用技術が確立されていない（ここ1〜2年で急激に立ち上がりつつある）。J2EEを使える人の中心は若い人達で，基幹業務のノウハウが伝承されていない(トラフィック量の少ない)基幹系業務での適用例は増えてきたが、まだミッションクリティカル業務への適用は時期尚早→それぞれのユーザで段階的にノウ
ハウの蓄積とJ2EE自身の仕様拡張が必要

11

Java と COBOL の融合
現段階では，ミッションクリティカル分野ではOLTP/COBOLを用い，JavaはWeb対応に活用すべきメインフレーム・UNIX
サーバ・PCサーバ等

Webアプリケーション
サーバ

Web
:
::

Web
クライアントインターネット

クライアント

W
eb
サ
｜
バ

JSP/
ServletJSP/
Servlet

E
J
B

Java
Bean

Java
Bean

COBOL
ｱﾌﾟﾘｹｰｼｮﾝ

既存のOLTPサーバ
COBOL
COBOL
COBOL
ｱﾌﾟﾘｹｰｼｮﾝ
既存／新規
既存／新規のCOBOLのCOBOL
資産を活用
資産を活用

同一サーバでも動作可能

12