*****************MM*******************L*******L***L***L***L***L***L

Download Report

Transcript *****************MM*******************L*******L***L***L***L***L***L

GrandUnit Solution for MIGRATION
----------------
100%自社製
マイグレーション手法
フレームワーク構造変換に適応したマイグレーションツール
2009/07/07
株式会社グランドユニット
マイグレーションニーズと課題
マイグレーションニーズ
運用コスト
削減
システム更改
リスク
現行との
並行運用
ベンダー
値上要求
ハード・ソフト
更改
マイグレーション
実施時の課題
更改期間圧縮
性能限界
更改費用抑制
老朽化
IT主導
(業務ニーズ無)
ハード寿命
設計書
メンテ漏れ
度重なる
保守
ドキュメント
不備/不足
一部の有識者
依存
新処理方式
導入
現行機能保証
有識者不足
(現行との両立)
ソース
スパゲッティ化
保守性低下
抑止
TOC抑制
マイグレーション
終了後の課題
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
1
グランドユニットのソリューション
マイグレーションの課題は、グランドユニットソリューションにて解決されます。
マイグレーション
実施時の課題
更改期間圧縮
更改費用抑制
新処理方式
導入
・移植設計に重点を置くことで、変換工程の期間・費用を圧縮
・移植設計期間は全工程の1/4程度
・移植設計により変換工程・テスト工程をスケールアウト可能
・移植設計にて現行ソース解析、移植対象のパターン化
変換ルールを作成し、srcMakerにとりこみ
・基盤更改による新処理方式は、プロトタイピングにより 実現性を担保
・パターン化した移植対象の変換実現性見極め
自動変換、手動変換の手順を明確にし、トライアルにより確認
・手動変換は、UnitStudioを用いて、対話形式で変換を実施
コーディングミスを極小化
・手動変換箇所は、現新マッチングテストで、カバレッジ100%を実現
現行機能保証
有識者不足
(現行との両立)
マイグレーション
終了後の課題
保守性低下
抑止
TOC抑制
・総合テスト工程・移行工程まで有識者の必要工数は軽微
(現新マッチングテスト用データ提供、程度)
・本番リポジトリ、ソースとリンクした開発支援ツールにより
調査、解析の効率性向上
・UnitStudioによる一括修正支援
・UnitStuidoオンデマンドドキュメント作成機能によりドキュメント
メンテ負荷軽減
・新システム構成が適切であれば、マイグレーション後は、
きっとTOC下がります、、、
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
2
OracleからDB2 9.7への移行作業
移行作業のステップ
データベース定義の抽出
DDL、PL/SQL
DATA
Oracle
エラー・警告箇所の
内容を評価
互換性評価
IBM社ツール有
「srcMaker」「UnitStudio」
のDB2対応により、移行・テストの
工数を大幅に削減可能
非互換部分の修正
(PL/SQL非互換箇所、Pro*C、
Pro*COBOL)
テスト
Error
(稼動確認)
IBM社ツール有
DDL、PL/SQL
DATA
DB2
最終評価
(現・新照合テスト)
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
3
GUMM(Grand Unit Migration Method)
マイグレーションの主要工程
お客様タスク
移植設計
標準化要件
新基盤要件
DB設計
総合テスト工程
移行工程
ツ
ー
ル
検
証
ト
ラ
イ
ア
ル
ソ
ー
ス
変
換
変
換
後
の
手
改
修
ド
キ
ュ
メ
ン
ト
生
成
UnitFrame
現
新
照
合
テ
ス
ト
カ
バ
レ
ッ
ジ
テ
ス
ト
ド
キ
ュ
メ
ン
ト
手
改
修
総
合
テ
ス
ト
支
援
)
フレームワーク設計
テスト工程
データ移行
・
プロトタイプ
変
換
ツ
ー
ル
カ
ス
タ
マ
イ
ズ
変換工程
シ
ス
テ
ム
移
行
支
援
保守工程
srcMaker
testHelper
障害対応
エンハンス
(影響調査)
UnitStudio
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
4
ジ
ョ
ブ
移
行
支
援
GUMM各工程の概略
工程
移植設計
変換工程
テスト工程
総合テスト
移行工程支援
保守工程
各プロセスでの概略
主要ツール
コンバージョン(DB定義、データ、アクセスロジック)の基本方針や、標準化要
件(命名ルール、コーディングルール等)の策定を実施し、一括変換ツールへ
反映。一括変換ツールへ反映できない部分については半自動変換ツールに
取り込み、手修正手順を明確化します。
各種変換指示書に基づき、各種言語( JCL,COBOL,VB など)の文法変換・D
Bアクセスロジックのリライト・次期システム標準化要件の対応を実施します。
完全自動変換(複雑なDB検索・更新ロジックなど)が不確実な項目に対して、
一括変換後の不完全ソースをEditor画面でソースを確認しながら、ツールによ
り修正を実施します。
保守用のドキュメントの定義を明確し、APLインターフェース・処理フロー・DB
アクセス仕様などの詳細設計書の自動生成および手修正を行います。
現新コンペアテストでの現行側outputデータは貴社からいただく前提です。
貴社から提供のテストデータを用いて、シェル・画面コントロール単位でのテス
トを行います。手修正箇所の100%通過までテストと現新コンペアのテストを
実施します。
SrcMaker
UnitStudio
testHelper
業務的な観点での総合試験は、貴社にて実施の想定です。
弊社はテスト実施の参画、APLの改修作業を支援させていただきます。
C/O後の保守工程においても、開発支援ツールとしてリポジトリ情報照会、
リポジトリ/ソース検索、ソースビューア、ドキュメント生成などの機能を提供す
ることで、生産性向上に貢献します。
UnitStudio
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
5
testHelper
品質を確保するテスト工程の考え方
移植テスト
・入力データの現新コンペア(コンペア①)により、データ変換の正当性を検証
・出力データの現新コンペア(コンペア②)により、データ・ソース変換の正当性を検証
・画面PGMは画面メニュー単位、バッチはJOB単位(更新系はメインPGM単位)に
現新コンペアテストを実施。併せて、手修正箇所のカバレッジを計測
・カバレッジ計測結果は、エラー処理を除いた正常系ケースで実施 ※初回テストの平均カバレッジは60%と予想
・カバレッジ分析結果により追加テストを実施し、手修正箇所の100%通過を保証
移植テストのイメージ図:
現行システム
実行
DB
(ファイル)
PGM
JOB
データ
コンバージョン
新システム
実行
DB
(ファイル)
データ
コンバージョン
DB
(ファイル)
PGM
JOB
DB
(ファイル)
コンペア①
データ変換結果の検証
カバレッジ計測
変換箇所の通過確認
コンペア②
データ変換結果の検証
回帰テスト実施 ← NG
回帰テスト実施
テスト結果分析
OK
追加テスト実施
カバレッジ分析
testHelper
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
6
カバレッジ結果
変換工程
自動変換ツール(srcMaker)
【レガシーシステムの問題点】
技術変革は急速に進んでおり、システム更改時に現行システム資源の有効活用が難しい
 設計書が利用できない(ドキュメント不備/不足)
 スパゲッティ化されたソースで人手によるリバースが困難
 環境・基盤の相違により言語ベースでのコンバージョンが不十分
【srcMaker】
設計モデルを解析、ドキュメント及びソースを生成するツール。
システム開発工程成果物(※1)を元に、プラットフォームに依存しない中間モデルを一旦生成し、
実効ソース(※2)及び関連する成果物(※3)を生成する。
srcMaker ジェネレーション
ソースコード
(新)
ソースコード
(旧)
用途に応じて
入力情報の
組合わせ可能
生成処理
中間モデル
仕様書(新/旧)
(UML, Excel)
新仕様書
(Excel, XML)
工程に合せた
成果物を
生成可能
+
DBサーバ
(DB定義)
生成指示書
(生成ルール集)
テスト仕様書
( Excel)
新業務DB
(サーバ)
+
新
テストPGM
※1:コンバージョン時におけるコンバージョン対象ドキュメント、ソース、生成ルール。
※2:APLソースだけではなく、フレームワーク(ミドルソース)及び共通部品を含む
※3 ソースのほかに、上流工程ドキュメント(設計書・仕様書)、テスト仕様書、テストケースなど
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
7
変換工程
srcMakerの生成可能な言語一覧
(2009年3月時点)
言語
対応状態
備考
言語
対応状態
Java
◎
VRML
△
C/C++
○
IDL
△
C#
○
XML
◎
Visual Basic
◎
Spread対応
HTML
◎
LotusScript
◎
Javaに変換
Python
△
Visual Basic.Net
◎
Excel
◎
Active X
△
MDX
△
VB Script
○
ASP
○
JavaScript
◎
SQL
◎
COBOL
◎
MF,IBM,HT
PL/SQL
◎
JCL
◎
BSHELL変換
Oracle Forms(D2000)
◎
Delphi/Pascal
◎
Delphi5
Fortran 90
△
Rational Rose(Petal)
◎
PHP
○
Natural(4GL)
○
PowerBuilder
◎
PL/I
○
※記号説明:
◎ -- 対応済、実績有
MAP含む
○ -- リバース対応済
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
△ --対応可能、対応予定なし、
8
?--調査中
備考
JSP変換
VB.NET変換
Java,C#変換
変換工程
srcMakerの適用柔軟性
開発個々の工程に適用し、前工程の各種形式の成果物を解析して、後工程の成果物の生成、加工を行う。
ソース・コードのリバースにより、前工程のドキュメントを生成できる。
要件定義
基本設計
詳細設計
実装
テスト
生成
Java
UMLモデル図
☆ Rational Rose
☆ MagicDraw
☆ Poseidon UML
☆ MS Vision(予定)
生成
比較
設計書
生成
☆ DB定義書
☆ 画面項目定義書
☆ ユースケース仕様書
☆ DXデータ定義書
生
成
☆ DBマッピング
☆ JDOスキーマ
リバース
SQL
-- Oracle
-- MySQL
C#
VB.Net
COBOL
リバース
+
-- EJB
-- JDO/SCX
-- Web/MVC
--JUnitTester
DB
サーバー
テ
ス
ト
管
理
Excelベーステストケース
用テストドライバー
TestHelper
フレームワーク設計
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
フレームワーク構築
9
変換工程
対話型の手動変換(UnitStudio)
変換後のソースに対し、Editor画面でソースを確認しながら、ツールにより修正を実施
たとえば
①SQLの補足修正(条件句、SORT句の補正)
②COBOLソースの正規化(IF文, EVALUATE文)
① メニュー「改修待ちチェック」を実行
→確認すべき手修正ポイント・箇所をタスクとして表示
② タスクをクリック
編集画面は改修箇所にJumpされて、
目で修正場所を確認できる
③ 選択されたタスクのメニュー「適用」クリック
 ソースは自動改修される
④ 改修結果の再チェック
再度「改修待ちチェック」を実行、
該当タスクが消えた事を確認し、
正しく改修できたと認識する
①、④「 改修待ちチェック」を実行
②タスクにクリック
改修待ちの一覧を表示
③ 「適用」で自動改修
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
10
テスト工程
支援ツール(testHelper)
手修正箇所の100%通過確認、検証手段は現新マッチング
⇒ 現行データからコンバージョンしたデータを元に複数回の実行確認必須
アンマッチ発生を対応したソースでは、回帰テストが必須
testHelper
現新マッチングの回帰テスト、カバレッジ集計・解析の効率的実行を支援する統合プラットォーム
照合ツール
カバレッジツール
DB Comparer
CSV Comparer
FILE Comparer
帳票 Comparer
LIST Creator
集計
統計
カバレッジ
DB
分析支援
データアダプター
DB Adapter
Text Adapter
Excel Adapter
Binary Adapter
RUNNER
(testHelper エンジン)
テストデータ
実行支援
テスト結果
テストドライバー生成
実行モジュール生成
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
11
テスト工程
照合ツール( testHelper )
レイアウト定義情報に従って、比較元と比較先を項目単位で
コンペア処理を行い、差分リスト、アンマッチレコード、比較件数をそれぞれ出力する。
概要図:
比較先
比較元
レイアウト
定義情報
•KEY指定により、キーマッチングが可能である。
•出力リミット件数指定により、差分リストの出力レコード数
を抑止することが可能である。
•差分出力形式指定により、差分項目のみまたは全項目出力
の選択が可能である。
Comparer
(順ファイル、CSVファイル、
帳票ファイル)
差分リスト
現のみデータ
•キー項目の設定が出来る
•マスク項目の設定が出来る
•マルチレイアウトの対応が出来る
新のみデー
タ
アンマッチレコード
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
12
件数ファイル
テスト工程
カバレッジツール( testHelper )
1.カバレッジポイントの挿入/削除
ソースの改修点に自動的にカバレッジポイントを挿入する
2.カバレッジポイントチェック
変換後の手改修による新しいカバレッジポイントの入力補助および唯一性チェック
総合テスト
サーバ2
総合テスト
サーバ1
総合テスト
サーバ3
LOG
LOG
・・・
LOG
総合テスト
サーバN
LOG
最新分LOG取得・スリム化
ソースにカバレッジ ラインを挿入(srcMaker)
D
D
D
カバレッジ集計サーバ
MOVE “COVERAGE<PGM001 PROG-INIT-START 11 0>”
TO LOG-CONTENT
CALL DBGSYRKS
USING DBGSYRKS-ARG
スリムLOG
COVERAGE<PGM001
COVERAGE<PGM001
COVERAGE<PGM001
COVERAGE<PGM001
COVERAGE<PGM001
COVERAGE<PGM001
COVERAGE<PGM001
COVERAGE<PGM001
スリムLOG
PGM
集
計
累
積
カバレッジDB
PGM
取込
カバレッジ・ポイント
3.カバレッジ集計ツール
☆ログのスリム化機能
☆PGM単位のカバレッジ集計
(未通過箇所一覧)
☆通過箇所の累計機能
☆サブシステム単位の集計
☆カバレッジ率分布レポート
•
•
•
•
•
•
•
•
…
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
検
索
統
計
統計情報生成、リスト作成
13
カバレッジ・ログ
…
AUTO-INIT-RTN 16 0>
TABLEID-GET-RTN 21 0>
KANKYO-HENSU-GET-RTN 17 0>
SCZC7100-RTN 18 0>
ORA-LOGON-RTN 22 0>
DB-ITIDUKE-RTN 10 0>
DB-READ-RTN 12 0>
CURSOR-CLOSE-RTN 26 0>
保守工程
調査・解析支援(UnitStudio)
IDE(統合開発環境)機能
・データ項目定義(COPY句)のクイック参照
・CALL、COPY先のオープン
・PERFORM先への遷移
・構造解析、アウトライン
Excel形式のプログラム仕様書(処理フロー)を自動生成。
SECTION内の主要処理、ループ開始・終了条件
SECTION間の呼出条件、関係
サブルーチンの呼出条件、関係
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
14
保守工程
調査・解析支援(検索ツール)
ライブラリ連携
⇒ リソース管理ライブラリ(ex.SVN,VSS)と連携し、ライブラリに存在する内容の検索・参照を実現する
PGM構造、PGM間の関係、DB関連、DBアクセスなどのトレース機能を提供
キーワード検索
⇒全リソースのインデックス情報を構築し、高速全文検索を実現する。
開発管理DB Viewer
⇒全リソースの管理情報(一覧情報、要素関係、コール関係)や内容を分析し、
リソースの一覧情報やリソース間の関係情報を提供
UnitStudio
(キーワード検索)
UnitStudio
(ライブラリ連携)
SVN管理連携機能
開発管理DBViewer
リソース管理
ライブラリ
リポジトリ
開発管理DB
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
15
SVN全文の高速検索
マイグレーション事例
①【システム移行の概要】
総規模500万STP(COBOL)
言語: 日立COBOL 75 → MF COBOL
DB: ADABAS
→ Oracle 10g
②【srcMakerの役割】
2.1) COBOL+ADBASから MF COBOL+Oracleに変換
言語変換、DBリライト、カバレッジ文を挿入
2.2) JCLから Bshに変換
2.3) テストデータの変換 (※関連ツールtestHelperによる)
2.4) カバレッジ集計
2.5) 障害の自動検出と一括改修( ※ 工程後半にUnitStudioによる)
 メリット: 機械変換により品質の均一が保証される、工程後半に発生した障害に
一括改修で対応できる
③【UnitStudioの役割】
3.1) 障害の自動検出と一括改修、SQL文の最適化
3.2)ドキュメント生成
④【TestHelperの役割】
4.1)テストプラットフォーム
4.2)データ変換
4.3)照合(DB,ファイル,CSV,帳票)
4.4)カバレッジ(挿入,集計,統計)
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
16
マイグレーション実績
プロジェクト名
変換内容
備考
システム規模
XX会計システム
(Java EJB ⇒ JDO)
Java のEJB  JavaのJDO (Hibernate)
フレームワークの変換
変換率は約99%
ドキュメント生成
300万
ステップ
XX旅行会計システム
(Oracle Developer⇒VB.NET )
Oracle Developer Forms  VB.NET
フレームワークの変換
変換率は約80%
90画面
32帳票
XX会計システム
(VB5 ⇒ VB.NET のSpread)
VB5  VB.NET
コンポーネントの変換
Spread. Netの
アップグレード
80画面
(50Spread)
COBOLドキュメント
(COBOL⇒ テキスト仕様)
COBOL->仕様書変換
仕様書作成の
補助ツール
XX証券システム
(JCL ⇒ B-Shell)
JCL  B-Shellの変換
変換率約 98%
2000万
ステップ
XX旅行業務システム
(Delphi5 ⇒ C#)
Delphi5 -> C#
C/S  Webサービス
(フレームワークの変換)
変換率は90~%
Webサービス変換
120万
ステップ
XX鉄道予約システム
(COBOL⇒ VB.NET )
COBOL -> VB.NET & C#
主にVB.NET変換
一部はC#変換
未集計
証券システム
(日立COBOL⇒ MF COBOL)
日立COBOL -> MF COBOL
(ADABAS -> Oracle )
DBリライト
約 6000本
備考
検証規模
(以下は研究開発)
プロジェクト名
変換内容
XX証券システム
ADABAS  ORACLE
Natural → C#.net、JAVA 又は JAVA(JSF)
変換率は約80%
30画面
ステップ
XX保険システム
Delphi5 Delphi2007 EBS → SOAP
LotusScript → Java
変換率は約80%
20万
ステップ
XXレポシステム
PowerBuilder  Java(JSF)
C/S → WEB
フレームワークの変換
20万
XX保険システム
VB6 → VB6+SoapToolKit3.0
EBS → SOAP
LotusScript → Java
変換率は約80%
60万
ステップ
XX顧客管理システム
VB6 → COBOL
ASP → Jsp(JSF)
試作変換率は約60%
最終予想変換率は90%
簡易パイロット
XX販売管理システム
NetCOBOL → Java
VB.NET → Java + Jsp(JSF)
試作変換率は約60%
最終予想変換率は90%
簡易パイロット
© 2008-2009 GrandUnit Co.,Ltd. ALL RIGHTS RESERVED
17
〒110-0005 東京都台東区上野3丁目2番2号 アイオス秋葉原 605室
TEL:03-3835-4670
FAX:03-3835-4671
① JR山手線・総武線・京浜東北線・つくばエクスプレス「秋葉原」電気街口
② 銀座線「末広町」駅 2番出口 徒歩2分
③ JR山手線・京浜東北線「御徒町」南出口 徒歩7分
徒歩7分
連絡窓口 - Contact Us -
営業担当:龍 慧子
03-3835-4670
090-3420-1882
[email protected]
URL
http://www.grandunit.com
http://www.srcmaker.net