Che cos'è l'architettura aperta?
L'architettura aperta, in relazione alla programmazione per computer, si riferisce a un sistema hardware, a una rete o persino a un software in grado di essere esteso dagli utenti per fornire funzionalità nuove o estese. Quando si ha a che fare con il software, l'architettura aperta significa che, mentre un programma esegue da solo, è disponibile l'intero codice sorgente per il programma o un kit di sviluppo in modo che gli utenti possano riscrivere parti del software o sviluppare plug-in ed estensioni per consentire programma per eseguire nuove attività. Un computer o un altro sistema hardware che utilizza l'architettura aperta è generalmente costruito in modo tale da consentire agli utenti di modificare, rimuovere o aggiornare i componenti all'interno del sistema. Inoltre, consente agli utenti di aggiungere hardware aggiuntivo o modificare elementi del sistema per aumentare ciò che una macchina può fare o semplificarlo per una singola attività. Un sistema o un pezzo di software che è impostato e che non può essere modificato è noto come usando l'architettura chiusa ma può anche essere chiamato un sistema proprietario.
Una delle caratteristiche dell'utilizzo dell'architettura aperta è che il sistema o il software che riceve un utente finale può essere visto più come uno strumento generico. Se le esigenze di un utente o di un'azienda cambiano, è possibile modificare l'hardware o il software per rimanere pertinenti senza la necessità di rimuovere completamente un intero sistema già esistente. A seconda del tipo di sistema, come una rete o un sistema operativo, può essere possibile cambiare completamente il funzionamento di base per adattarsi alle tecnologie in evoluzione o ai nuovi paradigmi aziendali. Ciò può essere particolarmente importante per i computer e l'hardware di rete, in cui i componenti possono essere aggiornati regolarmente man mano che la tecnologia avanza senza distruggere un framework esistente che è già stato installato.
Il concetto di architettura aperta è nato dallo sviluppo di sistemi completamente chiusi. I primi tipi di sistemi non offrivano alcun modo per aggiornare i componenti e il software non disponeva di alcun meccanismo per le estensioni. Questi sistemi proprietari avevano un uso limitato e, con l'aumentare del ritmo degli avanzamenti, diventavano obsoleti sempre più rapidamente.
Sebbene esistano ancora sistemi di proprietà in uso diffuso nel settore informatico, molti di questi sistemi offrono la possibilità di aggiornare o espandere la funzionalità principale. A differenza di un sistema a architettura aperta, in cui diversi fornitori potrebbero fornire aggiornamenti diversi e competitivi, gli aggiornamenti proprietari sono generalmente disponibili solo attraverso il produttore del sistema e possono richiedere un prezzo elevato per l'accesso. La dipendenza da un singolo produttore come fonte per tutte le parti, i plug-in e gli aggiornamenti di un sistema è uno dei motivi per cui l'architettura aperta è preferita rispetto ai sistemi proprietari in applicazioni su larga scala.