miércoles, 10 de octubre de 2012

Microkernel **


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