DOCUMENTO DE ARQUITECTURAS DE SOFTWARE

Tamaño: px
Comenzar la demostración a partir de la página:

Download "DOCUMENTO DE ARQUITECTURAS DE SOFTWARE"

Transcripción

1 DOCUMENTO DE ARQUITECTURAS DE SOFTWARE Una arquitectura de software es la base para representar la estructura de un sistema de una manera abstracta y que sea fácil de interpretar el modelo que encapsula. Una buena arquitectura explica claramente los elementos que la forman y la manera en que se comunican entre ellos. En este capítulo hablaremos de manera general sobre las arquitecturas de software, sus característicos y estilos arquitectónicos. Posteriormente, explicaremos algunas arquitecturas basadas en agentes, P2P y de dispositivos móviles, analizando sus ventajas y desventajas. Finalmente, haremos un análisis comparando las diferentes arquitecturas para poder obtener lo mejor de cada una y que nos sirva de base para nuestro proyecto de grado. 1. GENERALIDADES Para poder hablar de algún tema en particular lo primero que se debe tener claro es su definición y características. A continuación, hablaremos de una manera general sobre qué es una arquitectura de software, sus elementos, objetivos y cómo debe ser el lenguaje que se utiliza para expresarla. Finalmente, hablaremos sobre los diferentes estilos arquitectónicos que existen, analizando sus ventajas y desventajas DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades visibles de esos elementos y las relaciones entre ellos. Se incluyen los siguientes elementos: La descripción de los componentes (servidores, clientes, bases de datos, filtros, capas en un sistema jerárquico, etc. ) con los cuales se construyen los sistemas Las interacciones (llamadas a procedimientos, protocolos C/S, protocolos de acceso a BD, etc) entre esos componentes Patrones para guiar la composición Restricciones sobre dichos patrones [AC2004] OBJETIVOS: Algunos de los objetivos que se buscan alcanzar al diseñar una arquitectura de software son los siguientes: Comprender y mejorar la estructura de las aplicaciones complejas.

2 Reutilizar dicha estructura (o partes de ella) para resolver problemas similares. Planificar la evolución de la aplicación, identificando las partes que cambian y las que permanecen constantes de la misma, así como los costos de los posibles cambios. Analizar la corrección de la aplicación y su grado de cumplimiento respecto a los requisitos iniciales. Permitir el estudio de algunas propiedades específicas del dominio. Una de las mayores utilidades de utilizar una arquitectura es que un mismo diseño arquitectónico puede servir para dos aplicaciones distintas (ej. los patrones de diseño). Esto facilita el desarrollo de nuevas aplicaciones y reduce el tiempo que se invierte en dicho proceso. Pero así como trae beneficios, toca tener mucho cuidado en el momento de elegir una arquitectura ya que, una arquitectura errónea puede traer consigo muchos problemas LDA Un LDA es un lenguaje o notación para describir una arquitectura software e incluye principalmente: La descripción de componentes, conectores y enlaces entre ellos [MN2004]. Las herramientas para la verificación de la arquitectura y el prototipado rápido [MN2004]. Existen LDAs de propósito general y otros de dominio específico (DSLs). Los requisitos que debe tener estos lenguajes se pueden clasificar de la siguiente manera [AC2004]: Composición o Debe describir el sistema como una composición de partes Configuración o Debe describir la arquitectura independientemente de los componentes Abstracción o Debe describir los roles abstractos que juegan los componentes Reutilización o Debe permitir reutilizar componentes, conectores, y arquitecturas

3 Heterogeneidad Análisis o Debe permitir combinar descripciones heterogéneas o Debe permitir diversas formas de análisis de la arquitectura 1.4. ESTILOS ARQUITECTÓNICOS Un estilo de arquitectura es una clasificación de los sistemas de software en grandes familias cuyos integrantes comparten un patrón estructural común. Este estilo captura paradigmas de computación y comunicación utilizados para tratar con los problemas de programación de una clase en particular [HO2004]. En otras palabras, indican los tipos de componentes y conectores involucrados en una arquitectura. Los diferentes estilos de las arquitecturas tiene sus fortalezas y debilidades y, ciertos estilos hacen que sea más fácil o más difícil trabajar con diferentes obstáculos Las propiedades que caracterizan cada estilo es lo que determina la elección de uno u otro. Un estilo de arquitectura debe tener tres elementos básicos: Una notación bien definida para capturar el estilo de desarrollo de la arquitectura. Un método bien definido para producir y analizar formalmente modelos basados en la especificación capturada en la notación. Un método bien definido para producir una implementación basada en la especificación capturada en la notación. Un estilo provee la semántica para realizar los diagramas de arquitectura. Es decir, un estilo establece el significado de los diferentes conectores que se pueden dibujar entre los componentes funcionales. Los sistemas complejos, en su mayoría, son descritos mediante la combinación de dos o más estilos básicos de arquitectura CLASIFICACIÓN DE ESTILOS Los estilos arquitectónicos se clasifican en diferentes categorías. En la tabla No. 1 vemos la clasificación general. Categoría SISTEMAS BASADOS EN FLUJOS SISTEMAS CALL/RETURN Estilos Filtros y Pipes Procesamiento por lotes Sistemas Principal/subrutinas Sistemas OO

4 Capas jerárquicas COMPONENTES INDEPENDIENTES MÁQUINAS VIRTUALES Procesos de comunicación Cliente / Servidor Sistemas de Acontecimientos o Eventos Interpretes Sistemas basados en el conocimiento SISTEMAS CENTRADOS EN DATOS Bases de Datos (Repositorios) Sistemas de HiperTexto Sistemas de pizarra Tabla 1Clasificación Estilo Arquitectónico SISTEMAS BASADOS EN FLUJOS Se basan en el patrón pipes and filtres (tuberías y filtros). Este consta de un conjunto de componentes denominados filtros conectados entre sí por tuberías que transmiten datos desde un componente al siguiente. Cada filtro trabaja de manera independiente de los componentes que se encuentran situados antes y después de ella. Se diseñan de tal modo que se esperan un conjunto de datos en un determinado formato y obtiene como resultado otros datos de salida en un formato específico. Si el formato degenera en una única línea de transformación, se denomina secuencial batch (Procesamientos por lotes) [EU2001]. FILTROS Y TUEBERÌAS Este estilo está compuesto por un grupo de filtros (filters), los cuales tienen un conjunto de entradas y un conjunto de salidas. Cada componente lee las entradas y las transforma en salidas. La comunicación entre los filtros se realiza a través de tuberías (pipes). En la figura No. 1 vemos el esquema de este estilo arquitectónico.

5 Figura 1 Filtros y Tuberías En la tabla No. 2, que se presenta a continuación, se analizan las ventajas, desventajas y restricciones de este estilo. Restricciones Ventajas Desventajas Los filtros deben ser independientes. No deben compartir estado con otros filtros. Los filtros realizan la labor independientemente del flujo de entrada. Permite entender el sistema global en términos de la combinación de componentes Soporta de buena manera la reutilización. Los filtros son independientes de sus vecinos Facilidad de Mantenimiento y mejora Facilidad de diagnóstico (rendimiento, deadlocks) Soportan la ejecución concurrente Tabla 2 Filtros y Tuberías No aconsejado para cuando se necesita interactividad Problemas de performance ya que los datos se transmiten en forma completa entre filtros SISTEMAS CALL/RETURN Los estilos agrupados en esta categoría permiten a los desarrolladores de software realizar estructuras de programación fáciles de modificar y escalar. SISTEMAS OO Este estilo arquitectónico ha tenido gran aceptación y es de mucho uso en el desarrollo de aplicaciones. Las representaciones de los datos y las

6 operaciones están encapsuladas en un tipo abstracto de datos u objeto. Por lo tanto, los componentes son objetos y se relacionan entre ellos a través de invocaciones de métodos. En la figura No. 2 vemos un diagrama que representa el estilo de los Sistemas Orientados a Objetos. Figura 2 Sistemas OO El Sistema OO tiene algunas restricciones. Estas se muestran en la tabla No. 3 junto con las ventajas y desventajas de este estilo. Restricciones Ventajas Desventajas Los objetos son responsables de la integridad de sus representaciones Dicha representación es ocultada al resto de los objetos Gracias al invariante de ocultación es posible reemplazar la Implementación sin que afecte a los clientes Tabla 3 Sistemas OO Para invocar métodos de un objeto se debe conocer su identidad Efectos colaterales CAPAS JERÁRQUICAS Al hablar de capas jerárquicas hacemos referencia al estilo organizado jerárquicamente en capas, donde cada capa provee servicios a la capa superior y es servido por la capa inferior. Los componentes de este estilo corresponden a cada una de las capas las cuales se conectan entre ellas utilizando protocolos de interacción (Llamadas a procedimientos. Llamadas a métodos). Cada nivel tiene asociado una funcionalidad: Niveles bajos: Funciones simples, ligadas al hardware o al entorno.

7 Niveles altos: Funciones más abstractas. La figura No. 3 nos ilustra gráficamente el estilo jerárquico. En la figura se distingue cómo se comunican las diferentes capas y que funcionalidad va en cada capa. //VOY AQUI Restricciones Figura 3 Capas Jerárquicas La interacción está limitada a las capas adyacentes Ventajas Facilita la descomposición del problema en varios niveles de abstracción. Soporta la mejora, los cambios solo afectan a las capas vecinas Se pueden cambiar las implementaciones respetando las interfaces con las capas adyacentes. Desventajas No todos los sistemas pueden estructurarse en capas. Es difícil encontrar la separación en capas adecuada Aplicación Torres de protocolos de comunicación. Sistemas operativos. Compiladores COMPONENTES INDEPENDIENTES Sistemas de Acontecimientos o Eventos

8 Descripción En lugar de invocaciones de procedimientos explicitas o directas, un componente anuncia uno o más eventos y otros componentes registran el interés en un evento asociando un procedimiento a dicho evento. La ocurrencia de un evento causa la invocación implícita de procedimientos en otros módulos. Los componentes son los módulos cuyas interfaces ofrecen un conjunto de procedimientos y de eventos Los conectores incluyen llamadas a procedimientos tradicionales así como el ligado de eventos con llamadas a procedimientos Restricciones Quien anuncia el evento no conoce a que componentes afecta el evento No se pueden hacer asunciones acerca del orden de procesamiento Ventajas Provee un robusto soporte de reusabilidad Facilita la evolución del sistema Desventajas Perdida de control en el comportamiento del sistema Problemas en el intercambio de datos Es difícil asegurar la corrección global del sistema SISTEMAS CENTRADOS EN DATOS Como parte central de esta arquitectura aparece un almacén de datos, el cual es accedido de manera frecuente por otros componentes que actualizan, añaden, borran

9 o modifican dichos almacenes. El software cliente accede a un repositorio central [EU2001] Sistemas de pizarra Descripción Existen dos tipos de componentes Una estructura central de datos (representa el estado del proceso) Componentes independientes (operan en función del depósito de datos) Las interacciones entre el repositorio y los demás componentes es variable: La entrada de los datos es seleccionada por los componentes El estado de los datos del repositorio selecciona el proceso a ejecutar (pizarra) Ventajas Posibilita la integración de agentes. Adecuado para la resolución de problemas no deterministas. Se puede resumir el estado de conocimiento en cada momento del proceso Desventajas Estructura de datos común a todos los agentes Problemas de carga a la hora de chequear y vigilar el estado de la pizarra. 1. ARQUITECTURAS BASADA EN AGENTES Los agentes pueden ser concepto de estudio de varias áreas, como lo son inteligencia artificial, sistemas distribuidos, ingeniería de software, redes y sistemas autónomos

10 entre otras, lo cual hace que su definición este influenciada según sea el área en la cual tengamos nuestro interés [JAS200], nosotros creemos que una definición apropiada de agente es: Los agentes son simplemente un sistema computacional con la capacidad de tomar acciones autónomas en un medio, para así cumplir sus objetivos [GW2001]. Según la anterior definición, encontramos que los agentes como tal están ligados directamente a su medio, y por lo tanto podrán modificar este medio con la finalidad de cumplir su objetivo (igual que las personas). También, los agentes, en ocasiones tendrán la oportunidad de basar sus decisiones según criterios mas estructurados, como puede ser información histórica o experiencias del agente con el medio, pero vale aclarar que esto no es obligatorio (según la definición). Los agentes como tal pueden comunicarse con otros agentes, formando sociedades de agentes, que le sirven al mismo para cumplir sus tareas; al igual que lo hacen las personas los agentes pueden delegar tareas a otros agentes o pueden competir por un recurso, y esto hace que nazca un lenguaje o protocolo con el cual los agentes se puedan comunicar fácilmente y sin ambigüedades de definiciones en los conceptos que quieren dar a entender de un agente a otro(a diferencia de las personas). El protocolo que se a definido para la comunicación entre agentes es el KQML que sinifica Knowledge query and manipulation language.la estructura de este protocolo es [GW2001]: (KQML-performative :sender <palabra> :reciver <palabra> (nombre agente que envía el mensaje) (nombre agente que recibe el mensaje) :language <palabra> (lenguaje en que se comunican(ejemplo prolog)) :ontology <palabra> :content <expresión> (puede ser vació si el tipo del mensaje lo define)) ejemplo: (Cancelar :sender Hugo :reciver Alex :language prolog :ontology mundo-tesis :content (esta vació ya que el mismo tipo de mensaje define la acción)).

11 3.1 FIPA (Foundation for intelligent Physical Agents) Es una organización que desarrolla estándares para software de agentes para así permitir que diferentes sistemas de agentes interactúen, mas claramente se puede ver una definición de lo que es FIPA en su misión: la promoción de tecnologías y especificaciones de interoperabilidad que permitan el trabajo interno de sistemas de agentes inteligentes dentro del comercio y la industria [FIPA]. En la siguiente figura podemos ver y aclarar lo que propone FIPA con respecto a la construcción de plataformas de agentes: En la figura diferenciamos seis(6) aspectos importantes en los cuales se debe basar cualquier plataforma de agentes, y estos son[fipasc00023j]: AMS(Agent Management System): Es un servicio de paginas blancas, que tiene como funciones principales: o Es el encargado de mantener un directorio de agentes y encargarse del ciclo de vida de un agente. o Controla y supervisa el uso de la plataforma. DF(Directory Facilitator):Es un servicio opcional. Donde los agentes publican sus servicios para que otros agentes los puedan utilizar. (Un Servicio de paginas amarillas)

12 MTS(Message Transport System): es la forma que existe para la comunicación entre dos agentes en diferentes plataformas de agentes[fipa00067]. Agente: Es un proceso computacional que implementa la autonomía y la funcionalidades de comunicación dentro de una aplicación. Los agentes se comunican usando un lenguaje de comunicación entre agentes llamado ACL (Agent Comunication Language). Un agente es el actor fundamental de una plataforma de agentes quien combina una o mas servicios que son publicados en el DF. Plataforma de Agentes(AP): Es la infrastuctura física en donde se desarrollan los agentes. El AP esta compuesto por las maquinas, sistemas operativos, el software que soporta los agentes,los componentes de manejo de un agente definidos por FIPA (DF, AMS, MTS), y los agentes. Software: Describe todo lo que no es una agente pero que este utiliza para ejecutar instrucciones o alguna funcionalidad en especifico. Existen en la actualidad muchas plataformas de agentes basadas en las especificaciones de FIPA, pero en este artículo nos vamos a detener a analizar la plataforma JADE y BESA. 3.2 JADE(Java Agent DEvelopment Framework): JADE es un framework de agentes que está basada en FIPA, y como tal debe tener unos aspectos que debe cumplir toda plataforma de agentes que sea FIPA complaint, y estos son el AMS, DF, agentes y la definición de un protocolo que permita intercambiar mensajes entre agentes, estos mensajes son comúnmente llamados los ACL(agent comunication language) que viene siendo una abstracción del tipo de mensajes que se definieron atrás como KQML. Como tal una plataforma jade tiene un contenedor principal llamado main en donde residen el AMS y el DF, este contenedor main es el primero que debe arrancar en una plataforma jade y posteriormente pueden empezar otros contenedores con sus respectivos agentes, pero siempre teniendo en cuenta que se deben registrar los agentes al contenedor principal (el main).esto nos da como resultado un sistema de comunicación P2P híbrido[bel2003] tal y como se muestra en la siguiente figura: Sistema P2P híbrido

13 Deteniéndose un poco en este punto se podría pensar que la plataforma jade tiene un punto de falla en el contenedor principal (el main) ya que si este se cae entonces la plataforma toda se vendría al piso, sin embargo los creadores de Jade previeron esto y hicieron que este main, aunque es un (1) agente, puede estar en varias maquinas al mismo tiempo, tal y como lo muestra la siguiente figura[bel12003]: En la plataforma del lado izquierdo solo existe un main pero jade da la opción que puedan existir mas de un main tal y como vemos en la figura del lado derecho, así si por ejemplo el main-container-1 no prestara mas este servicio por cualquier motivo entonces, la plataforma quedaría de la siguiente manera [BEL12003]: Ventajas de JADE [RIM2003]: Es una plataforma probada y sobre la cual se han desarrollado aplicaciones. Se tiene una extensión de jade para dispositivos móviles llamada LEAP, donde aparentemente la extensión de agentes desarrollados para JADE normal es igual para un agente desarrollado en LEAP.

14 Se tiene un contenedor principal que es donde reside el AMS, con la flexibilidad de tenerlos en forma de cluster para así dar una plataforma que es tolerable a fallos. La comunicación entre agentes dentro de una misma plataforma puede ser vía RMI o por medio de llamados locales, esta complejidad es resuelta por el contenedor que es el que sabe donde se podría encontrar el agente, esto se hace a través de técnicas de cache en donde cada contenedor mantiene una tabla (cache)llamada LADP (Local Agent Descriptor Table), mientras el contenedor principal tiene una tabla global de toda la plataforma, llamada GADP (Global Agent Descriptor Table) Desventajas de Jade: No tiene desarrollado el mecanismo de guardas, que es el que nos permite darle una mejor selección a los mensajes que llegan a un agente, por lo tanto esto es tarea del programador a la hora de implementar cada comportamiento. Como un agente para jade es un solo hilo que tiene su propio control, puede darse el caso que debido a un comportamiento mal programado el agente pierda reactividad ante el entorno. 3.3 BESA(Behavior-oriented, Event-driven and Social-based Agent Framework): La arquitectura besa esta compuesta por tres niveles: nivel de agente, nivel social y nivel del sistema. En el nivel de agente se trata todo lo referente a sus comportamientos y a los eventos a los cuales reacciona el agente. En el nivel social se trata lo referente a la comunicación que existe entre agentes(a través de un modelo de programación de eventos), una interacción se puede modelar por un evento bien definido, que se puede asociar a una guarda. En el nivel de sistema es donde se define el ciclo de vida de los agentes y la administración de éstos [GON2003] Ventajas: Es un sistema que maneja muy bien el mecanismo de guardas, lo que permite al programador definir un nivel muy fino de granularidad a la hora de plantear los comportamientos de un agente. Los comportamientos corren sobre su propio hilo lo que hace que estos no bloqueen el funcionamiento total del agente, al contrario de cómo sucede en JADE. Besa deja que el programador solo piense en los comportamientos de su agente llevándolo a un nivel de abstracción mas alto. Se puede ver como una plataforma P2P ya que la comunicación entre los agentes es punto a punto y lo mismo pasa con los contenedores de los agentes Desventajas: Usa el mecanismo de multicast para la comunicación entre contenedores, lo cual lo limita a un dominio.

15 Se puede afectar el rendimiento de la red en casos en que los agentes tengan un tiempo de vida muy corto. Esto debido al multicast que es utilizado para mantener las tablas actualizadas del directorio de páginas blancas que tiene cada contenedor. La poca documentación que lo soporta. No se ha probado con muchos ejemplos como si ha sucedido con otras plataformas de agentes. 2. PEER 2 PEER La ventaja más importante de las redes P2P radica en que cualquier peer puede proveer servicios (potencialmente), actuando en determinadas ocasiones como un servidor y en otras como un cliente. Esto permite que un servicio no dependa directamente de un solo punto sino por el contrario este servicio puede ser suministrado por cualquier punto dando así soluciones mas escalables donde el servicio no depende de una sola maquina. La computación distribuida es una manera de resolver problemas por medio de separar el problema en subproblemas que pueden ser solucionados de manera independiente por diferentes equipos. Se espera que en el futuro la computación distribuida aproveche las ventajas de redes P2P. Los puntos son configurados para descubrirse de una manera espontánea en la red. Casi siempre solo necesitan interactuar con un número pequeño de peers (vecinos o amigos ). Los peers pueden unirse o dejar la red en cualquier momento, pero deben siempre anunciar que la comunicación puede perderse a cualquier peer con el que se este comunicando. Los peers se organizan en grupos. Un grupo es una colección de peers que tienen algún interés en común. Cada grupo es identificado por un único ID. JXTA no define cuando, como o porque se crean los grupos. Solo describe como los peers pueden publicar, descubrir, unirse y monitorear los grupos de peers. JXTA define un grupo de seis protocolos basados en XML que estandarizan la manera como los peers son organizados dentro de los grupos de peers, publicando y descubriendo recursos, comunicándose y monitoreándose mutuamente. JXTA establece una red virtual sobre la red física, permitiendo que los puntos interactúen directamente y se organicen independientemente de su localización y conectividad. Los protocolos han sido diseñados para ser fácilmente implementados. Un punto JXTA puede ser cualquier dispositivo conectado (sensores, teléfonos, PDA, PC, servidores, etc) que implementa los protocolos básicos de JXTA. Cada punto es identificado por un único ID, son autónomos y operan independientemente y asincrónicamente de otros puntos. Puede existir alguna dependencia de puntos debido a requerimientos especiales, tales como la necesidad de un gateway, proxies o routers.

16 Cada punto puede publicar servicios y recursos (CPU, almacenamiento, bases de datos, documentos, etc) para que sean usados por otros puntos. 4.1 Conceptos básicos de P2P Peer: Cualquier entidad capaz de hacer un trabajo útil y poder comunicar los resultados del trabajo a otra entidad en la red bien sea directa o indirectamente. Simple peer Rendeveus peer guarda en memoria información acerca de otros peers Router peer: se encarga de dar una ruta a un peer que no tiene conexión directa con otro peer Peer group Conjunto de peers que tienen un mismo interés. Los Peer Groups pueden proveer servicios a los otros peers que pertenezcan al grupo. Este grupo como tal puede ofrecer una serie de servicios que se pueden descubrir a través del advertisement que identifican este grupo en especifico, vale aclarar que uno de los servicios que se debe implementar es el de unirse al grupo(membresía) para que así otros peers puedan vincularse al grupo, si este servicio no es implementado entonces cualquiera puede entrar al grupo fácilmente Servicios de red: Servicio de peer: si el punto muere el servicio también se muere, muchos puntos pueden tener el mismo servicio pero con identificaciones diferentes. Servicio de grupo: esta compuesto por instancias del servicio corriendo en múltiples miembros del grupo. Y este se publica como parte del peer group advertisement Advertisement:

17 Es la representación de una entidad (Peer), servicio o recurso que este prestando un peer o un peer group como parte de una red p2p. Es necesario que en una red p2p sean definidos protocolos que permitan: Encontrar un peer en la red. Encontrar un servicio que un peer este prestando. Obtener información de otros peers. Utilizar los servicios que preste un peer. Crear, unirse y dejar un grupo. Crear datos de coneccion para otros peers Enrutar un mensaje para otros peers. 4.2 JXTA JXTA Applications Sample Applications Instant Messaging File Sharing Resource Sharing Collaborative Content Viewers JXTA Services Sample Services Search Indexing Discover Membership JXTA Core Peer Groups Peer Pipes Peer Monitoring Peer Peer IDs Security Any Connected Device Protocolos de Jxta: Peer Resolver Protocol(PRP) Permite enviar y recibir consultas (queries) genéricos a través de un manejador (handler) que es el responsable de identificar el servicio no importando en que peer se encuentre, solo viendo si el peer proporciona el servicio. Este protocolo es definido por dos tipos de mensajes (XML):

18 Resolver query esta compuesto por los siguientes tags: credencial, nombre del manejador, id de la consulta, numero de hops por los que la consulta a viajado y el query. Resolver response esta compuesto por los siguientes tags: credencial, nombre del manejador, id de la consulta y la respuesta Peer information Protocol(PIP) Sirve para obtener información acerca de un peer en especifico. Se pueden ver dos tipos de mensajes en este protocolo: Ping request que se compone por una credencial, id de origen, id destino. PeerInfo response compuesto por una credencial, id de origen, id destino,tiempo, timestamp y un advertisement que representa al peer Endpoint routing prtocol(pep): Define un conjunto de mensajes request/response procesados por el servicio de enrutamiento con la finalidad de ayudar a un peer a que su mensaje llegue a su destino. Cuando un peer que tiene el perfil de enrutador recibe una consulta acerca de una ruta, si conoce la ruta la envía. En caso contrario busca por la ruta para así poderla devolver. Un endpoint se identifica por una dirección que tiene la siguiente forma <protocolo>://<dirección de red>/<nombre del servicio>/<parámetros que recibe el servicio> <protocolo> el nombre de la red que se utiliza para enviar el mensaje. Ejemplos: tcp, http, y jxtatls. <protocoladdress> la dirección de red con el Puerto por ejemplo :80 <servicename> un unico identificador que permite encontrar el servicio remoto <serviceparameters> algunos parámetros únicos que identifican el servicio y su manejador Usando el protocolo jxta, un peer puede enviar mensajes por medio del Endpoint Routing Protocol tal y como si estuviera directamente conectado al peer remoto, sin embargo el mensaje puede viajar a través de diferentes peers. Si dos peers no se pueden conectar directamente, este protocolo les permite encontrar la forma para que estos peers puedan intercambiar mensajes. a través de rutas de información que se descubren Peer discovery Protocol(PDP):

19 Permite encontrar recursos que están representados en forma de advertisement (peers, peer groups, pipe etc). La forma en que este protocolo busca estos advertisements es buscando en su cache. Si no lo encuentra, este le delega la tarea a un rendezveus que tiene pre configurado o buscando uno en la red y este finalmente le devuelve el advertisement que el estaba solicitando, no sin antes guardarlo en memoria para que se pueda utilizar en un futuro. Un peer que no tenga perfil de rendevouz no tiene la obligación de guardar en memoria advertisements pero esto puede mejorar notablemente el desempeño en las búsquedas de advertisements. Este protocolo es definido por dos tipos de mensajes: Discovery query. Discovery response Rendezvous Protocol(PRP) Permite propagar mensajes y controla esta propagación. Este protocolo esta definido por tres tipos de mensajes: Lease Request Message Usado por un peer para obtener permiso de conectarse al rendezvous Lease Granted Message Usado por el rendezvous para aprobar los peers Lease Cancel Message Usado por un peer para desconectarse del rendezvous Pipe Binding Protocolo(PBP) Usado por las aplicaciones y servicios para comunicarse con otros peers. Pipe es un canal virtual entre dos endpoints este protocolo se basa en la funcionalidad del protocolo endpoint. Los Pipes son canales de comunicación virtuales usados para enviar y recibir mensajes entre servicios o aplicaciones. Proveen la ilusión de un mailbox virtual de entrada y salida que es independiente de la localización de un peer y también es independiente de la topología de la red. Pueden ser implementados diferentes QoS por un pipe. Por ejemplo: Asincrónico unidireccional: El punto final envía un mensaje. No hay garantía de que la entrega sea hecha. Sincrónico request-response: El punto final envía un mensaje y recibe una respuesta confirmándolo. Transferencia en lotes: Transferencia confiable de datos binarios. Streaming: Transferencia eficiente Seguro: Transferencia segura de datos. Existen varios tipos de conexiones usadas por un pipe y estas son: JxtaUnicast que solo tiene uno que envía y uno que recibe.

20 JxtaUnicastSecur es lo mismo que JxtaUnicast pero la conexión es segura usando el Transport Layer Security (TLS) protocol. JxtaPropagate proporciona la funcionalidad de broadcast entre muchos endpoints que envían y muchos endpoints que reciben. El PBP define dos tipos de mensaje para encontrar un pipe The Pipe Binding Query Message sirve a un peer para preguntarle a otro si este tiene el pipe que el esta buscando(con el pipe id). The Pipe Binding Answer Message para enviar una respuesta a la consulta. 4.3 POINT TO MULTIPOINT La arquitectura P2MP consiste en una estación central que sirve a varios sectores dentro de un rango. Cada sector consiste en un radio de comunicación con un número amplio de usuarios. El ancho de banda es compartido entre los usuarios del sector. Esta arquitectura tiene una topología de árbol por lo que tiene una raíz (Point) que se va abriendo en muchas hojas (Multipoint). Las hojas no pueden comunicarse directamente P2P, siempre tienen que ir primero a la raíz. [PJ2004] La arquitectura P2MP es por lo general utilizada en la última milla. En este tipo de arquitectura pueden participar más nodos pero el performance sufre ya que están compartiendo el ancho de banda. 4.4 POINT TO CONSECUTIVE POINT (P2CP) Una serie de puntos están unidos consecutivamente uno con otro formando una topología de anillo. Los datos van pasando de un punto al otro de manera secuencial pero en el momento en que se llegue a caer un anillo, el tráfico se enruta automáticamente en sentido contrario.

21 Este sistema es más costoso pero tiene un ancho de banda mayor que los tradicionales P2P que en cierta manera son limitados en el número de puntos que puedan tener. 5. J2ME Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o electrodomésticos inteligentes. Esta edición tiene unos componentes básicos que la diferencian de las otras versiones, como el uso de una máquina virtual denominada KVM (Kilo Virtual Machine, debido a que requiere sólo unos pocos Kilobytes de memoria para funcionar) en vez del uso de la JVM clásica, inclusión de un pequeño y rápido recolector de basura y otras diferencias. J2ME contiene una mínima parte de las APIs de Java. Esto es debido a que la edición estándar de APIs de Java ocupa 20 Mb, y los dispositivos pequeños disponen de una cantidad de memoria mucho más reducida. En concreto, J2ME usa 37 clases de la plataforma J2SE provenientes de los paquetes java.lang, java.io, java.util. Esta parte de la API que se mantiene fija forma parte de lo que se denomina configuración. J2EE es un superconjunto de J2SE pues contiene toda la funcionalidad de éste y más características, así como J2ME es un subconjunto de J2SE (excepto por el paquete javax.microedition) ya que, como se ha mencionado, contiene varias limitaciones con respecto a J2SE. 5.1 ENTORNO DE EJECUCIÓN

22 Un entorno de ejecución determinado de J2ME se compone entonces de una selección de: a) Máquina virtual (KVM). b) Configuración (una configuración es el conjunto mínimo de APIs Java que permiten desarrollar aplicaciones para un grupo de dispositivos CLDC O CDC). c) Perfil (bibliotecas Java de clases específicas orientadas a implementar funcionalidades de más alto nivel para familias específicas de dispositivos). d) Paquetes Opcionales. Cada una de las configuraciones mencionadas anteriormente tiene características propias. Como consecuencia, cada una requiere su propia máquina virtual. La VM (Virtual Machine) de la configuración CLDC se denomina KVM y la de la configuración CDC se denomina CVM KVM Su nombre KVM proviene de Kilobyte (haciendo referencia a la baja ocupación de memoria, entre 40Kb y 80Kb). Se trata de una implementación de Máquina Virtual reducida y especialmente orientada a dispositivos con bajas capacidades computacionales y de memoria. La KVM está escrita en lenguaje C. Fue diseñada para ser: Pequeña, con una carga de memoria entre los 40Kb y los 80 Kb, dependiendo de la plataforma y las opciones de compilación. lta portabilidad. Modulable. Lo más completa y rápida posible y sin sacrificar características para las que fue diseñada.

23 Sin embargo, esta baja ocupación de memoria hace que posea algunas limitaciones con respecto a la clásica Java Virtual Machine (JVM): 1. No hay soporte para tipos en coma flotante. No existen por tanto los tipos double ni float. Esta limitación está presente porque los dispositivos carecen del hardware necesario para estas operaciones. 2. No existe soporte para JNI (Java Native Interface) debido a los recursos limitados de memoria. 3. No existen cargadores de clases (class loaders) definidos por el usuario. Sólo existen los predefinidos. 4. No se permiten los grupos de hilos o hilos daemon. Cuándo queramos utilizar grupos de hilos utilizaremos los objetos Colección para almacenar cada hilo en el ámbito de la aplicación. 5. No existe la finalización de instancias de clases. No existe el método Object.finalize(). 6. No hay referencias débiles. 7. Limitada capacidad para el manejo de excepciones debido a que el manejo de éstas depende en gran parte de las APIs de cada dispositivo por lo que son éstos los que controlan la mayoría de las excepciones. 8. Reflexión CVM La CVM (Compact Virtual Machine) ha sido tomada como Máquina Virtual Java de referencia para la configuración CDC y soporta las mismas características que la Máquina Virtual de J2SE. Está orientada a dispositivos electrónicos con procesadores de 32 bits de gama alta y en torno a 2Mb o más de memoria RAM. Las características que presenta esta Máquina Virtual son: 1. Sistema de memoria avanzado. 2. Tiempo de espera bajo para el recolector de basura. 3. Separación completa de la VM del sistema de memoria. 4. Recolector de basura modularizado. 5. Portabilidad. 6. Rápida sincronización. 7. Ejecución de las clases Java fuera de la memoria de sólo lectura (ROM). 8. Soporte nativo de hilos. 9. Baja ocupación en memoria de las clases. 10. Proporciona soporte e interfaces para servicios en Sistemas Operativos de Tiempo Real. 11. Conversión de hilos Java a hilos nativos. 12. Soporte para todas las características de Java2 v1.3 y librerías de seguridad, referencias débiles, Interfaz Nativa de Java (JNI), invocación remota de métodos (RMI), Interfaz de depuración de la Máquina Virtual (JVMDI). 5.2 CONFIGURACIONES

24 5.2.1 CDC La CDC está orientada a dispositivos con cierta capacidad computacional y de memoria. Por ejemplo, decodificadores de televisión digital, televisores con internet, algunos electrodomésticos y sistemas de navegación en automóviles. La CDC está enfocada a dispositivos con las siguientes capacidades: Procesador de 32 bits. Disponer de 2 Mb o más de memoria total, incluyendo memoria RAM y ROM. Poseer la funcionalidad completa de la Máquina Virtual Java2. Conectividad a algún tipo de red CLDC La CLDC está orientada a dispositivos dotados de conexión y con limitaciones en cuanto a capacidad gráfica, cómputo y memoria. Un ejemplo de estos dispositivos son: teléfonos móviles, buscapersonas (pagers), PDAs, organizadores personales, etc. Los dispositivos que usan CLDC deben cumplir los siguientes requisitos: Disponer entre 160 Kb y 512 Kb de memoria total disponible. Como mínimo se debe disponer de 128 Kb de memoria no volátil para la Máquina Virtual Java y las bibliotecas CLDC, y 32 Kb de memoria volátil para la Máquina Virtual en tiempo de ejecución. Procesador de 16 o 32 bits con al menos 25 Mhz de velocidad. Ofrecer bajo consumo, debido a que éstos dispositivos trabajan con suministro de energía limitado, normalmente baterías. Tener conexión a algún tipo de red, normalmente sin cable, con conexión intermitente y ancho de banda limitado (unos 9600 bps) CDC vs CLDC A continuación se presentan las diferencias entre las librerías que soportan cada una de las configuraciones mencionadas anteriormente. La Tabla 1.1 nos muestra las librerías incluidas en la CDC.

25 La Tabla 1.2 nos muestra las librerías incluidas en la CLDC. Como podemos ver, el número de librerías incluidas en la configuración CDC es mucho mayor que las de la CLDC. 5.3 PERFILES Un perfil es un conjunto de APIs que dotan a una configuración de funcionalidad específica. Existen unos perfiles que se construyen sobre la configuración CDC y otros sobre la CLDC. Para la configuración CDC tenemos los siguientes perfiles: Foundation Profile. Personal Profile. RMI Profile. y para la configuración CLDC tenemos los siguientes: PDA Profile. Mobile Information Device Profile (MIDP). Las aplicaciones que se realizan utilizando MIDP reciben el nombre de MIDlets.

26 También existe una gran cantidad de paquetes opcionales que amplían los perfiles; éstos incluyen Wireless Messaging API*, Mobile Media API*, J2ME RMI Optional Package* y el paquete opcional JDBC para CDC Foundation Profile*, al igual que otros que aún están en el proceso de especificación, tal como J2ME Web Services COMPONENTES APLICACIONES J2ME Una aplicación J2ME está formada por un archivo JAR que es el que contiene a la aplicación en sí y un archivo JAD (Java Archive Descriptor) que contiene diversa información sobre la aplicación. El gestor de aplicaciones o AMS (Application Management System) es el software encargado de gestionar los MIDlets. El AMS realiza dos grandes funciones: Por un lado gestiona el ciclo de vida de los MIDlets. Por otro, es el encargado de controlar los estados por los que pasa el MIDlet mientras está en la memoria del dispositivo, es decir, en ejecución. Cuándo un MIDlet comienza su ejecución, está en el estado Activo pero, qué ocurre si durante su ejecución recibimos una llamada o un mensaje? El gestor de aplicaciones debe ser capaz de cambiar el estado de la aplicación en función de los eventos externos al ámbito de ejecución de la aplicación que se vayan produciendo. En este caso, el gestor de aplicaciones interrumpiría la ejecución del MIDlet sin que se viese afectada la ejecución de éste y lo pasaría al estado de Pausa para atender la llamada o leer el mensaje. Una vez que terminemos de trabajar con el MIDlet y salgamos de él, éste pasaría al estado de Destruido dónde sería eliminado de la memoria del dispositivo. Cuándo decimos que el MIDlet pasa al estado Destruido y es eliminado de memoria, nos referimos a la memoria volátil del dispositivo que es usada para la ejecución de aplicaciones. Una vez finalizada la ejecución del MIDlet podemos volver a invocarlo las veces que queramos ya que éste permanece en la zona de memoria persistente hasta el momento que deseemos desinstalarlo. MIDlet puede cambiar de estado mediante una llamada a los métodos MIDlet.startApp(), MIDlet.pauseApp() o MIDlet.destroyApp(). El gestor de aplicaciones cambia el estado de los MIDlets haciendo una llamada a cualquiera de los métodos anteriores. Un MIDlet también puede cambiar de estado por sí mismo. 6. SATIN Los creadores de esta arquitectura tratan de resolver el problema que se presenta actualmente con respecto a las aplicaciones que modelan sistemas móviles, partiendo del beneficio de usar sistemas que se organicen por si solos (Self- Organized System) teniendo en cuenta la lógica móvil como base de esta arquitectura. 1 Pini Mike. Diseño de aplicaciones inalámbricas móviles en

27 6.1. Problemática: El problema que se divisa en aplicaciones para sistemas móviles, según la problemática que muestra SATIN, es la poca adaptabilidad de las aplicaciones con respecto al constante cambio de los requerimientos. Teniendo en cuenta las dificultades que se presentan en sistema que se auto organizan, y estas son: El medio cambiante y las necesidades del usuario, teniendo como limitaciones la heterogeneidad en cuanto a hardware, software, protocolos de comunicación y redes en que se encuentran en los dispositivos. El desarrollo estático que muestra el comportamiento de las aplicaciones, refiriéndose a la poca adaptabilidad que tienen en cuanto al usuario. Las limitaciones que se tienen cuando se especifica que una aplicación sea auto organizable. La forma en que se monitorea el medio cambiante en que se encuentra el dispositivo es difícil de manejar, debido a su flexibilidad (redes ad-hoc). Es difícil garantizar la seguridad. Un sistema que se auto-organiza es aquel que automáticamente se reconfigura con la finalidad de acomodarse a nuevos requerimientos [ZAC2003] Lógica Móvil: Teniendo en cuanta la perspectiva que muestra SATIN la arquitectura se basa en unas primitivas de lógica móvil (LM) que ayudan a: La interoperabilidad con aplicaciones remotas y medios que no fueron tenidos en cuenta al momento de diseño de una aplicación. La lógica móvil permite tener actualizados los diferentes componentes y añadir nuevas funcionalidades a una aplicación. La lógica móvil permite usar adecuadamente los recursos de un punto, dando la posibilidad de delegar cálculos complejos al medio en que se encuentra el dispositivo. La lógica móvil permite usar eficientemente los recursos locales; por ejemplo si una funcionalidad dentro del PC no esta siendo utilizada puede removerse. La lógica móvil se refiere a la habilidad de mover partes de una aplicación o migrar un proceso completo de un medio de procesamiento a otro [ZAC2003] Arquitectura: Satin define su arquitectura básica en forma de capacidades en donde la unidad básica es la capacidad (Capability) en donde una capacidad incluye metadata, versión, identificador único y una lista de dependencias a otras capacidades. En donde una funcionalidad se representa por el conjunto de Capacidades que pueden ser actualizadas dinámicamente en medios dinámicos (redes ad-hoc). El modelo de arquitectura que plantea SATIN es el siguiente:

28 Advertiser Capability: implementa capacidades de advertising. Discovery Capability: implementa técnicas de descubrimiento de Capacidades. Core Capability: es el registro de todas las capacidades, todo dispositivo que tenga SATIN debe tener un core. Registrar Capability: es el responsable de registrar capacidades. La anterior figura muestra la arquitectura Satin en un host, que es un conjunto de capacidades registradas en un core. Esta arquitectura nos muestra una posibilidad que permite utilizar la lógica móvil para el beneficio de auto-organizar el desarrollo de aplicaciones para sistemas móviles. Las ventajas que esboza esta arquitectura es apenas natural para dispositivos móviles según las ventajas que plantea la lógica móvil como tal. Por otra parte la forma en que se modulariza la funcionalidad de una aplicación es interesante y cabe anotar que puede ser de gran beneficio para el futuro planteamiento de nuestra arquitectura ya que puede ser una idea a seguir. Pensamos que la idea de lógica móvil y de modularización de la arquitectura según sus capacidades es totalmente moldeable al paradigma de agentes, en donde la lógica móvil se puede ver en la movilidad del agente, y la capacidad se puede ver en agentes especializados que están inmersos dentro de la arquitectura que se pudiere plantear. 7. DISEÑO E IMPLEMENTACIÓN DE UN SERVIDOR HTTP Y MECANISMOS DE SERIALIZACIÓN EN J2ME El objetivo es proveer el funcionamiento de un servidor http dentro de un dispositivo móvil, con la finalidad de dar funcionalidades dentro de J2ME que no son soportadas, pero que son necesarias para el buen funcionamiento de una plataforma de agentes; las funcionalidades no soportadas por la arquitectura J2ME son: Carga dinámica de clases.

29 Serialización de objetos. 7.1 Puntos Centrales: Viendo estas limitaciones la tesis (que ya fue desarrollada) la dividen en dos grandes puntos de investigación, el primero es la comunicación a través de sockets dentro del perfil MIDP 1.0 (que es un perfil dentro de la arquitectura J2ME) y el segundo es dar un mecanismo de serialización de objetos para la arquitectura J2ME, esto para lograr implementar un servidor http dentro de un dispositivo móvil teniendo en cuanta que este enfoque puede ser utilizado dentro de una plataforma de agentes en dispositivos móviles. 7.2 Arquitectura: La arquitectura que se plantea en este proyecto es la siguiente: Arquitectura Propuesta Según la figura podemos ver que este proyecto lo que consiguió fue ampliar las funcionalidades de la arquitectura J2ME, con el objetivo primordial de poder concebir una plataforma de agentes dentro de los dispositivos móviles, ya que los agentes móviles se ven como algo natural dentro de un ambiente móvil (según la perspectiva de la tesis). La idea referente a los agentes y el servidor http en dispositivos móviles esta plasmada en el siguiente párrafo: Lo que se pretende conseguir es que estos dispositivos no solo puedan utilizar estos servicios, si no que puedan ser también ellos mismos los que los proporcionan, dando acceso tanto a dispositivos móviles como a los que no lo son sin la necesidad de un servidor intermedio [ SAN2002]. Vemos que una opción para plantear una arquitectura es poder ampliar otra arquitectura ya existente y que a sido validada, en este caso la ampliación de la arquitectura J2ME; también tendremos en cuenta la funcionalidad que se desarrollo en esta tesis en miras a facilitar el desarrollo de nuestra arquitectura o para el desarrollo de la aplicación que valide nuestra arquitectura.

30 8. Wireless Resource Manager (WRM) Esta arquitectura está abierta a estándares existentes y es accesible para futuras aplicaciones QoS y redes inalámbricas. El WRM es el primer elemento funcional de la arquitectura. Considera el tráfico y los requerimientos de QoS de la aplicación y el estado del canal por el cual se ha accedido. Tiene una arquitectura de jerarquía modular. Las WDMI (Wireless Dependent Management Interfaces) interactúan con el WRM para tecnologías inalámbricas específicas [MR2003] Debido a las limitaciones de los dispositivos móviles, tanto el WRM como las WDMI, tienen una complejidad mínima procesando. Al clasificar cada petición la cantidad de negociaciones entre el dispositivo móvil y las redes de acceso es minimizada por el procesamiento [MR2003] La ubicación dinámica de la red de acceso es permitida por WDMI que a su vez informa al WRM permitiendo negociar con las QoS de las aplicaciones para que de esta forma lo enrute para la red más apropiada de acuerdo a las preferencias del usuario, costos y servicios que pida [MR2003]. 9. WIRELESS APPLICATION PROTOCOL (WAP) WAP es una solución unificada para los servicios de valor añadido existentes y futuros. El protocolo incluye especificaciones para las capas de la torre OSI de sesión y de transporte, así como funcionalidades de seguridad. WAP también define un entorno de aplicaciones. WAP es escalable, permitiendo así a las aplicaciones disponer de las capacidades de pantalla y recursos de red según su necesidad y en un gran número de tipos de terminales. En el caso del WAP, el cliente utiliza un micro navegador que envía su petición al WAP Gateway. Éste la decodifica y la envía al servidor Web, en el cual está presente el contenido requerido. Este último servidor envía las páginas pedidas al WAP Gateway. Éste las codifica y las envía al cliente del WAP.

31 Como ocurre con la Web, también el WAP define un modelo de síntesis para los nombres compatibles con la www, los tipos de contenido y los formatos y protocolos que se utilizan. El WAP Gateway tiene como única finalidad el convertir los paquetes de datos del protocolo WAP ( WSP, WTP, WTSL, WDP), en paquetes del protocolo WWW (HTTP Y TCP/IP) y viceversa. Los datos enviados al cliente se comprimen y codifican en código binario con el fin de reducir su dimensión. La arquitectura del WAP (Stack WAP) permite tener un ambie nte seguro y extensible gracias a un diseño realizado en layer en el que cada uno es accesible por el layer superior o por otros servicios y aplicaciones. [WA2004] Los protocolos de WAP se expresan en la siguiente tabla: [WA2004]

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:

J2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de: J2ME Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o

Más detalles

Arquitecturas de Software

Arquitecturas de Software Arquitecturas de Software Ingeniería del Universidad Rey Juan Carlos César Javier Acuña cjacunia@escet.urjc.es Índice Introducción Motivación Definición Pipes and Filters Tipos abstractos de datos y OO

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI RM. N 102-90-ED de Creación y Funcionamiento, RD Nº 0086-2006-ED de Revalidación Web Site: www.tecnomacusani.edu.pe

Más detalles

Qué se entiende por diseño arquitectónico? Comprende el establecimiento de un marco de trabajo estructural básico para un sistema. Alude a la estructura general del software y el modo en que la estructura

Más detalles

Redes P2P y Java: JXTA

Redes P2P y Java: JXTA UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Redes P2P y Java: JXTA Computación en la Red Andrés Marín López Introducción En entornos de computación ubicua los usuarios conectan

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Capas del Modelo ISO/OSI

Capas del Modelo ISO/OSI Modelo ISO/OSI Fue desarrollado en 1984 por la Organización Internacional de Estándares (ISO), una federación global de organizaciones que representa aproximadamente a 130 países. El núcleo de este estándar

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

TELECOMUNICACIONES Y REDES

TELECOMUNICACIONES Y REDES TELECOMUNICACIONES Y REDES Redes Computacionales I Prof. Cristian Ahumada V. Unidad V: Capa de Red OSI 1. Introducción. 2. Protocolos de cada Red 3. Protocolo IPv4 4. División de Redes 5. Enrutamiento

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

1. INTRODUCCIÓN Y OBJETIVOS

1. INTRODUCCIÓN Y OBJETIVOS 1. INTRODUCCIÓN Y OBJETIVOS Los teléfonos móviles son ya parte esencial en nuestra forma de vida y cada día son más los usuarios de estos terminales. Hasta ahora nos han acompañado a todas partes y nos

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

ESCUELA NORMAL PROF. CARLOS A CARRILLO

ESCUELA NORMAL PROF. CARLOS A CARRILLO ESCUELA NORMAL PROF. CARLOS A CARRILLO QUE ES UNA RED L A S T I C S E N L A E D U C A C I O N P R E E S C O L A R P R O F. C R U Z J O R G E A R A M B U R O A L U M N A : D U L C E C O R A Z Ó N O C H

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

En los últimos años, se ha presentado una enorme demanda por servicios portátiles,

En los últimos años, se ha presentado una enorme demanda por servicios portátiles, Capítulo 1 Introducción En los últimos años, se ha presentado una enorme demanda por servicios portátiles, a los que se les ha llamado tecnologías móviles, este repentino crecimiento de tecnologías ha

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

El Modelo de Referencia OSI

El Modelo de Referencia OSI El Modelo de Referencia OSI Tabla de Contenidos 2. El Modelo de Referencia OSI... 2 2.1 Nivel físico...4 2.2 Nivel de enlace... 4 2.3 Nivel de red... 5 2.4 Nivel de transporte...5 2.5 Nivel de sesión...

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Interoperabilidad de Fieldbus

Interoperabilidad de Fieldbus 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 201 Interoperabilidad de Fieldbus Generalidades Qué es interoperabilidad?

Más detalles

ARC 101 Architecture Overview Diagram

ARC 101 Architecture Overview Diagram ARC 101 Architecture Overview Diagram Estudio de Arquitectura para la evolución tecnológica de los aplicativos de ATyR Banco de Previsión Social ATYR Evolución Tecnológica Pág 1 of 10 Tabla de Contenidos

Más detalles

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

Qué es el enrutamiento estático?

Qué es el enrutamiento estático? Sistemas Operativos SISTEMAS OPERATIVOS 1 Sesión No. 2 Nombre: Enrutamiento estático Contextualización Qué es el enrutamiento estático? Los enrutamientos son fundamentales para la red de datos, ya que

Más detalles

http://www.statum.biz http://www.statum.info http://www.statum.org

http://www.statum.biz http://www.statum.info http://www.statum.org ApiaMonitor Monitor de Infraestructura BPMS Por: Ing. Manuel Cabanelas Product Manager de Apia Manuel.Cabanelas@statum.biz http://www.statum.biz http://www.statum.info http://www.statum.org Abstract A

Más detalles

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado Capítulo VI Estudio de Caso de Aplicación del Integrador de Información Desarrollado 6.1 Organización elegida La Organización elegida para el caso de aplicación, es la empresa CTM Tours del grupo Costamar,

Más detalles

TEMA: PROTOCOLOS TCP/IP

TEMA: PROTOCOLOS TCP/IP TEMA: PROTOCOLOS TCP/IP HISTORIA: El Protocolo de Internet (IP) y el Protocolo de Transmisión (TCP), fueron desarrollados inicialmente en 1973 por el informático estadounidense Vinton Cerf como parte de

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia

INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia INTRODUCCION. Ing. Camilo Zapata czapata@udea.edu.co Universidad de Antioquia Qué es una Red? Es un grupo de computadores conectados mediante cables o algún otro medio. Para que? compartir recursos. software

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Application Virtualization Módulo del Manual Autores: James Hamilton-Adams, Content Master Publicado: 5 de Octubre 2012 La información

Más detalles

Metodologías de diseño de hardware

Metodologías de diseño de hardware Capítulo 2 Metodologías de diseño de hardware Las metodologías de diseño de hardware denominadas Top-Down, basadas en la utilización de lenguajes de descripción de hardware, han posibilitado la reducción

Más detalles

Qué son los protocolos de enrutamiento Dinámico?

Qué son los protocolos de enrutamiento Dinámico? Sistemas Operativos SISTEMAS OPERATIVOS 1 Sesión No. 4 Nombre: Protocolos de enrutamiento dinámico Contextualización Qué son los protocolos de enrutamiento Dinámico? Los protocolos de enrutamiento dinámico

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Servinet Sistemas y Comunicación S.L. www.softwaregestionsat.com Última Revisión: Octubre 2014 FUNCIONALIDADES SAT

Más detalles

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares

Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares TELEPROCESO Y SISTEMAS DISTRIBUIDOS Sistema Web con Acceso a Bases de Datos Multiplataforma a Través de Teléfonos Celulares L I C. S E R G I O A N D R É S S O T O Guía de la Presentación Marco Conceptual

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

Estructuras de Sistemas Operativos

Estructuras de Sistemas Operativos Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

La vida en un mundo centrado en la red

La vida en un mundo centrado en la red La vida en un mundo centrado en la red Aspectos básicos de networking: Capítulo 3 1 Objetivos En este capítulo aprenderá a: Describir cómo las funciones de las tres capas superiores del modelo OSI que

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

REDES AD HOC INFORME DE REDES DE COMPUTADORES I. Felipe Muñoz 201321074-0 Jonathan Porta 201321054-6 Matías Contreras 201321034-1

REDES AD HOC INFORME DE REDES DE COMPUTADORES I. Felipe Muñoz 201321074-0 Jonathan Porta 201321054-6 Matías Contreras 201321034-1 REDES AD HOC INFORME DE REDES DE COMPUTADORES I Nombre ROL Felipe Muñoz 201321074-0 Jonathan Porta 201321054-6 Matías Contreras 201321034-1 Profesor: Agustín González Fecha: 28 de Julio del 2014 Nota:

Más detalles

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES? QUE ES COMLINE MENSAJES? Comline Mensajes es una plataforma flexible, ágil y oportuna, que permite el envío MASIVO de MENSAJES DE TEXTO (SMS). Comline Mensajes integra su tecnología a los centros de recepción

Más detalles

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web Arquitectura 1.- Aplicaciones Web Definición Contenidos 1.- Aplicaciones Web 2.- Arquitectura de aplicaciones Web Lo que distingue una aplicación Web de una mero sitio Web reside en la posibilidad que

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Cada punto puede publicar servicios y recursos (CPU, almacenamiento, bases de datos, documentos, etc) para que sean usados por otros puntos.

Cada punto puede publicar servicios y recursos (CPU, almacenamiento, bases de datos, documentos, etc) para que sean usados por otros puntos. JXTA INTRODUCCION La ventaja mas importante de las redes P2P radica en que cualquier peer puede proveer servicios (potencialmente), actuando en determinadas ocasiones como un servidor y en otras como un

Más detalles

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS GRADO 11 Nombre(s) y Apellidos: Jorge Alexander Silva Gómez. Documento: 1095826555 FICHA NÚMERO COLEGIO: Instituto Madre del Buen Concejo FECHA: Abril 23 del

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

9.1 Conceptos básicos

9.1 Conceptos básicos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Zuñiga, Víctor Alejandro 9.1 Conceptos básicos En este capítulo, se analizarán cinco arquitecturas diferentes y se discutirá cómo están

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

TEMA: Las Redes. NOMBRE Torres Castillo Ana Cristina. PROFESOR: Genaro Israel Casas Pruneda. MATERIA: Las TICS en la educación.

TEMA: Las Redes. NOMBRE Torres Castillo Ana Cristina. PROFESOR: Genaro Israel Casas Pruneda. MATERIA: Las TICS en la educación. TEMA: Las Redes NOMBRE Torres Castillo Ana Cristina. PROFESOR: Genaro Israel Casas Pruneda. MATERIA: Las TICS en la educación. QUÉ ES UNA RED? Una red informática es un conjunto de dispositivos interconectados

Más detalles

Implementación de tecnologías móviles para celular en una biblioteca universitaria

Implementación de tecnologías móviles para celular en una biblioteca universitaria Título de la ponencia: Implementación de tecnologías móviles para celular en una biblioteca universitaria Información del autor(es): Nombres y apellidos: JOSE O. VERA Grado académico: Ingeniero en Electrónica

Más detalles

Adelacu Ltda. www.adelacu.com Fono +562-218-4749. Graballo+ Agosto de 2007. Graballo+ - Descripción funcional - 1 -

Adelacu Ltda. www.adelacu.com Fono +562-218-4749. Graballo+ Agosto de 2007. Graballo+ - Descripción funcional - 1 - Graballo+ Agosto de 2007-1 - Índice Índice...2 Introducción...3 Características...4 DESCRIPCIÓN GENERAL...4 COMPONENTES Y CARACTERÍSTICAS DE LA SOLUCIÓN...5 Recepción de requerimientos...5 Atención de

Más detalles

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red. Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores

Más detalles

Beneficios estratégicos para su organización. Beneficios. Características V.2.0907

Beneficios estratégicos para su organización. Beneficios. Características V.2.0907 Herramienta de inventario que automatiza el registro de activos informáticos en detalle y reporta cualquier cambio de hardware o software mediante la generación de alarmas. Beneficios Información actualizada

Más detalles

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) APRENDERAPROGRAMAR.COM QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A) Sección: Divulgación Categoría: Herramientas Informáticas Fecha

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos ANEXO VI. Mejores prácticas para el éxito de un sistema de información Uno de los problemas de información dentro de las empresas es contar con datos importantes del negocio y que éstos estén aislados

Más detalles

Ingeniería de Software. Pruebas

Ingeniería de Software. Pruebas Ingeniería de Software Pruebas Niveles de prueba Pruebas unitarias Niveles Pruebas de integración Pruebas de sistema Pruebas de aceptación Alpha Beta Niveles de pruebas Pruebas unitarias Se enfocan en

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

Introducción a las Redes de Computadoras. Obligatorio 2 2011

Introducción a las Redes de Computadoras. Obligatorio 2 2011 Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente

Más detalles

Capítulo V. Implementación

Capítulo V. Implementación Capítulo V Implementación En este capítulo se especifican los recursos utilizados en la implementación de la interfaz, así como se describe su arquitectura funcional y las características principales.

Más detalles

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones. Módulo Profesional: Servicios en Red. Código: 0227. Resultados de aprendizaje y criterios de evaluación. 1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Más detalles

Contenido - 2. 2006 Derechos Reservados DIAN - Proyecto MUISCA

Contenido - 2. 2006 Derechos Reservados DIAN - Proyecto MUISCA Contenido 1. Introducción...3 2. Objetivos...4 3. El MUISCA Modelo Único de Ingresos, Servicio y Control Automatizado...4 4. Ingreso a los Servicios Informáticos Electrónicos...5 4.1. Inicio de Sesión

Más detalles

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios CAPÍTULO 2 Sistemas De De Multiusuarios Un sistema multiusuario es un sistema informático que da servicio, manera concurrente, a diferentes usuarios mediante la utilización compartida sus recursos. Con

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor Infraestructura Tecnológica Sesión 5: Arquitectura cliente-servidor Contextualización Dentro de los sistemas de comunicación que funcionan por medio de Internet podemos contemplar la arquitectura cliente-servidor.

Más detalles

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc

Más detalles