O que é arquitetura aberta?
A arquitetura aberta, em relação à programação de computadores, refere-se a um sistema de hardware, rede ou mesmo software que pode ser estendido pelos usuários para fornecer funcionalidade nova ou expandida. Ao lidar com software, arquitetura aberta significa que, enquanto um programa executa por conta própria, todo o código-fonte do programa ou um kit de desenvolvimento está disponível para que os usuários possam reescrever partes do software ou desenvolver plug-ins e extensões para permitir que o programa para executar novas tarefas. Um computador ou outro sistema de hardware que usa arquitetura aberta geralmente é construído de uma maneira que os usuários possam alterar, remover ou atualizar componentes no sistema. Ele também permite que os usuários adicionem hardware adicional ou modifiquem elementos do sistema para aumentar o que uma máquina pode fazer ou simplificá-la em direção a uma única tarefa. Um sistema ou software que é definido e não pode ser modificado é conhecido como usando arquitetura fechada, mas também pode ser chamado de sistema proprietário.
Um dos recursos do uso da arquitetura aberta é que o sistema ou software que um usuário final recebe pode ser visto mais como uma ferramenta genérica. Se as necessidades de um usuário ou empresa mudarem, o hardware ou software poderá ser alterado para permanecer relevante sem a necessidade de remover completamente todo um sistema que já está em vigor. Dependendo do tipo de sistema, como uma rede ou um sistema operacional, pode ser possível alterar completamente o funcionamento básico para acomodar tecnologias em evolução ou novos paradigmas de negócios. Isso pode ser especialmente importante para computadores e hardware de rede, onde os componentes podem ser atualizados regularmente conforme a tecnologia avança sem destruir uma estrutura existente que já foi instalada.
O conceito de arquitetura aberta surgiu do desenvolvimento de sistemas completamente fechados. Os primeiros tipos de sistemas não ofereciam maneira de atualizar componentes, e o software não possuía mecanismo para extensões. Esses sistemas proprietários tinham uso limitado e, à medida que o ritmo dos avanços aumentava, tornaram-se obsoletos cada vez mais rápidos.
Embora ainda existam sistemas de propriedade em uso generalizado na indústria de computadores, muitos desses sistemas oferecem a capacidade de atualizar ou expandir a funcionalidade principal. Diferentemente de um sistema de arquitetura aberta, no qual vários fornecedores poderiam fornecer atualizações diferentes e competitivas, as atualizações proprietárias geralmente estão disponíveis apenas pelo fabricante do sistema e podem exigir um preço alto pelo acesso. A dependência de um único fabricante como fonte de todas as peças, plug-ins e atualizações para um sistema é uma das razões pelas quais a arquitetura aberta é favorecida em relação aos sistemas proprietários em aplicativos de larga escala.