Cardinal-Report

Le rapport Cardinal fournit une analyse approfondie de tous les appels inter-partition, des types de tous les paramètres non primitifs transmis aux partitions lors de leurs appels et des références de classe externe au sein d'une partition. Les classes sont externes à une partition si elles sont définies dans une autre partition.

Tous les objets Java® non primitifs sont transmis par des références. Dans une instance d'exécution d'application monolithique Java , lorsque toutes les classes s'exécutent dans une seule machine virtuelle Java (JVM), les classes se transmettent généralement librement les paramètres de référence. La possibilité de transmettre des paramètres peut être affectée par la rupture de l'application monolithique Java dans des partitions de classes qui s'exécutent dans des machines virtuelles Java distinctes. Par exemple, une référence dans une machine virtuelle Java qui pointe vers un emplacement de mémoire n'a aucun sens dans une autre machine virtuelle Java. Le rapport Cardinal détaille la sémantique d'appel complexe d'un groupe de partitions recommandées et est donc essentiel pour déterminer la meilleure façon de restructurer les applications monolithiques Java .

Exemple Cardinal-Report

Le rapport fournit cinq catégories d'analyse pour chaque partition de logique métier pour l'application monolithique Java . La figure suivante illustre un exemple de rapport pour l'application Daytrader. Cliquez sur l'une des lignes pour afficher les détails de la catégorie considérée.


Rapport Cardinal pour l'application Daytrader

La première catégorie répertorie toutes les classes d'une partition, comme indiqué dans la figure suivante.


Classes de membres pour la partition partition_1

La deuxième catégorie de Cardinal-Report détaille l'interface d'une partition spécifique. L'interface d'une partition spécifique définit et détermine la signature de la partition. Ces interfaces sont les API REST qui sont utilisées pour lancer la partition lorsqu'elle devient disponible en tant que partition en cours d'exécution.

Les attributs tels que overloaded_#002 dans Cardinal-Report représentent des constructeurs ou des fonctions surchargés. Un attribut Persistence en regard d'une classe implique que la classe associée est une classe d'entité.


Signature de la partition partition_1

La troisième catégorie du Cardinal-Report identifie les types Java non primitifs qui sont transmis en tant que paramètres dans les interfaces de la partition.


Paramètres non primitifs dans la signature de la partition partition_1

Ensemble, ces trois premières catégories du rapport Cardinal identifient les composants des partitions et les appels d'API REST qui permettent d'appeler les partitions en tant que microservices.

Les autres catégories concernent la sémantique de communication inter-partition. Tout d'abord, la figure suivante détaille les méthodes d'autres partitions pouvant être appelées par la partition en question.


Méthodes des autres partitions appelées par la partition partition_1

La dernière catégorie indique les références aux objets de types de classe étrangers qui sont obtenus comme valeurs de retour pour les appels de fonction vers d'autres partitions. La présence des références de classe étrangère présente un défi pour la création de partitions en tant que microservices car les classes étrangères sont définies en dehors de la portée syntaxique de la partition en question. La figure suivante présente les détails d'une telle référence étrangère.


Références de classe externe dans la partition partition_1