Professional Documents
Culture Documents
Introduccin
La arquitectura de aplicaciones distribuidas (AAD) es el diseo que permite a los
usuarios de una red de computadoras accesar a la informacin, aplicaciones y
servicios, as como tambin intercambiar informacin con otros usuarios, a travs
de un nico, pero consistente entorno de usuario. Esta arquitectura permite la
construccin de nuevas aplicaciones y servicios; y proporciona las facilidades para
la integracin y migracin de las aplicaciones existentes, tambin llamados
sistemas heredados.
Un sistema completamente basado en la arquitectura de aplicaciones distribuidas
(AAD) incluidos los componentes que proporcionan servicios como parte de la
infraestructura y un conjunto de convenciones o polticas que definen como los
componentes interactan con el proveedor de servicios y unos con otros. Estas
convenciones, en particular, permiten la integracin de los componentes en un
contexto empresarial amplio.
inteligente. Son muchos los factores que pueden influir en la decisin de cul de
los dos resulta ms idneo para una aplicacin concreta (los requisitos de la
plataforma del cliente, la implementacin y la actualizacin de la aplicacin, la
experiencia del usuario, el rendimiento, la integracin del lado cliente, las
capacidades sin conexin, etc.) y cada uno de ellos presenta puntos dbiles y
fuertes inherentes y admite un determinado estilo de aplicacin. Sin embargo, la
distincin entre ellos se puede desdibujar, lo que fcilmente puede conducir a la
aplicacin del enfoque bsico menos adecuado y a los consiguientes problemas.
Descripcin de un cliente ligero.
Muchas tecnologas de cliente ligero pertenecen al lado servidor, y los marcos y
plataformas de servidor Web (ASP, ASP.NET, JSP, etc.) entre los que se puede
elegir son elevados. Cada uno presenta caractersticas especiales que intentan
hacer ms fcil la creacin de aplicaciones de cliente ligero, pero todos ellos
ofrecen la interfaz de usuario en un explorador en el cliente mediante una serie de
pginas HTML. Una aplicacin de cliente ligero se puede definir de forma simple
como la aplicacin que utiliza un explorador para proporcionar el entorno de
ejecucin de su interfaz de usuario (definida con HTML).
Especializacin
Las estrategias se establecen como sigue:
-
JDBC.
Java Database Connectivity, ms conocida por sus siglas JDBC, es una API que
permite la ejecucin de operaciones sobre bases de datos desde el lenguaje de
programacin Java independientemente del sistema operativo donde se ejecute o
de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de
base de datos que se utilice.
El API JDBC se presenta como una coleccin de interfaces Java y mtodos de
gestin de manejadores de conexin hacia cada modelo especfico de base de
datos. Un manejador de conexiones hacia un modelo de base de datos en
particular es un conjunto de clases que implementan las interfaces Java y que
utilizan los mtodos de registro para declarar los tipos de localizadores a base de
datos (URL) que pueden manejar. Para utilizar una base de datos particular, el
usuario ejecuta su programa junto con la librera de conexin apropiada al modelo
de su base de datos, y accede a ella estableciendo una conexin, para ello provee
en localizador a la base de datos y los parmetros de conexin especficos. A
partir de all puede realizar con cualquier tipo de tareas con la base de datos a las
que tenga permiso: consulta, actualizacin, creacin, modificacin y borrado de
tablas, ejecucin de procedimientos almacenados en la base de datos, etc.
Los desarrolladores de los SGDB: Sistemas de gestin de bases de datos, son los
que proporcionan la implementacin de esa interfaz (los Drivers).
Arquitectura de un JDBC.
Hay 4 tipos que vamos a detallar a continuacin:
- Tipo1: JDBC-ODBC Bridge: puente, delegan el acceso a datos a una API
ODBC.
- Tipo2: Usan cdigo nativo para el acceso a datos y proveen un envoltorio
de clases java para las llamadas al driver, es un tipo especifico de una
plataforma, el tipo2 de conectores asla la JVM y se comunica directamente
con el SO.
o JAVA
o JDBC
o Driver JDBC
o JVM
o SO
-
ADO.NET.
El ADO.NET es un conjunto de componentes del software que pueden ser usados
por los programadores para acceder a datos y a servicios de datos. Es una parte
de la biblioteca de clases base que estn incluidas en el Microsoft .NET
Framework. Es comnmente usado por los programadores para acceder y para
modificar los datos almacenados en un Sistema Gestor de Bases de Datos
Relacionales, aunque tambin puede ser usado para acceder a datos en fuentes
no relacionales. ADO.NET es a veces considerado como una evolucin de la
tecnologa ActiveX Data Objects (ADO), pero fue cambiado tan extensivamente
que puede ser concebido como un producto enteramente nuevo.
2.3 Capa de procesamiento de datos.
Toda aplicacin tiene cdigo para implementar reglas de negocios, procesos
relacionados a los datos o clculos y otras actividades relativas a los negocios.
Colectivamente este cdigo es considerado para formar la capa de negocios. Otra
vez, uno de los principios del diseo lgico cliente/servidor, la lgica de negocios
debe mantenerse separada de la capa de presentacin y de los servicios de datos.
Esto no significa necesariamente que la lgica de negocios est en cualquier
parte, por el contrario, esta separacin es en un sentido lgico.
Hay muchas formas de separar la lgica de negocios. En trminos orientados a
objetos, usted debera encapsular la lgica de negocios en un conjunto de objetos
o componentes que no contienen presentacin o cdigo de servicios de datos.
Teniendo separada lgicamente su lgica de negocios de ambas, la capa de
presentacin y servicios de datos, usted ganar en flexibilidad en trmino de
donde usted puede almacenar fsicamente la lgica de negocios. Por ejemplo,
usted puede seleccionar almacenar la lgica de negocios sobre cada estacin de
cliente, u optar por ejecutar la lgica de negocios sobre un servidor de
aplicaciones, permitiendo a todos los clientes acceder a un recurso centralizado.
Los objetos de negocios son diseados para reflejar o representar sus negocios.
Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones.
Esto incluye tanto objetos fsicos como conceptos abstractos. Estos son algunos
ejemplos de objetos del mundo real: un empleado, un cliente, un producto, una
orden de compra.
Todos estos son objetos en el mundo fsico, y la idea en su totalidad detrs de
usar objetos de negocios de software, es crear una representacin de los mismos
objetos dentro de su aplicacin. Sus aplicaciones pueden hacer que estos objetos
interacten unos con otros como ellos lo hacen en el mundo real. Por ejemplo, un
empleado puede crear una orden de compra a un cliente que contiene una
lista de productos. Siguiendo esta lgica usted puede crear objetos de negocios
de una orden conteniendo el cdigo necesario para administrarse a si mismo, as
usted nunca necesitar replicar cdigo para crear ordenes, usted solo usar el
objeto. Similarmente, un objeto cliente contiene y administra sus propios
datos. Un buen diseo de un objeto cliente contiene todos los datos y rutinas
necesitadas para representarlo a travs del negocio completo, y puede ser usado
a travs de toda la aplicacin de ese negocio.
No toda la lgica de negocio es la misma. Alguna lgica de negocio es un proceso
intensivo de datos, requiriendo un eficiente y rpido acceso a la base de datos.
Otras no requieren un frecuente acceso a los datos, pero es de uso frecuente por
una interfase de usuario robusta para la validacin en la entrada de campos u
otras interacciones de usuarios. Si nosotros necesitamos una validacin al nivel de
pantallas y quizs clculos en tiempo real u otra lgica de negocios, pudiramos
considerar este tipo de lgica de negocios para ser parte de la IU, ya que en su
mayor parte es usada por la interfase de usuario.
Una alternativa de solucin es dividir la capa de lgica de negocios en dos:
Por otro lado, la portabilidad de .NET es limitada (en el mejor de los casos), pues
slo opera con Windows. Si bien el proyecto Mono trata de crear una
implementacin de fuente abierta para .NET, cul sea el futuro de dicho proyecto,
es todava incierto.
2.5 Distribucin de elementos de una aplicacin.
El diseo de una aplicacin distribuida implica la toma de decisiones sobre su
arquitectura lgica y fsica, as como sobre la tecnologa e infraestructura que se
emplearn para implementar su funcionalidad. Para tomar estas decisiones, debe
tener un conocimiento claro de los procesos empresariales que realizar la
aplicacin (sus requisitos funcionales), as como los niveles de escalabilidad,
disponibilidad, seguridad y mantenimiento necesarios (sus requisitos no
funcionales, funcionales u operativos).
El objetivo consiste en disear una aplicacin que:
Solucione el problema empresarial para el que se disea.
Tenga en consideracin la seguridad desde el principio, teniendo en cuenta
los mecanismos adecuados de autenticacin, la lgica de autorizacin y la
comunicacin segura.
Proporcione un alto rendimiento y est optimizada para operaciones
frecuentes entre patrones de implementacin.
Est disponible y sea resistente, capaz de implementarse en centros de
datos de alta disponibilidad y redundantes.
Permita la escalabilidad para cumplir las expectativas de la demanda y
admita un gran nmero de actividades y usuarios con el mnimo uso de
recursos.
Se pueda administrar, permitiendo a los operadores implementar,
supervisar y resolver los problemas de la aplicacin en funcin del
escenario.
Se pueda mantener. Cada parte de funcionalidad debera tener una
ubicacin y diseo predecibles teniendo en cuenta distintos tamaos de
aplicaciones, equipos con conjuntos de habilidades variadas y requisitos
tcnicos y cambios empresariales.
Funcione en los distintos escenarios de aplicaciones y patrones de
implementacin
Una solucin distribuida puede que necesite abarcar varias organizaciones o
niveles fsicos, en cuyo caso tendr sus propias directivas en relacin a la
seguridad, administracin operativa y comunicaciones de la aplicacin. Estas
unidades de confianza, o zonas, pueden ser un nivel fsico, un centro de datos o
un departamento, seccin o empresa que tenga estas directivas definidas. Unidas,
estas directivas definen reglas para el entorno en el que se implementa la
aplicacin y la forma en que los niveles del servicio o aplicacin se comunican.
Las directivas abarcan toda la aplicacin y la forma en que se implementan afecta
a las decisiones sobre el diseo en cada nivel. Tambin tienen un impacto entre s
(por ejemplo, la directiva de seguridad determina algunas de las reglas en la
directiva de comunicacin y viceversa).
Internet. Con un navegador Web, un usuario visualiza pginas web que pueden
contener texto, imgenes, vdeos u otros contenidos multimedia, y navega a travs
de ellas usando hiperenlaces.
La visualizacin de una pgina web de la World Wide Web normalmente comienza
tecleando la URL de la pgina en el navegador web, o siguiendo un enlace de
hipertexto a esa pgina o recurso. En ese momento el navegador comienza una
serie de comunicaciones, transparentes para el usuario, para obtener los datos de
la pgina y visualizarla.
El primer paso consiste en traducir la parte del nombre del servidor de la URL en
una direccin IP usando la base de datos distribuida de Internet conocida como
DNS. Esta direccin IP es necesaria para contactar con el servidor web y poder
enviarle paquetes de datos.
El siguiente paso es enviar una peticin HTTP al servidor Web solicitando el
recurso. En el caso de una pgina web tpica, primero se solicita el texto HTML y
luego es inmediatamente analizado por el navegador, el cual, despus, hace
peticiones adicionales para los grficos y otros ficheros que formen parte de la
pgina. Las estadsticas de popularidad de un sitio web normalmente estn
basadas en el nmero de 'pginas vistas' o las 'peticiones' de servidor asociadas,
o peticiones de fichero, que tienen lugar.
As que se han recibido los ficheros solicitados desde el servidor web, el
navegador renderiza la pgina tal y como se describe en el cdigo HTML, el CSS
y otros lenguajes web. Al final se incorporan las imgenes y otros recursos para
producir la pgina que ve el usuario en su pantalla.
La mayora de las pginas web contienen hiperenlaces a otras pginas
relacionadas y algunas tambin contienen descargas, documentos fuente,
definiciones y otros recursos web.
Esta coleccin de recursos tiles y relacionados, interconectados a travs de
enlaces de hipertexto, es lo que ha sido denominado como 'red' (web, en ingls)
de informacin. Al trasladar esta idea a Internet, se cre lo que Tim Berners-Lee
llam WorldWideWeb (un trmino escrito en CamelCase, posteriormente
desechado) en 1990.
Protocolos de servicio Web.
El protocolo HTTP define la sintaxis y la semntica que utilizan los elementos
software de la arquitectura web (clientes, servidores, proxies) para comunicarse.
Es un protocolo orientado a transacciones y sigue el esquema peticin-respuesta
entre un cliente y un servidor. Al cliente que efecta la peticin (un navegador o un
spider) se lo conoce como "user agent" (agente del usuario). A la informacin
transmitida se la llama recurso y se la identifica mediante un URL. Los recursos
pueden ser archivos, el resultado de la ejecucin de un programa, una consulta a
una base de datos, la traduccin automtica de un documento, etc.
URL significa Uniform Resource Locator, es decir, localizador uniforme de recurso.
Es una secuencia de caracteres, de acuerdo a un formato estndar, que se usa
para nombrar recursos, como documentos e imgenes en Internet, por su
localizacin.
CERN httpd
Servidor HTTP Apache (Libre, servidor ms usado del mundo)
Servidor HTTP Cherokee
IIS
Resin
Tomcat (Libre, del proyecto Jakarta de Apache)
Geronimo (Libre, orientado a J2EE, del proyecto Jakarta de Apache, en
desarrollo)
JBoss
JOnAS
Lighttpd
Servidor de Aplicaciones.
En informtica se denomina servidor de aplicaciones a un servidor en una red
de computadores que ejecuta ciertas aplicaciones.
Sistemas operativos.
Un sistema operativo es un software de sistema, es decir, un conjunto de
programas de computadora destinado a permitir una administracin eficaz de sus
recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el
hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la
interaccin con el usuario.
Un sistema operativo se puede encontrar normalmente en la mayora de los
aparatos electrnicos que utilicen microprocesadores para funcionar, ya que
gracias a stos podemos entender la mquina y que sta cumpla con sus
funciones (telfonos mviles, reproductores de DVD, autoradios, computadoras,
radios, etc.).
Funciones bsica.
Los sistemas operativos, en su condicin de capa software que posibilitan y
simplifica el manejo de la computadora, desempean una serie de funciones
bsicas esenciales para la gestin del equipo. Entre las ms destacables, cada
una ejercida por un componente interno (mdulo en ncleos monolticos y servidor
en microncleos), podemos resear las siguientes:
- Proporcionar ms comodidad en el uso de un computador.