Verifica delle partizioni speciali

La comprensione e la convalida delle partizioni speciali che possono verificarsi nei dati raccolti è necessaria in modo che sia possibile apportare le opportune modifiche nel modo in cui si esegue il motore AI. La convalida garantisce che i log di runtime contengano le tracce associate solo ai casi d'uso aziendali.

Informazioni su questa attività

Si esegue il motore AI e la sua elaborazione può incorporare l'uso di partizioni speciali invece di partizioni regolari. Quando questa incorporazione avviene, è importante capire queste partizioni speciali in modo che quando si verificano è possibile apportare tutte le modifiche necessarie a come si esegue il motore AI.

A seconda della natura dei dati raccolti, il motore di intelligenza artificiale può talvolta collocare classi di applicazioni monolitiche Java® in una o più partizioni speciali quando genera le raccomandazioni di partizione. Per ridurre al minimo la ricorrenza di queste partizioni, eseguire gli scenari nella propria applicazione solo quando si registrano casi d'uso aziendale. L'esecuzione con questa modalità garantisce che i log di runtime contengano le tracce associate ai soli casi d'uso.

Prima di iniziare

Eseguire il motore AI per produrre tre report HTML dettagliati: Oriole - Report, Cardinal - Reporte Eredità - Report.

Il report Eredità mostra una panoramica dettagliata di tutte le gerarchie di eredità Java nelle classi dell'applicazione monolitica Java . Questo report viene utilizzato per analizzare le partizioni e le classi contenute nell'applicazione monolitica Java . È quindi possibile identificare eventuali partizioni, presentate qui, che non appartengono ai casi d'uso aziendali.

Procedura

  1. Esaminare la sezione Eredità - Report per identificare le partizioni e le classi in esse contenute che non rappresentano i casi di utilizzo aziendali. Il prospetto ha le seguenti partizioni.
    Partizione non osservata

    Questa partizione contiene classi di applicazioni monolitiche Java che sono state visualizzate nell'analisi statica ottenuta durante l'esecuzione del programma di analisi del codice. Tuttavia, questa partizione non viene osservata in nessuno dei log di traccia dei casi d'uso di runtime.

    Le classi collocate in questa partizione possono risultare dal codice che non viene mai utilizzato nella serie di casi di utilizzo tipici per l'applicazione monolitica Java . Inoltre, questa condizione può derivare da una copertura del caso di utilizzo insufficiente quando vengono raccolti i dati per l'applicazione monolitica Java . Per ulteriori informazioni, consultare business use cases and runtime trace.

    Partizione programma di utilità

    Questa partizione contiene classi dell'applicazione monolitica Java che Mono2Micro identifica come potenziali classi di utilità o codice comune. Le classi di utilità hanno per lo più chiamate di metodo in entrata da altre classi nell'applicazione. Potrebbero anche avere, o in alternativa avere, per lo più campi e metodi di membri statici, e varie altre caratteristiche che il motore AI determina sono probabilmente utilitaristiche.

    Per le potenziali classi del programma di utilità, Mono2Micro consiglia l'ubicazione di ciascuna classe in una partizione regolare, se non si tratta di una classe del programma di utilità. Quando si visualizzano i suggerimenti della partizione nell'interfaccia utente del workbench, è possibile decidere se la classe consigliata in questo gruppo speciale è realmente una classe di utilità e quindi spostarla in base alle necessità.

    Partizione root_dest_undefine_use_case

    Questa partizione contiene le classi dell'applicazione monolitica Java di destinazione osservate nei log di traccia del caso di utilizzo di runtime, ma che non si trovano in alcun caso di utilizzo aziendale.

    Ad esempio, tali classi di destinazione possono verificarsi quando un processo immette classi di applicazione monolitiche Java dal codice esterno al monolite. Queste classi possono verificarsi per il codice dell'applicazione monolitica Java non strumentato, per le librerie esterne o per il codice nonJava , come ad esempio gli elementi UI.

    Partizione src_dest_undefine_use_case

    Questa partizione contiene le classi dell'applicazione monolitica Java di origine e di destinazione che vengono osservate nei log di traccia del caso di utilizzo di runtime, ma che non si trovano in alcun caso di utilizzo aziendale.

    Partizione self_undefined_use_case

    Questa partizione contiene classi di applicazioni monolitiche di Java osservate nei log di traccia del caso di utilizzo di runtime. Tuttavia, le classi delle applicazioni monolitiche Java non rientrano in alcun caso di utilizzo aziendale e sia l'origine che la destinazione del flusso di codice di runtime osservato sono la stessa classe.

  2. Rieseguire il motore AI e gli scenari di utilizzo applicabili alla propria applicazione solo quando si registrano i casi di utilizzo aziendali. Questa procedura di riesecuzione consente di minimizzare questi tipi di partizioni.