La versione 4 del runtime di Mule è ormai da due anni con noi.
Questo 2021 abbiamo due date importanti: una a Marzo, a partire dal 20 di Marzo non sarà più possibile pubblicare nuove applicazioni in Mule 3.9, e questa versione passerà a Extended Support fino il 2024. E la seconda data è a Novembre, a partire della quale finirà lo extended support alla versione 3.8 e di conseguenza tutte le applicazioni in questa versione non funzioneranno più. Potete trovare più informazione su questo link.Version | Release Date | End of Standard Support | End of Extended Support |
4.3 | April 30, 2020 | April 30, 2022 | April 30, 2024 |
4.2 | May 2, 2019 | May 2, 2021 | May 2, 2023 |
4.1 | March 20, 2018 | November 2, 2020 | November 2, 2022 |
3.9 long term supported | October 9, 2017 | March 20, 2021 | March 20, 2024 |
3.8 long term supported | May 16, 2016 | November 16, 2018 | November 16, 2021 |
3.7 | July 9, 2015 | November 16, 2017 | January 25, 2020 |
3.6 | January 15, 2015 | January 15, 2017 | N/A |
3.5 long term supported | May 20, 2014 | July 15, 2016 * | January 25, 2020 * |
Dunque, ci troviamo probablimente nell’anno chiave per migrare a Mule 4. E quindi le domande che ci poniamo sono: come possiamo migrare le nostre applicazioni? come possiamo farlo senza impattare il servizio che forniamo con tutte queste app? quanto tempo ci metteremo per fare la migrazione?
Per rispondere queste e altre domande, MuleSoft ha creato uno strumento di migrazione, il Mule Migration Assistant (MMA).
Lo strumento - Mule Migration Assistant
The MMA è uno strumento per la conversione di applicazioni da Mule 3 a Mule 4. è uno strumento a linea di comando che prende come input una applicazione Mule 3 e ci ritorna come output una applicazione in Mule 4 è un report di conversione.La traduzione da Mule 3 a Mule 4 è una traduzione di best effort, lo strumento non sempre completa la migrazione al 100%. In alcuni casi, una volta lo strumento ha finito, sarà necessario aggiustare manualmente alcuni componenti della nuova applicazione. A tale scopo serve il report, dove troveremo il dettaglio dei componenti da completare.
Mule 3 e Mule 4 sono runtime di architettura diversa e per questo motivo, ci sono componenti o event processors che sono equivalenti e che lo strumento riesce a migrare, ma in altri casi non esistono equivalenze fra Mule 3 e Mule 4. Che cose riesce a migrare lo strumento MMA?
- I flussi individuali e la loro logica
- Global configurations
- Dataweave 1.0 e Mule Expression Language scripts sono convertiti a scripts in formato Dataweave 2.0
- Unit tests in MUnit
- Le policies usate nelle apps
- Connectors, transports e modules, anche se non tutti si riescono a convertire con il MMA
Il Report di Conversione
Nonostante lo strumento non fa il 100%, MMA ci aiuta a fare la parte più faticosa della migrazione, creando la logica della app, la struttura del progetto e la conversione dei componenti o event processors compatibili tra Mule 3 e Mule 4.
Che succede quando non c’è un componente equivalente? In questo caso, lo strumento scriverà un’errore nel report finale, per identificare il componente. Il report di conversione ci da tre tipi di informazioni:
Che succede quando non c’è un componente equivalente? In questo caso, lo strumento scriverà un’errore nel report finale, per identificare il componente. Il report di conversione ci da tre tipi di informazioni:
- Errors: Quelle parti dell'applicazione di Mule 3 che non hanno una conversione diretta su Mule 4 e che bisogna riscrevere.
- Warnings: Quelle parti dell'applicazione di Mule 3 che hanno una traduzione simile in Mule 4 e che conviene esaminare per essere sicuri della conversione.
- Info: Quelle parti dell'applicazione di Mule 3 che sono state leggermente modifichate solo per essere conformi a Mule 4 e che non comportano nessuna modifica funzionale.
In conclusione, dopo utilizzare il MMA, il risultato sarà in alcuni casi, un'applicazione 100% completa e in altri casi un'applicazione incompleta sulla quale dovremo fare delle modifiche. Il report di conversione ci aiuterà a capire quali sono queste modifiche necessarie. Dunque, lo scopo di questo strumento non è fare la migrazione di qualsiasi app, lo scopo è quello di accelerare il processo di migrazione.
Il MMA ci deve aiutare ad avere una prima versione dell’applicazione e anche a capire la complessità di tutta la migrazione.
Quello che vi consiglio io è di utilizzare questo strumento anche per pianificare il tempo da investire per la migrazione di tutte le app. Potete far girare lo strumento per tutte le app e usare il report per valutare in dettaglio quanto tempo ci vuole per migrare ogni applicazione
MMA è Open Source
Il Mule Migration Assistant non è un prodotto del portfolio di Mulesoft. é uno strumento che è stato creato da MuleSoft e che si è messo a disposizione di tutti i clienti come progetto Open Source su GitHub. Ecco qua il link. Questo vuol dire che: innanzitutto qualunque può scaricare il progetto e utilizzarlo, non c’è bisogno di nessuna licenza e non ha nessun costo. é Open source, quindi qualunque può contribuire a questo progetto e migliorarlo. E per ultimo, non essendo un prodotto del portfolio Mulesoft non fornisce un supporto dello strumento come gli altri prodotti del portfolio.Per ultimo, a MuleSoft abbiamo anche creato qualche video di Friends of Max dedicati a questa tematica dove potrai trovare una demo con esempi di migrazioni:
Nel mio team di Customer Success stiamo lavorando per aiutare clienti e partner a migrare a Mule 4, se ancora hai dubbi fateci sapere!