¿Qué es la arquitectura abierta?
La arquitectura abierta, en relación con la programación de computadoras, se refiere a un sistema de hardware, red o incluso software que los usuarios pueden ampliar para proporcionar una funcionalidad nueva o ampliada. Cuando se trata de software, la arquitectura abierta significa que, mientras un programa se desempeña por sí solo, está disponible todo el código fuente del programa o un kit de desarrollo para que los usuarios puedan reescribir partes del software o desarrollar complementos y extensiones para permitir programa para realizar nuevas tareas. Una computadora u otro sistema de hardware que usa arquitectura abierta generalmente se construye de manera que los usuarios puedan cambiar, eliminar o actualizar componentes dentro del sistema. También permite a los usuarios agregar hardware adicional o modificar elementos del sistema para aumentar lo que una máquina puede hacer o simplificarlo hacia una sola tarea. Un sistema o pieza de software que se configura y no se puede modificar se conoce como arquitectura cerrada, pero también se puede llamar un sistema propietario.
Una de las características del uso de la arquitectura abierta es que el sistema o software que recibe un usuario final puede verse más como una herramienta genérica. Si las necesidades de un usuario o compañía cambian, entonces el hardware o el software se pueden cambiar para que sigan siendo relevantes sin la necesidad de eliminar por completo un sistema completo que ya está en su lugar. Dependiendo del tipo de sistema, como una red o un sistema operativo, puede ser posible cambiar completamente el funcionamiento básico para acomodar tecnologías en evolución o nuevos paradigmas comerciales. Esto puede ser especialmente importante para las computadoras y el hardware de red, donde los componentes se pueden actualizar regularmente a medida que avanza la tecnología sin destruir un marco existente que ya se ha instalado.
El concepto de arquitectura abierta surgió del desarrollo de sistemas que estaban completamente cerrados. Los primeros tipos de sistemas no ofrecían forma de actualizar componentes, y el software no tenía ningún mecanismo para las extensiones. Estos sistemas propietarios tenían un uso limitado y, a medida que aumentaba el ritmo de los avances, se volvieron obsoletos cada vez más rápido.
Aunque todavía hay sistemas propietarios en uso generalizado en la industria de la computación, muchos de estos sistemas ofrecen la capacidad de actualizar o expandir la funcionalidad principal. A diferencia de un sistema de arquitectura abierta, en el que varios proveedores pueden proporcionar actualizaciones diferentes y competitivas, las actualizaciones patentadas generalmente solo están disponibles a través del fabricante del sistema y pueden exigir un alto precio de acceso. La dependencia de un solo fabricante como fuente de todas las partes, complementos y actualizaciones de un sistema es una de las razones por las que se prefiere la arquitectura abierta sobre los sistemas patentados en aplicaciones a gran escala.