Problemi che affrontiamo
- COM / ActiveX / OCX non può ancora essere eliminato;
- un componente a 32 bit impedisce il passaggio ai 64 bit;
- non è chiaro come collegare risorse C++ e .NET;
- serve una migrazione graduale che conservi le specifiche.
Principi
Per valorizzare le risorse esistenti spesso è meglio non partire dal presupposto di sostituire tutto.
Chiarifichiamo innanzitutto:
- se la risorsa è un semplice elemento UI o contiene regole aziendali;
- se può restare nello stesso processo;
- dove attraversare il confine 32/64 bit;
- se assorbire il confine in un wrapper o separare il processo.
Temi particolarmente adatti
- sistemi con COM / ActiveX / OCX;
- confini tra C++ e C#;
- wrapper C++/CLI;
- architetture tra 32 e 64 bit;
- piani di sostituzione graduale.
Situazioni adatte
- la risorsa contiene regole aziendali o specifiche di dispositivi e non può essere sostituita facilmente;
- occorre prima prolungarne la vita e chiarire i confini;
- la sostituzione futura è desiderabile, ma oggi serve una transizione sicura.
Stato desiderato
L’obiettivo non è eliminare tutto ciò che è vecchio, ma conservare le risorse utili semplificando soltanto i confini complessi:
- architettura più manutenibile;
- ordine di sostituzione chiaro;
- costi futuri di migrazione ridotti.