PL/I 変換

PL/Iから Java又は.NET変換

CodeLiberatorツールは、メインフレームやオープン環境のPL / IアプリケーションからビジネスロジックのJava、.NETの言語変換だけでなく、データアクセス、ユーザーインターフェイスもJava又は.NETプラットフォームに変換します。
データベースマイグレーションに伴い、データアクセス命令文は、移行されたOracle、DB2 / UDB、SQL Server、NoSQL型データベース、ファイル管理への最適な入出力命令文に変換されます。 透過的又は標準SQL文による入出力処理を継承するために、Data Access Objec(DAO)などのさまざまなデータアクセスタイプをサポートします。
PL / IプログラムによるレガシーのユーザーインターフェースであるCICS / BMS、IMS / DCのマッピング処理は、JavaServer Faces (JSF)やプラットフォームに依存しないHTML / JavaScript方式のマッピング処理に変換されます。
他のレガシー言語変換と同様に、PL / I言語が持つ固有の言語要素(属性、データ型、関数、制御構造)は、ALIGNED命令、POINTER命令、GOTO命令によって完全に変換することができます。CodeLiberatorツールは、INCLUDEファイル、PL / I言語で定義されたプリプロセッサを管理するため、変換工程中に、多くのパターンを適用して、保守可能なコードとコードの再利用の可能性を見つけます。そして、生成する コードの構文と構造は、新規アプリケーション開発者とPL / Iプログラマーの両方にとって簡単でわかりやすいだけでなく、命名規則と元のプログラム構造も反映させることも可能です。


PL / I言語の変換にどのようなソースコードが必要ですか?

news-image-2PL / I言語からJava言語への変換課題の1つには、%INCLUDE、%DECLARE、%ACTIVATE、%IF - %THEN - %ELSE、%DO - %ENDなどのプリプロセッサ処理があります。
マイグレーションされたJavaアプリケーションの保守性とJava言語への自動変換の実現可能性の両方を考慮に入れると、最も最適な方法は、前処理の前後にソースの組み合わせを使用することになります。 PL / Iで開発されたシステム、アプリケーションには、数百万の行が含まれていることは珍しいことではありません。PL/ Iの前後処理を決定するプロセスも自動化する必要があります。


PL / I前処理の前のソースをPL / IからJavaへの変換の入力として使用する必要がある場合

プロセッサ処理方式は、主に3つの目的を解決します。コードの再利用、保守性の向上、パフォーマンスの向上です。 最も簡単な例は、非常に効率的なコードの再利用を可能にする%INCLUDEプロセッサです。 ケースによっては、個別のプログラムとインクルードファイル処理は、Javaへの変換でこの処理を継承する必要があります。この変換処理を行わない場合、移行されたアプリケーションの保守性が大幅に低下します。 このようなPL / I言語の変換は、このようなプロセッサ機能を自動変換する機能をサポートしていない場合は、PL / Iマイグレーションプロジェクトで大きなリスクが発生します。


PL / Iのプロセッサ処理されたソースをPL / IからJavaへの変換の入力として使用する必要がある場合

news-image-2PL /ソースファイルが構文的に正確で完全なコードとして解析できない場合、元のソースファイルの技術的にコード変換は不可能であり、PL / Iプロセッサ処理後のソースファイルは変換する必要があります。
この方法は、プロセッサ処理がされていないソースファイルを変換した結果、許容できない変換コードになるためにプロセッサ処理後の変換が必要になります。このケースの変換方法の場合、プロセッサ処理される前のフェーズのステートメントの実行が、移行先の環境側でのアプリケーション実行時間に影響する問題が発生します。 その問題によっては、生成されたコードの保守性やパフォーマンスが低いコードに変換される可能性があります。
LiberatorWorkbenchツールは、PL / IからJavaへの変換ルール適用を手動で操作できるため、プロセッサ処理前のソースコードを変換入力ソースとするディフォルトの変換アルゴリズムでは、品質が低く、低いパフォーマンスのコードが生成される場合があります。
PL / Iプリプロセッサでは、コード変換の観点から、プロセッサ処理前のソースファイルがJavaに自動的に変換されないようにするいくつかの言語構成定義が使用できます。


PL / I言語の固有の要素からJava言語への変換

移行環境のシステムで移行前の環境と同一のデータとサービスに移行できた場合、PL / Iコードが、Javaコードに変換することに成功したことになります。 そのためには、PL / Iの固有の構文を適切な変換することを実装できなければなりません。 PL / I言語の固有の主要な言語要素は、FreeSoft社のLiberatorWorkbenchによってさまざまな変換フェーズおよび方法でサポートされています。
コード変換処理、特定のユーティリティ機能もサポートしてます。:

  • デフォルト変換ルール
  • LIKE文を含むDCL文
  • 修飾名無い変数名の対応
  • すべてのシンボル(変数、リテラル、関数)のデータタイプの識別
  • 動的に割り当てられる変数名
  • 変数宣言
  • 配列参照の識別
  • GOTOラベル構文 – コードスライス、例外処理など
  • ONコマンドの条件選択のメソッド生成
  • PL/I のビットタイプ対応
  • 動的な変数割当/変数削除と変数定義
  • 配列クロスセクションの処理
  • PL / Iのストリーム入出力、レコード入出力などの操作、OSからの依存関係の解決(パス名形式など)
  • PLIの暗黙条件の変換
  • PL / Iの組み込み関数/疑似変数(SUBSTR、INDEX、UNSPECなど)の実装

PL / I変換プロセスのカスタマイズ

FreeSoft社のコード変換技術は、ターゲットアーキテクチャとコード構文変換をお客様の変換仕様の要求に従って、コード変換プロセスのすべてのフェーズ(解析、モデリング、コード生成)でルール定義をカスタマイズできるように設計および実装されています。
変換プロセスの初期フェーズでは、変換ルールとしては、どのソースファイル(PL / Iプリプロセッサの前後)を変換の入力として使用するかを定義します。 LiberatorWorkbenchツールは、PL / Iプリプロセッサ処理後に取得するソースのグループを定義するためのリストも受け入れます。
データモデリングフェーズでは、リファクタリングによって中間コードモデルに対してカスタムルールの適用を実施することもできます。
変換最終工程でコード生成のためにユーザー要求仕様によって定義されたカスタム変換ルールと変換パターンを適用します。変数 命名ルール、ステートメントの構文、外部呼び出し(サービス呼び出し)のパターンなどのカスタム変換ルールと変換パターンを適用します


PL / IコードからJavaコードへの変換プロセスを確認するために、2、3本のPL / Iプログラムのサンプルプログラムのご提供によるデモ依頼をお受けしています。