COBOLによる によるWebサービスコンポーネント 開 発 2001 年 12 月 12 日 マイクロフォーカス 株 式 会 社 小 林 純 一 記 載 された 会 社 名 製 品 名 はそれぞれ 各 社 の 商 標 または 登 録 商 標 です
COBOLロジックのコンポーネント 化 コンポーネント 化 の 実 例 COMラッピング.NETマネージドコードからCOBOLの 利 用 Webサービスへの 展 開
アプリケーション 開 発 の 背 景 迅 速 な 開 発 への 要 請 社 会 情 勢 の 変 化 ( 法 改 正 他 業 種 参 入 ) 企 業 統 合 商 品 競 合 力 差 別 化 数 年 から 数 ヶ 月 へ システムの 柔 軟 性 への 要 請 ロジック 変 更 への 柔 軟 性 プレゼンテーション 変 更 への 柔 軟 性 システムのオンラインメンテナンス 既 存 資 産 を 活 用 したコンポーネント 開 発
アプリケーション 開 発 の 背 景 コンポーネント 化 技 術 の 浸 透 COM+,.NET, SOAP, J2EE, CORBA プログラミング 言 語 に 対 するトランスペアレンシが 実 現 された プログラミング 言 語 の 選 択 基 準 の 変 化 : テクノロジーによる 要 請 開 発 対 象 アプリケーションの 特 性 による 要 請
オープンシステムにおけるCOBOL メインフレームオルタナティブとしてのWindows UNIX COBOLバッチプログラムの 高 い 移 植 性 アプリケーションサーバーとしてのWindows UNIX ホスト 集 中 型 の 従 来 型 アプリケーションとの 親 和 性 COBOLの 一 般 的 特 性 高 い 可 読 性 保 守 性 生 産 性 均 質 な 品 質 40 年 間 で 証 明 された 開 発 方 法 論 としてのCOBOL COBOLプログラマの 高 い 資 質 クライアント アプリケーションサーバー プレゼンテー ーション サービス 要 求 サービス 要 求 サービス ロジック データアクセス データアクセス ロジック サーバーサイドでのビジネス ロジックにCOBOLの 活 用 を
COBOLロジックのコンポーネント 化 強 固 なビジネスロジックをどこからでも 誰 からでも アプリケーションサーバー クライアント COM+ ラッピング ラッピング ビジネスロジック プレゼンテー ーション 多 言 語 HTML ASP JSP VisualBasic C#. ヘテロ プラットフォーム Windows UNIX Linux サービス 要 求 サービス 要 求 モバイル 端 末..NET Framework Javaクラス 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
COBOLロジックのコンポーネント 化 コンポーネント 化 の 実 例 COMラッピング.NETマネージドコードからCOBOLの 利 用 Webサービスへの 展 開
COBOLとCOMの 相 互 利 用 COMクライアント COBOL プログラム INVOKE 文 COMオブジェクト VB VC++ プログラム メソッド 呼 び 出 し COBOLによる COM コンポーネント ASP WSH スクリプト VBScript JavaScript 市 販 コンポーネント
COBOLロジックのCOMラッピング Object COBOLで 記 述 したクラスをCOMコンポーネントとしてリンクし 登 録 する Micro Focus Net Expressの 装 備 するクラスウィザードで 半 自 動 生 成 可 能 タイプライブラリも 自 動 生 成 自 己 登 録 型 DLLを 作 成 スレッドモデルの 指 定 が 可 能 既 存 COBOLロジックに 対 しては スレッド 競 合 を 回 避 するアパートメントシン グルを 推 奨 COBOLによるCOMデータ 型 へのマッピング Variant SafeArray COBOLによるCOM 例 外 処 理 RaiseExceptionメソッド レジストリ 登 録 も 自 動 生 成
COBOLとCOMの 実 現 例 Net Express クラスウィザードによる COMコンポーネント 生 成
ASP + COBOL COM 構 成 クライアント HTMLテキスト Windows HTML 文 書 Webブラウザ 問 い 合 わせ 文 字 列 HTMLテキスト Microsoft IIS ASP 文 書 COBOLロジック COMコンポーネント
ASP + COBOL COM
ASP + COBOL COM 構 成 例 クラス cobcalc の 仕 様 プロパティ myproperty 数 字 型 Visual Basicオブジェクトブラウザ による 表 示 メソッド doubleit() myproperty の 値 を2 倍 する
ASP + COMコンポーネント クラス cobcalc のCOBOLによる 記 述
COBOLロジックのコンポーネント 化 コンポーネント 化 の 実 例 COMラッピング.NETマネージドコードからCOBOLの 利 用 Webサービスへの 展 開
.NETフレームワーク アプリケーションを 作 成 して 実 行 するための 新 しい 環 境 を 提 供 Webサービス 開 発 を 簡 易 化 し 多 種 の 言 語 で 記 述 されたコンポーネントで 共 通 に 利 用 可 能 な 実 行 時 サービスを 提 供 異 言 語 間 異 機 種 間 の 相 互 接 続 性 も 実 現 共 通 言 語 ランタイム (CLR) 異 言 語 間 での 相 互 呼 び 出 し 共 通 の 例 外 処 理 ガベージコレクション バー ジョン 管 理 アプリケーション 配 布 サポートを 提 供 マネージドコード CLR 用 に 開 発 され マイクロソフト 中 間 言 語 (MSIL)にコンパイルされたプログラム 現 在 流 通 しているすべてのコードはマネージドコードではない Micro Focus Net ExpressでコンパイルされたCOBOLプログラムもマネージドコードで はない マネージドコードとそうでないものとを 相 互 に 利 用 可 能 にするためのメカニズムを.NETフレームワークの 中 で 提 供 この 相 互 運 用 性 レイヤーにより 既 存 のCOMコンポーネントをマネージドコードから 利 用 したり マネージドコードを 既 存 アプリケーションからCOMコンポーネントとして 利 用 することができる
.NETフレームワーク COM+ は COBOLを 使 用 した 基 幹 情 報 システムの 実 行 環 境 として 実 証 された 安 田 火 災 がシステム 基 盤 を 一 新 2001/11/19 日 経 コンピュータ.NET もCOBOLの 活 用 によって 実 績 を 積 んで 進 化 する.NET におけるCOBOL 活 用 海 外 ユーザ 事 例 SYSPRO 1981 年 創 立 ERP 製 品 の 開 発 販 売 一 貫 してCOBOLを 活 用 1984 年 ERP 製 品 Impact Award 発 表 (MSDOS & UNIX) 1994 年 Windows GUI 版 Impact Encore 2001 年 Impact Encore で Microsoft XP Certification 取 得 2002 年 Impact Encore.NET 版 の 出 荷 予 定 ASP.NETフロントエンド + COBOL COMコンポーネントを 採 用 現 在 開 発 中 A 銀 行 ( 欧 州 ) メインフレームのCOBOL 資 産 を 活 用 し 32CPU の Windows Data Center Server 上 の.NET 環 境 へ 移 行 中 当 初 COBOLを 捨 て C#への 書 き 直 しを 検 討 したが 評 価 の 結 果 Micro Focus Net Express を 選 択
マネージドコードからCOBOLへのアクセス 既 存 COBOL ロジック Net Express Application Server COBOL COM コンポーネント 実 行 時 ラッパー.NET クライアント (VB.NET, C#, VC) Common Language Runtime (CLR) 名 前 空 間 を 提 供 Net Express クラス ウィザード タイプ ライブラリ TLBIMP メタデータ
COBOLからマネージドコードへのアクセス 既 存 COBOL プログラム Net Express Application Server COBOL COM クライアント COM 呼 び 出 し ラッパー.NET オブジェクト (VB.NET, C#, VC) Common Language Runtime (CLR) メタデータ REGASM レジストリ
COBOLからマネージドコードへのアクセス Micro Focus Net Express タイプライブラリアシスタントによるコード 生 成 自 動 生 成
COBOLロジックのコンポーネント 化 コンポーネント 化 の 実 例 COMラッピング.NetマネージドコードからCOBOLの 利 用 Webサービスへの 展 開
Webサービスの 概 要 Simple Object Access Protocol Webサービスサイト クライアント Web アプリケーシ ョン SOAP 要 求 SOAP 要 求 SOAP ルーター 株 価 照 会 送 金 Webサービス を 配 布 結 合 WSDL ルーター WSDL Web Service Description Language エンドユーザ 検 索 Universal Description Discovery Interface UDDIサイト UDDI ロケータ UDDI レジストリ
Webサービスの 構 成 例 Javaアプリケーションサーバ SOAP 株 価 照 会 ルータ Java Web サービス クライアント SOAP SOAP 要 要 求 求 WSDL ロケータ WSDL COBOL ロジック 株 式 購 入 SOAP 要 求 SOAP 要 求 Microsoft.NET サーバ SOAP ルータ 送 金.NET Web サービス WSDL ロケータ WSDL COBOL ロジック Javaの の 世 界 と COM/.NET の 世 界 を 融 合 する 統 一 場 の 理 論 - Giga Information Group, July 2001
WebサービスのWindowsでの 実 装 例 Microsoft SOAP Toolkit WSDL Web Services Description Language Webサービスの 形 式 を 定 義 するXML 文 書 クライアントアプリケーションはWSDLの 記 述 に 合 致 した SOAP 要 求 を 発 行 しなければならない WSML Web Services Meta Language Webサービスのインタフェースと COMクラスとのマッピング 規 則 を 記 述 する WSDL/WSML Generator Microsoft SOAP Toolkitが 提 供 既 存 のCOMコンポーネントから WSDLを 生 成 SOAPクライアントクラス COMクラスとして 提 供 既 存 の 言 語 から 容 易 にサービス 要 求 を 記 述 可 能
WebサービスのWindowsでの 実 装 例 Microsoft SOAP Toolkit COBOLサーバーとして COBOLクライアントとして COBOLバッチ 処 理 INVOKE SOAPClient mssoapinit USING INVOKE SOAPClient GetStock USING MSSoarClientクラス Net Expressで で 作 成 したCOMコンポー ネントのWebサービス 化 顧 客 先 Webサービス サイト 顧 客 先 Webサービス サイト
WebサービスのJ2EEでの 実 装 WebSphere Application Server 4.0 Webサービスウィザードによる 構 築 WebSphere Application Server V4.0 WebSphere Studio V4.0 WSDL SOAPサービス COBOLクラス アプリケ ーション アセンブ リツール ディプロイ 生 成 WSDL SOAP-DD インポート 既 存 Javaクラス 既 存 COBOLクラス
Micro Focusの 方 向 性 メインフレームの 進 化 1. 開 発 の 生 産 性 向 上 4. アプリケーションのWeb 展 開 Windows & UNIX 開 発 運 用 2. 開 発 の 生 産 性 向 上 リホスティング ダウンサイジング 3. マイグレーション 各 社 メインフレーム オフコン ミニコン 16bit PC メインフレーム 5. 業 務 への 付 加 価 値 追 加 6. 業 務 の 移 行 相 互 運 用 性 : WebSphere, XML, J2EE,.NET, Webサービス
市 場 の 要 求 市 場 の 特 性 メインフレームは 残 る UNIX Windowsのメインフレー ムオルタナティブ J2EEベース 開 発 の 増 加 Windows 既 存 資 産 要 求 既 存 アプリケーションの 理 解 既 存 アプリケーションの 有 効 活 用 アプリケーションのJ2EE 準 拠 性.NET 相 互 運 用 性
COBOL Serverの 必 要 性 Micro Focus Application Server for Net Express / Server Express! すべてのCOBOL 言 語 機 能 を 実 現 するス ケーラブルなランタイムシステム! 64bit ネイティブコード! スレッドセーフなCOBOL 実 行! トランザクションをサポートする COBOL リモートファイルシステム! ODBCデータベース 接 続! COM 相 互 接 続 クラス! Java 相 互 接 続 クラス SOAPサーバー! Webサービス: J2EE /.NET + SOAPルータ サービスエンジン + 運 用 管 理 + COBOLサービスデバッガ! J2EE 準 拠 性 + J2EEリソースアダプタ
トータルな 相 互 運 用 性 Java Webサービス Stock Quote Micro Focus COBOL Webサービス Stock Purchase SOAP SOAP 要 求 CICS Webサービス Stock Summary.NET Webサービス Credit Check
まとめ 安 田 火 災 様 での 事 例 COM+ をベースとしてシステム 基 盤 の 再 構 築 に 成 功 した COBOL 資 産 が 活 用 できたことが 大 きい Windows は 信 頼 性 の 面 で UNIX 陣 営 から 攻 撃 されることが 多 かったが これ はそうではないことを 証 明 した このように COMで COBOLを 活 用 することは 証 明 された 方 法 となった.NETもこ れから 市 場 が 証 明 してゆくことになる 国 内 ではまだ.NET の 活 用 事 例 は 出 てい ないが 海 外 では 出 始 めている 市 場 調 査 によれば 現 在 のところ 将 来 のシステム 基 盤 としての 注 目 度 は J2EE が 一 番 であり WebSphere 4.0 のような 包 括 的 な 機 能 を 提 供 するサーバー 製 品 が 登 場 している Webサービスは.NET と J2EEの 両 方 を 包 括 するものとしての 役 割 が 期 待 され ている 既 に 既 存 のテクノロジーで COBOLロジックを SOAPサービスとしてコン ポーネント 化 できる Micro Focus は COBOLロジックを J2EE 完 全 準 拠 の 方 法 でSOAPサービス 展 開 できる アプリケーションサーバーを 提 供 してゆく 計 画 です
記 載 された 会 社 名 製 品 名 はそれぞれ 各 社 の 商 標 または 登 録 商 標 です