リライトマイグレーションにおけるアーキテクチャの重要な考慮点
皆様、こんにちは。
TIS株式会社で、モダナイゼーションサービスのテクニカル担当の津田と申します。
さて、早速ですが、リライトによるレガシーマイグレーションに関心をお持ちである皆様へ質問です。レガシーマイグレーションの目的は、いったい何でしょうか?
以下をイメージされる方が多いと思います。
- メインフレームをオープン系システムへ移行すること
- メインフレームのプログラム言語(COBOL, PL/Iなど)を新しいプログラム言語(Javaなど)へ変換すること
- メインフレームの振る舞いをオープン系システム上で再現すること
しかし、これらはリライトによるレガシーマイグレーションの手段であって目的ではありません。レガシーマイグレーションの目的とは、企業が抱えるメインフレームを以下の状態に進化させることです。
- システムを、安全・快適に利用できる状態にすること
- システムを、頻繁にメンテナンスできる状態にすること
- システムを、DX(デジタルトランスフォーメーション)に向けたシステム変革を行える状態にすること
これらの目的を果たしながらリライトによるマイグレーションを行う場合は、何も考えずにとりあえず「オープン化」や「新しいプログラム言語への変換」をするのではなく、以下の考慮が必要となります。
- 非機能の担保
- アーキテクチャの標準化
- 自動化の実現
今回のコラムでは、これらの3点について、どのような考慮が必要となるかをアーキテクトの視点で簡単にご説明させて頂きます。
① 非機能の担保
リライトによるマイグレーションを行ったシステムを、安全・快適に利用できる状態にするためには、メインフレームで実現されていた機能を再現するのが必要不可欠です。また、非機能(性能など)を担保することも、同じく必要不可欠となります。
しかし、メインフレームからオープン系システムへ切り替える際に非機能が問題となり得ることは、よく耳にされると思います。特に、性能についてはレガシーマイグレーションを実施する際に、必ず立ちはだかる大きな壁です。
マイグレーションしたシステムで性能問題を発生されないようにするためには、オープン系システムで稼働するプログラムに対して、徹底した性能チューニングを施すことが重要となります。ここで、リライトの「変換ツールによるプログラムの自動生成」という開発手法の特性を最大限に活かすことができます。変換ツールの変換仕様に性能対策を施すことさえできれば、自動生成されるすべてのプログラムに対して漏れなく、そして確実に性能対策を施すことができます。弊社が開発した変換ツール「Xenlon~神龍 Migrator」には、この点を考慮した徹底した性能対策が施されています。また、その技術は特許を取得しているほど高レベルのものとなります。
とは言え、変換ツールの性能対策のみで、すべての性能リスクをゼロにすることはできません。よって、インフラ基盤のサイジングやチューニングなど、オープン系システムの構築で行うべき性能対策を確実に実施する必要があります。また、性能問題が発生した際の対応策(対象ジョブを並列化する、対象プログラムをリライトではなく再構築する、など)の選択肢を事前に用意しておくこともリスク対策として重要となります。
② アーキテクチャの標準化
リライトによるマイグレーションを行ったシステムを、企業内の他システムと同様にメンテナンスできる状態にすることは、保守を行うに当たって重要となります。よって、マイグレーションを行う際に、企業内の開発標準やフレームワークの準拠を検討することが必要となります。
しかし、リライトの「変換ツールによるプログラムの自動生成」という開発手法を採用しながら、企業内の開発標準やフレームワークをすべて準拠することは難しいです。とは言え、開発標準やフレームワークの適用をゼロイチで決定するのではなく、変換ツールによる自動生成のメリット(生産性や機能再現性の高さ)と企業内の標準化や保守性のトレードオフを考えながら、アーキテクチャを決定することが重要です。
インフラ基盤(オンプレミス、クラウド基盤)やミドルウェア(RDB製品、アプリケーションサーバ)を企業内の標準に適用することは、比較的容易に行えます。しかし、Javaフレームワーク(Nablarch,Spring FWなど)やプログラムのコーディング規約を全面的に適用することは、なかなか難しいです。よって、プレゼンテーション層は開発標準やフレームワークを適用しつつも、ビジネスロジック層については移行性を重視して適用しない、などのトレードオフを考慮しながら選択が必要となります。
③ 自動化の実現
リライトによるマイグレーションを行ったシステムに対してメンテナンスやシステム変革を行う際に、自動テストやCI(継続的インテグレーション)などの自動化のメソトロジを活用することは非常に有効です。たとえば、システムのリファクタリングを行う際は、自動テストやCIを行いながらプログラムの修正を行うことができれば、より安全にリファクタリングを行うことができます。
よって、マイグレーションを行うと同時に自動化の仕組みを構築することが重要です。まずは、アプリケーションのインテグレーションを自動化しましょう。CIツールを活用し、プログラムのビルドや単体テストを自動化することができれば、アプリケーション開発の品質とアジリティは格段に向上します。
その後に、オンラインやバッチの機能テストを自動化しましょう。特にマイグレーションでは、システムの再現性を担保するために現新比較テストと呼ばれるテストを実施します。現新比較テストは、リグレッションテストとして活用するには非常に有効なテストケースとなります。現新比較テストを自動化することは、マイグレーションの品質向上だけでなく、その先のオープン化したシステムの保守やシステム変革に対しても大きなメリットを享受することができます。
以上の3点が、マイグレーションの目的を達成するためのアーキテクチャの重要な考慮点となります。最終目標であるDX(デジタルトランスフォーメーション)を見定めながら、直近の到達点(マイグレーション後のシステム)をどのような状態へするべきかを考えることが必要です。今回のコラムが、皆様のレガシーマイグレーションおよびDX実現の一助になれば幸いです。
「Xenlon~神龍 モダナイゼーションサービス」製品ラインナップ
「Xenlon~神龍 モダナイゼーションサービス」シリーズはTIS独自のリライト手法によるマイグレーションを中心としたモダナイゼーションサービスで企業のDX推進をご支援します。
アセスメントサービス | リライトによるモダナイゼーションを検討中の企業様に対して「Xenlon~神龍 モダナイゼーションサービス」を活用したプロジェクト推進の『実現性』と『実効性』を検討します。 さらに、ご希望のお客様に対しては情報システム化戦略やエンハンス革新戦略・DX戦略の評価・診断をご支援します。 |
---|---|
マイグレーションサービス | TIS独自のリライト技術「Xenlon~神龍 Migrator」を活用して、レガシーな言語(COBOL、PL/Ⅰなど)からJavaへのリライトを実現し、オープン環境へ移行します。業務ロジックの100%を自動変換するとともに、メインフレームと同等以上の処理性能を実現します。 |
エンハンス革新・DX推進サービス | マイグレーション後の早期エンハンス革新やDXの実現に向け、各種戦略やマイグレーションプロジェクトからの情報をインプットにしてエンハンス革新計画・DX計画を立案。 PoCを実現しながら実現性を検証するとともに、必要に応じて、マイグレーションプロジェクトにフィードバックすることで早期にエンハンス革新・DX実現に向け推進します。 |
エンハンス革新・DX実践サービス | システムの正常稼働を保つためのメンテナンスをはじめ、オープンシステムの手法を有効活用した安全なリファクタリングやエンハンスメント革新の実践によるシステム効率を支援します。またマイグレーション後のシステムをベースとして、データ利活用や先端技術活用などDX実践を支援します。 |