Programación Distribuida N-Tier Abadía Anselmo 5220/5 Azpeitia Eliseo 4873/6
N-Tier - Definición Capa n-1 Capa n Capa n+1 Arquitectura: es la estructura de una aplicación, la cual comprende elementos de software, las propiedades externas de esos elementos y la relaciones entre estos Capa : es un elemento de software que cumple una función especifica a nivel arquitectural que se comunica con otras capas a través de una interfaz Arquitectura N-Tier: es un conjunto de capas alineadas una debajo de otra que se comunican entre sus capas adyacentes Capa n-1 Capa n Capa n+1
N-Tier - Reglas Cada capa debe ser capaz de existir en sistemas físicamente independientes. Cada capa deberá intercambiar información únicamente entre su capa superior e inferior. Cada capa deberá ser intercambiables. Cada capa deberá tener definido claramente una interface (API). Las capas no deberán esperar nada de otras capas que no esté definio en la API para intercambiar información
Desventajas Ventajas Diseño más complicado Menor performance Confiabilidad mas dificultosa de lograr Ventajas Aplicaciones mas poderosas Mas servicios para mas clientes Mayor seguridad, escalabilidad y disponibilidad
Escalabilidad Horizontal Replicación de capas Balanceador de carga BALANCEADOR Base de datos Base de datos1 Base de datos2 Menos interrupciones
Escalabilidad Vertical Separación de capas Servidor Web Lógica del negocio Base de datos Servidor Web Lógica del negocio Base de datos
Escalabilidad diagonal Servidor Web Lógica del negocio Base de datos Escalabilidad horizontal y escalabilidad vertical Servidor Web Lógica del negocio Base de datos Servidor Web1 Web2 Lógica del negocio1 negocio2 Base de datos1 datos2
Aplicaciones N-Tier Presentación GUI Capa lógica de presentación Objetos de negocios y reglas Manipulación y transformación de información Capa de negocios Almacenamiento Consultas, índices, optimizaciones Capa de datos Interfases con la BD Maneja todas las entradas y salidas a la base de datos. Capa de acceso a datos Capa lógica de presentación WEB Server side (WebForm, JSP. Servlet, ASP,JScript, VB.NET, etc) Produce: HTML, XML, DHTML, etc. Form basados en ventanas, o cualquier cosa que se pueda mostrar en el cliente. Interfase cliente Lógica de distribución Capa de Proxy SOAP, COBRA, RMI, DCOM Necesita conectar a la capa del Proxy con para enviar y recibir requerimientos WindowsForm – Clientes Web Fisicamente en el cliente Presentación GUI
Ejemplo – Jakarta Struts Aplicación 5-capas Tecnologías JSP y TagLibs Servlet JavaBean Java JDBC MYSQL
Action 1.solicitud 3. Ejecutar 7. Resultado 4. Acciones 8. Resultado Struts-config XML 1.solicitud Controller Servlet 3. Ejecutar Action 7. Resultado 4. Acciones 8. Resultado 2. Set 6. Set Objetos de negocio ActionForm 5. Manipulación de datos Base de datos
Capa de presentación – JSP y TagsLibs =loginAction.do> 5220/5
Controller – struts-config. XML
ActionForm - Bean - Java
LoginAction – Java - Struts
Database interface - JDBC
FIN