El documento describe los conceptos fundamentales de las arquitecturas de aplicaciones distribuidas. Explica que una arquitectura define la estructura global de un sistema, mientras que una aplicación distribuida tiene componentes que se ejecutan de forma separada en diferentes plataformas conectadas. Además, detalla que la distribución implica construir software por partes asignando responsabilidades específicas, y que una arquitectura distribuida describe la organización y conexión entre componentes del software.
El documento describe los conceptos fundamentales de las arquitecturas de aplicaciones distribuidas. Explica que una arquitectura define la estructura global de un sistema, mientras que una aplicación distribuida tiene componentes que se ejecutan de forma separada en diferentes plataformas conectadas. Además, detalla que la distribución implica construir software por partes asignando responsabilidades específicas, y que una arquitectura distribuida describe la organización y conexión entre componentes del software.
El documento describe los conceptos fundamentales de las arquitecturas de aplicaciones distribuidas. Explica que una arquitectura define la estructura global de un sistema, mientras que una aplicación distribuida tiene componentes que se ejecutan de forma separada en diferentes plataformas conectadas. Además, detalla que la distribución implica construir software por partes asignando responsabilidades específicas, y que una arquitectura distribuida describe la organización y conexión entre componentes del software.
UNIDAD 3 ARQUITECTURA DE APLICACIONES DISTRIBUIDAS.
UNIDAD 2 ARQUITECTURA DE APLICACIONES DISTRIBUIDAS.
Qu es una arquitectura? Es un nivel de diseo que hace foco en aspectos ms all de los algoritmos y estructuras de datos de la computacin, el diseo y especificaciones de la estructura global del sistema es un nuevo tipo de problema, la forma que se considera para formar algo. Qu es una aplicacin distribuida? Es una aplicacin con distintos componentes que se ejecutan separados, normalmente en diferentes plataformas conectadas. A qu se refiere la distribucin? La distribucin se refiere a la construccin de software por partes, a las cuales le son asignadas un conjunto especfico de responsabilidades dentro de un sistema. Esta distribucin como bien enunciaba la definicin formal, habla de que las partes o componentes se encuentran en entornos separados, sin embargo, lo que tiene implcito esta definicin, es que para realizar esta separacin fsica primero debe tenerse clara la separacin lgica de las partes de una aplicacin, esto quiere decir que programticamente existe una forma de separar o agrupar los componentes. La separacin fsica no es en todas la ocasiones en maquinas diferentes de acuerdo a la arquitectura tambin puede ser la ubicacin de un conjunto de funcionalidades en archivos, rutas o montadas sobre tecnologas diferentes dentro de la misma mquina. Cuando hablamos de distribucin lgica lo entenderemos como separacin por capas y cuando hablemos de distribucin fsica usaremos el trmino separacin en niveles.
las capas dentro de una arquitectura son un conjunto de servicios especializados
que pueden ser accesibles por mltiples clientes y que deben ser fcilmente reutilizables. Una capa puede contener muchos componentes, un mismo componente puede ubicarse en varias capas de acuerdo a su naturaleza y a las consideraciones explicitas de la arquitectura. Qu es una arquitectura en ambiente distribuido? Describe la estructura y la organizacin de los componentes del software, sus propiedades y la conexin entre ellos para formar el sistema; la cantidad y la granularidad de comunicacin que se necesita para la interaccin y los protocolos de interfaz usada por la comunicacin. En una aplicacin distribuida en n-capas los diferentes elementos que integran la aplicacin se agrupan de forma lgica segn la funcionalidad que reciben o suministran al o desde el resto de los elementos. As, algunos elementos se limitarn a recibir peticiones de datos mientras que otros interactuarn con el usuario y su funcin ser principalmente la de solicitar a otros elementos la informacin que el usuario precisa. Una vez agrupada la funcionalidad en capas lgicas es fcil relacionar unas con otras. El usuario interactuar con la capa de presentacin, solicitando datos o desencadenando acciones. Las solicitudes sern atendidas por la capa de negocios, que se encargar de su gestin o de la traduccin necesaria para que la capa de servidor realice la tarea solicitada. La capa de servidor debe proporcionar datos los cuales se devolvern a la capa de negocios, la cual los gestionar o transmitir a la capa de presentacin. Esquema lgico de las capas en una aplicacin distribuida Es importante notar que el esquema que mostramos es un esquema lgico, no fsico. El modo de distribuir fsicamente las capas (en diferentes ejecutables o DLL, o en diferentes equipos) se corresponder con el esquema lgico en todo o en parte, pero no necesariamente existir una correspondencia exacta entre la distribucin lgica de los elementos y su distribucin fsica. La capa de negocios
podra residir en diferentes mquinas, por ejemplo, o las entidades de negocio y la
capa de servidor podran formar parte de la misma DLL. 3.1 CAPA DE INTERFAZ DE USUARIO 2.1 CAPA DE INTERFAZ DE USUARIO La capa de presentacin o interfaz de usuario se refiere al mecanismo de interaccin del usuario con el sistema. Es la que ve el usuario (tambin se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario en un mnimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Tambin es conocida como interfaz grfica y debe tener la caracterstica de ser "amigable" (entendible y fcil de usar) para el usuario. Esta capa se comunica nicamente con la capa de negocio. Los tipos de interfaces de software ms comunes son las aplicaciones de ventanas y web. Los tipos de interfaces de hardware ms comunes son el ratn, el teclado, el micrfono, pantallas tctiles, dispositivos de imagen y audio. Est formada por los formularios y los controles que se encuentran en los formularios, capa con la que interactan el usuario y es responsable de obtener datos de la capa siguiente, mostrarlos, validar entradas de datos, enviarlas a la siguiente capa donde pueden dividirse en: presentacin, cdigo de interfaz de usuario. La capa de presentacin o interface de usuario la constituye el software con el que el usuario interacta para operar con la aplicacin. Es probablemente la parte ms trabajosa de la misma, ya que es muy frecuente que aplicaciones cuyas reglas de negocio sean relativamente sencillas tengan en cambio un interfaz de usuario complejo y vistoso que le proporcione al usuario una experiencia de manejo fcil y agradable. Adems, mientras que en la creacin de reglas de negocio normalmente slo interviene un tipo de programacin, preferentemente basada en
lenguajes, en la preparacin del interfaz de usuario suelen mezclarse varias
disciplinas, como el diseo o la usabilidad. Un error frecuente en la creacin de los interfaces de usuario consiste en olvidar que las reglas de negocio no se hallan en el interfaz, sino en los objetos subyacentes que residen en las capas inferiores de la solucin. La capa de presentacin no es ms que un sistema de presentacin y manejo de datos que se obtienen y se actualizan con los objetos de negocio comunes para todas las aplicaciones que los usan. Si se olvida este aspecto se puede caer en la tentacin de colocar reglas de negocio en el interfaz de usuario, imposibilitando la reutilizacin de las mismas y complicando la distribucin y despliegue de la aplicacin. Por lo tanto, una regla de oro a observar en toda aplicacin distribuida es que la capa de presentacin ha de ser completamente independiente de las reglas de negocio, y su funcin se limitar a la presentacin y manejo de los datos de la aplicacin, que obtendr mediante el uso de los objetos de la capa de negocios comentados en la seccin anterior. Esto convierte a la capa de presentacin en una mera fachada de los procesos que son gestionados por la capa de negocios. Las capas de presentacin suelen ser delgadas, es decir, contienen pocas lneas de cdigo, ya que su funcin principal est cubierta por las caractersticas de los elementos visuales que las componen. Una tendencia creciente es la separacin entre diseo y cdigo, ya existente, por ejemplo, en las aplicaciones web dinmicas.
3.2 CAPA DE MANEJO DE DATOS
2.2 CAPA DE MANEJO DE DATOS La capa de negocios o de manejo de datos, es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envan las respuestas tras el proceso. Se denomina tambin capa de negocio (e incluso de lgica del negocio) porque es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de l. Tambin se consideran aqu los programas de aplicacin. Divisin de la capa de manejo de datos La capa de negocios representa el grueso de la lgica de funcionamiento de la aplicacin distribuida. En esta capa se sitan las normas de acceso a datos, la lgica de tratamiento de los mismos, y en general cualquier elemento de la aplicacin que pueda reutilizarse. El objetivo de la creacin de esta capa intermedia es aislar la capa de presentacin de la capa de servidor, de forma que las estructuras de datos subyacentes y la lgica que las utilizan sean independientes de la capa de presentacin. De esta forma, tambin, el mantenimiento de las normas de negocio ser ms sencillo y, sobre todo, ser reutilizable desde cualquier capa de presentacin, sea del tipo que sea. A pesar de que se suele utilizar el nombre de capa de negocios para referenciar a todos los elementos que componen esta capa intermedia de software, por lo general la capa de negocios suele dividirse en dos tipos de elementos, atendiendo a la funcin que desempean en la capa. * Lgica de negocios Cuando las aplicaciones adquieren cierto volumen o las entidades implicadas tienen cierta complejidad, la lgica de acceso a datos por s sola no es suficiente
para encapsular convenientemente el acceso a las entidades de datos. En estos
casos ser necesario aadir objetos ms complejos que a su vez encapsulen los objetos de acceso a datos y los expongan de forma ms sencilla a las capas superiores, facilitando su manejo. Adems, en las aplicaciones distribuidas con cierto tamao es frecuente encontrar reglas de negocio que no tienen nada que ver con el acceso a datos, sino que constituyen mecanismos aparte que de una forma o de otra es deseable extraer de la capa de presentacin para su reutilizacin o para que su mantenimiento sea sencillo. Estas necesidades implican a menudo la creacin de una capa adicional de lgica que llamaremos lgica de negocios. Los elementos de la lgica de negocios ya no se conectan a los orgenes de datos ni representan a las entidades de datos subyacentes, sino que utilizan los objetos de acceso a datos y las entidades de negocio, siendo pues una especie de cliente de la lgica de acceso a datos. * Lgica de acceso a datos La lgica de acceso a datos incluye los elementos necesarios para que la aplicacin se conecte a orgenes de datos y recupere estructuras de datos que sern utilizadas por el resto de la aplicacin. En una aplicacin distribuida, los nicos elementos que se conectan a la base de datos son los objetos de acceso a datos, y el resto de elementos de la aplicacin se limitan a enlazar con estos objetos para solicitar datos y enviar rdenes a los orgenes de datos. Los motivos para encapsular todo el acceso a datos en la lgica de acceso a datos son mltiples. En primer lugar, no ser necesario distribuir la informacin de conexin por todo el sistema, ya que el nico punto desde el que se efectuar el acceso directo a los orgenes de datos ser el equipo en el que resida fsicamente la lgica de acceso a datos. Tampoco ser necesario distribuir el software cliente del SGBD por diferentes mquinas, lo que facilita el mantenimiento y la instalacin de la aplicacin.
Adems, encapsular la lgica de acceso a datos permite que la aplicacin sea
agnstica respecto al origen de datos, es decir, puede realizar sus tareas sin tener la necesidad de saber en qu SGBD concreto residen los datos, ni en qu punto de la red se halla el servidor, lo que facilita la configuracin del sistema. Este sistema posibilita la utilizacin de varios SGBD en una aplicacin o facilita la migracin de un SGBD a otro. Tambin permite que la aplicacin ignore la estructura real de los orgenes de datos, ya que es la propia lgica de acceso a datos la que expondr las estructuras con las que trabajar la aplicacin, acomodndolas a las necesidades de la misma. Otro factor importante es la reutilizacin. La separacin de esta lgica permite reutilizar los componentes de acceso a datos en diversas aplicaciones sin necesidad de copiar el cdigo y manteniendo la coherencia en el comportamiento del acceso a datos en todas ellas. A pesar de que otros elementos, como los que componen la lgica de negocios, son opcionales, los elementos de lgica de acceso a datos deben estar presentes en toda arquitectura distribuida que se disee, debido a las ventajas que aportan