Desarrollo de Aplicaciones de ABD

51
INSTITUTO TECNOLÓGICO DE APIZACO NOMBRE DEL ALUMNO: OMAR XOCHIPA BENITEZ TURNO: MATUTINO MATERIA: DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS CATEDRÁTICO: HIJINIO NAVA BAUTISTA ESPECIALIDAD: INFORMÁTICA

description

aborda el diseño e implementación de aplicaciones distribuidas

Transcript of Desarrollo de Aplicaciones de ABD

  • INSTITUTO TECNOLGICO DE APIZACO

    NOMBRE DEL ALUMNO: OMAR XOCHIPA BENITEZ

    TURNO: MATUTINO

    MATERIA: DESARROLLO DE APLICACIONES PARA

    AMBIENTES DISTRIBUIDOS

    CATEDRTICO: HIJINIO NAVA BAUTISTA

    ESPECIALIDAD: INFORMTICA

  • TEMARIO DE LA MATERIA DE DESARROLLO DE APLICACIONES PARA AMBIENTE DISTRIBUIDOS

    UNIDAD: 1

    UNIDAD 1 PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS

    1 Panorama general de las aplicaciones distribuidas.

    1.1 Evolucin de las aplicaciones informticas.

    1.1.1 Aplicaciones monolticas.

    1.1.2 Aplicaciones cliente/servidor.

    1.1.3 Aplicaciones de 2,3 y n capas.

    1.1.4 Aplicaciones distribuidas.

    1.2 Evolucin de las tecnologas para el desarrollo de

    aplicaciones distribuidas.

    1.2.1 De interfaz de usuario.

    1.2.2 De aplicacin.

    1.2.3 De base de datos.

    1.2.4 De comunicacin de datos.

    1.2.5 De conexin entre capas.

    1.3 Escenarios de utilizacin de las aplicaciones distribuidas.

    1.4 Problemas comunes en el desarrollo y uso de aplicaciones

    distribuidas.

    UNIDAD: 2

  • 2 Arquitectura de aplicaciones distribuidas.

    2.1 Capa de interfaz de usuario.

    2.2 Capa de manejo de datos.

    2.3 Capa de procesamiento de datos.

    2.4 Integracin de sistemas heredados.

    2.5 Distribucin de elementos de una aplicacin.

    2.6 Integracin de tecnologas heterogneas y homogneas.

    2.7 Servicios de la arquitectura (email, web, base de datos,

    aplicaciones, transacciones, sistemas operativos, firewall.

    UNIDAD: 3

    3 Diseo de aplicaciones distribuidas.

    3.1 Diseo e implementacin de manejo de datos.

    3.2 Diseo de procesamiento de datos.

    3.3 Diseo de interfaz de usuario. 5.- TEMARIO (Continuacin)

    UNIDAD: 4

    4 Implementacin de procesamiento de datos.

    4.1 Construccin de componentes.

    4.2 Comunicacin con manejo de datos.

  • UNIDAD: 5

    5 Implementacin de interfaz de usuario.

    5.1 Lenguajes de marcado.

    5.2 Tecnologas para implementacin de interfaces de usuario.

    5.3 Programacin.

    5.3.1 Del lado del cliente.

    5.3.2 Del lado del servidor.

    UNIDAD: 6

    6 Integracin de aplicaciones distribuidas.

    6.1 Asignacin de las partes de la aplicacin.

    6.2 Distribucin de la aplicacin.

    6.3 Instalacin de los componentes.

    6.4 Configuracin de los componentes.

    6.5 Configuracin de la aplicacin.

    6.6 Evaluar desempeo.

    6.7 Optimizacin del desempeo.

    UNIDAD I: PANORAMA GENERAL DE LAS APLICACIONES DISTRIBUIDAS

    1.1 EVOLUCIN DE LAS APLICACIONES INFORMTICAS

  • La evolucin de las aplicaciones informticas se dio debido a los siguientes

    factores:

    1.- trabajo en equipo

    2.- compartir informacin

    3.- accesibilidad

    4.- seguridad en la proteccin de la informacin

    5.- independencia de lugares

    En la actualidad cualquier aplicacin cuenta generalmente con tres puntos diferenciados, las cuales son:

    1. Una interfaz de usuario: son los elementos con el que interacciona el usuario de

    la aplicacin, ejecutando acciones, introduciendo u obteniendo informacin 2. Lgica o reglas de negocio: son las que procesan los resultados que se persiguen,

    siendo el elemento fundamental que diferencia unas aplicaciones de otras. 3. Gestin de datos: se ocupa del almacenamiento y recuperacin de la

    informacin.

    1.1.1 APLICACIONES MONOLTICAS

    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 este rubro estn considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimtica, juegos mono usuario, etc.

    1.1.2 APLICACIONES CLIENTE/SERVIDOR

    Esta arquitectura consiste bsicamente 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

  • ms ventajosa en un sistema operativo multiuso distribuido a travs de una red de computadoras.

    En esta arquitectura la capacidad de proceso est repartida entre los

    clientes y los servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la centralizacin de la gestin de la informacin y la

    separacin de responsabilidades, lo que facilita y clarifica el diseo del sistema.

    La separacin entre cliente y servidor es una separacin de tipo lgico,

    donde el servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa. Los tipos especficos de servidores incluyen los servidores web, los servidores de archivo, los servidores del

    correo, etc. Mientras que sus propsitos varan de unos servicios a otros, la arquitectura bsica seguir siendo la misma.

    CARACTERSTICAS CLIENTE/SERVIDOR

    En la arquitectura cliente servidor el remitente es conocido como cliente y sus

    caractersticas son:

    1. Es quien inicia las peticiones o solicitudes, tienen un papel activo en la comunicacin (Dispositivo maestro o amo).

    2. Espera y recibe las respuestas del servidor.

    3. Normalmente interactivo con los usuarios mediante una interfaz grfica.

    1.1.3 APLICACIONES DE 2,3 Y N CAPAS

  • Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro

    programa, la idea principal es utilizar aplicaciones que se ejecutan travs de la computadora, cada aplicacin constituye una sola accin para realizacin de

    tareas.

    APLICACIONES DE 2 CAPAS

    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 APLICACIONES DE N CAPAS

    En una aplicacin distribuida en n-capas los diferentes procesos estn distribuidos en diferentes capas no slo lgicas, sino tambin fsicas. Los procesos se ejecutan

    en diferentes equipos, que pueden incluso residir en plataformas o sistemas operativos completamente distintos. Cada equipo posee una configuracin distinta

    y est optimizado para realizar el papel que le ha sido asignado dentro de la

  • estructura de la aplicacin, de modo que tanto los recursos como la eficiencia global del sistema se optimicen.

    Aplicacin de 3 capas.

    La arquitectura de 2 capas si bien ayuda en unos aos atrs,

    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.

    1.1.4 APLICACIONES DISTRIBUIDAS

    El diseo de 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 pueden, 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 relacional. Interactivo con aplicaciones externas o servicios. Interactivo con otros usuarios.

    Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuacin se resumen:

    o Interfaces de usuario (Capa de Presentacin) 2. Interactivo con otros usuarios. 3. Interactivo con aplicaciones externas o servicios.

    o Procesos de negocios (Capa de Negocios) 2. Clculos u otros procesos de negocios. 3. Ejecucin de reglas de negocios. 4. Validacin de datos relacionados al negocio.

  • 1.2 EVOLUCIN DE LAS TECNOLOGAS PARA EL DESARROLLO DE APLICACIONES DISTRIBUIDAS.

    Hoy en da las compaas no pueden ignorar el grave problema que implica

    desarrollar y adaptar software al ritmo que imponen los negocios. Los requisitos varan con mucha frecuencia y las aplicaciones no logran ser desarrolladas y/o

    adaptadas al ritmo requerido. La legalizacin y fusin de empresas, el crecimiento de Internet, entre otros factores, han acentuado an ms estos problemas llevando

    el software desarrollado, que normalmente haba sido desarrollado para una plataforma especfica, a un ambiente distribuido heterogneo. Esto involucra, en consecuencia, La necesidad de considerar una amplia gama de aspectos como lo son la integracin de datos heterogneos, la interaccin entre diversos sistemas,

    los distintos sistemas operativos, el middleware, las tecnologas web, cuestiones de esa labilidad y permanece, por citar algunos de ellos.

    La evolucin de las tecnologas cliente/servidor sumada al advenimiento de

    nuevas tecnologas como XML, web servicies , la plataforma J2EE, la comunicacin asncrona por medio de mensajes, el uso de aplicaron versen , son algunos de los

    conocimientos que permiten llevar a cabo el desarrollo de aplicaciones modernas.

    La evolucin de las aplicaciones distribuidas se dio de la siguiente forma:

    Aplicaciones monolticas. Arquitectura cliente/servidor Arquitectura de tres capas. Arquitectura de N capas.

    1.2.1 DE INTERFAZ DE USUARIO.

    Aqu es donde su aplicacin presenta informacin a los usuarios y acepta entradas o respuestas del usuario para usar por su programa. Idealmente, la IU no desarrolla ningn procesamiento de negocios o reglas de validacin de negocios. Por el contrario, la IU debera relegar sobre la capa de negocios para manipular estos asuntos. Esto es importante, especialmente hoy en da, debido a que es muy comn para una aplicacin tener mltiples IU, o para sus clientes o usuarios, que le solicitan que elimine una IU y la remplace con otra.

    1.2.2 DE APLICACIN.

  • La adopcin de un diseo distribuido de aplicaciones empresariales, aumenta la permeabilidad, reduce la cantidad de recursos, y los costes necesarios de desarrollo y mantenimiento. Este nuevo enfoque de diseo pone en manos de los des arrolladores no solo la funcionalidad que demandan las aplicaciones, sino tambin la seguridad, rapidez y flexibilidad. Algunas tecnologas de aplicacin son:

    CORBA. DNA. EJB. XML.

    1.2.3 DE BASE DE DATOS.

    La evolucin de las bases de datos distribuidas se debe por una parte a razones generacionales las cuales han demandado que mayores capacidades sean

    incorporadas a las bases de datos, tales como la integracin de informacin desde distintos sitios donde se encuentre la empresa distribuida hacia algn sitio por ejemplo, para una consulta. Por otra parte, el desarrollo de las tecnologas de

    comunicacin han permitido enlazar datos con aplicaciones que se encuentran en

  • sitios distintos y remotos, por ejemplo las transacciones bancarias realizadas en mquinas-cajeros automticos (ATM) que se encuentran ubicados en centros

    comerciales, empresas y escuelas, no seran posibles si no tuviramos sistemas de comunicacin para enlazarnos a bases de datos localizadas en diferentes sitios

    financieros.

    Algunas tecnologas de base de datos son:

    OLEB ADO. XML. SQL.

    1.2.4 DE COMUNICACIN DE DATOS.

    La construccin de aplicaciones distribuidas ha emergido como la arquitectura predominante para la construccin de aplicaciones plataforma en la mayor parte

    de las empresas.

    Este cambio radical en los modelos de computacin, desde los sistemas monolticos basados en maderamen y los tradicionales sistemas cliente-servidor,

    hacia sistemas distribuidos plataforma altamente modulares representa el desarrollo rpido y avance de la investigacin en el mundo del desarrollo de

    aplicaciones, tal y como se pone de manifiesto en las ltimas tendencias de las grandes empresas de tecnologa, como Un con su estrategia Sun One, o Microsoft

    con DotNET (.Net).

    Algunas tecnologas de comunicacin de datos son:

    Intranet. Internet.

    1.2.5 DE CONEXIN ENTRE CAPAS

    Las arquitecturas de capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y confiables para resolver problemas

    complejos en cambios constantes. Todas las aplicaciones basadas en capas permitirn trabajar con clientes ligeros como navegadores de Internet WebTV,

    telfonos inteligentes, PDAs (personal, digital y asistente) y muchos otros dispositivos preparados para conectarse a Internet Estas arquitecturas son las ms rpidas para desarrollar aplicaciones empresariales y estrategias para la economa

    emergente que tienen su base en la red.

  • 1.3 ESCENARIOS DE UTILIZACIN DE APLICACIONES DISTRIBUIDAS

    Los escenarios de utilizacin de aplicaciones distribuidos son muy comunes en la

    poblacin los escenarios tales como los remote login, correo electrnico, navegacin web, telefona IP, y la comparticin de archivos p2p.

    Algunos escenarios donde se utilizan las aplicaciones distribuidas son:

    MODELE: Es un ambiente educativo virtual, sistema de gestin de cursos de

    distribucin libre.

    Ayuda a los educadores a crear comunidades de aprendizaje en lnea. A este tipo de plataformas tecnolgicas tambin se conoce como LMSWORDPRESS

    Es un sistema de gestin de contenido utilizado para crear blogs.

    CREADOR DE WIKIS MEDIAWIKI

    Media wiki es un software para wikis libre, programado en el lenguaje PHP.

    Es el software utilizado por Wikipedia y otros proyectos de la misma (wikcionario, wikilibros, etc.)

    Mediawiki puede ser instalado en los servidores web apecha e Internet informatizo servicies y como base de datos utiliza Mysql o Postgresql.

    ADMINISTRADOR DE BASE DE DATOS WEB PHPMYADMIN

    Phpmyadmin es una herramienta escrita en PHP con la intencin de manejar la administracin de Mysql a travs de las pginas Web, utilizando Internet.

    1.4 PROBLEMAS COMUNES EN EL DESARROLLO Y USO DE APLICACIONES DISTRIBUIDAS

    Concurrencia: De igual forma que en las aplicaciones centralizadas, las aplicaciones

  • distribuidas sern utilizadas por cierto nmero de usuarios concurrente mente Aspectos como las transacciones, los bloqueos de recursos o el uso de la CPU de los equipos a los que acceden muchos usuarios son determinantes a la hora de disear

    una arquitectura con la mxima eficacia.

    Patologa de la red: A pesar de que a da de hoy los anchos de banda cada vez son ms amplios, el trfico de red puede ser un aspecto importante que condicione el

    tiempo de respuesta de la aplicacin. En muchos casos tambin ser necesario tener en cuenta el tipo de red (LAN o WAN), o si la aplicacin ser o no accesible a travs de Internet. La forma de distribuir los procesos de la aplicacin tendr que

    tomar en consideracin el tipo de red que soportar el trfico de datos.

    Ubicacin de la lgica: Dado que en una aplicacin distribuida intervienen varios procesos, ser necesario decidir en cul de los posibles procesos fsicos se sita

    cada componente lgico de la aplicacin. Mientras que algunos procesos, como la presentacin de datos o la recuperacin de los mismos, tienen un sitio natural,

    otros, como la validacin o la navegacin, pueden ocupar diversos lugares dentro del diagrama que conforma la estructura de la aplicacin.

    Plataformas: En una aplicacin distribuida los sistemas operativos involucrados o los lenguajes de desarrollo utilizados pueden ser un factor a tener en cuenta a la

    hora de decidir algunos aspectos importantes, como por ejemplo el modo de pasar datos entre procesos.

  • UNIDAD: 2

    ARQUITECTURA DE APLICACIONES DISTRIBUIDAS 2.1 CAPA DE INTERFAZ DE USUARIO.

    Interfaces de usuario y su arquitectura ARQUITECTURA DE INTERFACES GRFICAS EN AMBIENTE DISTRIBUIDOS. El modo en que el usuario se comunica con una aplicacin para solicitar los recursos del sistema operativo constituye la interfaz del mismo. La interfaz es particularmente importante para establecer una vinculacin amigable entre el usuario de la computadora y la aplicacin. Histricamente las interfaces estuvieron basadas en comando formateado por palabras clave que se combinaban con otras cadenas de caracteres (sintaxis) para ser interpretados por el sistema operativo. Estas interfaces se denominan; interfaces orientadas a carcter. Un ejemplo clsico de una interfaz orientada a carcter es el COMMAND de MS-DOS. Interfaz de modo carcter:

  • En esta clase de interfaz entre la aplicacin y el usuario en la que las rdenes se pasan en ASCII existen algunas ventajas y desventajas: Las ventajas que tienen las interfaces orientadas a carcter son su simplicidad, confiabilidad y poco costo en el desarrollo del sistema operativo que las soporta. Las desventajas son que requieren un usuario calificado que estudie y conozca el comando, lo cual resulta muy restrictivo para la difusin del uso de las computadoras. Uno de los beneficios de los sistemas cooperativos visto anteriormente es que: para el usuario lo que importa es lo que ste ve en la pantalla, la presentacin. Al software que simula la presentacin de un sistema se le conoce como emulador de terminal, el cul debe ser interactivo como cuando uno redacta un informe en una mquina de escribir, lo que el usuario teclea se ve reflejado en el documento, una terminal la cual solo realiza tareas de presentacin debera funcionar de la misma manera. Interfaz grfica de usuario:

    En la actualidad millones de nuevos usuarios de las computadoras se han

    beneficiado con la aparicin de las Interfaces Grficas de Usuario/Graphical User Interface, GUI), las computadoras pueden dar la apariencia de un escritorio comn y corriente de una oficina, mostrando iconos, imgenes y otros objetos visuales los

    cuales permiten que el usuario se acerque ms a las computadoras.

    Interfaz Front-End.Es una aplicacin donde los usuarios interactivos directamente con las funciones del sistema, cubre todas las interfaces con las cuales un usuario interactivo con los sistemas, ya sean locales o remotos, sus funciones principales

    son:

    Diseo de formatos.

    Presentacin.

  • Lgica de la aplicacin.

    Manipulacin de datos.

    Herramientas de consulta.

    Utileras/mens

    Interfaz Back-End.Es un conjunto de elementos (programas) que sirven como complemento de una interfaz Front-End. Ayuda en la administracin, control y

    configuracin de los sistemas teniendo un acceso directo a los recursos (base de datos, comunicaciones, servidores, etc.), que el sistema requiere, entre sus

    funciones principales se tienen:

    Administracin de la memoria.

    Seguridad.

    Manejo de base de datos.

    Procesamiento remoto.

    2.2 CAPA DE MANEJO DE DATOS.

    Es donde residen los datos y es la encargada de acceder a los mismos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de

    datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de procesamiento de datos o capa de negocio. Hay diferentes modelos de

    datos:

    Conceptuales . Utilizados para profundizar en el dominio del problema con el cliente.

    - Lgicos

    . es el diseo conceptual de la base de datos, esto es, entidades de datos, atributos y relaciones.

    - Fsicos.

    Disear el esquema de las bases de datos, esto es, las tablas, sus columnas y relaciones entre ellas

  • Notacin para los modelos de datos: La manera de representar los modelos de datos, est basada en la notacin UML.

    2.3 CAPA DE PROCESAMIENTO DE DATOS

    Traduccin de Objetos a Datos:

    Como ya es costumbre en esta asignatura, surgen ms problemas, en esta ocasin el problema que se nos plantea es: como sabramos qu columnas necesitaremos a partir del modelo de clases, y como se identificaran las entidades en una base de

    datos, para solucionarlo se plantean las siguientes maneras: Identificadores de objetos: Caractersticas:

    Garantizan unicidad en toda la base de datos ya que los id solo la garantizan en las

    tablas no en toda la base.

    No tienen sentido en la lgica de negocio o funcional de la aplicacin Algunas Estrategias:

    Incremento del valor mximo de una columna numrica

    Almacenando el valor en una tabla

    UUIDs (Universally Unique Identifier) y GUIDs (Globally Unique Identifier).

    Traduccin de clases y atributos Por regla general, las clases son tablas, y los atributos que contienen se traducen

    columnas, teniendo en cuenta de que se aade en la tabla un literal OID para identificar sus atributos y sus relaciones con las dems tablas.

    Traduccin de las relaciones:

    Al efectuar estas traducciones hay que tener en cuenta ciertos detalles;

    Una asociacin = composicin = agregacin En el modelo relacional todas las asociaciones son bidireccionales independientemente como estn en las clases de donde vienen. La estrategia que se sigue para que se haga una traduccin correcta

    de las clases a tablas; Las relaciones de 1 a 1 y 1 a * se hace con claves ajenas ().

    Las relaciones de muchos a muchos se hacen con tablas asociativas (intermedias).

    COMPONENTES DISTRIBUIDOS DE JAVA EJBS.

  • Los Enterprise JavaBeans(tambin conocidos por sus siglasEJB

    Son una delas API que forman parte del estndar de construccin de aplicaciones empresariales J2EE de Sun Microsystems (ahora JEE 5.0).Su especificacin detalla

    cmo los servidores de aplicaciones proveen objetos desde el lado del servidor que son, precisamente, los EJBs:

    Comunicacin remota utilizando CORBA, Transacciones, Concurrencia, eventos utilizando JMS (Java messaging

    service),servicios de nombres y de directorio, seguridad,

    Ubicacin de componentes en un servidor de aplicaciones. Los EJBs proporcionan un modelo de componentes control del distribuido estndar del lado del servidor.

    El objetivo de los EJBs es dotar al programador de un modelo que le permita abstraerse de los problemas generales de una aplicacin empresarial

    (concurrencia, transacciones, persistencia, seguridad, etc.) para centrarse en el desarrollo de la lgica de negocio en s. El hecho de estar basado en componentes permite que stos sean flexibles y sobre todo reutilizables. No hay que confundir

    los Enterprise JavaBeans con los JavaBeans. Los JavaBeans tambin son un modelo de componentes creado por Sunicho systems para la construccin de aplicaciones,

    pero no pueden utilizarse en entornos de objetos distribuidos al no soportar nativamente la invocacin remota (RMI).

    2.4 INTEGRACIN DE SISTEMAS HEREDADOS

    Los Sistemas Heredados son aquellas aplicaciones que se caracterizan por ser

  • antiguos Debido al periodo de vida desde que estos sistemas fueron puestos en produccin, son

    De tecnologa obsoleta, es decir estn siendo trabajados en una o muchas plataformas de Hardware/software antiguos, no tienen tcnicas de estructuracin

    de sistemas, es decir Son sistemas de tipo monolticos al no estar constituidos entre arquitecturas de

    capas, Son de documentacin pobre dificultando as la modificacin de los mismos, y en la

    Mayora de los casos estos sistemas dan soporte a funciones de misin crtica dentro de Una organizacin.

    Los Sistemas Heredados constituyen un activo para la organizacin personal.

    Adaptacin de fuentes heredadas Nosotros respetamos el valor de los activos de produccin de informacin existentes. Invertimos ms que cualquier otra agencia en herramientas y

    capacitacin que permitan a nuestro departamento de produccin adaptar fuentes heredadas, en lugar de desecharlas o reconstruirlas. Ms an, nuestro

    departamento tcnico est siempre disponible para consultas sobre los pasos que nuestros clientes pueden realizar internamente para ayudar a migrar los

    materiales existentes a fin de trabajar sin sobresaltos en una implacablemente multiplique.

    Monitores automatizado

    Una herramienta clave en el esfuerzo para adaptar fuentes heredadas en lnea sin una re ingeniera demasiado invasiva, es nuestro servicio de monitorio

  • automatizado. Esto permite a sus diseadores y administradores actualizar diseo e informacin cuando sea necesario, y con una nica notificacin al sistema de

    monitorio automtico, el material que se ha modificado es sealado y el registro es dirigido al proceso de traduccin y localizacin automticamente. Para fuentes en lnea existentes con un flujo de informacin bajo a moderado, esta puede ser una manera econmicamente eficiente de manejar fuentes en lnea multilinges con

    una pequea inversin adicional.

    2.5 DISTRIBUCIN DE ELEMENTOS DE UNA APLICACIN.

    Distribucin: Refiere a la construccin de software por partes, a las cuales les son asignadas un conjunto especifico de responsabilidades dentro de un sistema.

    Separacin fsica y lgica de las partes de una aplicacin.

    Separacin fsica (niveles) considera aspectos tcnicos y econmicos. Separacin Lgica (capas) conjunto de servicios especializados que son accedidos

    por mltiples clientes.

  • EJEMPLOS

  • 2.6 INTEGRACIN DE TECNOLOGAS HETEROGNEAS Y HOMOGNEAS.

    Servicio de Arquitectura Web: es un conjunto de protocolos y estndares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de

    software desarrolladas en lenguajes de programacin diferente y ejecutada sobre cualquier plataforma pueden utilizar los servicios web para intercambiar datos en

    redes de ordenadores como Internet. Servicio Email: Servicio de red que permite a los usuarios enviar y recibir mensajes

    rpidamente a los usuarios enviar y recibir mensajes rpidamente tambin denominados mensajes electrnicos o cartas electrnicas mediante sistemas de

    comunicacin electrnicos. Base de Datos: Conjunto de datos pertenecientes a un mismo contexto y

    almacenados sistemticamente para su posterior uso. Aplicaciones y Transacciones de Sistemas Operativos

    Aplicaciones: programa informticos que permiten a un usuario utilizar una

  • computadora con un fin especfico. Son parte del software de una computadora y suelen ejecutarse sobre el sistema operativo.

    Transacciones: una transaccin es una interaccin con una estructura de datos compleja compuesta por varios procesos que se han de aplicar uno despus del

    otro. Firewall: es una parte de un sistema o una red que est diseada para bloquear el acceso no autorizado permitiendo al mismo tiempo comunicaciones autorizadas cortafuegos, mecanismo de seguridad en Internet frente a acceso no autorizado.

    2.7 SERVICIOS DE LA ARQUITECTURA (EMAIL, WEB, BASE DE DATOS, APLICACIONES, TRANSACCIONES, SISTEMAS

    OPERATIVOS,FIREWALL.

    SERVICIOS DE LA ARQUITECTURA EMAIL

    El correo electrnico o e-mail es una forma de enviar mensajes entre ordenadores

  • conectados a travs de Internet. El correo se basa en la arquitectura cliente/servidor.

    Los clientes son los ordenadores de los usuarios que utilizan el correo y el servidor es el ordenador que gestiona el correo, el servidor pertenece a la entidad

    proveedora del correo. El proceso cliente/servidor enva mensajes intermedios de comprobacin para

    asegurarse que en cada paso los datos se reciben bien. Los clientes deben disponer de un programa-cliente de correo

    El servidor es un ordenador que tiene un programa servidor de correo que pude entender miles de cuentas de correo. Normalmente el servidor de correo reside en una mquina distinta al servidor de pginas web, puede que en un momento dado

    no funcione el servidor web pero s el servidor de correo, o viceversa. Un correo consta de varios elementos, la direccin de correo del destino, el texto

    de mensaje y puede que algunas cosas ms como ficheros adjuntos, etc. Hay tres formas bsicas de utilizar el correo, a travs de un programa de correo,

    mediante webmail y aprovechando los programas de mensajera instantnea. Programa de correo. Por ejemplo el Outlook de Microsoft, el Thunderbird de

    Mozilla ,Eudora, etc. Estos son programas especficos para trabajar con el correo y que tenemos que instalar en nuestro PC

    Webmail. Como su nombre indica, consiste en utilizar el correo desde la Web. Una de las ventajas del webmail, es que desde cualquier ordenador que tenga conexin

    a Internet podemos leer y enviar nuestro correo sin tener que configurar nada. La mensajera instantnea no tiene que ver directamente con el correo electrnico,

    pero tiene la caracterstica de que cuando llega un correo nos avisa en el mismo instante, tambin nos informa cuando se conecta algn miembro de una lista de

    usuarios.

    SERVICIOS DE LA ARQUITECTURA WEB

    En la actualidad las aplicaciones Web son basadas en una arquitectura distribuida, las aplicaciones Web se han movido fuera de la naturaleza centralizada de datos de

    aplicaciones tpicas del cliente -servidor yhan cuidado ms a una arquitectura orientada servicios.

    La arquitectura de los servicio de web se puede interpretar como una arquitectura orientada a servicios. Hay tres roles mayores dentro de la arquitectura del servicio

    Web: Proveedor de Servicios:

    Es el proveedor del servicio Web. El proveedor de servicios lleva a cabo el servicio y lo hace disponible en Internet.

    Solicitante de Servicios: Es cualquier consumidor del servicio Web. El solicitante utiliza un servicio Web

    existente abriendo una conexin de red y enviando una peticin XML.

    Registro de Servicios:

    Es un directorio lgicamente centralizado de servicios. El registro proporciona un lugar central dnde los des arrolladores pueden publicar los nuevos servicios

  • pueden encontrar existentes. Sirve por consiguiente como una cmara de prestacin centralizada para las compaas y sus servicios.

    SERVICIOS DE LA ARQUITECTURA BASE DE DATOS Sistema centralizado Sistemas con un nico servidor que se encarga de todas las tareas. Arquitectura cliente servidor Mejoras en los equipos del lado del cliente: Memoria Procesador Disco Tarjeta de Video Arquitecturas paralelas Solucin al problema de transacciones masivas, paralelismo a nivel de disco y de procesador Base de datos distribuidos Nodos distribuidos geogrficamente Administracin independiente de cada nodo Canales de comunicacin ms lentos Utilizacin de transacciones globales, locales y remotas

  • SERVICIOS DE LA ARQUITECTURA APLICACIONES Arquitectura Centralizada: los datos y las aplicaciones estn en una nica mquina. Arquitectura Cliente-Servidor: separacin del servidor de BD del cliente. BD Distribuida: varios servidores de BD usados por la misma aplicacin. BD Paralelas: varias unidades de almacenamiento de datos y procesadores operan en paralelo para incrementar el rendimiento. BD Replicadas: datos lgicamente representando la misma informacin estn almacenados fsicamente en diferentes servidores Almacenes de Datos: servidores especializados en la gestin de datos orientados al soporte a la decisin. Las nuevas arquitecturas de BD para la Web son variantes del paradigma general cliente-servidor. SERVICIOS DE LA ARQUITECTURA TRANSACCIONES Arquitectura fsica El registro de transacciones de una base de datos est asignado a uno o varios archivos fsicos. Conceptual mente el archivo de registro es una cadena de entradas de registro. Fsicamente, la secuencia de entradas del registro se almacena de forma eficaz en el conjunto de archivos fsicos que implementa el registro de transacciones. Arquitectura lgica Las entradas del registro se almacenan en la secuencia en la que se crean. Cada entrada del registro contiene el Id. De la transaccin a la que pertenece. Por cada transaccin, las entradas del registro asociadas a dicha transaccin se vinculan individualmente en una cadena con punteros hacia atrs, para acelerar as la reversin de la transaccin. SERVICIOS DE LA ARQUITECTURA SISTEMAS OPERATIVOS Kernel monolticos Todo el software y las estructuras de datos estn ubicados en un nico modulo lgico, sin interfaces explicitas entre partes. Organizacin modular La funcionalidad se encuentra dividida entre componentes lgicos independientes con interfaces bien definidas. Organizaciones estratificadas o por capas La funcionalidad se divide en una jerarqua de mquinas abstractas donde las funciones dela capa i estn implementadas mediante las funciones proporcionadas por la capa i-1 Kernels extendidos a microkernels Organizacin modular especializada pensada para sistemas de tiempo real, de tiempo compartido, multimedia, etc. Sistemas operativos para sistemas distribuidos Sistemas operativos en red Sistemas operativos distribuidos SERVICIOS DE LA ARQUITECTURA FIREWALL

  • Las tecnologas de filtrado de paquetes que se emplean en los firewalls constituyen una manera eficaz y general para controlar el trfico en la red. Arquitectura de dos bases Un firewall de dos bases es un firewall con dos interfaces de red, que permite asilar una red interna de una red externa no confiable. Como este anfitrin no enva ningn trfico TCP/IP, bloquea por completo cualquier trfico IP entre las redes no confiables interna y externa. Arquitectura Firewall como servidor bastin Un firewall es un servidor de barrera de proteccin que es determinante para la seguridad en la red. Es el servidor central para la seguridad en la red de una organizacin y, por su funcin, debe estar en una buena fortaleza

    UNIDAD: 3 DISEO DE APLICACIONES DISTRIBUIDAS

    3.1 DISEO E IMPLEMENTACIN DE MANEJO DE DATOS.

    ABSTRACCIN EN LENGUAJES DE PROGRAMACIN

    Los lenguajes de programacin son las herramientas mediante las cuales los diseadores de

    programas pueden implementar los modelos abstractos. La abstraccin ofrecida

    por los lenguajes de programacin se puede dividir en dos categoras: abstraccin de datos (perteneciente a los datos) y abstraccin de control (perteneciente a las

    estructuras de control). Desde comienzos del decenio de los sesenta, en que se desarrollaron los primeros lenguajes de programacin de alto nivel, ha sido

    posible utilizar las abstracciones ms primitivas de ambas categoras (variables, tipos de datos, funciones, control de bucles (lazos), etc.). Abstracciones de control

    Los microprocesadores ofrecen directamente slo dos mecanismos para controlar el flujo y ejecucin de las instrucciones: secuencia y salto. Los primeros lenguajes de programacin de alto nivel introdujeron las estructuras de control: sentencias

    de bifurcacin (if) y bucles (for, while, do-loop, do-while, etc.).

    Las estructuras de control describen el orden en que se ejecutan las sentencias o grupos de sentencia (unidades de programa). Las unidades de programa se utilizan

    como bloques bsicos de la clsica descomposicin descendente. En todos los casos, los subprogramas constituyen una herramienta potente de abstraccin ya

    que durante su implementacin, el programador describe en detalle cmo funcionan. Cuando el subprograma se llama, basta con conocer lo que hace y no

    cmo lo hace.

  • Abstraccin procedimental (por procedimientos o funciones) Es esencial para disear software modular y fiable. La abstraccin procedimental se basa en la

    utilizacin de procedimientos o funciones sin preocuparse de cmo se implementan. Esto es

    posible slo si conocemos qu hace el procedimiento; esto es, conocemos la

    sintaxis y semntica

    3.2 DISEO DE PROCESAMIENTO DE DATOS.

    En el diseo de bases de se debe considerar el problema de cmo distribuir la informacin entre diferentes sitios. Existen razones organizacionales las cuales

    Determinan en gran medida lo anterior. Sin embargo, cuando se busca eficiencia en el acceso a la informacin, se deben abordar dos problemas

    Relacionados. Primero, como fragmentar la informacin. Segundo, como asignar cada fragmento entre los diferentes sitios de la red.

    En el diseo de la BDD tambin es importante considerar si la informacin est replicada, es decir, si existen copias mltiples del mismo dato y, en este caso,

    Como mantener la consistencia de la informacin. Finalmente, una parte importante en el diseo de una BDD se refiere al manejo del directorio. Si

    Existen nicamente usuarios globales, se debe manejar un solo directorio global. Sin embargo, si existen tambin usuarios locales, el directorio combina

    Informacin local con informacin global.

    Una base de datos correctamente diseada permite obtener acceso a informacin exacta y actualizada. Puesto que un diseo correcto es esencial

    Para lograr los objetivos fijados para la base de datos, parece lgico emplear el tiempo que sea necesario en aprender los principios de un buen diseo ya que,

    en ese caso, es mucho ms probable que la base de datos termine adaptndose a sus necesidades y pueda modificarse fcilmente.

    3.3 DISEO DE INTERFAZ DE USUARIO.

    Diseo De Interfaces De Usuario El diseo de interfaces es un campo sumamente amplio (y para muchos,

    interesante). De hecho, se deberan contar con personas dedicadas (y preparadas) para realizar exclusivamente estas tareas. Esto no siempre es factible, y recae

    sobre nosotros el armar la interfaz visual para el usuario... las cuales muchas veces pueden mejorarse.

  • Qu es la interfaz de una aplicacin? Para partir de una definicin comn, diremos que la interfaz es la "cara visible" de nuestra aplicacin: el medio mediante el cual el usuario se comunica con nuestro

    sistema. Todos los sistemas tienen una interfaz, de diversa ndole.

    Para un programador, la interfaz de una librera es justamente el API. Para un programa batch, la interfaz est dada por el modo de invocacin en la lnea de

    comandos. Para una aplicacin Visual, la interfaz es un conjunto de formularios y ventanas. Y para un sistema web, la interfaz son justamente las pginas que

    conforman la aplicacin. Todas estas interfaces merecen (y deben!) ser pensadas a consciencia, y cada una

    presenta desafos muy distintos. Igualmente, a continuacin me voy a referir particularmente a las interfaces de

    nuestras aplicaciones web (esas pginas con formularios y colores verdes y azules).

    Importancia de una buena interfaz de usuario

    Obviamente, mejorar las interfaces que hacemos implica un esfuerzo de nuestro

    lado. Siendo una actividad que no nos corresponde (pero que hacemos, no lo olviden), de qu nos sirve mejorar las interfaces?

    Creo que bsicamente podemos citar 3 mejoras concretas que nos impactan directamente:

    1. Mejora la experiencia del usuario

    1. 2. Mejora el tiempo de desarrollo 2. 3. Mejora el mantenimiento

    El objetivo de esta tarea es realizar el diseo detallado del comportamiento de la interfaz de usuario a partir de la especificacin de la misma, obtenida en el proceso de anlisis, y de acuerdo con el entorno tecnolgico definido. Si se hubiera realizado un prototipo de la interfaz de usuario, ste se tomara como punto de partida para el diseo. Adems, se incluyen las ventanas alternativas o elementos de diseo surgidos como consecuencia del diseo de los escenarios definidos en la tarea anterior. Adems, se revisa: la interfaz de usuario, la navegacin entre ventanas, los elementos que forman cada interfaz, sus caractersticas (que deben ser consistentes con los atributos con los que estn relacionadas), su disposicin, y cmo se gestionan los eventos relacionados con los objetos. En aquellos casos en los que se realizan modificaciones significativas sobre la interfaz de usuario, es conveniente que ste las valide, siendo opcional la realizacin de un nuevo prototipo. Productos De entrada

  • Diseo de la Realizacin de los Casos de Uso (DSI 3.2) Especificacin de Interfaz de Usuario (ASI 9.3)

    De salida

    Diseo de Interfaz de Usuario o formatos Individuales de Interfaz de Pantalla Grfica o Catlogo de Controles y Elementos de Diseo de Interfaz de Pantalla Grfica o Modelo de Navegacin de Interfaz de Pantalla Grfica o formatos de Impresin o prototipo de Interfaz de Pantalla Grfica

    3.2 DISEO DE PROCESAMIENTO DE DATOS.

    En el diseo de bases de se debe considerar el problema de cmo distribuir la informacin entre diferentes sitios. Existen razones generacionales las cuales

    Determinan en gran medida lo anterior. Sin embargo, cuando se busca eficiencia en el acceso a la informacin, se deben abordar dos problemas

    Relacionados. Primero, como fragmentar la informacin. Segundo, como asignar cada fragmento entre los diferentes sitios de la red.

  • En el diseo de la BDD tambin es importante considerar si la informacin est replicada, es decir, si existen copias mltiples del mismo dato y, en este caso,

    Como mantener la consistencia de la informacin. Finalmente, una parte importante en el diseo de una BDD se refiere al manejo del directorio. Si

    Existen nicamente usuarios globales, se debe manejar un solo directorio global. Sin embargo, si existen tambin usuarios locales, el directorio combina

    Informacin local con informacin global. a base de datos correctamente diseada permite obtener acceso informacin exacta y actualizada. Puesto que un diseo

    correcto es esencial para lograr los objetivos fijados para la base de datos, parece lgico emplear el Tiempo que sea necesario en aprender los principios de un buen

    diseo ya que, en ese caso, es mucho ms probable que la base de datos termine adaptndose a sus necesidades y pueda modificarse fcilmente.

    3.3 DISEO DE INTERFAZ DE USUARIO

    El diseo de interfaces de usuario es una tarea que ha adquirido relevancia en el desarrollo de un sistema. La calidad de la interfaz de usuario puede ser uno

    De los motivos que conduzca a un sistema al xito o al fracaso. Los principios que se presentan son de utilidad para creacin de interfaces funcionales y de

    Fcil operacin. A pesar de no ser capaces de resolver todos los aspectos propios del contexto con el que se est trabajando, pueden ser combinados

    Con la proteccin y la aplicacin de mirsticas de evaluacin para facilitar el proceso de diseo. El presente artculo se centra en los componentes de

    Software de las interfaces de usuario, quedando fuera del alcance de mismo otros aspectos, como hardware y documentacin.

    Principios para el Diseo de Interfaces de Usuario

    Anticipacin

    Las aplicaciones deberan intentar anticiparse a las necesidades del usuario y no esperar a que el usuario tenga que buscar la informacin, recopilarla o

    Invocar las herramientas que va a utilizar.

    Autonoma

    La computadora, la IU y el entorno de trabajo deben estar a disposicin del

    usuario. Se debe dar al usuario el ambiente flexible para que pueda aprender Rpidamente a usar la aplicacin. Sin embargo, est comprobado que el entorno de

    trabajo debe tener ciertas cotas, es decir, ser explorable pero no

  • Azaroso.

    Percepcin del Color Aunque se utilicen convenciones de color en la IU, se

    deberan usar otros mecanismos secundarios para proveer la informacin a aquellos usuarios con problemas en la visualizacin de colores.

    Valores por Defecto

    No se debe utilizar la palabra "Defecto" en una aplicacin o servicio. Puede ser

    reemplazada por "Estndar" o "Definida por el Usuario", "Restaurar Valores Iniciales" o algn otro trmino especifico que describa lo que est sucediendo. Los

    valores por defecto deberan ser opciones inteligentes y sensatas. Adems, los mismos tienen que ser fciles de modificar.

    Eficiencia del Usuario Se debe considerar la productividad del usuario antes que la

    productividad de la mquina. Si el usuario debe esperar la respuesta del sistema por un perodo prolongado, estas prdidas de tiempo se pueden convertir en prdidas econmicas para la organizacin. Los mensajes de ayuda deben ser

    sencillos y Proveer respuestas a los problemas. Los mens y etiquetas de botones

    Deberan tener las palabras claves del proceso.

    Ley de Fitt El tiempo para alcanzar un objetivo es una funcin de la distancia y

    tamao del Objetivo. Es por ello, que es conveniente usar objetos grandes para las

    Funciones importante.

    Interfaces Explorables Siempre que sea posible se debe permitir que el usuario pueda salir gilmente de la IU, dejando una marca del estado de avance de su

    trabajo, para que pueda continuarlo en otra oportunidad. Para aquellos usuarios que sean noveles en el uso de la aplicacin, se deber proveer de guas para

    realizar Tareas que no sean habituales.

    Objetos de Interfaz Humana Los objetos de interfaz humana no son necesariamente los objetos que se encuentran en los sistemas orientados a objetos. Estos pueden ser vistos,

    escuchados, tocados o percibidos de alguna forma. Adems, estos objetos deberan ser entendibles, consistentes y estables.

    Uso de Metforas

    Las buenas metforas crean figuras mentales fciles de recordar. La IU puede

  • contener objetos asociados al modelo conceptual en forma visual, con sonido u Otra caracterstica perceptible por el usuario que ayude a simplificar el uso del

    Sistema.

    Curva de Aprendizaje El aprendizaje de un producto y su mutabilidad no son mutuamente excluyentes ideal es que la curva de aprendizaje sea nula, y que el

    usuario principiante pueda alcanzar el dominio total de la aplicacin sin esfuerzo.

    Reduccin de Latencia Siempre que sea posible, el uso de tramas (multi-threading) permite colocar la agencia en segundo plano (carborundo). Las tcnicas de trabajo multitarea posibilitan el trabajo ininterrumpido del usuario, realizando las tareas

    de

    Transmisin y computacin de datos en segundo plano.

    Proteccin del Trabajo Se debe poder asegurar que el usuario nunca pierda su trabajo, ya sea por error de su parte, problemas de transmisin de datos, de

    energa, o alguna otra

    Razn inevitable.

    Auditora del Sistema La mayora de los navegadores de Internet(browsers), no mantienen informacin acerca de la situacin del usuario en el entorno, pero para Cualquier aplicacin es conveniente conocer un conjunto de caractersticas tales

    como: hora de acceso al sistema, ubicacin del usuario en el sistema y Lugares a los que ha accedido, entre otros. Adems, el usuario debera poder salir

    del sistema y al volver a ingresar continuar trabajando en lugar dnde

    Haba dejado. Legibilidad

    Para que la IU favorezca la usabilidad del sistema de software, la informacin que se exhiba en ella debe ser fcil de ubicar y leer. Para lograr obtener este

    Resultado se deben tener en cuentas algunas como: el texto que aparezca en la IU debera tener un alto contraste, se debe utilizar combinaciones de colores

    Como el texto en negro sobre fondo blanco o amarillo suave.

    Interfaces Visibles

    El uso de Internet, ha favorecido la implementacin de interfaces invisibles. Esto

    significa que el usuario siempre ve una pgina especfica, pero nunca Puede conocer la totalidad del espacio de pginas de Internet.

  • UNIDAD: 4 IMPLEMENTACIN DE PROCESAMIENTO DE DATOS.

    -Marcado de presentacin

    El marcado de presentaciones aquel que indica el formato del texto. Este tipo de marcado es til para maquetar la presentacin de un documento para su lectura,

    pero resulta insuficiente para el procesamiento automtico de la informacin.

    - Marcado de procedimientos

    El marcado de procedimientos est enfocado hacia la presentacin del texto, sin embargo, tambin es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el cdigo en el mismo orden en que

    aparece.

    - Marcado descriptivo

    El marcado descriptivo o semntico utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cmo deben ser representados, o en qu orden. Los

    lenguajes expresamente diseados para generar marcado descriptivo son el SGML y el XML.

    Importancia de las interfaces grficas y de texto?

    Es de suma importancia porque permiten que las personas puedan acceder a un ordenador sin tener que pasar por el tortuoso proceso de tener que aprender a

    manejar un entorno bajo lnea de rdenes.

    Qu es la programacin relacionada con las interfaces virtuales, grficas y de texto?

    Representacin en modo texto

    Se trabaja en un entorno de texto (no grfico), el programa en ejecucin controla la informacin representada en la totalidad de la pantalla (no hay "ventanas"); el

    control de esta se realiza en trmino de filas y columnas y un surtido muy limitado de 256 caracteres. Los nicos atributos que pueden tener los caracteres suelen ser:

    Color de tinta y de papel (trazo y fondo); subrayado y parpadeo.

  • Programacin Moderna" Se trata de conceptos generales e independientes. Por ejemplo, un programa

    "moderno" puede ser multiprogramacin pero en modo texto, o no orientado a objetos; sin embargo, la mayora de las caracterstica se dan juntas. En especial si

    se trata de programas que utilizan la interfaz grfica de los SOS ms conocidos.

    4.1 CONSTRUCCIN DE COMPONENTES

    Protocolo de aplicacin para la comunicacin entre el cliente y el servidor. El protocolo define el tipo de mensajes intercambiados; por ejemplo, el protocolo de

    la capa de aplicacin de la Web, HTTP, define el formato y la secuencia de los mensajes transmitidos entre el navegador y el servidor Web.

    Formato de los mensajes que se intercambian, algunas veces forma parte del servicio; por ejemplo, en el correo electrnico se define el formato de los mensajes

    electrnicos.

    Algunas de las aplicaciones distribuidas ms conocidas son remote login, correo electrnico, navegacin Web, streaming, telefona IP y comparticin de ficheros

    (P2P).

    Lado servidor: Programa que se ejecuta en un computador que est conectado a una red. Est a la escucha en un puerto, esperando las peticiones de los clientes;

    por ejemplo, un servidor Web escucha en el puerto 80. Un computador que ejecuta un servidor de aplicacin necesita estar conectado a la red para responder a las

    peticiones de los clientes.

    Lado cliente: Programa que ejecuta el usuario de la aplicacin. El cliente hace sus peticiones al servidor a travs de la red. Por ejemplo, un navegador Web.

    Protocolo de aplicacin para la comunicacin entre el cliente y el servidor. El

    protocolo define el tipo de mensajes intercambiados; por ejemplo, el protocolo de

  • la capa de aplicacin de laWeb,HTTP, define el formato y la secuencia de los mensajes transmitidos entre el navegador y el servidorWeb.

    Formato de los mensajes que se intercambian, algunas veces forma parte del

    servicio; por ejemplo, en el correo electrnico se define el formato de los mensajes electrnicos.

    Estos componentes son independientes de la arquitectura de red que se utiliza.

    Componentes Software

    Alguna vez ha pensado que un programa pudiera ser como... una bicicleta?. Si es necesario cambiar la cadena de la bicicleta, usted solo se centra en la cadena, no

    tiene que lidiar con otros componentes ajenos, como por ejemplo, las gomas o tan sencillo como el timbre, sino solo la cadena. Sabe con exactitud dnde est el

    componente y puede modificarlo (engrasar) o actualizarlo (una nueva). Si ahora le dijera que pudiera hacer lo mismo con los software que usted desarrolla, qu dira

    al respecto?.

    El objetivo de la tecnologa de componentes software es construir aplicaciones complejas mediante ensamblado de mdulos (componentes) que han sido

    previamente diseados por otras personas a fin de ser rehusados en mltiples aplicaciones. La ingeniera de programacin que sigue esta estrategia de diseo se le conoce por el acrnimo CBSE1 y es actualmente una de las ms prometedoras

    para incrementar la calidad del software, abreviar los tiempos de acceso al mercado y gestionar el continuo incremento de su complejidad.

    La arquitectura software de una aplicacin basada en componentes consiste en uno o un nmero pequeo de componentes especficos de la aplicacin (que se

    disean especficamente para ella), que hacen uso de otros muchos componentes prefabricados que se ensamblan entre s para proporcionar los servicios que se

    necesitan en la aplicacin.

    Entornos normalizados de desarrollo de componentes software.

    Para que una arquitectura de componentes pueda operar es necesario disponer de un entorno normalizado que proporcione soporte a los mecanismos con que se

    comunican las interfaces.

    COM (Component Object Model).

    Los lenguajes de programacin clsicos fueron diseados para desarrollar aplicaciones secuenciales compuestas de mdulos, todos ellos codificados con un

    solo lenguaje. Sin embargo, hay situaciones en las que no es prctico restringirse al uso de un nico lenguaje. La tecnologa COM aborda la solucin a este problema

    proporcionando un sencillo, pero a la vez potente modelo para construir sistemas software a partir de la interaccin de objetos (componentes).

  • COM define un estndar binario (esto implica que es independiente del lenguaje de

    programacin) para objetos y la intercomunicacin entre ellos. Todacomunicacin se realiza a travs de operaciones que son proporcionadas

    dentro de interfaces. El diseador invoca las operaciones que necesita directamente, incluso si el objeto destinatario est localizado en otro proceso o en

    otra mquina.

    El modelo de programacin COM esta basado en la distribucin de cdigo de clases en componentes binarios. Esto significa que el software (componentes) que se

    adhiere a COM, puede ser rehusado sin ninguna dependencia de cdigo fuente. Los desarrolladores pueden exponer sus trabajos como ficheros binarios sin dar a

    conocer sus algoritmos.

    El desarrollo basado en componentes resuelve muchos de los problemas asociados con las aplicaciones monolticas. Permite al grupo de desarrollo exponer ficheros

    binarios en vez de cdigo fuente. Los componentes binarios pueden ser actualizados independientemente y reemplazados, lo que se hace mucho ms fcil

    mantener y extender una aplicacin despus de que esta ha sido puesta en explotacin.

    MTS (**Microsoft** Transaccin Server). MTS es una pieza de software que fue creada para Windows NT Server. Como su nombre implica, MTS permite a los objetos de la capa media (ms adelante se expone una arquitectura de diseo) correr sobre Windows NT Server y controlar

  • las transacciones distribuidas, es decir, permite a los componentes ser esparcidos por la red y que se ejecuten en otras computadoras con sistema operativo Windows NT Server. MTS provee un entorno de ejecucin para objetos COM, adicionando soporte para la seguridad, soporte para administracin y configuracin. Es posible administrar varios servidores desde una simple computadora. COM+ COM+1, no es ms que la integracin de la arquitectura COM y MTS (Microsoft Transation Server). A diferencia de MTS, esta nueva capa de ejecucin no es opcional2 , COM+ es parte por defecto de la instalacin del sistema operativo Windows 2000. Como COM, COM+, es basado sobre componentes binarios y programacin basada en interfaces. Los Componentes COM+ pueden ser actualizados y extendidos una vez que estn en explotacin sin afectar a las aplicaciones clientes que los usan en la produccin. De este modo, la combinacin de la tecnologa COM+ junto con las tcnicas de programacin orientada a objeto, nos ofrece una importante simplificacin en el proceso de desarrollo de aplicaciones informticas. Diseando Aplicaciones Distribuidas. El diseo de aplicaciones modernas involucra la divisin de una aplicacin en mltiples capas; la interface de usuario, la capa media de objetos de negocios, y la capa de acceso adatos. Puede ser til identificar los tipos de procesamiento que podemos esperar que una aplicacin realice. Muchas aplicaciones pueden, 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 relacional. Interactuar con aplicaciones externas o servicios.

    Interactuar con otros usuarios.

    4.2 COMUNICACIN CON MANEJO DE DATOS.

    Comunicacin de Datos. Es el proceso de comunicar informacin en forma binaria entre dos o ms puntos. Requiere cuatro elementos bsicos que son:

  • *Emisor: Dispositivo que transmite los datos.

    *Mensaje: lo forman los datos a ser transmitidos.

    *Medio: consiste en el recorrido de los datos desde el origen hasta su destino.

    *Receptor: dispositivo de destino de los datos.

    BIT: es la unidad ms pequea de informacin y la unidad base en comunicaciones.

    BYTE: conjunto de bits continuos mnimos que hacen posible, un direccionamiento de informacin en un sistema computarizado. Est formado por 8 bits.

    Paquete: fracciones de un mensaje de tamao predefinido, donde cada fraccin o paquete contiene informacin de procedencia y de destino, as como informacin

    requerida para el re ensamblado del mensaje.

    Interfaces: conexin que permite la comunicacin entre dos o ms dispositivos.

    Cdigos: acuerdo previo sobre un conjunto de significados que definen una serie de smbolos y caracteres. Toda combinacin de bits representa un carcter dentro

    de la tabla de cdigos.

    ----Paridad: tcnica que consiste en la adicin de un bit a un carcter o a un bloque de caracteres para forzar al conjunto de unos (1) a ser par o impar. Se utiliza para

    el chequeo de errores en la validacin de los datos. El bit de paridad ser cero (0=SPACE) o uno (1=MARK).

    Modulacin: proceso de manipular de manera controlada las propiedades de una

    seal portadora para que contenga la informacin que se va a transmitir

    DTE (Data Terminal Equipment): equipos que son la fuente y destino de los datos. Comprenden equipos de computacin (Host, Microcomputadores y Terminales).

    DCE (Data Communications Equipment): equipos de conversin entre el DTE y el canal de transmisin, es decir, los equipos a travs de los cuales conectamos los

    DTE a las lneas de comunicacin.

    UNIDAD 5: IMPLEMENTACIN DE INTERFAZ DE USUARIO.

    5.1 LENGUAJES DE MERCADO

  • Un Lenguaje de marcado o lenguaje de marcas se puede definir como una forma de codificar un documento donde, junto con el texto, se incorporan

    etiquetas, marcas o anotaciones con informacin adicional relativa a la estructura del texto, su presentacin.

    Los lenguajes de marcado se pueden clasificar en: Procedimental:

    Describen operaciones tipogrficas Estructural:

    Describen la estructura lgica de un documento, pero no su tipografa Hbrido:

    Combinacin de ambos Las hojas de estilo o lenguajes de transformacin permiten la traduccin de

    anotaciones de tipo estructural a anotaciones de carcter tipogrfico. Otra posible clasificacin sera:

    De presentacin: Indica el formato del texto (informacin para el maquetado).

    De procedimientos: Orientado tambin a la presentacin pero, en este caso, se indican los

    procedimientos que deber realizar el SW de representacin. Descriptivo o semntico:

    Describen las diferentes partes en las que se estructura el documento pero sin especificar cmo deben representarse.

    Algunos lenguajes de marcado especficos: Documentacin electrnica

    RTF TeX Wikitexto DocBook

    Tecnologas de internet

    HTML, XHTML RDF (recurso-propiedad(relacin)-valor) RSS

    Otros lenguajes especializados

    MathML VoiceXML SVG MusicXML

    5.2 TECNOLOGAS PARA IMPLEMENTACIN DE INTERFACES DE USUARIO.

  • En el contexto del proceso de interaccin persona-ordenador, la interfaz grfica de

    usuario, es el artefacto tecnolgico de un sistema interactivo que posibilita, a travs del uso y la representacin del lenguaje visual, una interaccin amigable con

    un sistema informtico. La interfaz grfica de usuario (en ingls GraphicalUser Interface, GUI) es un tipo de

    interfaz de usuario que utiliza un conjunto de imgenes y objetos grficos para representar la informacin y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediante manipulacin directa para facilitar la interaccin del

    usuario con la computadora. Surge como evolucin de la lnea de comandos de los primeros sistemas operativos

    y es pieza fundamental en un entorno grfico. Como ejemplo de interfaz grfica de usuario podemos citar el escritorio o desktop

    del sistema operativo Windows y el entorno X-Windows de Linux. Algunas Interfaces grficas (GUIs) son:

    GPA Intenta ser la interfaz de usuario grfica estndar de Gnu PG. GPA se hospeda en este sitio.

    K Gpg

    Es una interfaz de usuario de KDE para Gnu PG.

    Seahorse

    Es una interfaz de usuario de GNOME para Gnu PG.

    XAP

  • 5.3 PROGRAMACIN

    La creacin de las interfaces de usuario ha sido un rea del desarrollo de software que ha evolucionado dramticamente a partir de la dcada de los setentas. La

    interfaz de usuario es el vnculo entre el usuario y el programa de computadora. Una interfaz es un conjunto de comandos o mens a travs de los cuales el usuario

    se comunica con el programa. Esta es una de las partes ms importantes de cualquier programa ya que determina que tan fcilmente es posible que el

    programa haga lo que el usuario quiere hacer. Un programa muy poderoso con una interfaz pobremente elaborada tiene poco valor para un usuario no experto.

    La elaboracin de una interfaz de usuario, bien diseada, exige una gran dedicacin pues generalmente las interfaces son grandes, complejas y difciles de

    implementar, depurar y modificar. Hoy en da las interfaces de manipulacin directa (tambin llamadas interfaces grficas de usuario, GUI por sus siglas en

    ingls) son prcticamente universales. Las interfaces que utilizan ventanas, conos y mens se han convertido en estndar en los materiales computacionales

    La interfaz representa el punto de encuentro entre el usuario y la computadora. En esta interaccin, el usuario juzga la utilidad de la interfaz; el hardware y el

    software se convierten en simples herramientas sobre los cuales fue construida la interfaz. La definicin de interfaz en si misma es un tanto arbitraria, aunque esto

    depende de la naturaleza de la tarea que se tiene enfrente. Existen muchos tipos de software para la creacin de interfaces de usuario.

    El sistema de ventanas permite la divisin de la pantalla en diferentes regiones rectangulares, llamadas ``ventanas''. El sistema de ventanas Windows para Unix

    divide la funcionalidad de la ventana en dos capas: el sistema de ventanas, el cual es la interfaz funcional, y el administrador de ventanas. El sistema de ventanas provee de procedimientos que permiten a la aplicacin el dibujar figuras en la

    pantalla y sirve como medio de entrada de las acciones del usuario. El administrador de ventanas le permite al usuario final el mover las ventanas por la

    pantalla, y es el responsable de desplegar las lneas de ttulo, bordes e conos alrededor de las ventanas.

    La parte central de un sistema de ventanas es el conjunto de herramientas (toolkit), el cual contiene los objetos grficos (widgets ms empleados tales como

    mens, botones, barras de scroll, y campos para entrada de texto. Eltoolkit generalmente se conecta a los programas de aplicacin a travs de una

    serie de procedimientos definidos por el programador. La funcin de estos procedimientos es el decidir la forma en que se comportarn los objetos grficos.

    5.3.1 DEL LADO DEL CLIENTE

  • Con la programacin del lado del cliente se pueden validar algunos de los datos en la mquina cliente antes de enviarlos al servidor. Esto proporciona a los usuarios informes de error inmediatos, mientras siguen en esa pgina de formulario y sin

    necesidad de volver atrs tras recibir un mensaje de error. Puede resultar necesario acceder a una base de datos para validar determinados valores, mientras

    que no suele disponer de un acceso directo a la base de datos en la mquina del cliente, aunque ese acceso a la base de datos es factible.

    Los clientes tambin se pueden mejorar con otras tcnicas. Por ejemplo, podemos usar controles ActiveX y Applets de Java. Aunque estas tecnologas son bastantes diferentes, el resultado final es similar: la interfaz del cliente puede hacer cosas

    que no puede hacer normalmente con HTML. De momento, la diferencia principal entre ambas es que los controles ActiveX slo funcionan en IE. Las Applets de Java funcionan tanto en IE como en Navigator, aunque no todos los Applets funcionan

    igual de bien en ambos exploradores.

    5.3.1 DEL LADO DEL SERVIDOR

    La programacin del lado del servidor es una tecnologa que consiste en el

    procesamiento de una peticin de un usuario mediante la interpretacin de un script en el servidor web para generar pginas HTML dinmicamente como

    respuesta Los primeros servidores web permitan visualizar exclusivamente informacin

    esttica. Esto present pronto una limitacin; sobre todo desde el momento en el que la actividad publicitaria y comercial comenz a concentrarse tambin en

    Internet. La primera solucin tcnica realizada fue la posibilidad de que el servidor web ejecutase programas residentes en la mquina de servicio. Esta tecnologa,

    conocida como Common Gateway Interface (CGI) permita lanzar programas escritos principalmente en C o Perl.

    Si bien la tecnologa CGI resolva el problema de la presentacin exclusiva de informacin esttica, al mismo tiempo presentaba dos limitaciones importantes: el

    problema de seguridad que poda representar el hecho de que mediante una peticin se pudiesen ejecutar programas indeseados en el servidor y la carga del servidor (si una pgina que lanzaba un programa era llamada desde 100 clientes simultneamente, el servidor ejecutaba 100 procesos, uno por cada cliente que

    solicitaba dicha pgina). Para resolver estos problemas, se busc desarrollar una tecnologa que permitiera

    ejecutar, en un nico proceso del servidor, todos los pedidos de ejecucin de cdigo sin importar la cantidad de clientes que se conectaban concurrentemente.

    As surgieron los denominados servlets, basados en la tecnologa Java de Sun Microsystems, y los filtros ISAPI de Microsoft. stos permitan ejecutar cdigo en

    un nico proceso externo que gestionaba todas las llamadas realizadas por el servidor web, impidiendo al mismo tiempo que el servidor web pueda ejecutar

    programas del sistema operativo. No obstante, de este modo se limitaron los problemas de prestacin y seguridad de

  • la tecnologa CGI, y no se resolvi el problema representado por un desarrollo demasiado costoso en trminos de tiempo. Asimismo, se hizo necesario que dos

    figuras profesionales distintas trabajen en un nico proyecto: el programador (que conoce el lenguaje de programacin utilizado del lado del servidor) y el diseador

    web (que conoce la parte grfica y el lenguaje HTML). Para resolver estas limitaciones, fueron desarrollados lenguajes que pueden ser incluidos al interno de archivos HTML. Estos comandos pueden ser interpretados (como por ejemplo las

    pginas ASP o PHP) o precompilados (como en las pginas JSP o ASP.NET). Con la utilizacin de esta tecnologa se buscaba, tambin, desarrollar aptitudes de

    diseador web en los programadores y de programador en los diseadores (se esperaba con ello el hacer ms fcil y veloz el desarrollo de scripts del lado del

    servidor).

    UNIDAD 6 INTEGRACIN DE APLICACIONES DISTRIBUIDAS.

    6.1 ASIGNACIN DE LAS PARTES DE LA APLICACIN

    Una vez realizada la identificacin de las partes, la valoracin de la sensibilidad nos lleva a darle un valor y a evaluar que tan crticos son: la informacin y los dems

    elementos de la organizacin como el software, hardware, y el valor de los servicios que provee la aplicacin. Cuando hablamos de valor debemos tener claro

    que a la informacin y a los servicios de red se les debe asociar un monto simblico, mientras el software y el hardware se evalan en dinero, de acuerdo a

    los criterios que se describen a continuacin.

    * Confidencialidad

    La cual se refiere al servicio prestado para proteger la informacin principalmente de accesos no autorizados. Por ejemplo si hay un circuito virtual entre dos sistemas, este servicio debera ser capaz de proteger la "revelacin" de la

    informacin que viaja por dicho circuito de un tercer atacante que intenta capturar dichos datos. Informacin del personal, investigaciones y reportes de desarrollo

    son algunos de los ejemplos de informacin que necesita confidencialidad.

    * Integridad

    El servicio de integridad es el que permite que la informacin sea adecuada, completa y autntica en el momento de ser procesada, presentada, guardada o

    transmitida. Por ejemplo si uno transmite datos de control de cualquier tipo por una red, mnimo desea que estos no lleguen daados o defectuosos porque las

    consecuencias finales podran ser desastrosas (e.g. datos que controlen un mecanismo de armas). En algunos casos mantener y garantizar esta caracterstica

    es ms importante que la confidencialidad.

  • Disponibilidad

    Como su nombre lo indica la disponibilidad incluye todos los servicios de red que

    se pueden tener y prestar en determinado momento. Un esquema tpico con el cual se maneja la disponibilidad es el de dos dominios donde el primero coloca un valor

    a la informacin que se puede destruir completamente y nunca ms podr ser consultada, el segundo dominio coloca valores en tiempo de disponibilidad por

    ejemplo: el servicio de impresora no est disponible por 1 hora, 2 horas o lo contrario est disponible solo por 3 horas, etc; este ltimo dominio conocido como

    "over time" sirve para encontrar umbrales de disponibilidad; por ejemplo, "si despus de 2 horas no est disponible el servidor de la base de datos de empleados

    hay que programar un procedimiento manual".

    6.2 DISTRIBUCIN DE LA APLICACIN

    Cada aplicacin considera el nodo local como una cache de los recursos disponibles en todo el sistema distribuido. En el caso de aplicaciones centralizadas, stas se limitan a utilizar dicha cache ignorando la ubicacin de los recursos (pensando que son locales). En cambio, las distribuidas pueden solicitar la asignacin de recursos en las ubicaciones que deseen y controlar la revocacin de tal modo que se mantengan en el nodo local (en la cache) los recursos convenientes (revocando primero aquellos recursos que sea ms barato traer al nodo local, y no aquellos que sea costoso volver a obtener debido a su ubicacin u otros factores). En este sentido es crucial que el kernel permita a las aplicaciones escoger las unidades de recurso que han de revocarse, de otro modo el sistema escogera l mismo las unidades a revocar y ello sin tener una idea exacta de para qu se emplea cada una de ellas.

  • El kernel permite que peticiones locales al sistema puedan operar con recursos remotos, eso es todo lo que hace. Por un lado, una aplicacin centralizada se puede distribuir ``automticamente'' interponiendo entre ella y el sistema un algoritmo distribuido de asignacin y revocacin de recursos. De este modo la distribucin ser como sigue:

    Ante una peticin de recursos, el algoritmo de asignacin puede solicitar recursos remotos (o locales) al kernel.

    La aplicacin realizar peticiones al sistema empleando dichos recursos de manera transparente. Sean stos locales o remotos, el kernel atender las peticiones.

    Ante una eventual revocacin, el algoritmo de revocacin empleado puede optar por eliminar primero los recursos que sean mas ``baratos'' en trminos de posicin y uso.

    Por otro lado, una aplicacin distribuida puede emplear algoritmos especficos de asignacin y revocacin sin necesidad de conformarse con un algoritmo general

    que funcione bien en el caso medio. Cuando el sistema ve que el recurso es remoto es la propia implementacin del servicio la que contacta con el nodo remoto

    usando protocolos especficos de cada aplicacin (esto es, realizando una up-call). Esto no es lo mismo que emplear una IPC distribuida que alcanza un ncleo remoto

    sin que el local se entere de ello. Si se distribuyen slo las IPCs podemos tener problemas en el uso de referencias a memoria de usuario en las llamadas al sistema (una referencia local no es vlida en el nodo remoto). Estas pueden

    ocasionar mensajes extra en la red o el envi de datos innecesarios.

    6.3 INSTALACIN DE LOS COMPONENTES

    Se ha convertido en un principio ampliamente aceptado en el diseo de aplicaciones distribuidas la divisin de la aplicacin en componentes que ofrezcan

    servicios de presentacin, institucionales y de datos. Los componentes que realizan tipos de funciones similares se pueden agrupar en capas, que en muchos

    casos estn organizados en forma de apilamiento para que los componentes que se encuentran por "encima" de una capa determinada utilicen los servicios

    proporcionados por sta, y un componente especifico utilizar la funcionalidad proporcionada por otros componentes de su propia capa, y otras capas

    "inferiores", para realizar su trabajo.

    Esta visin dividida de una aplicacin tambin se puede aplicar a los servicios. Desde un punto de vista de alto nivel, se puede considerar que la solucin basada

    en servicios est formada por varios servicios, los cuales se comunican entre s pasando mensajes. Desde el punto de vista conceptual, los servicios se pueden

    considerar como componentes de la solucin global. Sin embargo, internamente el servicio est formado por componentes de software, al igual que cualquier otra

  • aplicacin, los cuales se pueden agrupar de forma lgica en servicios de presentacin, institucionales y de datos.

    6.4 CONFIGURACIN DE LOS COMPONENTES

    Las aplicaciones requieren datos de configuracin para funcionar tcnicamente. Los valores que modifican el comportamiento de las directivas (seguridad,

    administracin operativa y comunicaciones) se consideran datos de configuracin.

    Los datos de configuracin se conservan en los archivos de configuracin de .NET a nivel de usuario, equipo y aplicacin. La configuracin personalizada almacenada

    aqu se puede definir con cualquier esquema y se puede tener fcil acceso mediante el uso de la clase Configuracin Settings en su aplicacin.

    Es muy importante tener en cuenta la confidencialidad de seguridad de la

    conexin; por ejemplo, no debe almacenar cadenas de conexin SQL en texto no cifrado en los archivos de configuracin XML, especialmente si contienen

    credenciales SQL. Debera limitar el acceso a la informacin de seguridad a los operadores adecuados y a fin de disponer de una mayor seguridad, debera

    considerar la firma digital de la informacin para asegurarse de que los datos de configuracin no se han modificado.

    Los datos de configuracin se pueden almacenar en varios lugares, cada uno de

    ellos con sus ventajas e inconvenientes:

    Archivos de configuracin XML: el almacenamiento de los datos de configuracin aqu permite a los clientes de su aplicacin trabajar sin conexin y este modelo resulta fcil de implementar. Con aplicaciones de cliente enriquecido, este enfoque puede suponer un aumento en los costos de administracin de los cambios, ya que requiere que todos los clientes dispongan de la misma informacin de configuracin.

    SQL Server o el almacn de datos de la aplicacin: se trata de la ubicacin de almacenamiento normal para los datos de configuracin administrados por la aplicacin, pero an ms para los metadatos de las aplicaciones. Si almacena aqu la configuracin, se recomienda que guarde los metadatos en una base de datos de SQL Server distinta de la de los datos empresariales. El acceso a la base de datos supone a menudo una mejora en el rendimiento, por lo que debera considerar el almacenamiento en cach.

    Active Directory: dentro de una organizacin, puede decidir almacenar los metadatos de la aplicacin en Active Directory. De este modo, los clientes del dominio pueden disponer de los metadatos. Tambin puede asegurar la informacin en Active Directory con ACL de Windows, asegurando que slo los usuarios y las cuentas de servicio autorizadas podrn tener acceso al mismo.

  • Cadenas del constructor: si utiliza componentes basados en Enterprise Services, puede agregar datos de configuracin a la cadena del constructor para los componentes.

    Otras ubicaciones para casos especiales: stas incluyen el Registro de Windows, el almacn de Windows Local Security Authority (LSA) y las implementaciones personalizadas. Se utilizan en casos muy especiales y agregan requisitos para los privilegios de aplicaciones en el equipo y los mecanismos de implementacin.

    Soluciones de administracin de configuracin de terceros que pueden proporcionar tambin caractersticas de control de versiones e implementacin.

    6.5 CONFIGURACIN DE LA APLICACIN

    Los componentes de proceso de usuario generalmente requieren los siguientes

    valores de configuracin:

    Informacin de la ubicacin para llegar a los componentes de procesos empresariales y los componentes de acceso a datos.

    Datos de conexin (como una cadena de conexin o una ruta de archivo) para el recurso que controla los datos de procesos de usuario persistentes para procesos de larga ejecucin.

    Configuracin en agentes de servicios Los agentes de servicios necesitan disponer de informacin de configuracin para conectarse al servicio externo a travs de los servicios Web, colas de mensajes u otros medios. El esquema y los datos de configuracin dependen del servicio especfico al que se est teniendo acceso. Configuracin en los componentes de acceso a datos Los componentes de acceso a datos normalmente necesitan lo siguiente:

    Necesitan tener la capacidad de asignar nombres de orgenes de datos lgicos a parmetros de la conexin fsica (por ejemplo, para asignar la base de datos "Ventas" a una cadena de conexin real).

    Si los componentes de acceso a datos realizan un enrutamiento dinmico de datos, necesitar contar con datos de configuracin que expresen los parmetros (por ejemplo, regin del cliente), algoritmos (por ejemplo, hash) y destinos del enrutamiento (por ejemplo, cadenas de conexin para las bases de datos). Es comn incluir la lgica del enrutamiento dinmico de datos en un componente de utilidad distinto.

  • 6.6 EVALUAR DESEMPEO

    Los sistemas informticos a veces fallan. Cuando se producen fallos en el software o en el hardware, los programas podran producir resultados incorrectos o podran

    pararse antes de terminar la computacin que estaban realizando. El diseo de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre s: Redundancia hardware (uso de componentes redundantes) y recuperacin del software (diseo de programas que sean capaces de recuperarse de los fallos).

    En los sistemas distribuidos la redundancia puede plantearse en un grano mas fino que el hardware, pueden replicarse los servidores individuales que son esenciales

    para la operacin continuada de aplicaciones crticas.

    La recuperacin del software tiene relacin con el diseo de software que sea capaz de recuperar (roll-back) el estado de los datos permanentes antes de que se

    produjera el fallo.

    Los sistemas distribuidos tambin proveen un alto grado de disponibilidad en la vertiente de fallos hardware. La disponibilidad de un sistema es una medida de la

    proporcin de tiempo que est disponible para su uso. Un fallo simple en una maquina multiusuario resulta en la no disponibilidad del sistema para todos los

    usuarios. Cuando uno de los componentes de un sistema distribuidos falla, solo se ve afectado el trabajo que estaba realizando el componente averiado. Un usuario

  • podra desplazarse a otra estacin de trabajo; un proceso servidor podra ejecutarse en otra mquina.

    El trmino 'recurso' es bastante abstracto, pero es el que mejor caracteriza el abanico de entidades que pueden compartirse en un sistema distribuido. El

    abanico se extiende desde componentes hardware como discos e impresoras hasta elementos software como ficheros, ventanas, bases de datos y otros objetos de

    datos.

    La idea de comparticin de recursos no es nueva ni aparece en el marco de los sistemas distribuidos. Los sistemas multiusuario clsicos desde siempre han

    provisto comparticin de recursos entre sus usuarios. Sin embargo, los recursos de una computadora multiusuario se comparten de manera natural entre todos sus usuarios. Por el contrario, los usuarios de estaciones de trabajo monousuario o

    computadoras personales dentro de un sistema distribuido no obtienen automticamente los beneficios de la comparticin de recursos.

    Los recursos en un sistema distribuido estn fsicamente encapsulados en una de las computadoras y slo pueden ser accedidos por otras computadoras mediante

    las comunicaciones (la red). Para que la comparticin de recursos sea efectiva, sta debe ser manejada por un programa que ofrezca un interfaz de comunicacin

    permitiendo que el recurso sea accedido, manipulado y actualizado de una manera fiable y consistente. Surge el trmino genrico de gestor de recursos.

    6.7 OPTIMIZACIN DEL DESEMPEO

    Un gestor de recursos es un mdulo software que maneja un conjunto de recursos de un tipo en particular. Cada tipo de recurso requiere algunas polticas y mtodos

    especficos junto con requisitos comunes para todos ellos. stos incluyen la provisin de un esquema de nombres para cada clase de recurso, permitir que los recursos individuales sean accedidos desde cualquier localizacin; la traslacin de nombre de recurso a direcciones de comunicacin y la coordinacin de los accesos concurrentes que cambian el estado de los recursos compartidos para mantener la

    consistencia.

    Un sistema distribuido puede verse de manera abstracta como un conjunto de gestores de recursos y un conjunto de programas que usan los recursos. Los usuarios de los recursos se comunican con los gestores de los recursos para

    acceder a los recursos compartidos del sistema. Esta perspectiva nos lleva a dos modelos de sistemas distribuidos: el modelo cliente-servidor y el modelo basado

    en objetos.