La situazione:
- La mia azienda fornisce un'applicazione Windows Form installata ai nostri clienti.
- Questa applicazione client viene fornita in bundle con un oggetto binario (chiamiamolo
Objects.dll
) -
Objects.dll
contiene le proprietà dell'oggetto, i campi, le firme dei metodi, ecc. -
Objects.dll
contiene anche i Contratti di servizio (interfacce), utilizzati dall'oggetto per comunicare con un servizio Web remoto - Il servizio web remoto (chiamiamolo
Service.dll
) è ospitato in remoto, insieme aObjects.dll
. Implementa i Contratti di assistenza inObjects.dll
Il problema:
- Quando
Objects.dll
cambia in qualsiasi modo (compresi i Contratti di servizio), è necessario inviare un aggiornamento all'applicazione client. Aggiornamenti come questi richiedono un preavviso di 48 ore e una finestra di manutenzione notturna piuttosto pesante. Ciò è doloroso e va contro il nostro credo di sviluppo interno di avere distribuzioni a basso impatto.
La speranza:
- Esiste uno strumento / prodotto / servizio che consente un certo livello di disaccoppiamento del livello dell'oggetto dall'applicazione client. Sto immaginando un servizio di individuazione di servizi / oggetti per l'applicazione client con cui comunicare per ottenere il livello dell'oggetto.
È possibile che una soluzione non esista necessariamente. Anche se questo sarebbe meno che ideale, sto anticipando completamente questa soluzione.