コード・ジェネレーターの実行
コード・ジェネレーターを使用して、推奨パーティションを実装するために必要な API サービスおよび関連コードを生成します。
開始前に
システム要件 および以下のコード生成プログラム要件を満たしていることを確認してください。
また、必要に応じてコード生成プロセスをカスタマイズします。 cardinal ディレクトリー内の app.config.txt ファイルには、2 つのカスタマイズ可能なパラメーターがあります。
- ApplicationName
- リファクタリングされたアプリケーションの名前。 この値は、生成されたコード、 URL 、および注釈の接頭部として使用されます。
- CardinalOutPath
- ユーティリティー・クラス・コードが生成されるソース・コード・ツリー内の場所。
手順
コード・ジェネレーターを実行して、推奨パーティションのリファクタリング・コードを生成します。
結果
コード・ジェネレーターが正常に完了すると、以下の Daytrader ディレクトリー構造のようなディレクトリー構造になります。
変換入力 カーディナル │ ├── app_config.txt カーディナル・コデーゲン │ │ ├── Cardinal-Utility-report.txt │ ├─── Cardinal-partition0-report.txt │ ├─── Cardinal-partition1-report.txt │ ├─── Cardinal-partition2-report.txt │ ├─── Cardinal-partition3-report.txt │ ├─── Cardinal-partition4-report.txt CardinalFileSummary │ ├─00.json │ ├─── CardinalFileSummary.txt CardinalSings │ └─00.json │ ├── cardinal_graph.json │ ├── class_run.json │ ├── instrumenter-config.json │ ├── partition.txt refTable ├─00.json symTable │ └─00.json ├── daytrader7-source ├── daytrader7-source-Utility ├── daytrader7-source-partition0 ├── daytrader7-source-partition1 ├── daytrader7-source-partition2 ├── daytrader7-source-partition3 └── daytrader7-source-partition4
この例では、daytrader-source-Utility パーティションには、潜在的なユーティリティ・クラスとして識別された Java モノリシック・アプリケーション・クラスが含まれています。 このパーティションを、IBM Mono2Micro 生成されたコードとともに他のパーティションとして扱うこともできますし、これらのアプリケーション・クラスを、クラスに依存する他のすべてのパーティションとともにユーティリティ .jar ファイルとしてパッケージ化することもできます。
強調表示されたディレクトリーは、コード・ジェネレーターによって作成されます。 cardinal-codegen ディレクトリーにはさまざまなレポートが含まれ、さまざまなパーティションが xxx-partition_n ディレクトリーに書き込まれます。ここで、 xxx
は ApplicationName 値、 n
はパーティション番号です。 この例では、区画の名前は daytrader7-source-partition_n
です (0 < = n < = 4)。 詳しくは、 カスタム・ビューの作成を参照してください。
これらの各xxx-partition_nディレクトリーには、考慮対象のモノリスから取られたソース・コードの該当部分が含まれています。 出力には、変換用のラッパー、 API サービス、分散オブジェクト管理用のコード、およびガーベッジ・コレクションが含まれますが、これらに限定されません。 コードの移動と生成はすべて、 Mono2Microのコード生成コンポーネントによって自動的に行われます。 現時点では、コード・ジェネレーターは .java ソース・ファイルのみを考慮します。モノリスから構成情報やデプロイメント情報をコピーしたり生成したりすることはありません。 マイクロサービスとしてパーティションを実際にデプロイするには、適切な構成情報を指定する必要があります。
生成される内部cardinal-codegenフォルダーの内容は、さまざまなレポートです。 Cardinal-partition_n-report.txt (0 <= n <= 4) ファイルは、Java の呼び出し解析レポートで、partition_3
partition
の図に示すように、個々のパーティションのテキスト形式です。 コード・ジェネレーターの実行中に html オプションを指定して、レポートの統合 HTML バージョンを生成できます。 詳しくは、 Cardinal-Reportを参照してください。

Mono2Micro のコード生成コンポーネントは、 CardinalFileSummary.txt ファイルを生成します。このファイルには、コード生成のために実行されるすべてのステップの詳細が記述されています。 このレポートは、コード生成プロセスをより深く理解し、生成されたコードを調べるために、デバッグ用に使用します。 このレポートは参照専用であり、 Mono2Microのどのコンポーネントによっても使用されません。
CardinalFileSummary.txtレポートには、パーティションごとに 5 つのカテゴリーのレポートがあります。 以下の図に、簡略サンプル・レポートを示します。

Proxy
- ローカルではなく、他のパーティションに属しているオブジェクトにアクセスする必要がある各パーティションのスタブ・クラスを含むレポート。
Service
- パーティションの外部からアクセスされるパーティションのオブジェクト用に作成された API を含むレポート。
Original
- モノリスからの元の原形の Java ファイルを含むレポート。 これらのファイルは、パーティション内でローカルでのみアクセスされさます。
Dummy
- 実行時に使用されない静的ソース・コード分析中に取得されたファイルを含むレポート。 これらのファイルに
Cardinal Exceptions
が追加され、実行時に適切なランタイム例外が生成されるようにします。 このカテゴリーのレポートは、開発者にこれらのファイルに対する潜在的な依存関係を通知します。 Helper
- 生成されたコードを含むレポート。推奨パーティションとそれに対応するインターフェースのシリアライゼーションおよび例外などの機能を処理します。
Copied
- プログラミング・ロジックを持たないが、区画をコンパイルするために必要なクラス (インターフェースや抽象クラスなど) を含むレポート。
cardinal-codegenディレクトリーの下の最後のレポートはCardinalSings.jsonです。 このファイルは開発者が使用するためのものです。 このレポートには、以下の内容がリストされます。
- コードを変更する必要がある場所、またはパーティションを潜在的なマイクロサービスとして実装するために詳細な検査が必要な場所をリストします。
- 開発者用のアクション項目をリストします。キーは
CARDINAL_TODO_T<number>
であり、アドレス指定する必要があります。また、WARN
の種類のアクション項目もリストされます。 これらの警告は、開発者が必要に応じてコードの検査と更新を行うことを指示します。 タスクはクラスとファイル・レベルにグループ化されます。 次のレポートは、サンプル Daytrader アプリケーションのリファクタリング中のWARN TODOs
を示しています。 コードジェネレーターは、CARDINAL_TODO_T<number>
の各タスクに対して、詳細な自己説明的コメントを提供する。