Cuando se realiza una
transformación de DOMAIN MODEL (182) en una arquitectura de software
técnica....
…. Debemos diseñar
para soportar la escalabilidad y adaptabilidad en diferentes
escenarios de desarrollo...
✦✦✦
Algunas aplicaciones
existen en múltiples versiones. Cada versión ofrece diferente
conjunto diferente de funcionalidad a los usuarios, o se diferencia
de otras versiones en aspectos específicos, tales como su interfaz
de usuario. A pesar de sus diferencias, sin embargo, todas las
versiones de la aplicación debe estar basado en una arquitectura
común y el núcleo funcional.
El objetivo es evitar la
deriva de la arquitectura entre las versiones de la aplicación y
reducir al mínimo esfuerzo de desarrollo y mantenimiento de la
funcionalidad compartida. Además, actualizar una versión de la
aplicación a otra mediante la adición y eliminación de
características, o mediante el cambio de su aplicación, no debería
requerir más que modificaciones mínimas partes del sistema. De
manera similar, debe ser fácil proporcionar una versión de la
aplicación particular, con diferentes interfaces de usuario, y
también para ejecutar la versión en distintas plataformas,
permitiendo a los clientes la utilización más adecuadamente dentro
de sus entornos específicos.
Componer diferentes
versiones de un aplicación extendiendo un core común vía plug and
play con un mínimo de cambio en la infraestructura.
Un microkernel implementa
la funcionalidad compartida por todas las versiones de las
aplicaciones y proporciona la infraestructura para la integración de
la funcionalidad específica de la versión. Servidores internos
autónomos implementan la versión de la funcionalidad específica, y
los servidores externos de las interfaces específicas de la versión
de usuario o APIs. Configurar una versión de la aplicación
específica mediante la conexión de los servidores internos
correspondientes con el microkernel, y la adecuada servidores
externos para acceder a su funcionalidad. En consecuencia, todas las
versiones de la aplicación comparten un núcleo común funcional y
la infraestructura, pero proporcionar un conjunto de funciones
look-and-feel.
✦✦✦
Una arquitectura
MICROKERNEL asegura que cada versión de la aplicación, pueden
adaptarse para su propósito. Los usuarios o sistemas cliente sólo
obtiene la funcionalidad y el look-and-feel que requieren, pero no
tienen que incurrir en el costo de todo lo que no necesita. En
general, la evolución de una versión particular hacia las funciones
nuevas o diferentes "sólo" requiere reconfigurarla con las
correspondientes servidores internos y externos: el propio
microkernel no se ve afectado por dichas actualizaciones.
Los servidores internos y
externos y otras versiones de la aplicación son igualmente
afectados. Además, una arquitectura micronúcleo minimiza los
esfuerzos de desarrollo y el mantenimiento de todos los miembros de
la familia de aplicación: cada servicio, la interfaz de usuario, o
API se aplica sólo una vez.
La estructura interna de
la microkernel se basa típicamente en capas (185). Los resúmenes
capa inferior de la plataforma del sistema subyacente, apoyando así
la portabilidad de todos los niveles superiores. La segunda capa
implementa la funcionalidad de la infraestructura, tales como la
gestión de los recursos, en la que el microkernel depende. La capa
superior aloja la funcionalidad de dominio que es compartida por
todas las versiones de la aplicación. La capa superior incluye los
mecanismos para la configuración de servidores internos con el
micronúcleo, así como para el encaminamiento de las peticiones de
los servidores externos a su destinatario.
Cada función específica
y autónoma y responsabilidad dentro de la microkernel puede ser
realizado como un objeto de dominio (208), que apoya su
implementación independiente y evolución. La funcionalidad de
enrutamiento del microkernel se implementa a menudo como un mediador
(410) que recibe las solicitudes a través de una interfaz uniforme y
envía estas solicitudes a las funciones de dominio correspondientes
en el microkernel o los servidores internos. Para reducir al mínimo
el consumo de recursos, particularmente la memoria, la capa de
enrutamiento puede utilizar un configurador de componentes (490) o un
administrador de objetos (492) para cargar los servidores internos de
la demanda, descargarlos después de su uso, y controlar su ciclo de
vida. Este diseño también permite la actualización de una versión
de la aplicación particular, con una funcionalidad nueva, distinta,
o modificados de forma dinámica en tiempo de ejecución.
NOTA
Tipo: Arquitectónico
Dentro de un software, separa un núcleo
funcional de la funcionalidad añadida.
No hay comentarios:
Publicar un comentario