MID GmbH

Logo MID GmbH

MID GmbH è un ISV tedesco e uno dei principali provider di soluzioni di modellazione. Hanno un catalogo di prodotti che possono aiutare le aziende di un'ampia gamma di settori, dalla gestione dei processi aziendali alla consulenza agile.

Uno dei loro software di gestione è denominato Insode Enterprise Modeling Suite,uno strumento aziendale per la modellazione e l'analisi delle informazioni di tutti i domini e l'uso efficiente dei dati. Attualmente è usato da più di 90 clienti in tutto il mondo con oltre 16.000 utenti singoli. Il front-end utente è un'applicazione WPF complessa basata su .NET Framework 4.5, con il requisito specifico di essere modulare: gli sviluppatori di terze parti possono sviluppare e integrare plug-in per migliorare ed estendere l'applicazione di base. Insieme al server nel back-end che ospita i repository di dati e a tutte le configurazioni semantiche, consente agli utenti di collaborare liberamente in tutti i modelli.

I clienti sono principalmente di medie dimensioni per le grandi aziende che hanno tutte una gestione dei clienti dedicata. MID GmbH offre un programma di installazione msi che può essere gestito in modo di base usando i parametri di comando per diversi scenari di installazione. A causa della complessità della configurazione e dell'estendibilità dell'applicazione, questo approccio ha presentato diverse sfide nel corso degli anni:

  1. Ogni versione dell'applicazione richiede più sforzi da team diversi: sviluppo (anche di terze parti), distribuzione client e server e supporto. Ciò influisce sulla complessità e sui costi di ogni aggiornamento.
  2. Poiché si verifica un ritardo significativo tra il rilascio di una nuova versione e la relativa distribuzione a ogni cliente, l'agilità del team di sviluppo è notevolmente influenzata.
  3. Il ciclo di rilascio lento riduce le opportunità di innovazione per l'azienda e il team di sviluppo.

Con l'introduzione di MSIX e .NET Core, MID è stato in grado di risolvere questi problemi tramite:

  1. Riduzione del costo associato a ogni versione. Grazie a MSIX, sono in grado di personalizzare un'installazione in base alle esigenze specifiche del cliente, riducendo in modo significativo le attività di supporto e distribuzione.
  2. Miglioramento dell'agilità dei clienti, che ora sono in grado di distribuire nuove versioni dell'applicazione desktop con la rapidità di un aggiornamento al server e in modo più affidabile.
  3. Miglioramento dell'agilità del team di sviluppo, che ora è in grado di rilasciare nuove funzionalità ai clienti più rapidamente e adottare le tecnologie più recenti e più avanzate per lo sviluppo per Windows.

Con MSIX, MID GmbH è stato in grado di semplificare una pipeline di distribuzione troppo complessa. Ogni versione nuova o aggiornata dell'applicazione deve essere testata ogni volta dal cliente per mantenere la sicurezza e la disponibilità dei computer client. Molto spesso, il cliente ha esternalizzato la gestione dei client desktop a società di terze parti, che per lo più aggiungono ancora più complessità e contratti di servizio aggiuntivi.

Jörg Hönfling, Product Manager di Enterprise Modeling Suite, ha condiviso che "dal punto di vista dell'ISV, si può vedere che molti client esercitino la migrazione alla versione più recente solo ogni uno o due anni, che ovviamente non è quello che sarebbe necessario per l'investimento nel prodotto". MID GmbH investe molto nell'innovazione, migliorando continuamente la suite e aggiungendo nuove funzionalità. L'impossibilità di offrire rapidamente e facilmente nuovo valore ai clienti influisce in modo importante sul risultato di questi investimenti.

Jörg continua: "Con l'adozione di MSIX, è possibile semplificare drasticamente il processo di distribuzione per i clienti. Invece di avere modi diversi di distribuire il software stesso, le impostazioni del Registro di sistema, più DLL del plug-in e risorse aggiuntive, ad esempio pacchetti di icone specifici del cliente, è ora disponibile solo un modo per distribuire tutto. La possibilità di estendere un'applicazione con pacchetti di modifica rende molto semplice personalizzare un'installazione in base alle esigenze specifiche di un cliente. Dopo aver eseguito il pacchetto e il test della singola distribuzione, è garantito che funzioni allo stesso modo in tutti gli altri client dell'organizzazione, senza la necessità di ulteriori modifiche. Questo elimina quasi tutti i margini di errore a questo proposito, sia tecnici che umani, e riduce i costi sia dal lato del cliente che da quello del cliente".

Inoltre, l'adozione di MSIX ha consentito al software MID GmbH di ottenere un passo più vicino al cliente in termini di DevOps. Ora possono offrire a ogni cliente una build specifica del proprio software e inserire tutti i plug-in e le risorse che il cliente usa in un unico pacchetto compilato con Azure DevOps. Il team di supporto clienti deve solo consegnare il pacchetto al cliente e può installarlo direttamente nei propri clienti senza dover eseguire ulteriori operazioni di repackaging o manipolazione. Questo approccio riduce ulteriormente i costi associati al supporto dei clienti durante la fase di distribuzione dell'aggiornamento e consente al team di sviluppo di compilare e valutare nuove funzionalità in modo più sicuro e controllato.

Inoltre, la migrazione della soluzione a .NET Core ha svolto un ruolo nel miglioramento dell'agilità di distribuzione della suite. Come Jörg ha condiviso: "Uno dei principali vantaggi di .NET Core è la possibilità di creare un pacchetto del runtime insieme all'applicazione. In particolare in uno scenario di distribuzione come quello indicato in precedenza, qualsiasi dipendenza inferiore è una dipendenza buona. Si vuole anche poter trarre vantaggio dai miglioramenti futuri delle prestazioni della piattaforma .NET Core. Gli sviluppatori sono lieti di poter usare le funzionalità C# più recenti non appena lo vedono adatto e non più tardi di quanto il cliente più lento determina".

MID GmbH è ora completamente migrato a .NET Core e continuerà a eseguire il push dell'applicazione con .NET 5.0, con l'obiettivo di poter sfruttare tutte le innovazioni attuali e future nello spazio di sviluppo di Windows.