Aplicaciones Distribuídas

Preview:

Citation preview

Aplicaciones DistribuidasTrabajo Monográfico

Álvarez Pedro Javier I.

Aspectos a evaluarse a la hora de diseñar una aplicación distribuida:

• Concurrencia: las aplicaciones distribuidas serán utilizadas por un alto número de usuarios por lo que hay que tener presente los bloqueos de recursos o el uso de CPU, para lograr la máxima eficiencia.

• Topología de Red: el tráfico de red es un aspecto importante que condiciona el tiempo de respuesta, se debe escoger una topología de red que lo soporte.

• Ubicación de la Lógica: es necesario decidir en que procesos físicos se sitúan los componentes lógicos.

• Homogeneidad de las Plataformas: la utilización de estándares entre los sistemas operativos o lenguajes de desarrollo puede ayudar a evitar la heterogeneidad.

• Seguridad: es necesario establecer políticas de seguridad para impedir el acceso no autorizado a los datos.

Tipos de Aplicaciones Distribuidas:

• Cliente – Servidor• Aplicaciones de N-capas

Aplicaciones Cliente-Servidor: son las llamadas “tradicionales” y en las cuales podemos distinguir dos procesos.

Servidor: proporciona los datos que se le solicitan y procesa los datos que se le envían. Se le llama servidor tanto al proceso como al equipo en el que el proceso esta alojado.

Cliente: se ejecuta en el equipo del usuario que maneja la aplicación y las funciones son las de solicitar datos al servidor para que realice cierto trabajo con ellos y enviar los cambios si es que es necesario.

Las funciones de los SGBD:• Manutención de la integridad de los datos.• Proporcionar seguridad.• Permitir incluir lógica de negocios de la

aplicación en forma de:

Procedimiento almacenados

Disparadores

Reglas intrínsecas

Ventajas del Modelo Cliente-Servidor:• Incluye dentro de si los componentes de

validación, presentación y manipulación de datos.

• Posee arquitectura simple.• El coste de implementación es mas bajo

que una aplicación n-capas.• Al existir menos capas los datos asan mas

rápido.

Desventajas de Modelo Cliente- Servidor:• La conectividad se realiza desde cada una

de las estaciones de trabajo lo que consume recursos del servidor.

• La conectividad entre las estaciones de trabajo y el servidor es especifica para cada SGBD, mayor esfuerzo a la hora de configurar los sistemas.

• Dificultad a la hora de trabajar con diferentes SGBD.

• Minima reutilización de codigo.

Aplicaciones de N-capas: en una aplicación de n-capas los diferentes procesos están distribuidos en diferentes capas no solo lógicas, si no también físicas. Los procesos se ejecutan en diferentes equipos que también puedan estar en diferentes plataformas o S.O.

Arquitecturas de las Aplicaciones distribuidas:

Considerando el papel que cada elemento juega dentro de la aplicación se distinguen tres grupos lógicos donde podemos agrupar elementos según su funcionalidad:

• La Capa de Servidor• La Capa de Negocios• La Capa de Presentación

La Capa Servidor

Servicios: Los servicios son procesos que se ejecutan en equipos servidores y se mantienen a la espera de que los procesos clientes le soliciten funcionalidades de datos.

Los servicios poseen ciertas características que los diferencian de una aplicación de escritorio:

• Ejecución desatendida.• Conectividad

a) Acceso simultaneo

b) Acceso serializado• Seguridad

Servicios de Base de datos:

Son los mas frecuentes en las aplicaciones distribuidas. Los SGBD disponen de la infraestructura necesaria de servicios para crear reglas de negocios.

Reglas de Negocios según su modo:• Procedimientos Almacenados: Se

ejecutan como una consecuencia de una llamada directa de un cliente.

• Disparadores: Se ejecutan como consecuencia indirecta de una sentencia SQL efectuada por el cliente, normalmente.

• Procedimientos Programados: Los SGBD disponen de proceso programados por calendario.

La Capa de Negocios:

En esta capa se sitúan las normas de acceso a datos, la lógica de tratamiento de los mismos y cualquier elemento de aplicación que pueda reutilizarse.

Por lo general, lo componen dos tipos de elementos, según la función que desempeñan en la capa.

Lógica de Acceso a Datos:

Incluye los elementos necesarios para que la aplicación se conecte a orígenes de datos y recupere estructuras que serán utilizadas.

Los únicos elementos que se conectan a la base de datos son los objetos de acceso a datos.

Los motivos para encapsular todo el acceso a datos en la lógica de acceso a datos son múltiples:

No será necesario distribuir la información de conexión por todo el sistema.

La aplicación sea agnóstica respecto al origen de datos.

Ignora la estructura real de los orígenes de datos.

La reutilización es el factor más importante.

Componentes Principales de la Lógica de Acceso a Datos:

1. Entidades de Negocios: Son estructuras de datos que la aplicación maneja y que representan a las entidades de datos definidas en los orígenes de datos.

2. Objetos de Acceso a Datos: Son los intermediarios entre la aplicación y los orígenes de datos. Un objeto de acceso de datos encapsula el acceso a una sola entidad de datos del origen.

Entidades de Negocios, según la utilización:

• Entidades de Mantenimiento: Se utilizan para leer, insertar, actualizar o eliminar registros del origen de datos.

• Entidades de Lista: Se utilizan para recuperar estructuras de datos obtenidas como consecuencia de una consulta.

Un Objeto de Datos puede exponer tres tipos de métodos de acceso a datos:

• Métodos de CRUD (Create, Read, Update, Delete).

• Métodos de Lista.• Métodos de Procedimientos.

Los Objetos de Datos han de ser simples y directos en su funcionamiento. Han de afectar a una sola entidad de datos.

Lógica de Negocios:Utilizan los objetos de acceso a datos y las

entidades de negocio, siendo una especie de cliente de la lógica de acceso a datos.

Podemos encontrar:• Objetos de Negocios: Encapsula el

acceso a varios objetos de acceso a datos en un único objeto.

• Fachada de Negocio: Aparecen en grandes aplicaciones con muchos objetos de acceso a datos y muchos objetos de negocios.

La Capa de Presentación:

Es un sistema de presentación y manejo de datos, que se obtienen y se actualizan con los objetos de negocios comunes para todas las aplicaciones que los usan.

Debe ser independiente de las reglas del negocio y su función se limitó a la presentación y manejo de datos de una aplicación

Factores que Influyen en la Distribución Física:

• Infraestructura de Comunicaciones.• Dependencias.• Impacto en las Modificaciones

Posteriores.• Reutilización.• Rendimiento.• Dificultad de Implantación.

Conclusión:Las aplicaciones distribuidas ofrecen la solución

más optimizada para grandes sistemas que requieren alta concurrencia o máxima reutilización de código. Los procesos se ejecutan en máquinas dedicadas que se configuran de la manera más adecuada para ofrecer los servicios que requiere cada parte de la aplicación.

Ciertamente, crear una aplicación distribuida en varias capas requiere cierto sobresfuerzo en términos de diseño y conlleva una cierta pérdida de rendimiento frente a las aplicaciones cliente-servidor tradicionales, pero su implantación soluciona tantos problemas que su uso es imprescindible en sistemas muy complejos.

Gracias

Recommended