Office interop (automazione lato server)
Definizione
Guidare Microsoft Office dal codice per aprire o convertire documenti. Funziona su un desktop ed è esplicitamente sconsigliato su un server, sia da Microsoft che da tutti coloro che ci hanno provato.
Office è stato progettato per un unico utente interattivo davanti a una tastiera. Su un server che gestisce richieste concorrenti, questa assunzione fallisce in modi specifici e familiari: i processi si bloccano in deadlock aspettandosi a vicenda, appaiono finestre di dialogo modali che nessuno può chiudere, e le istanze sopravvivono alle loro richieste finché la macchina esaurisce la memoria.
La posizione delle licenze è altrettanto imbarazzante. Un server che rende documenti per molti utenti necessita di licenze desktop che non sono mai state pensate per questo utilizzo, il che comporta una discussione con il team di approvvigionamento che raramente va a buon fine.
L'alternativa è il rendering nativo: una libreria che analizza il formato direttamente e produce l'output in-processo. Nessuna seconda applicazione, nessuno strato di automazione, nessun processo orfano da raccogliere secondo un programma.
In Doconut
Doconut rende nativamente. Non c'è alcuna installazione di Office, nessuna automazione COM e nessun assembly di interop da nessuna parte nella pipeline — il che è anche ciò che rende la distribuzione dei container semplice.