Sei sulla pagina 1di 9

Universidad Mariano Galvez

Ingenieria en Sistemas
Analisis de Sistemas
Lic. Gustavo Adolfo Vides

DESARROLLO DE APLICACIONES PARA


SISTEMAS DISTRIBUIDAS

Wellington Emilio Ill Tejax


1290 12 2604

Antigua Guatemala, junio de 2015

Introduccin

Un sistema distribuido se define como una coleccin de computadoras


automonos conectados por una red, y con el software distribuidos adecuados
para que el sistema sea visto por los usuarios como una unica entidad capaz
de proporcionar facilidades de computadoras.
Los sistemas distribuidos se implementan en diversas plataformas hardware,
desde unas pocas estaciones de trabajo conectadas por una red de rea local,
hasta Internet, una coleccin de redes de rea local y de rea extensa
interconectados, que en lazan millones de ordenadores.
Las aplicaciones de los sistemas distribuidos varan desde la provisin de
capacidad de computo a grupos de usuarios, hasta sistemas bancarios,
comunicaciones multimedia y abarcan prcticamente todas las aplicaciones
comerciales y tcnicas de los ordenadores. Los requisitos de dichas
aplicaciones incluyen un alto nivel de fiabilidad, seguridad contra interferencias
externas y privacidad de la informacin que el sistema mantiene. Se deben
proveer accesos concurrentes a bases de datos por parte de muchos usuarios,
garantizar tiempos de respuesta, proveer puntos de acceso al servicio que
estn distribuidos geogrficamente, potencial para el crecimiento del sistema
para acomodar la expansin del negocio y un marco para la integracin de
sistema usados por diferentes compaas y organizaciones de usuarios.

Aplicaciones Monoliticas
Son aquellas en las que el software se estructura en grupos funcionales muy
acoplados, involucrando los aspectos referidos a la presentacin,
procesamiento y almacenamiento de la informacin.

En una aplicacin monoltica las tres partes forman un todo y se ejecutan en la


misma mquina.
Datos
Lgica de negocio
Interface de usuario
Ventajas:
Funcionan ms rpido.
Fcil de desarrollar.
Difcil de mantener, poco escalable
Precisa de cierta potencia de proceso.
Requieren ms y mejor HW en las estaciones de trabajo
Desventajas
Son infinitamente ms lentos en el procesamiento de peticiones sencillas
Ocupan mayor ancho de banda, provocando congestionamiento en la
Red Local
Requieren habilitar el acceso real a la carpeta de datos para todos los
usuarios de la aplicacin
Su actualizacin es ms costosa
No permiten el acceso en lnea desde fuera de la Red Local requieren
de implementaciones de soluciones de conectividad muy costosas

Aplicaciones Cliente-Servidor
El modelo cliente-servidor de un sistema distribuido es el modelo ms conocido
y ms ampliamente adoptado en la actualidad. Hay un conjunto de procesos
servidores, cada uno actuando como un gestor de recursos para una coleccin
de recursos de un tipo, y una coleccin de procesos clientes, cada uno llevando

a cabo una tarea que requiere acceso a algunos recursos hardware y software
compartidos. Los gestores de recursos a su vez podran necesitar acceder a
recursos compartidos manejados por otros procesos, as que algunos procesos
son ambos clientes y servidores. En el modelo, cliente-servidor, todos los
recursos compartidos son mantenidos y manejados por los procesos servidores.
Los procesos clientes realizan peticiones a los servidores cuando necesitan
acceder a algn recurso. Si la peticin es valida, entonces el servidor lleva a
cabo la accin requerida y enva una respuesta al proceso cliente.
El termino proceso se usa aqu en el sentido clsico de los sistemas operativos.
Un proceso es un programa en ejecucin. Consiste en un entorno de ejecucin
con al menos un thread de control.
El modelo cliente-servidor nos da un enfoque efectivo y de propsito general
para la comparticin de informacin y de recursos en los sistemas distribuidos.
El modelo puede ser implementado en una gran variedad de entornos software
y hardware. Las computadoras que ejecuten los programas clientes y
servidores pueden ser de muchos tipos y no existe la necesidad de distinguir
entre ellas; los procesos cliente y servidor pueden incluso residir en la misma
maquina.
En esta visin simple del modelo cliente-servidor, cada proceso servidor podra
ser visto como un proveedor centralizado de los recursos que maneja. La
provisin de recursos centralizada no es deseable en los sistemas distribuidos.
Es por esta razn por lo que se hace una distincin entre los servicios
proporcionados a los clientes y los servidores encargados de proveer dichos
servicios. Se considera un servicio como una entidad abstracta que puede ser
provista por varios procesos servidores ejecutndose en computadoras
separadas y cooperando va red.
El modelo cliente-servidor se ha extendido y utilizado en los sistemas actuales
con servicios manejando muchos diferentes tipos de recursos compartidos
correo electrnico y mensajes de noticias, ficheros, sincronizacin de relojes,
almacenamiento en disco, impresoras, comunicaciones de rea extensa, e
incluso las interfaces grficas de usuario. Pero no es posible que todos los
recursos que existen en un sistema distribuido sean manejados y compartidos
de esta manera; algunos tipos de recursos deben permanecer locales a cada
computadora de cara a una mayor eficiencia RAM, procesador, interfaz de red
local -. Estos recursos clave son manejados separadamente por un sistema
operativo en cada maquina; solo podran ser compartidos entre procesos
localizados en el mismo ordenador.
Aunque el modelo cliente-servidor no satisface todos los requisitos necesarios
para todas las aplicaciones distribuidos, es adecuado para muchas de las

aplicaciones actuales y provee una base efectiva para los sistemas operativos
distribuidos de propsito general.

Aplicaciones de 2 y 3 Capas
Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a
otro programa, la idea principal es utilizar aplicaciones que se ejecutan a
travs de la computadora, cada aplicacin constituye una sola accin para
realizacin de tareas.
Las aplicaciones forman parte de un conjunto lgico de programacin que
interactan para desarrollar su funcionamiento, donde podemos encontrar una
diversidad de servidores que tiene distintas funciones.
Aplicacin de 2 Capas
La arquitectura de 2 capas en la actualidad es muy utilizada, aunque con
muchas fallas, todava no se ha podido dejar de usar este tipo de arquitectura
que fueron las primeras en aprovecharse de la estructura cliente-servidor.
Las capas que esta arquitectura presenta son las siguientes:

Nivel de aplicacin. Es en el que se encuentra toda la interfaz del


sistema y es la que el usuario puede disponer para realizar su actividad
con el sistema.

Nivel de la base de datos. Este nivel de la base de datos tambin


llamado repositorio de datos, es la etapa en donde se almacena toda la
informacin ingresada en el sistema y que se deposita en forma
permanente. Existen herramientas para el desarrollo en 2 capas como
puede ser Visual Basic, Acces y SQL.

Aplicacin de 3 Capas
Se vio la necesidad de crear una nueva arquitectura ya que en dos capas se
tena unos problemas en la capa de aplicacin ya que la principal desventaja
de esta era el peso que se tena para el cliente.
Por estas razones existe una fuerte y bien avanzada tendencia a adoptar una
arquitectura de 3 capas, la cual incluye lo siguiente:

Nivel de aplicacin. La diferencia de este nivel aplicado ahora en una


arquitectura en 3 capas es que solo tiene que trabajar con la semntica
propia de la aplicacin sin tener que preocuparse de cmo esta
implementado este ni de su estructura fsica.

Nivel de dominio de la aplicacin. Este nivel se encarga de toda la


estructura fsica y el dominio de aplicacin, algo muy importante y que
es la mayor ventaja de esta arquitectura es que ahora nicamente se
cambia la regla en el servidor de aplicacin y esta actuara en todos los
clientes; esto no sucede con la arquitectura en 2 capas, que si alguna
regla se le cambia se tiene que ir a cada cliente a realizar cambios.

Nivel de repositorio.es la capa donde se almacenan los datos y toda la


informacin que se ha procesado.

Las herramientas para el desarrollo de 3 capas son las siguientes:

SQL Server en lo que se refiere el repositorio de datos.


Visual Basic en los que se refiere a la capa de aplicacin
MTS en lo que se refiere al nivel del dominio de aplicacin.

Aplicaciones Distribuidas
El diseo de las aplicaciones modernas involucra la divisin de una aplicacin
en mltiples capas, la interfaz de usuario, la capa media de objetos de
negocios y la capa de acceso a datos.
Puede ser til identificar los tipos de procesamiento que podemos esperar que
una aplicacin realice muchas aplicaciones puede al menos hacer lo siguiente:

Clculos u otros procesos de negocios


Ejecucin de reglas de negocios
Validacin de datos relacionados al negocio
Manipulacin de datos
Ejecucin de las reglas de datos relacionales
Interactuar con aplicaciones externas o servicios
Interactuar con otros usuarios

Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los


tres grupos o capas que a continuacin se resumen:

Interface de usuario (capa de presentacin)


Interactuar con otros usuarios

Interactuar con las aplicaciones externas o servicios


Proceso de negocios (capa de negocios)
Clculos u otros procesos de negocios
Ejecucin de reglas de negocios
Validacin de datos relacionados al negocio
Proceso de datos (capa de servicio de datos)
Manipulacin de datos
Ejecucin de las reglas de datos relacionales

Evolucion de Aplicaciones Distribuidas


En la actualidad las compaas presentan graves problemas para desarrollar e
implementar software que cubran las necesidades de sus negocios muchas de
las aplicaciones que se requieren no se logran implementar o desarrollar al
ritmo que se desea, con el paso del tiempo el desarrollo de aplicaciones ha
estado en constante evolucin el cual se ha dado de la siguiente forma:

Aplicaciones monolticas

Arquitectura cliente/servidor
Arquitectura de 2, 3 y n capas
Aplicaciones distribuidas

Interfaz de Usuario
La interfaz de usuario, es el artefacto tecnolgico de un sistema interactivo que
brinda una interaccin amigable entre el sistema informtico y el usuario.
La interfaz de usuario es un conjunto de imgenes y objetos grficos para
representar la informacin y acciones del sistema, en la cual la manipulacin
facilita la interaccin y entendimiento del usuario con la computadora.
En la interfaz se presenta informacin a los usuarios y acepta entradas o
respuestas para el uso del sistema, la interfaz de usuario no desarrolla
procesos, solo debe presentar la forma de manipular el sistema.
Algunas tecnologas de interfaz de usuario son:
Api Win 32
HTML
DELL HTML
Lenguajes Scripts
De Base de Datos
La evolucin de las bases de datos se debe a las organizaciones ya que han
solicitado mayores capacidades de almacenamiento de informacin en las
bases de datos y a su vez que puedan integrar informacin desde distintos
sitios distribuidos.
El desarrollo de las tecnologas de comunicacin ha permitido enlazar datos
con aplicaciones que se encuentran en sitios distintos y remotos.

Algunas tecnologas de bases de datos son:


OLEB.
ADO.
XML.
SQL.
Herramientas para modelado (UML).
De Comunicacin de Datos
El desarrollo e implementacin de aplicaciones distribuidas en las empresas ha
cambiado radicalmente los modelos de computacin, desde sistemas

monolticos hasta los tradicionales sistemas clientes-servidor, llevndolos hacia


sistemas distribuidos multiplataforma altamente modulares.
Este cambio ha llevado a mejoras en los sistemas de comunicacin de datos
para el procesamiento y desempeo de las aplicaciones.
Algunas de las tecnologas de comunicacin de datos son:
Intranet
Internet

De Conexin entre Capas


Las arquitecturas proporcionan a las empresas grandes cantidades de
beneficios para soluciones flexibles y fiables para resolver los distintos
problemas que se les presentan.
Las aplicaciones basadas en capas permiten trabajar con clientes ligeros, tal
como navegadores de Internet, WebTV, telfonos inteligentes, PDA y otros
dispositivos que pueden conectarse a Internet.
Actualmente las empresas estn adaptndose rpidamente con estas nuevas
tecnologas para agilizar la productividad de sus negocios y la comodidad de
llevar sus labores acabo, este suceso esta creando cambios fundamentales en
los modelos de computacin brindando nuevas oportunidades a las empresas.
Una de las tecnologas de conexin de capas es:
Arquitectura DAO.

Potrebbero piacerti anche