Agentes de software móviles: un paradigma alternativo para diseñar sistemas distribuidos

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

Download "Agentes de software móviles: un paradigma alternativo para diseñar sistemas distribuidos"

Transcripción

1 Agentes de software móviles: un paradigma alternativo para diseñar sistemas distribuidos Carla Mónica Capart - Marcia Silvana Stippi Director de tesina: Ing. Alejandro Rosales Tesina presentada a la Facultad de Ingeniería de la Universidad Nacional de la Patagonia San Juan Bosco como parte de los requisitos para la obtención del título de Licenciado en Informática Trelew, diciembre de 2006 Facultad de Ingeniería Sede Trelew Universidad Nacional de la Patagonia San Juan Bosco

2 Agradecimientos De Carla: A mi esposo Rodrigo y a mi hijito Franco, por comprenderme y perdonarme por todo el tiempo que les he quitado. A mamá, papá y mi hermano Alejandro, por valorar y apoyar siempre mis decisiones y proyectos. A mis suegros, por su acompañamiento durante la realización de este trabajo. De Marcia: A mi esposo Alexis, por su paciencia sin límites y su aliento constante. A toda mi familia, especialmente a mis padres, por inculcarme la importancia del estudio y ser un ejemplo de perseverancia y esfuerzo. De Carla y Marcia: Al Ing. Alejandro Rosales, por su dirección y sus sugerencias durante el desarrollo de esta tesina.

3 Resumen Un agente móvil es una entidad de software que tiene la capacidad de migrar en forma autónoma entre los nodos de una red. Para ello, suspende su ejecución, se transporta con su código, datos y estado de ejecución, y continúa ejecutándose en el nodo destino. En este trabajo, se presenta una aproximación general de la teoría de agentes móviles y su comparación con otros paradigmas de cómputo distribuido, se mencionan diferentes arquitecturas utilizadas para construir agentes de software, y se profundizan dos aspectos principales relacionados con la movilidad: el proceso de migración y la comunicación de agentes. Finalmente, se desarrolla un ejemplo siguiendo una metodología de análisis y diseño orientada a agentes con el propósito de facilitar la aplicación de los conceptos teóricos en un caso práctico. Carla M. Capart - Marcia S. Stippi Pág.: 1

4 Índice CAPÍTULO 1 INTRODUCCIÓN ORGANIZACIÓN MOTIVACIÓN EL CAMPO DE ESTUDIO OBJETIVOS Generales Particulares... 8 CAPÍTULO 2 CONCEPTOS BÁSICOS DEFINICIÓN DE AGENTE CLASIFICACIÓN DE AGENTES DEFINICIÓN DE AGENTE MÓVIL PARADIGMAS DE DISEÑO DE SISTEMAS DISTRIBUIDOS Cliente-servidor Evaluación remota Código por demanda Agentes móviles como un nuevo paradigma de diseño Comparación entre paradigmas BREVE HISTORIA DE AGENTES MÓVILES Los primeros pasos en código móvil Evaluación Remota Objetos móviles Procesos móviles Agentes móviles CARACTERÍSTICAS DE LOS AGENTES MÓVILES VENTAJAS DE LA UTILIZACIÓN DE AGENTES MÓVILES POSIBLES DOMINIOS DE APLICACIÓN CAPÍTULO 3 MODELOS Y ARQUITECTURAS ARQUITECTURAS ABSTRACTAS PARA AGENTES INTELIGENTES Agentes puramente reactivos Subsistemas de Percepción y Acción Agentes con estado TIPOS DE ARQUITECTURAS Agentes de razonamiento deductivo Agentes de razonamiento práctico Agentes reactivos Agentes híbridos ARQUITECTURAS MULTIAGENTES LA ARQUITECTURA FIPA ARQUITECTURA MASIF CAPÍTULO 4 MIGRACIÓN DE AGENTES TERMINOLOGÍA BÁSICA ESTRUCTURA DE UN AGENTE MÓVIL CICLO DE VIDA DE UN AGENTE MÓVIL Carla M. Capart - Marcia S. Stippi Pág.: 2

5 4.4 PROCESO DE MIGRACIÓN DE UN AGENTE TÓPICOS DE DISEÑO DE LA MIGRACIÓN DE AGENTES Vista del programador Vista del agente Vista de la red DESVENTAJAS DE LAS TÉCNICAS DE MIGRACIÓN SIMPLES RENDIMIENTO DE LOS AGENTES MÓVILES Aspectos de runtime Aspectos de transmisión CAPÍTULO 5 COMUNICACIÓN DE AGENTES MÓVILES TÓPICOS DE COMUNICACIÓN DE AGENTES MÓVILES CLASIFICACIÓN DE LOS MODELOS DE COMUNICACIÓN Pasaje de mensajes Espacio de información COMUNICACIÓN TRANSPARENTE DE LA UBICACIÓN Servidor Central Servidor Origen Punteros de Reenvío Broadcast Aproximaciones Jerárquicas COMPONENTES DEL MODELO DE COMUNICACIÓN LENGUAJES DE COMUNICACIÓN KQML (Knowledge Query and Manipulation Language) FIPA ACL (FIPA Agent Communication Language) CAPÍTULO 6 PLATAFORMAS PARA AGENTES MÓVILES CARACTERÍSTICAS DE ALGUNAS PLATAFORMAS ELECCIÓN DE LA PLATAFORMA A UTILIZAR DESCRIPCIÓN DE LA PLATAFORMA ELEGIDA: JADE Arquitectura de la plataforma Modelo de comunicación Características de un agente JADE Comportamientos Modelo de movilidad Requerimientos de software Ejecución de la plataforma Principales herramientas gráficas Ventajas de la utilización de JADE CAPÍTULO 7 CASO DE APLICACIÓN PRESENTACIÓN DE LA APLICACIÓN METODOLOGÍAS PARA EL DESARROLLO DE SISTEMAS MULTIAGENTES ANÁLISIS Y DISEÑO DE LA APLICACIÓN Fase de Análisis Fase de Diseño DIAGRAMAS DE CLASES CAPÍTULO 8 CONCLUSIONES GLOSARIO APÉNDICE A LUCENE APÉNDICE B INSTRUCTIVO DE LA APLICACIÓN APÉNDICE C MAILS A LISTA DE JADE BIBLIOGRAFÍA Carla M. Capart - Marcia S. Stippi Pág.: 3

6 Capítulo 1 Introducción 1.1 Organización A través de este trabajo pretendemos ofrecer una primera aproximación al paradigma de agentes de software, y en particular de agentes de software móviles, mostrando el estado del arte en lo que respecta a esta tecnología y aplicando una metodología de análisis y diseño orientada a agentes en el desarrollo de un caso práctico. Delinearemos a continuación, la secuencia de contenidos que iremos desarrollando en esta tesina. En el presente capítulo mencionamos nuestra motivación por el tema elegido; presentamos el campo de estudio, describiendo de manera general el paradigma de agentes móviles y cómo se inserta esta nueva tecnología dentro de los sistemas distribuidos actuales; e incluimos los objetivos de nuestra investigación. En el capítulo 2 introducimos los conceptos básicos referentes a agentes de software, y en particular a agentes de software móviles. Detallamos también los paradigmas tradicionales de diseño de sistemas distribuidos comparándolos con la tecnología de agentes móviles. Finalmente, describimos brevemente la evolución histórica de los agentes móviles y los posibles dominios de aplicación de esta tecnología. En el capítulo 3 presentamos arquitecturas abstractas para el modelado de agentes e incluimos una clasificación de los tipos de arquitecturas que se utilizan en la actualidad para construir agentes, la cual se basa en los diferentes modelos de representación del conocimiento y razonamiento utilizados en el diseño de los agentes. Luego abordamos las arquitecturas de sistemas multiagentes, mencionando los estándares FIPA y MASIF. En el capítulo 4 detallamos la estructura de un agente móvil y los pasos que tienen lugar en el proceso de migración. Luego explicamos los distintos tópicos de diseño concernientes a la migración de agentes y mencionamos los factores que inciden en el rendimiento de los mismos. Carla M. Capart - Marcia S. Stippi Pág.: 4

7 En el capítulo 5 tratamos los tópicos referentes a la comunicación de agentes móviles y describimos los distintos modelos de comunicación existentes. Explicamos también las técnicas que utilizan las plataformas de agentes para permitir que éstos se comuniquen de manera confiable a medida que van cambiando de ubicación durante la migración. Finalizando el capítulo, presentamos los lenguajes de comunicación de agentes, mencionando algunos estándares. En el capítulo 6 especificamos las características más relevantes de algunas plataformas para el desarrollo de agentes móviles. Luego presentamos la plataforma elegida para el desarrollo del caso de aplicación, justificando su elección; a continuación detallamos las características de esta plataforma y explicamos cómo utilizar el toolkit que provee para programar agentes móviles. En el capítulo 7 describimos el caso de aplicación desarrollado, presentamos la metodología seguida y exponemos los resultados obtenidos en las fases de análisis y diseño, incluyendo también los diagramas de clases de la aplicación. Finalmente, en el capítulo 8, exponemos algunas conclusiones del estudio realizado y sugerimos algunos trabajos que se podrían considerar en el futuro para profundizar en el conocimiento de esta tecnología y su aplicación. La tesina concluye con tres apéndices. En el apéndice A, describimos las características más relevantes de Lucene, la librería utilizada en la aplicación desarrollada para confeccionar los índices y realizar las búsquedas en los documentos. En el apéndice B incluimos información sobre los requerimientos y la configuración del programa, así como también el instructivo de uso. En el apéndice C recopilamos los mails intercambiados con los desarrolladores de la plataforma utilizada. 1.2 Motivación La tecnología de agentes móviles plantea para nosotras un nuevo universo dentro del diseño de sistemas distribuidos, ya que es un tema que trasciende las fronteras de los contenidos abordados en materias como Redes y Transmisión de Datos y Sistemas Distribuidos, de la Licenciatura en Informática, en las cuales hemos estudiado algunas técnicas tradicionales de distribución de código como cliente-servidor (aplicaciones basadas en RPC, RMI, etc.) o código bajo demanda (por ejemplo, Applets en lenguaje Java). Carla M. Capart - Marcia S. Stippi Pág.: 5

8 Teníamos conocimiento del auge de la mencionada tecnología y de las afirmaciones de investigadores que la proponen como una solución promisoria para satisfacer las demandas del usuario de hoy, que surgen de la computación nómada y del uso creciente de las redes inalámbricas, entre otras tendencias actuales. Estas demandas conllevan a buscar soluciones tan dinámicas y móviles como los usuarios finales. Esto nos llevó a interiorizarnos sobre el tema ya que concebimos como profesionales en informática, que para aplicar una tecnología es importante conocer, además del uso de las herramientas, los fundamentos que la sustentan. Todo lo expuesto nos orientó a enfocar la investigación en los mecanismos utilizados para implementar la movilidad y a profundizar sobre los aspectos de diseño relacionados con el proceso de migración y la comunicación de los agentes móviles, ya que consideramos que en ambientes distribuidos con ciertas características (entornos abiertos y cambiantes, con redes heterogéneas y con conexiones de red de distinta calidad) la tecnología de agentes móviles se convierte en una herramienta que se debe tener en cuenta a la hora de diseñar sistemas distribuidos. 1.3 El campo de estudio Como consecuencia de los avances de los últimos años en las tecnologías de redes y computación, los sistemas distribuidos, antes compuestos por un conjunto de computadoras homogéneas, con igual tipo de procesador y de sistema operativo, conectadas por una red dedicada, evolucionaron permitiendo la conexión de un gran número de computadoras heterogéneas. Internet ha sido ampliamente aceptada como un medio de intercambio de información muy importante, incrementándose continuamente el número de usuarios y el número de servicios ofrecidos en la red. El proceso de encontrar los datos más adecuados para un usuario se ha convertido en una tarea sumamente compleja, llevando al desarrollo de nuevas técnicas inteligentes para búsqueda, filtrado y gestión de datos con el fin de optimizar el uso de los recursos compartidos. Sumado a esto, han surgido nuevas tendencias que van tomando importancia, tales como el uso de redes inalámbricas y la computación nómada, la cual implica que los usuarios deben poder conectarse desde diferentes lugares y dispositivos y ver uniformemente los mismos datos y aplicaciones. Braun y Rossak (2005) sostienen que estas Carla M. Capart - Marcia S. Stippi Pág.: 6

9 tendencias requerirán la utilización de técnicas basadas en principios de comunicación entre pares (peer-to-peer), más que paradigmas centralizados como cliente-servidor. Es en este contexto que la tecnología de agentes de software móviles ofrece un paradigma de diseño de sistemas distribuidos alternativo a otras técnicas de cómputo distribuido más tradicionales, como cliente-servidor, código bajo demanda o evaluación remota. Este paradigma se basa en la utilización de código móvil y acepta la distribución como concepto básico, ofreciendo además nuevas características que permiten alcanzar un nuevo nivel de abstracción y calidad. Así como la programación orientada a objetos ofrece un mayor nivel de abstracción que la programación estructurada, facilitando el desarrollo y el mantenimiento del software, la teoría de agentes, y en particular la de agentes móviles, otorga una serie de mecanismos que permiten dar un paso más allá en el desarrollo de sistemas informáticos distribuidos, agregando características como la interacción dinámica de componentes de software autónomos y heterogéneos. Un agente de software es un programa capaz de interactuar en forma autónoma con el ambiente en el cual se encuentra, a fin de lograr sus objetivos. Un agente móvil es un tipo especial de agente de software, que tiene la capacidad de suspender su ejecución, moverse a otro nodo de la red transportando su código, datos y estado de ejecución, y continuar ejecutándose en el nodo destino. Los agentes móviles ayudan a los usuarios a operar en entornos dinámicos y distribuidos que exigen que el software, además de responder a los requerimientos del usuario, se adapte a las circunstancias, se anticipe e intente solucionar los inconvenientes que se presentan sin la intervención del mismo. La diferencia principal entre el paradigma de agentes móviles y los otros mencionados, consiste en que los agentes poseen la capacidad de controlar su propia localización en una red, con el fin de desplazarse en forma autónoma hacia donde se encuentran los recursos tanto de hardware como de información que necesita para llevar a cabo determinada tarea. Esta característica se traduce en ventajas como la reducción del tráfico en la red, la eliminación de latencia de red en aplicaciones de tiempo real y la posibilidad de operar sin conexión, las cuales resultan muy beneficiosas para los usuarios que utilizan computadoras portátiles, con baja capacidad de proceso o con poco espacio de almacenamiento y los que tienen bajo ancho de banda en la red. Carla M. Capart - Marcia S. Stippi Pág.: 7

10 1.4 Objetivos Generales Investigar el paradigma de agentes de software, en particular, aquellos denominados móviles. Desarrollar un ejemplo de aplicación práctica que utilice la tecnología de agentes móviles Particulares Estudiar las características generales de agentes, así como también su clasificación y los diferentes problemas en los cuales encuentran aplicación. Investigar ventajas/desventajas del paradigma de agentes móviles respecto a otros tradicionales como cliente-servidor. Presentar las distintas arquitecturas, modelos de movilidad y de comunicación de agentes móviles. Diseñar e implementar una aplicación basada en agentes móviles de tal forma de poder aplicar en forma práctica los conceptos teóricos investigados. Investigar las plataformas existentes que permiten la implementación de agentes móviles, a fin de seleccionar una de ellas para el desarrollo de la aplicación práctica. Carla M. Capart - Marcia S. Stippi Pág.: 8

11 Capítulo 2 Conceptos básicos En este capítulo se presentarán los conceptos básicos referentes a agentes de software, y en particular a agentes de software móviles: definición, clasificación, orígenes, ventajas y posibles dominios de aplicación. Además se describirán brevemente algunos paradigmas tradicionales de diseño de sistemas distribuidos, comparándolos con la tecnología de agentes móviles. 2.1 Definición de agente El término agente viene del latín agere que significa hacer. Agente deriva del participio agens. Expresa la capacidad de acción o actuación de una entidad. En las Ciencias de la Computación, el término agente ha sido usado desde mediados de la década del 70 y fue introducido por el área de la Inteligencia Artificial. No existe una definición universalmente aceptada para el término agente de software, ya que ésta se ve influenciada por las diferentes áreas en las que los agentes se han aplicado, como la Inteligencia Artificial, los Sistemas Distribuidos, la Ingeniería de Software, etc. En el presente trabajo se abordará la definición desde el punto de vista de los Sistemas Distribuidos: un agente es una entidad de software con una arquitectura robusta y adaptable que puede funcionar en distintos entornos o plataformas computacionales y es capaz de realizar de forma inteligente y autónoma distintos objetivos intercambiando información con el entorno, o con otros agentes humanos o computacionales (Garijo, 2002: 2). La entidad de software involucrada puede ser un programa de computadora, un componente de software, o, en términos de lenguajes orientados a objetos, simplemente un objeto. Sin embargo, los verdaderos agentes de software, deben considerarse como una extensión más general del concepto de objetos o componentes de software, ya que mientras los objetos de software son pasivos, los agentes son activos. Carla M. Capart - Marcia S. Stippi Pág.: 9

12 La definición de qué constituye exactamente un agente de software ha sido y continúa siendo debatida por la comunidad de investigadores. Sin embargo, existe un acuerdo común en que un agente debe exhibir algunas características mínimas para ser calificado como tal. Dichas características son: Autonomía: los agentes operan y funcionan de acuerdo con sus propios planes, no necesitan seguir un orden en la ejecución del plan dado por su propietario y no necesitan pedirle confirmación al mismo para ejecutar cada tarea (Braun y Rossak, 2005: 9). Comportamiento Social: los agentes interactúan con otros agentes o humanos mediante algún mecanismo de comunicación. Esta comunicación puede restringirse a un intercambio puro de información o puede incluir sofisticados protocolos de negociación (Braun y Rossak, 2005: 9). Reactividad: los agentes perciben su ambiente y responden a los cambios de éste (Wooldridge, 2005: 23). Proactividad: los agentes no solo actúan en respuesta a su ambiente, sino que son capaces de tomar la iniciativa y tener comportamiento orientado a metas para satisfacer sus objetivos de diseño (Wooldridge, 2005: 23). 2.2 Clasificación de agentes Al igual que sucede con la definición de agentes de software, no hay una sola clasificación posible de los mismos. En base a sus capacidades de resolver problemas se clasifican en: Agentes reactivos: realizan tareas sencillas. Reaccionan a cambios en su ambiente o a mensajes provenientes de otros agentes. No son capaces de razonar acerca de sus intenciones. Sus acciones se realizan como resultado de reglas establecidas. Agentes cognitivos: realizan tareas complejas. Son capaces de razonar acerca de sus intenciones y conocimientos, crear planes de acción y ejecutar dichos planes. Utilizan algún tipo de representación explícita (simbólica) del conocimiento. Además, pueden tener la capacidad de aprender en base a su experiencia. En base a su movilidad: Carla M. Capart - Marcia S. Stippi Pág.: 10

13 Agentes estáticos: son entidades que permanecen siempre fijas en un nodo, es decir, no se les permite migrar. Agentes móviles: son entidades de software capaces de viajar por redes de computadoras visitando distintos nodos a fin de realizar las tareas necesarias para cumplir con sus objetivos de diseño. Una vez concluido su trabajo pueden regresar a su lugar de origen o eliminarse. En base a la tarea que desempeñan: Agentes colaborativos: enfatizan su autonomía y cooperación (con otros agentes) para llevar a cabo tareas para sus propietarios. Agentes de interfaz: asistentes personales que colaboran con el usuario en un ambiente dado. Soportan y proveen asistencia al usuario observándolo y sugiriéndole otras formas de realizar las acciones. Agentes de entretenimiento: agentes que proveen al usuario de algún tipo de entretenimiento (por ejemplo, juegos). Agentes de información: también se conocen como agentes web, de búsqueda, spiders, worms, robots o crawlers. Realizan la tarea de administrar, manipular o recolectar información proveniente de varias fuentes distribuidas. Agentes híbridos: son aquellos que en su funcionamiento poseen la combinación de dos o más de las capacidades de los tipos mencionados. Con respecto a los agentes de información, cabe mencionar que su uso más difundido está dado por los motores de búsqueda (google, yahoo, etc.) para buscar en páginas web y construir índices automáticamente. Los agentes web convencionales son estáticos; se conectan a los servidores web mediante el protocolo HTTP para solicitar una página html y la procesan en forma local. Sin embargo, existen agentes web móviles que migran a los servidores web y realizan su tarea utilizando los recursos del nodo destino. 2.3 Definición de agente móvil Los agentes de software móviles se definen como programas de computadora completos e identificables, empaquetados con su código, datos, y estado de ejecución, que pueden moverse dentro de una red heterogénea de sistemas de computación. Ellos pueden Carla M. Capart - Marcia S. Stippi Pág.: 11

14 suspender su ejecución en un punto arbitrario y transportarse a sí mismos a otro sistema de computación. Durante esta migración el agente es transmitido completamente, esto es, como un conjunto de código, datos, y estado de ejecución. En el sistema de computación destino, la ejecución de un agente es reanudada exactamente en el punto donde fue suspendida antes (Braun y Rossak, 2005: 11). Desde el punto de vista de los Sistemas Distribuidos, la tecnología de agentes móviles se puede considerar como un paradigma de diseño adicional en el área de la programación distribuida y un suplemento útil a otros paradigmas tradicionales tales como cliente-servidor, los cuales se tratarán en la próxima sección. 2.4 Paradigmas de diseño de sistemas distribuidos Para presentar los distintos paradigmas de diseño se partirá de la definición de sistema distribuido. Según Tanenbaum y Van Steen (2002: 2) un sistema distribuido es una colección de computadoras independientes que se presentan a sus usuarios como un solo sistema coherente. Para lograr satisfacer esta definición, este tipo de sistemas se organiza frecuentemente en una jerarquía de capas de software como se muestra en la figura 2.1. Aplicaciones Distribuidas Middleware Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo Sistema Operativo Sistema Operativo Sitio Sitio Sitio Hardware Figura 2.1: Sistema distribuido estructurado como middleware La capa inferior, ubicada sobre el hardware, está conformada por el sistema operativo (S.O.), que provee servicios básicos tales como la administración de archivos, Carla M. Capart - Marcia S. Stippi Pág.: 12

15 memoria y procesos. Sobre la capa del S.O. se localiza el sistema operativo de red, que provee servicios de comunicación dependientes de la localización de los recursos (por ejemplo, sockets). Entre el sistema operativo de red y las aplicaciones se encuentra ubicada una capa denominada middleware, que oculta la heterogeneidad de las plataformas subyacentes y brinda transparencia de distribución a dichas aplicaciones. Los sistemas distribuidos que ofrecen movilidad de código presentan una perspectiva diferente, ya que no ocultan la estructura de la red a los programadores. En estos sistemas, la capa middleware no brinda transparencia de distribución, sino que provee un entorno de ejecución el cual permite que los componentes de software migren de un sitio a otro de la red (ver figura 2.2). De acuerdo con lo explicado anteriormente, se puede resaltar que la diferencia entre un sistema distribuido que provee movilidad de código y uno que no, se encuentra en el hecho de que, en el primero, el programador debe tener en cuenta la localización de los componentes de software. Esto último, sumado a la capacidad de movilidad que posee cada componente, influye directamente en el modo en que éstos interactúan con los recursos, dependiendo de si son locales o remotos. Aplicaciones Distribuidas Entorno de Ejecución Entorno de Ejecución Entorno de Ejecución Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo de Red Sistema Operativo Sistema Operativo Sistema Operativo Sitio Sitio Sitio Hardware Figura 2.2: Sistema distribuido que provee movilidad de código A continuación se mencionan tres paradigmas tradicionales de diseño de sistemas distribuidos. El primero, cliente-servidor, se incluye por su amplia difusión aunque no presenta la característica de movilidad. Los dos restantes, evaluación remota y código por Carla M. Capart - Marcia S. Stippi Pág.: 13

16 demanda, sí explotan la noción de movilidad de código. Por último, se presenta un paradigma alternativo de diseño de sistemas distribuidos basado en agentes móviles. En lo que resta de esta sección se utilizarán los siguientes términos: Sitio: representa una localidad en un sistema distribuido, por ejemplo, una simple computadora como parte de una red. Recursos: los recursos de un sitio son cualquier tipo de archivo, base de datos, o cualquier dispositivo externo. Interacción: cualquier relación entre código o recursos del mismo o distintos sitios Cliente-servidor Cliente-servidor es, en el presente, el paradigma de computación distribuida más común (figura 2.3). En él, un sitio que actúa como servidor ofrece un conjunto de servicios. Otro sitio, el cliente, requiere de alguno de esos servicios para completar su tarea; entonces, envía al servidor un requerimiento por un servicio específico usando una interacción. El servidor ejecuta el servicio requerido utilizando recursos locales y envía el resultado al cliente usando otra interacción. En este paradigma, todos los componentes son inmóviles con respecto a su ejecución, no existe código móvil. El requerimiento usualmente contiene el nombre del servicio junto con algunos parámetros adicionales. Este concepto es usado, por ejemplo, en Remote Procedure Call (RPC), Remote Method Invocation (RMI) y CORBA. En los últimos años, ha ganado popularidad una nueva técnica cliente-servidor para sistemas distribuidos, denominada Web Services. Mientras que las aplicaciones basadas en CORBA o RMI se desarrollan principalmente para ser ejecutadas en redes de área local (intranets), los web services son componentes de software distribuidos ampliamente en Internet Evaluación remota A diferencia del paradigma anterior, en este caso el cliente envía un fragmento de código al servidor para que sea ejecutado allí, como se muestra en la figura 2.4. El servidor ejecuta el código utilizado recursos locales y luego envía el resultado al cliente usando una interacción. Aquí el código es móvil y se envía desde cliente a servidor. El tipo de código depende de la implementación concreta del paradigma, puede ser algún tipo de script que se transmite como código fuente o algún formato de código intermedio que puede ser Carla M. Capart - Marcia S. Stippi Pág.: 14

17 interpretado fácilmente por el servidor. Por ejemplo, el lenguaje PostScript utilizado por algunas impresoras, permite que una aplicación interactúe con la misma enviándole programas PostScript. Dichos programas son ejecutados por la impresora, por lo tanto pueden utilizar los dispositivos de impresión tales como el tóner, tractor, etc., los cuales en este caso cumplirían el rol de recursos. Este esquema permite flexibilizar al máximo las capacidades de software de la impresora (por ejemplo, se utiliza para descargar fuentes en el disco rígido de la impresora), a la vez que permite alivianar la carga de CPU de la computadora que utiliza la impresora Código por demanda En este paradigma se invierten los roles con respecto a evaluación remota, ya que en este caso el código viaja de servidor a cliente (figura 2.5). Éste último tiene acceso a sus recursos pero el código para accederlos se encuentra en el servidor, el código se envía del servidor al cliente y se ejecuta allí. El ejemplo más claro de esta técnica son los applets del lenguaje Java Agentes móviles como un nuevo paradigma de diseño En este paradigma, el código, mientras se está ejecutando en un sitio, determina que necesita acceder a algún recurso actualmente localizado en otro sitio. Los dos sitios interactúan de forma tal que el código se transmite al sitio destino, junto con alguna información acerca del estado de ejecución actual. En el sitio destino, el código se continúa ejecutando, accediendo a los recursos locales. Más tarde, puede decidir que necesita recursos de otros sitios, y entonces, migrar nuevamente hacia otro sitio. Referencias C: Componente de código R: Recurso F: Fragmento de código Cliente Servidor C Requerimiento (1) C R Respuesta (2) Sitio A Sitio B Figura 2.3: Cliente-Servidor Carla M. Capart - Marcia S. Stippi Pág.: 15

18 Cliente Servidor Código (1) F F C R Respuesta (2) Sitio A Sitio B Figura 2.4: Evaluación Remota Cliente Req. de código(1) Servidor R C F C F Código (2) Sitio A Sitio B Figura 2.5: Código por demanda Migración (3) C Migración C R Migración C (1) (2) Sitio A Sitio B Sitio C R Figura 2.6: Paradigma de agentes móviles Comparación entre paradigmas La diferencia principal entre el paradigma cliente-servidor y los demás mencionados es que en el primero el código permanece en una ubicación fija, en cambio, en los otros la localización puede variar, transformándolos en modelos más flexibles y configurables. Al mismo tiempo estos paradigmas, con la posibilidad de movilidad de código que brindan, promueven la descomposición de la aplicación en varios componentes simples. Esta característica es aprovechada al máximo por el paradigma de agentes móviles, en el cual se aspira, además, a que cada componente sea autónomo. De esa manera, las aplicaciones se Carla M. Capart - Marcia S. Stippi Pág.: 16

19 constituyen de varios agentes, cada uno de los cuales realiza una tarea específica, tratando de minimizar las interacciones remotas con otros componentes. Otro aspecto a considerar cuando se compara entre los paradigmas cliente-servidor y agentes móviles es el nivel de granularidad de servicios ofrecidos por cada uno. En clienteservidor, para proveer un nivel de granularidad alto, es decir para que el servidor cumpla exactamente el servicio que el cliente necesita, éste último tiene que realizar varias llamadas a procedimientos remotos para satisfacer sus requerimientos. Esta secuencia de llamadas a través de la red incrementa en gran medida el tráfico sobre la misma, especialmente cuando se envían grandes volúmenes de datos, viéndose perjudicado el rendimiento de todo el sistema. En cambio, en agentes móviles, la flexibilidad y reusabilidad de los servicios se incrementan considerablemente, aumentando el nivel de granularidad ofrecido por cada agente. 2.5 Breve historia de agentes móviles Los primeros pasos en código móvil La idea de enviar código en un formato independiente de la arquitectura hacia diferentes hosts en una red fue introducida, probablemente por primera vez, en 1969 por Rulifson y sus colaboradores en el desarrollo del lenguaje de programación DEL (Decode- Encode-Language) (Braun y Rossak, 2005: 18). La idea era comunicarse a un host remoto y descargar un programa al comienzo de la sesión. Dicho programa, escrito en DEL, podía entonces controlar la comunicación y usar eficientemente el ancho de banda disponible entre el host del usuario local y el host remoto. Aproximadamente diez años más tarde, un grupo de investigación de una Universidad en Suiza tuvo la idea de construir una red de radio orientada a paquetes, llamada Softnet. Cada paquete enviado por la red era un programa escrito en lenguaje FORTH, y cada nodo de red que recibía el paquete ejecutaba inmediatamente el programa. Usando esta técnica, cada usuario podía proveer a cada nodo de la red de nuevos servicios. En 1982, se hicieron los primeros experimentos con software móvil para la empresa Xerox, los cuales consistían en gusanos (worms) que buscaban en una red de área local procesadores ociosos. Carla M. Capart - Marcia S. Stippi Pág.: 17

20 2.5.2 Evaluación Remota Joseph R. Falcone abordó, en 1987, el problema de proveer interfaces específicas del cliente para servicios remotos a través de un sistema distribuido heterogéneo (Braun y Rossak, 2005: 18). En lugar de ofrecer una interfaz simple con muchas funciones pequeñas para satisfacer a una gran cantidad de clientes, Falcone buscaba habilitar a los clientes para que programen sus propias interfaces, usando un nuevo lenguaje de programación llamado NCL (Network Command Language). En NCL un cliente envía una expresión al servidor, el cual ejecuta la expresión usando funciones estándar provistas en forma de una librería. El servidor envía el resultado (otra expresión) hacia el cliente, el cual puede comenzar otra vez el proceso. Hubo otras aproximaciones similares a NCL, por ejemplo, REV (Remote-Evaluation), el cual extendía la idea de llamadas a procedimientos remotos (RPC) surgida en En REV, un cliente enviaba un requerimiento hacia el servidor en la forma de un programa. El servidor ejecutaba el programa y enviaba el resultado al cliente Objetos móviles Un paso más hacia la tecnología de agentes móviles fue la incorporación de un mínimo tipo de autonomía al concepto de mensajería. Esta técnica se conoció como objetos móviles. La idea era crear mensajes activos, es decir, mensajes que eran capaces de migrar hacia host remotos. Un mensaje contenía datos y algo de código de programa que era ejecutado en cada servidor. Sin embargo, en este concepto, dominaba la porción de datos por sobre la porción activa (es decir, el código). El proyecto Messengers propuso en 1996 el concepto de objetos autónomos, los que se llamó mensajeros. Los mensajeros eran capaces de migrar autónomamente a través de una LAN de servidores dedicados que aceptaban esos objetos. La diferencia con respecto a las técnicas descriptas previamente es que un mensajero no se transfería únicamente a un servidor remoto sino que era capaz de migrar autónomamente a través de una red completa. Sin embargo, el concepto estaba limitado a LANs estáticas y no incluía ninguna noción de inteligencia a nivel de aplicación. La autonomía de un mensajero estaba limitada a resolver problemas del sistema y no requerimientos del usuario. Carla M. Capart - Marcia S. Stippi Pág.: 18

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

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

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

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

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

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

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

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

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

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

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

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

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

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

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

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

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Descripción general de la solución Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta Lo que aprenderá A medida que tecnologías como la nube, la movilidad, los medios sociales

Más detalles

La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula.

La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula. Presentación La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula. Recursos: Netbook para cada estudiante con software E-learning Class para almnos, computadora

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

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

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

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

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

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

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto Introducción: Sobre casi cualquier tema del quehacer humano que se aborde, existen

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

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final INTRODUCCION En principio surgió la idea de un buscador que brinde los resultados en agrupaciones de

Más detalles

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

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

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

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS Administración Nacional de Universidad de la República Educación Pública Facultad de Ingenieria CF Res..0.07 Consejo Directivo Central Consejo Directivo Central Res..05.07 Res. 17.0.07 TECNÓLOGO EN INFORMÁTICA

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

Las 10 razones principales por las cuales debe de elegir unipaas

Las 10 razones principales por las cuales debe de elegir unipaas Las 10 razones principales por las cuales debe de elegir unipaas Presentando unipaas de Magic Software La nueva generación de productos de desarrollo y de ejecución ya está aquí! Bienvenidos a unipaas

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

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

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

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

Gestión de Oportunidades

Gestión de Oportunidades Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

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

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

Grado en Ingeniería Informática

Grado en Ingeniería Informática Grado en Ingeniería Informática Competencias Generales y trasversales De acuerdo con la resolución del Consejo de Universidades de fecha 3 de marzo de 2009, para obtener este título de grado en ingeniería

Más detalles

CAPITULO I FORMULACION DEL PROBLEMA

CAPITULO I FORMULACION DEL PROBLEMA CAPITULO I FORMULACION DEL PROBLEMA TITULO DESCRIPTIVO DEL PROYECTO. Implementación de un servidor proxy para el control de tráfico de la red y gestión de los servicios de Internet en los centros de cómputo

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

-OPS/CEPIS/01.61(AIRE) Original: español Página 11 5. Estructura del programa de evaluación con personal externo

-OPS/CEPIS/01.61(AIRE) Original: español Página 11 5. Estructura del programa de evaluación con personal externo Página 11 5. Estructura del programa de evaluación con personal externo 5.1 Introducción Esta sección presenta la estructura del programa de evaluación con personal externo. Describe las funciones y responsabilidades

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos

Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Plan de estudios Maestría en Sistemas de Información y Tecnologías de Gestión de Datos Antecedentes y Fundamentación Un Sistema de Información es un conjunto de componentes que interactúan entre sí, orientado

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

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

CSIR2121. Administración de Redes I

CSIR2121. Administración de Redes I CSIR2121 Administración de Redes I Objetivos: Al finalizar la clase el estudiante podrá: Mencionar el propósito del desarrollo del modelo TCP/IP. Explicar cada una de las capas del modelo TCP/IP. Comparar

Más detalles

Unidad VI: Supervisión y Revisión del proyecto

Unidad VI: Supervisión y Revisión del proyecto Unidad VI: Supervisión y Revisión del proyecto 61. Administración de recursos La administración de recursos es el intento por determinar cuánto, dinero, esfuerzo, recursos y tiempo que tomará construir

Más detalles

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

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 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

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

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

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

Servidores Donantonio

Servidores Donantonio Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecución

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

CRM. Qué es CRM. Información para la Gestión

CRM. Qué es CRM. Información para la Gestión CRM Qué es CRM Es una estrategia de negocios orientada a la fidelización de clientes, enfocándose en que cada empleado de la empresa tenga información actualizada y confiable de los mismos, con el objetivo

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

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

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

Administración del conocimiento y aprendizaje organizacional.

Administración del conocimiento y aprendizaje organizacional. Capítulo 2 Administración del conocimiento y aprendizaje organizacional. 2.1 La Importancia Del Aprendizaje En Las Organizaciones El aprendizaje ha sido una de las grandes necesidades básicas del ser humano,

Más detalles

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica C1. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar

Más detalles

INTERNET Y WEB (4º ESO)

INTERNET Y WEB (4º ESO) INTERNET Y WEB (4º ESO) 1. CLASIFICACIÓN DE LAS REDES Internet se define comúnmente como la Red de redes, o la Red global. En cualquier caso, puede considerarse como la unión de entidades más pequeñas

Más detalles

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

CAPÍTULO I. Sistemas de Control Distribuido (SCD). 1.1 Sistemas de Control. Un sistema es un ente cuya función es la de recibir acciones externas llamadas variables de entrada que a su vez provocan una o varias reacciones como respuesta llamadas variables

Más detalles

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) Introducción 1. Como se indica en la Norma Internacional de Auditoría 401, "Auditoría en un contexto informatizado", los objetivos globales

Más detalles

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... Tabla de Contenido PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO... 2 1. LA PRESENCIA DE INFORMACIÓN Y AYUDA ÚTIL PARA COMPLETAR LOS TRÁMITES EN LÍNEA.... 2 2. LA DISPONIBILIDAD DE DIVERSOS

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Qué es Google Calendar? Qué se puede hacer en Google Calendar? Qué es Google Calendar? Google Calendar es una herramienta web 2.0 que permite tener una agenda virtual a la que se puede acceder desde cualquier lugar, en forma gratuita. La característica más interesante

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008 Última actualización: 01 de Setiembre de 2008 Copyright Artech Consultores S. R. L. 1988-2008. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento

Más detalles

Capitulo I. Introducción

Capitulo I. Introducción Capitulo I. Introducción 1.1 Descripción del trabajo El ser humano, como todos sabemos tiene la necesidad de comunicarse, de ser escuchado y sobretodo interactuar con los demás seres vivos que lo rodean.

Más detalles

SUPLEMENTO EUROPASS AL TÍTULO

SUPLEMENTO EUROPASS AL TÍTULO SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Multiplataforma --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

REDES INFORMATICAS: Protocolo IP

REDES INFORMATICAS: Protocolo IP REDES INFORMATICAS: Protocolo IP 1. PRINCIPIOS BÁSICOS DE IP El protocolo IP se basa en tres principios básicos: Un direccionamiento de los ordenadores. Un tipo de dato: el datragrama IP. Un algoritmo

Más detalles

Unidad III. Software para la administración de proyectos.

Unidad III. Software para la administración de proyectos. Unidad III Software para la administración de proyectos. 3.1 Herramientas de software para administrar proyectos. El software de administración de proyectos es un concepto que describe varios tipos de

Más detalles

La toma de decisiones está presente dentro de la vida de la mayoría de las personas. Los

La toma de decisiones está presente dentro de la vida de la mayoría de las personas. Los ANEXO II. Sistema de Soporte a las Decisiones-SSD La toma de decisiones está presente dentro de la vida de la mayoría de las personas. Los gerentes día a día deben tomar decisiones también, la diferencia

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

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea

Clientes Donantonio. Especificación de requisitos software. Juan José Amor David Escorial Ismael Olea Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP Visual Sale posee módulos especializados para el método de ventas transaccional, donde el pedido de parte de un nuevo cliente

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

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión)

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión) ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB (Modificada en 2008) (IV Difusión) Interpretación SIC-32 Activos Intangibles - Costos de Sitios Web Referencias

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

MINING SOLUTIONS LIMITADA

MINING SOLUTIONS LIMITADA MINING SOLUTIONS LIMITADA Contenido... 1 Resumen Ejecutivo... 3... 4 Nuestros Servicios... 5 Administración de proyectos... 6 Operación y mantenimiento sobre los Sistema de Manejo de la Información Geológica

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

Almacenamiento virtual de sitios web HOSTS VIRTUALES

Almacenamiento virtual de sitios web HOSTS VIRTUALES Almacenamiento virtual de sitios web HOSTS VIRTUALES El término Hosting Virtual se refiere a hacer funcionar más de un sitio web (tales como www.company1.com y www.company2.com) en una sola máquina. Los

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

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

BPMN Business Process Modeling Notation

BPMN Business Process Modeling Notation BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes

Más detalles

El modelo de ciclo de vida cascada, captura algunos principios básicos:

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles