Capa de Infraestructura

Anuncio
Capa de
Infraestructura
Capa de
Infraestructura
{
{
{
Adyacente a todas las demás.
Comprende todos aquellos servicios
susceptibles de ser requeridos desde
cualquiera de las capas lógicas del
sistema.
El servicio se concibe como un
componente que suele ser dependiente
del entorno de despliegue del sistema ->
Portabilidad?
z
Ej.: Servicio de Log varía de formato de salida
de una empresa a otra, inclusive dentro del
mismo grupo empresarial.
Capa de
Infraestructura
+
Componentes
Clases Gestoras
Capa de infraestructura
Gestión de los
Servicios de Infraestructura
{
{
Componentizados
Se accede a ellos a través de una interfaz
que define el servicio = contrato.
Clase que
emplea el
servicio de
infraestructura
Interfaz que
define el servicio
Componente
Servicio
Infraestructura
Gestión de los
Servicios de Infraestructura
{
{
{
La responsabilidad de instanciar la clase que
sirve el servicio es de las clases gestoras.
La relación de qué clase implementa un
determinado servicio (interfaz java) en un
momento dado se externaliza a un fichero
XML -> Cambios en los servicios de
infraestructura limitados a tareas de
configuración.
Las clases del modelo no interactúan nunca
con una clase de servicio de infraestructura
directamente.
Objetivos de la
Capa de Infraestructura
{
{
{
La sustitución de un componente se
limita a tareas de configuración
Se desacopla completamente la
aplicación del entorno de despliegue.
Las clases gestoras pueden trabajar
(en caso de que el componente lo
permita) con pools de componentes >Aumento de rendimiento.
Servicios de
Infraestructura Habituales
{
{
{
{
{
{
Servicio de log
Pool de conexiones JDBC (o de cualquier
otro sistema de persistencia).
Sistema de configuración de la aplicación.
Gestor de accesos/permisos de usuario a los
distintos servicios de la aplicación.
El SQLProvider descrito en la capa de acceso
a datos.
Otros más específicos del entorno del
proyecto pero independientes del modelo.
Frameworks IoC
{
{
El patrón Inversion Of Control
o Inyección de dependencias
(Fowler).
Apache Avalon/Excálibur
z
{
Spring Framework
z
z
{
Ex Proyecto Jakarta.
Contenedor IoC (entre otras
muchas cosas…)
Incorporado al FPA desde la
versión 1.3
PicoContainer
El Framework
AVALON Excálibur de Jakarta
{
{
{
Implementación de la capa de infraestructura antes
dentro de Jakarta, ahora a nivel de Apache
Componentiza servicios de infraestructura
Gestion el ciclo de vida de los componentes.
z
z
z
z
{
Pool de componentes
Configuración de componentes
Reconfiguración
Etc.
Muy completo y específico para esto, pero las
nuevas versiones están un poco abandonadas
Spring Framework
{
Contenedor IoC:
z
z
z
z
{
{
{
{
{
Configuración centralizada y automatizada
Cableado de beans
No invasivo
Ensambla POJOs.
Capa de abstracción para plugin de monitores
transaccionales
Capa de abstracción JDBC
Integración con TopLink, Hibernate, JDO, e
IBATIS
Funcionalidad AOP
MVC
Referencias
{
URLs
z
z
{
http://jakarta.apache.org/Avalon
http://theserverside.com
Libros
z
z
Mastering Tomcat Development de
WILEY
Java Server Programming J2EE
Edition de Wrox
Descargar