お客様のアプリケーションがTSRIの中間オブジェクトモデル(IOM)に完全に取り込まれると、当社の完全に自動化されたコード変換およびリファクタリングソリューションにより、さまざまな機能を実行することができます。リファクタリングでは、アプリケーションの機能的な等価性を変えることなく、近代化されたシステムのデザイン、アーキテクチャ、保守性を改善し、パフォーマンスを向上させるために、アプリケーションをリエンジニアリングします。TSRIの完全に自動化されたアプローチは、人為的なエラーによって近代化されたアプリケーションの機能的等価性が容易に損なわれる可能性のある手動のパフォーマンス強化に比べて、大きな利点があります。
標準的なアプリケーション近代化プロジェクトの一環として、IOMに対してすべてのリファクタリング操作を行い、再設計されたコードモジュールと再設計されたアプリケーション層を生成します。これらの作業により、UML(Unified Modeling Language)と品質メトリクスが生成され、Transformation Blueprint®に継続的に反映されます。これは、アプリケーションが進化し、一連のリファクタリング操作が適用される際の、アプリケーションのデザインとアーキテクチャを捉えたものです。そして、各リファクタリング操作を適用した後のコードをリグレッションテストし、機能が損なわれたり歪んだりすることなく、指定されたルールをすべて適用したことを検証します。
1. 完全自動化されたリファクタリング
これには、お客様の機能を変更することなく、システムの保守性を向上させるために、JANUS Studio®による使用されていないコードや冗長なコードの完全自動識別と削除が含まれます。このタイプのリファクタリングは、お客様の介入を必要とせず、コードのラインごとに固定価格で提供されます。
2. 半自動化によるリファクタリング
完全に自動化されたリファクタリングを含むが、人間の入力やフィードバックが必要なもの。例えば、コードの統合やデータ辞書のリファクタリングでは、完全に自動化された方法でコードを統合したり、メソッド名やレコードの名前を変更したりすることができますが、その際の名前の付け方についてはお客様からのフィードバックが必要です。
TSRIは、お客様からコードのパフォーマンス最適化、ネーミングの変更、デザインやアーキテクチャの改善などの仕様をお聞きした上で、これらの変更をアプリケーション全体に全自動で適用します。これらの変更は、アプリケーションの機能に影響を与えることなく、システム全体に適用されます。
3. カスタム&カスタマー・ドリブン・リファクタリング
TSRIが行うことができるシステム全体の変化の種類は、その変化がパターンに基づいた形式で記述されているか、体系的に記述されているか、あるいは例を挙げて示されている限り、実質的に無限です。
例えば、アーキテクチャレベルのリファクタリング、プリンタからPDFエンジンへの呼び出し変更、モノリシック構造からマイクロサービスへの移行、高度に複雑なメソッドをシンプルで保守性の高いメソッドに分解すること、セキュリティ脆弱性の改善などが挙げられます。
また、SonarQube、VeraCode、PMD/Checkstyle、Checkmax、LDRAなどのコード品質分析のためのサードパーティツールの出力に基づいてリファクタリングを行うこともできます。これにより、TSRIはお客様の品質基準やグレードを満たすためのカスタムリファクタリングや変換ルールを構築するために必要な情報を得ることができます。
さらに、CastやFortifyなどのツールを使って、セキュリティの脆弱性を公開します。そして、TSRIは顧客のリファクタリングルールを書き、何億行ものコードを自動的に修復します。
また、プロファイラやプロファイラツールによってホットスポットやボトルネックが明らかになった場合には、システム全体のパフォーマンスに変更を加え、コード全体にそのような問題を修正するリファクタリングを適用することもできます。当社のお客様は通常、このようなリファクタリングの種類を指定し、完全に自動化された変換エンジンを使用しながらも、統一的かつ追跡可能な方法でそれらの改善を行います。これにより、お客様の開発者の時間と労力が大幅に削減され、将来の近代化のために、繰り返すごとにTSRIソリューションが改善されていきます。
このPay-it-Forwardモデルは、お客様のプロジェクトやアプリケーションのポートフォリオが、20年以上にわたって私たちが作成してきた何千ものリファクタリング作業やルールから恩恵を受けることを意味します。
4. エンジニアリングサポート
TSRIは、変換・リファクタリングプロセスのお客様固有の要件への適応をサポートし、テスト・回帰支援、不具合・問題解決、データベースや周辺システムとの連携支援、導入・トレーニング支援などを行います。
TSRIの機能等価モダナイゼーションは、お客様のアプリケーションも忠実に変換するため、TSRIのエンジニアリングサポートを活用して、さらなる改善を行い、モダナイゼーション前のソースアプリケーションにすでに存在していた潜在的なバグや問題を修正することもできます。
© TSRI & Nippon RAD Inc. All rights reserved.