CodeLiberator:言語変換 CodeLiberator は、ビジネスロジック、UI、データアクセス層を含む完全なレガシーアプリケーションを変換するための、当社のレガシーモダナイゼーションフレームワークの中で最も高度なツールです。このツールは、KnowledgeLiberator™ によって作成されたメタデータを使用して、3世代および4世代のプログラミング言語で開発されたビジネスロジックを、Java技術スタックを使用した新しいアプリケーションに変換します。 CodeLiberator™ は、ビジネスロジック、UI、データアクセス層を含む完全なレガシーアプリケーションを変換するための最もスマートなツールです。このツールは、KnowledgeLiberator™ によって作成されたメタデータを使用して、3世代および4世代のプログラミング言語で開発されたビジネスロジックをJava技術スタックを使用した新しいアプリケーションに変換します。CodeLiberator の主な特徴は以下の通りです:ビジネスロジックを一つのプログラミング言語から別の言語に変換(例:COBOLからJava、NaturalからJava、PL/IからJava、PL/IからCOBOLなど). オンライントランザクション処理:3270 CICS/BMS、IMS-DC、Unix端末などの異なるレガシーユーザーインターフェースを、JSF、HTML/JavaScript(リアクティブプログラミング)やJSONを使用した薄型クライアントソリューションに変換 レガシーアプリケーションに埋め込まれたデータアクセスを変換し、移行されたデータベースで同じロジックを実行、RDBMS、NoSQL、またはファイル上でのデータ取得および操作ロジックを保持言語変換の仕組み言語変換は簡単に見えるかもしれません。確かに、データ定義、言語特有の命令、プログラムの流れなどの対応物を作成することは概念的には可能です。オブジェクト指向コードを基底クラスと継承を使って作成することも理解できます。しかし、詳細には問題があります。コードを実行し、同じ入力に対して同じ出力を作成することが成功基準として考えられるかもしれませんが、メンテナンス性やパフォーマンスも並行して考慮しなければなりません。例えば、COBOLやNaturalの文字列は単純にJavaの文字列に変換すべきではありません。なぜなら、両言語の文字列の挙動が異なるからです。当然、同じ挙動を求める場合(通常これが求められます)には、Javaで追加のコーディングが必要になり、メンテナンス性に悪影響を与え、DRY(Don’t Repeat Yourself)原則に反するWET(Write Everything Twice)技法を適用することになります。レガシー言語の異なるバージョンやフレーバーには、実装に違いがあることも考慮しなければなりません。私たちは通常、日々のビジネスの一部であり、積極的に開発が行われている「ライブ」コードを変換します。変換後、このコードは開発者が変更、開発、リファクタリングを行い、通常の開発作業を進められる形にしなければなりません。Javaへの変換時、結果がレガシーに近くなるか、Javaに近くなるかは多くの変換パラメータによって制御されます。レガシー開発者が新しいコードを見る時と、Java開発者がコードを見た時のどちらが満足するかを考慮しなければなりません。ユーザーインターフェース完全なレガシーアプリケーションの変換現代のオープンな世界では、ユーザーインターフェースを生成するための多くの異なる高レベルのアプローチはありません。Webインターフェースは支配的であり、さまざまな実装があります。純粋なHTML/JavaScript(単純なフレームワークなしまたはjQueryなど)や、Angular、Reactなどの高レベルのアプリケーションフレームワークがあります。CodeLiberator は、画面定義をキャプチャし、それらを一連の記述子に変換します。これらの記述子は、Webブラウザ内で動作する軽量な「プレーヤー」に供給され、元の画面の外観と動作を再現します。これが、このプロジェクトの「楽な部分」です。課題は、元の動作(フォーカス移動、イベント処理、データ処理、サーバー通信、エラーハンドリング、データ検証など)を再現することです。私たちの解決策は、開発者が変換されたコードに沿って変更を行えるようにする画面エディタを提供します。データアクセス層変換されたアプリケーションと選択された新しいデータベースエンジンとの間にレイヤーを追加し、同じ機能を提供します。このアプローチにより、アプリケーション変換中にアプリケーションロジックを変更する必要はなく、機能とアルゴリズムはそのまま動作します。この方法により、顧客は移行の最初のステップに余分な複雑さを加えることなく、リファクタリングも必要ありません。オープンな世界に迅速に移行(再プラットフォーム化)し、メインフレームを後に残して次の移行計画(リファクタリング、再アーキテクチャ)を立てます。この追加レイヤーにより、データベースエンジンを抽象化し、SQLまたはNoSQLデータベースエンジンを自由に選択できるようになります。 デモについての依頼 その他の製品 ぜひ、当社の製品をすべてご覧ください! KnowledgeLiberatorレガシー資産の評価、ドキュメント作成、モデリング もっと詳しく DataLiberatorレガシーデータベースの移行 もっと詳しく CodeLiberatorレガシーアプリケーションプログラムの変換・操作 もっと詳しく AppTesterレガシーモダナイゼーションプロジェクトのテスト自動化 もっと詳しく メッセージを残してくださいデモについての依頼