レガシー・マイグレーションにおけるサービス指向アーキテクチャの位置づけ

株式会社テックバイザージェイピー
栗原 潔
kkurihara@techvisor.jp

TechVisor.JP

テックバイザージェイピーのご紹介

IT＋経営＋知財＝競争優位
詳細はWebサイト（http://techvisor.jp）
をご参照ください。
主な定期的寄稿• ITMediaオルタナティブブログ テクノロジー時評Ver2（http://blogs.itmedia.co.jp/kurikiyo）• 月刊ComputerWorld 「紙のブログ テクノロジーランダムウォーク」• 日経コンピュータ ITアスペクト

TechVisor.JP

1

テックバイザージェイピー：サービスのご紹介

プライベート・セミナー・プログラム9

マイクロコンサルティング
9

テックバイザー国際特許商標事務所（弁理士事務所）の業務としてご提供します

ハイエンド英日翻訳
9

ソフトウェア特許、ビジネスモデル特許、商標を中心としたコンサルティン
グをご提供します

特許・商標出願代理業務
9

お手軽に利用できる納期１ヶ月程度の小規模コンサルティング/カスタムリサーチをご提供します

知的財産権コンサルティング
9

お客様のサイトにおいて定期的に少人数セミナーを開催いたしますIT/ビジネス関連の高度な翻訳案件にフォーカスします

講演・寄稿
TechVisor.JP

アジェンダ
 サービス指向アーキテクチャ（SOA）とは何か？

 レガシー・マイグレーションにおける課題
 レガシー・マイグレーションにおけるSOAとCOBOL言語の役割

TechVisor.JP

2

理解されていないSOA不明
1.2%
全く理解していない
26.4%

十分内容を理解している
2.0%
ある程度内容を理解している
22.2%

言葉を聞いたことがあるくらいで内容はあまり理解していない
48.2%

出典：矢野経済研究所 2006年3月15日付プレスリリース「SOAに関するユーザー意識調査」
http://www.yano.co.jp/pdf/press/060315_2.pdf

TechVisor.JP

多様な意味がある「サービス」という言葉
わが社のソフトウェアをサービス化して、アプリケーション・サービス・プロバイダ経由で提供することで、顧客サービスを向上する？ ？？

 人間による労務の提供（例：顧客サービス、アウトソーシング・サービス）
 ソフトウェアの機能をネットワーク経由で提供すること（例：ユーティリティ・サービス、アプリケーション・サービス・プロバイダ、SaaS（ソフトウェア・アズ・ア・サー
ビス）） システム・ソフトウェアにより提供される共通機能（例：ファイルI/Oサービス） 共通機能を提供するソフトウェアコンポーネント（例：サービス指向アーキテクチャ） （和製英語）値引きまたは無償提供（例：年末大サービス、サービス残業）
TechVisor.JP3

「サービス」とは何？
サービス提供者

サービス受益者要求

OS

ファイルI/Oサービス

アプリケーション
プログラム

要求
アウトソーサー

顧客企業

運用サービスある物（人）が他の物（人）に対して何らかの機能を提供すること、またはその提供される機能そのもの
TechVisor.JP

SOAの基本的考え方
サービス指向＝インターフェース指向
サービス指向＝インターフェース指向
呼び出す側
相手がどういう処理をしているかは気にしない。気にするのはインターフェー
スのみ

呼び出される側
インターフェースさえ変えなければ、ある日突然実装を変えても大丈夫 インターフェースさえ明確に定義されていれば、サービス（ソフトウェア部品）の実現形態が変わっても、システム全体に影響はない（抽象化、情報隠蔽、カプセル化、ブラックボックス化）
 プログラミング言語（C#, C++, Java, COBOL…）およびコンポーネント・テクノロジー（.NET, Java EE…）に非依存
 「呼び出し側を気にせずに開発ができる」ことにより開発生産性を向上する
 「既にあるものを活かす」ことにより開発生産性を向上する
 「機能変更時に複数箇所を直す必要がない」ことにより、システムの変化への対応力を増す

TechVisor.JP

4

SOAという用語の意味の変遷

1990年中盤

2000年頃クライアント・サーバ・アー
キテクチャの言い換え

アプリケーション境界をまたがる粒度の大きいソフトウェア部品（サービス）の共用

現在
業務サブプロセスを実現するソフトウェア部品（サービス）の共用「SOA＝ソフトウェア部品化」という基本は変わらないがニュアンスは変化している「SOA＝ソフトウェア部品化」という基本は変わらないがニュアンスは変化している
TechVisor.JP

アプリケーション連携の選択肢

データベース統合
共用
アプリケーション密
データ整合性高
堅牢性高

サービス指向分散
コンポジット・
トランザクション アーキテクチャ アプリケーション

マッシュアップ

疎実装容易性高柔軟性高
TechVisor.JP

5

企業内におけるSOA活用形態の発展「プチSOA」

サービス共用ESBの活用

9個別アプリケーション
連携の手段
9サービス共用は最小限

9共通サービスを複数のアプリケーションから共用

9エンタープライズ・サー
ビス・バスによる様々な付加価値の提供「小さく始めて大きく育てられる」点がSOAの大きな価値「小さく始めて大きく育てられる」点がSOAの大きな価値
TechVisor.JP

SOAとESBによるアプリケーション間連携
パッケージによるERPアプリケーション

パッケージによるBIアプリケーション

サービス呼び出しサービス呼び出し

ESB

サービス呼び出しメッセージ配布
アプリケーション・レベル変換（メディエーション）
フロー制御（オーケストレーション）
ビジネス・プロセス管理（BPM）

ESB：Enterprise Service Bus
サービス
呼び出し

サービス
呼び出し

サービス
呼び出し

独自開発のレガシー・アプリケーション
TechVisor.JP

6

レガシー・マイグレーション失敗の典型例
情報システムが硬直化して問題が発生している
レガシー・システムが問題だ
レガシー・システムを撤廃しよう
プロジェクト進行中に目的と手段の取り違えが発生

プロジェクトは完了したが...

（本来の目的は情報システムの硬直化の解消なのだがレガシー／システムからオープン系システ
ムの移行が目的化）

機能は変わらないのに安定性が低下した。
思ったよりコスト・期間がかかった

システムはブラックボックスのまま前の方がよかったのでは

TechVisor.JP

レガシー移行の意思決定
対象システム候補の選定
利害関係者の識別と要件の理解
ビジネス・ケースの作成
No

ビジネス・ケースは満足できるものか?
Yes

レガシー・システムと新規テクノロジーの理解
テクノロジー評価
アーキテクチャ設計
モダナイゼーション戦略立案
利害関係者との調停
必要資源の見積もり
No

適切な戦略か?
Yes

モダナイゼーション・プロジェクト開始
出典：Modernizing Legacy Systems, Robert C. Seacord et al, Addison Wesley

TechVisor.JP

7

レガシー・マイグレーションにおけるSOA

レガシーを使い続けるか…

「プチSOA」として継続使用全面的に移行するか…

共用サービスとして活用を拡大

第三の選択肢：レガシー・アプリケーションの機能の一部を「サービス」として活用最終的に全面移行

SOAの考え方を活用することで、レガシー・マイグレーションの選択肢が大きく拡大
SOAの考え方を活用することで、レガシー・マイグレーションの選択肢が大きく拡大
TechVisor.JP

COBOLの将来

現在利用されているビジネス・アプリケーションの70%以上はCOBOLで書かれている（Giga Group）
全世界で1万6千社以上の大企業がCOBOLを使用している（GigaGroup）
世界のメインフレーム上で稼働しているCOBOLのコード量は約2千億行と推定される（Gartner）「プログラムの価値はそれがどのプログラミング言語で書かれているかには関係ない」（Sun CEO ジョナサン・シュワルツ）COBOL言語で書かれた既存アプリケーション・プログラムを他プログ
ラミング言語で書き換えるためには、アプリケーション・プログラムに内包されたビジネス・ロジック、ノウハウの理解が必要
SOAはプログラミング言語への依存性を減少することから、COBOL資産の有効活用がますます容易になる

COBOLで作成された既存ビジネス・ロジックの他のプログラミング言語によるCOBOLで作成された既存ビジネス・ロジックの他のプログラミング言語による書き換えが有効なケースはさほど多くなく、今後もビジネス・アプリケーションの書き換えが有効なケースはさほど多くなく、今後もビジネス・アプリケーションの世界でCOBOLの利用は継続していく世界でCOBOLの利用は継続していく
TechVisor.JP

8

SOA環境でCOBOLを活用する場合の留意点


サービス呼び出し方法
9999

トランザクション属性
999



“at least once””at most once””exactly once”

データ型の変換
データのセマンティクス
性能99

SOAP/Webサービス
TPモニターのトランザクションとしてメッセージ・キューイング
ラッピング／アダプター

スループット
レイテンシ

再入可能性（マルチスレッド安全性）
TechVisor.JP

データ・セマンティクス（意味）の非互換問題
あなたのアプリケーションのあなたのアプリケーションのデータベースの“customer”というデータベースの“customer”というフィールドには何が入っているのですか？
フィールドには何が入っているのですか？

企業A
営業所B

配送センターE

顧客コードですよ。
顧客コードですよ。
請求書の送り先です。
請求書の送り先です。
上の例で言うとAですね。
上の例で言うとAですね。

経理システム担当者

顧客コードですよ。
顧客コードですよ。
商品の送り先です。
商品の送り先です。
上の例で言うとEかFか上の例で言うとEかFかGですね。
Gですね。

物流システム担当者

営業所C配送センターF配送センターG

顧客コードですよ。
顧客コードですよ。
営業のコンタクト先です。
営業のコンタクト先です。
上の例で言うとBかCですね。
上の例で言うとBかCですね。

販売管理
システム担当者
TechVisor.JP

9まとめ



SOAの基本的概念はソフトウェアの部品化であり、今日では業務プロセスに対応させた部品化を指すことが多い
SOAの採用により、システムのモジュール性が増し、開発生産性の向上、既存資産の有効活用、変更の局所化による柔軟性の向上などのメリットが得られる「小さく始めて大きく育てられる」点にSOAの価値がある
レガシー・マイグレーション・プロジェクトを単にアプリケーション・プログラムの書き換えプロジェクトと見なすと適切な価値が発揮できないことが多い
レガシー・マイグレーション・プロジェクトにおいてSOAを活用することで、状況に応じた柔軟な対応を行い、かつ、既存プログラム資産も有効活用できるようになる
いくつかの留意点はあるが、 SOAの枠組みにおいてもCOBOL資産を有効活用することができるTechVisor.JP

レガシー・マイグレーションにおけるサービス指向アーキテクチャの位置づけ

株式会社テックバイザージェイピー
栗原 潔
kkurihara@techvisor.jp

TechVisor.JP

10