Hoy en día las compañías no pueden ignorar el grave problema que implica desarrollar y adaptar software al ritmo que imponen los negocios. Los requisitos varían con mucha frecuencia y las aplicaciones no logran ser desarrolladas y/o adaptadas al ritmo requerido. la globalización y fusión de empresas, el crecimiento de internet, entre otros factores, han acentuado aún más estos problemas llevando el software desarrollado, que normalmente había sido desarrollado para una plataforma específica, a un ambiente distribuido heterogéneo. esto involucra, en consecuencia, la necesidad de considerar una amplia gama de aspectos como lo son la integración de datos heterogéneos, la interacción entre diversos sistemas, los distintos sistemas operativos, el middleware, las tecnologías web, cuestiones de escalabilidad y performance, por citar algunos de ellos.
la evolución de las tecnologías cliente/servidor sumada al advenimiento de nuevas tecnologías como xml, web services , la plataforma j2ee, la comunicación asíncrona por medio de mensajes, el uso de application servers , son algunos de los conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas.
la evolución de las aplicaciones distribuidas se dio de la siguiente forma:
• aplicaciones monolíticas.
• arquitectura cliente/servidor.
• arquitectura de tres capas.
• arquitectura de n capas
domingo, 13 de febrero de 2011
1.1.4 APLICACIONES DISTRIBUIDAS.
El diseño de aplicaciones modernas involucra la división de una aplicación en múltiples 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 aplicación realice. muchas aplicaciones pueden, al menos, hacer lo siguiente:
• cálculos u otros procesos de negocios.
• ejecución de reglas de negocios.
• validación de datos relacionados al negocio.
• manipulación de datos.
• ejecución de las reglas de datos relacional.
• 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 continuación se resumen:
o interfase de usuario (capa de presentación)
o interactuar con otros usuarios.
o interactuar con aplicaciones externas o servicios.
o procesos de negocios (capa de negocios)
o cálculos u otros procesos de negocios.
o ejecución de reglas de negocios.
o validación de datos relacionados al negocio.
o procesos de datos (capa de servicios de datos).
o manipulación de datos.
o ejecución de las reglas de datos relacional.
Esquema de una aplicacón distribuida
• cálculos u otros procesos de negocios.
• ejecución de reglas de negocios.
• validación de datos relacionados al negocio.
• manipulación de datos.
• ejecución de las reglas de datos relacional.
• 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 continuación se resumen:
o interfase de usuario (capa de presentación)
o interactuar con otros usuarios.
o interactuar con aplicaciones externas o servicios.
o procesos de negocios (capa de negocios)
o cálculos u otros procesos de negocios.
o ejecución de reglas de negocios.
o validación de datos relacionados al negocio.
o procesos de datos (capa de servicios de datos).
o manipulación de datos.
o ejecución de las reglas de datos relacional.
Esquema de una aplicacón distribuida
1.1.3 APLICACIONES 2,3 Y N CAPAS
APLICACIONES DE 2 CAPAS.
La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar. estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.
Aplicación de dos capas.
Las capas que esta arquitectura presenta son las siguientes:
• nivel de aplicación
este nivel 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 también llamado el repositorio de datos, es la capa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente.
Existen herramientas para el desarrollo en dos capas por ejemplo visual basic, access y sql.
APLICACIONES DE TRES CAPAS
la arquitectura de dos capas si bien ayudó en unos años atrás, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencionó anteriormente.
Aplicación de tres capas.
por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas.
y es así que se creó la arquitectura de tres capas las cuales son:
• nivel de aplicación
la diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.
• Nivel de dominio de la aplicación.
En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación.
algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
• Nivel de repositorio.
Sigue siendo la capa en donde se almacenan los datos y toda la información.
Las herramientas para el desarrollo de tres capas son:
• visual basic en lo que se refiere a la capa de aplicación
• sql server en lo que se refiere al repositorio de datos.
• mts en lo que se refiere al nivel del dominio de aplicación
APLICACIONES DE N CAPAS
En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.
aplicación n capas.
el surgimiento de la tecnología de componentes distribuidos es la clave de las arquitecturas de n-capas. estos sistemas de computación utilizan un número variable de componentes individuales que se comunican entre ellos utilizando estándares predefinidos y frameworks de comunicación como:
• corba: (common object request broker architecture) del object management group (omg).
• dna : (distributed network applications) de microsoft (incluye com/dcom y com+ además de mts, msmq, etc.
• ejb : (enterprise java beans) de sun microsystems
• xml : (extensible markup language) del world wide web consortium (w3
• .net: de microsoft que incluye nuevos lenguajes como visual basic.net, c#.
La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todavía no se ha podido dejar de usar. estas arquitecturas fueron las primeras en aprovecharse de la estructura cliente-servidor.
Aplicación de dos capas.
Las capas que esta arquitectura presenta son las siguientes:
• nivel de aplicación
este nivel 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 también llamado el repositorio de datos, es la capa en donde se almacena toda la información ingresada en el sistema y que se deposita en forma permanente.
Existen herramientas para el desarrollo en dos capas por ejemplo visual basic, access y sql.
APLICACIONES DE TRES CAPAS
la arquitectura de dos capas si bien ayudó en unos años atrás, se vio la necesidad de crear una nueva arquitectura ya que en dos capas se tenía algunos problemas en la capa de aplicación ya que la principal desventaja de esta era el peso que tenia para el cliente, como se mencionó anteriormente.
Aplicación de tres capas.
por estas razones, existe una fuerte y bien avanzada tendencia a adoptar una arquitectura de tres capas.
y es así que se creó la arquitectura de tres capas las cuales son:
• nivel de aplicación
la diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo esta implementado este ni de su estructura física.
• Nivel de dominio de la aplicación.
En cambio este nivel se encarga de toda la estructura física y el dominio de aplicación.
algo muy importante y que es la mayor ventaja de esta arquitectura es que ahora únicamente se cambia la regla en el servidor de aplicación y esta actuará en todos los clientes, cosa que ni sucedía con la arquitectura en dos capas que si alguna regla se la cambia, se tenía que ir a cada cliente a realizar el cambio.
• Nivel de repositorio.
Sigue siendo la capa en donde se almacenan los datos y toda la información.
Las herramientas para el desarrollo de tres capas son:
• visual basic en lo que se refiere a la capa de aplicación
• sql server en lo que se refiere al repositorio de datos.
• mts en lo que se refiere al nivel del dominio de aplicación
APLICACIONES DE N CAPAS
En una aplicación distribuida en n-capas los diferentes procesos están distribuidos en diferentes capas no sólo lógicas, sino también físicas. los procesos se ejecutan en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. cada equipo posee una configuración distinta y está optimizado para realizar el papel que le ha sido asignado dentro de la estructura de la aplicación, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.
aplicación n capas.
el surgimiento de la tecnología de componentes distribuidos es la clave de las arquitecturas de n-capas. estos sistemas de computación utilizan un número variable de componentes individuales que se comunican entre ellos utilizando estándares predefinidos y frameworks de comunicación como:
• corba: (common object request broker architecture) del object management group (omg).
• dna : (distributed network applications) de microsoft (incluye com/dcom y com+ además de mts, msmq, etc.
• ejb : (enterprise java beans) de sun microsystems
• xml : (extensible markup language) del world wide web consortium (w3
• .net: de microsoft que incluye nuevos lenguajes como visual basic.net, c#.
1.1.2 APLICACIONES CLIENTE/SERVIDOR
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
en esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
la separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuariodistribuido a través de una red de computadoras.
en esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
la separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.
la arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
la red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta.
en la arquitectura c/s el remitente de una solicitud es conocido como cliente. sus características son:
es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
espera y recibe las respuestas del servidor.
por lo general, puede conectarse a varios servidores a la vez.
normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
al receptor de la solicitud enviada por cliente se conoce como servidor. sus características son:
al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivoesclavo).
tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
no es frecuente que interactúen directamente con los usuarios finales.
en esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
la separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. aunque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es más ventajosa en un sistema operativo multiusuariodistribuido a través de una red de computadoras.
en esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
la separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema.
la arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
la red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta.
en la arquitectura c/s el remitente de una solicitud es conocido como cliente. sus características son:
es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo).
espera y recibe las respuestas del servidor.
por lo general, puede conectarse a varios servidores a la vez.
normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
al receptor de la solicitud enviada por cliente se conoce como servidor. sus características son:
al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivoesclavo).
tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado).
no es frecuente que interactúen directamente con los usuarios finales.
jueves, 10 de febrero de 2011
1.1.1 APLICACIONES MONOLITICAS
son aquellas en las que el software se estructura en grupos funcionales muy acoplados, involucrando los aspectos referidos a la presentación, procesamiento y almacenamiento de la información.
en este rubro están considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimática, juegos monousuario, etc.
muchas de las aplicaciones de oficina utilizadas actualmente poseen buenos modelos de datos e interfaces realmente claras que permitieron en su momento un significativo aumento de la productividad. el problema es que ven afectada su posibilidad de crecimiento por características tecnológicas de base que dificultan el acceso a alta velocidad dentro de la red local e impiden el acceso desde fuentes remotas como internet y otras redes no locales.
en este rubro están considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimática, juegos monousuario, etc.
muchas de las aplicaciones de oficina utilizadas actualmente poseen buenos modelos de datos e interfaces realmente claras que permitieron en su momento un significativo aumento de la productividad. el problema es que ven afectada su posibilidad de crecimiento por características tecnológicas de base que dificultan el acceso a alta velocidad dentro de la red local e impiden el acceso desde fuentes remotas como internet y otras redes no locales.
UNIDAD 1: PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS
1.1 EVOLUCION DE LAS APLICACIONES INFORMATICAS
la evolución de las aplicaciones informáticas se dio debido a los siguientes factores:
1.trabajo a distancia.
2.compartir información.
3.accesibilidad.
4.seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
5.independencia lugares.
en la actualidad cualquier aplicación cuenta generalmente con tres partes diferenciadas:
1.una interfaz de usuario: elemento con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información.
2.lógica ó reglas de negocio: son las que procesan la información para generar los resultados que persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras.
3.gestión de datos: se ocupa del almacenamiento y recuperación de la informe
la evolución de las aplicaciones informáticas se dio debido a los siguientes factores:
1.trabajo a distancia.
2.compartir información.
3.accesibilidad.
4.seguridad en la protección de la información (tener la base de datos particionada en dos o más nodos).
5.independencia lugares.
en la actualidad cualquier aplicación cuenta generalmente con tres partes diferenciadas:
1.una interfaz de usuario: elemento con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información.
2.lógica ó reglas de negocio: son las que procesan la información para generar los resultados que persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras.
3.gestión de datos: se ocupa del almacenamiento y recuperación de la informe
Suscribirse a:
Entradas (Atom)






