Integración de Sistemas Embebidos Utilizando Servicios Web

30
Integración de Sistemas Embebidos Integración de Sistemas Embebidos Utilizando Servicios Web Utilizando Servicios Web Integrantes: • Kenny, Juan Francisco • Patriarca, Rodrigo Informática III Informática III 2010 2010 Presentación Paper Presentación Paper

description

Informática III 2010 Presentación Paper. Integración de Sistemas Embebidos Utilizando Servicios Web. Integrantes: Kenny, Juan Francisco Patriarca, Rodrigo Santa Cruz, Santiago. Resumen. Las aplicaciones embebidas en la actualidad requieren una integración cada vez mayor. - PowerPoint PPT Presentation

Transcript of Integración de Sistemas Embebidos Utilizando Servicios Web

Page 1: Integración de Sistemas Embebidos Utilizando Servicios Web

Integración de Sistemas Embebidos Integración de Sistemas Embebidos Utilizando Servicios WebUtilizando Servicios Web

Integrantes:

• Kenny, Juan Francisco

• Patriarca, Rodrigo

• Santa Cruz, Santiago

Informática IIIInformática III

20102010

Presentación PaperPresentación Paper

Page 2: Integración de Sistemas Embebidos Utilizando Servicios Web

ResumenResumen Las aplicaciones embebidas en la actualidad requieren una Las aplicaciones embebidas en la actualidad requieren una

integración cada vez mayor.integración cada vez mayor.

Los Servicios Web proporcionan una arquitectura Los Servicios Web proporcionan una arquitectura distribuida orientada a los servicios (SOA) para la distribuida orientada a los servicios (SOA) para la interconexión de sistemas a través de redes TCP / IP.interconexión de sistemas a través de redes TCP / IP.

Los Servicios Web permiten una integración que aún no es Los Servicios Web permiten una integración que aún no es proporcionada por las aplicaciones embebidas.proporcionada por las aplicaciones embebidas.

El presente trabajo tiene por objeto demostrar la viabilidad El presente trabajo tiene por objeto demostrar la viabilidad del uso de Servicios Web para la integración de del uso de Servicios Web para la integración de aplicaciones embebidas que se ejecutan en arquitecturas aplicaciones embebidas que se ejecutan en arquitecturas heterogéneas.heterogéneas.

Page 3: Integración de Sistemas Embebidos Utilizando Servicios Web

DefinicionesDefiniciones

Sistema embebido:Sistema embebido:Es un sistema de computación diseñado para Es un sistema de computación diseñado para realizar una o algunas pocas funciones realizar una o algunas pocas funciones dedicadas frecuentemente en un sistema dedicadas frecuentemente en un sistema de computación en tiempo real. Los sistemas de computación en tiempo real. Los sistemas embebidos se utilizan para usos muy diferentes embebidos se utilizan para usos muy diferentes a los usos generales a los que se suelen a los usos generales a los que se suelen someter a las computadoras personales.someter a las computadoras personales.

Page 4: Integración de Sistemas Embebidos Utilizando Servicios Web

Diagrama de bloques de un Diagrama de bloques de un sistema embebido típicosistema embebido típico

Page 5: Integración de Sistemas Embebidos Utilizando Servicios Web

DefinicionesDefiniciones

Servicios Web:Servicios Web:En inglés, En inglés, Web services,Web services, es un conjunto de es un conjunto de protocolos y estándares que sirven para protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en aplicaciones de software desarrolladas en lenguajes de programación diferentes, y lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la La interoperabilidad se consigue mediante la adopción de estándares abiertos.adopción de estándares abiertos.

Page 6: Integración de Sistemas Embebidos Utilizando Servicios Web

DefinicionesDefiniciones

Computación Ubicua:Computación Ubicua:Es la integración de la informática en el Es la integración de la informática en el entorno de la persona, de forma que los entorno de la persona, de forma que los ordenadores no se perciban como objetos ordenadores no se perciban como objetos diferenciados. Tiene como objetivo insertar diferenciados. Tiene como objetivo insertar dispositivos inteligentes tanto en el entorno dispositivos inteligentes tanto en el entorno como en aparatos de uso diario para que como en aparatos de uso diario para que las personas puedan interactuar con ellos las personas puedan interactuar con ellos de una manera natural y desinhibida en de una manera natural y desinhibida en todo tipo de situaciones y circunstancias. todo tipo de situaciones y circunstancias.

Page 7: Integración de Sistemas Embebidos Utilizando Servicios Web

Algunas plataformas existentes Algunas plataformas existentes para Servicios Webpara Servicios Web

Plataformas embebidas: NetBurner, RabbitCore (familia Plataformas embebidas: NetBurner, RabbitCore (familia RCM) y SHIP entre otras.RCM) y SHIP entre otras.

Herramientas de desarrollo para plataformas Herramientas de desarrollo para plataformas embebidas: J2ME, ETTK, eSOAP y gSOAP.embebidas: J2ME, ETTK, eSOAP y gSOAP.

Limitaciones para la elección de herramientas:Limitaciones para la elección de herramientas: Aspectos de hardware (procesamiento, memoria, Aspectos de hardware (procesamiento, memoria,

sistemas operativos más complejos, etc.).sistemas operativos más complejos, etc.). Entorno de desarrollo (requiere herramientas Entorno de desarrollo (requiere herramientas

comerciales o un conjunto de otros programas como comerciales o un conjunto de otros programas como compiladores específicos).compiladores específicos).

Documentación incompleta, insuficiente o inexistente.Documentación incompleta, insuficiente o inexistente.

Page 8: Integración de Sistemas Embebidos Utilizando Servicios Web

Capas de los Servicios WebCapas de los Servicios Web

Page 9: Integración de Sistemas Embebidos Utilizando Servicios Web

Descripción de las capasDescripción de las capas

El núcleo de la arquitectura de servicios Web se El núcleo de la arquitectura de servicios Web se compone de un protocolo de Internet (HTTP en compone de un protocolo de Internet (HTTP en la mayoría de los casos), que envía mensajes la mayoría de los casos), que envía mensajes encapsulados XML utilizando el Protocolo encapsulados XML utilizando el Protocolo SOAP. Como capas superiores tenemos el SOAP. Como capas superiores tenemos el lenguaje de descripción de los servicios web lenguaje de descripción de los servicios web WSDL y el repositorio que puede ser empleado WSDL y el repositorio que puede ser empleado para publicar y localizar todos los servicios web para publicar y localizar todos los servicios web UDDI (Universal Description, Discovery and UDDI (Universal Description, Discovery and Integration).Integration).

Page 10: Integración de Sistemas Embebidos Utilizando Servicios Web

Interacciones entre proveedores, Interacciones entre proveedores, consumidores y brokers de consumidores y brokers de

Servicios WebServicios Web

Page 11: Integración de Sistemas Embebidos Utilizando Servicios Web

Un corredor de servicio se comporta como un repositorio para la publicación de los

prestadores de servicios y para la ubicación de estos por los solicitantes de servicios. Después de ser localizado, un

proveedor de servicios puede brindarlos a un solicitante.

Interacciones entre proveedores, Interacciones entre proveedores, consumidores y brokers de consumidores y brokers de

ServiciosServicios Web Web

Page 12: Integración de Sistemas Embebidos Utilizando Servicios Web

Principales características de los Principales características de los Servicios WebServicios Web

Basados en XML.Basados en XML.Articulación flexible entre proveedores de Articulación flexible entre proveedores de

servicios y los solicitantes.servicios y los solicitantes.Granularidad gruesa.Granularidad gruesa.El cliente y la comunicación de servicios El cliente y la comunicación de servicios

pueden ser sincrónicos o asincrónicos.pueden ser sincrónicos o asincrónicos.Soportan RPC (Llamada a Procedimiento Soportan RPC (Llamada a Procedimiento

Remoto).Remoto).Soportan el intercambio de documentos.Soportan el intercambio de documentos.

Page 13: Integración de Sistemas Embebidos Utilizando Servicios Web

Principales características de los Principales características de los Servicios WebServicios Web

Emplean los mismos protocolos de comunicación Emplean los mismos protocolos de comunicación adoptados por la Web, permitiendo el adoptados por la Web, permitiendo el intercambio de datos a través de firewalls intercambio de datos a través de firewalls corporativos. corporativos. 

Son capaces de proveer interacción entre Son capaces de proveer interacción entre aplicaciones y programas sin intermediación del aplicaciones y programas sin intermediación del hombre. hombre. 

Pueden comunicarse con otros servicios web y Pueden comunicarse con otros servicios web y luego ser capaces de suministrar nuevas luego ser capaces de suministrar nuevas aplicaciones fusionando todos sus servicios.aplicaciones fusionando todos sus servicios.

Page 14: Integración de Sistemas Embebidos Utilizando Servicios Web

Arquitectura propuesta para Arquitectura propuesta para integrar dispositivos embebidos integrar dispositivos embebidos

usando Servicios Webusando Servicios Web

Page 15: Integración de Sistemas Embebidos Utilizando Servicios Web

Un cliente envía sus mensajes XML / SOAP Un cliente envía sus mensajes XML / SOAP según el tipo de servicio requerido a través del según el tipo de servicio requerido a través del protocolo HTTP.protocolo HTTP.

En el servicio web se produce la planificación En el servicio web se produce la planificación eficaz de las solicitudes en función de sus eficaz de las solicitudes en función de sus prioridades (oro, plata, bronce y mejor esfuerzo). prioridades (oro, plata, bronce y mejor esfuerzo). A continuación, estos mensajes serán A continuación, estos mensajes serán procesados por el microcontrolador.procesados por el microcontrolador.

Después de la ejecución, una respuesta Después de la ejecución, una respuesta generada por el servicio puede devolverse al generada por el servicio puede devolverse al cliente.cliente.

Arquitectura propuesta para Arquitectura propuesta para integrar dispositivos embebidos integrar dispositivos embebidos

usando Servicios Webusando Servicios Web

Page 16: Integración de Sistemas Embebidos Utilizando Servicios Web

Escenario hipotético de integraciónEscenario hipotético de integración

Page 17: Integración de Sistemas Embebidos Utilizando Servicios Web

Supervisión y control de señales vitales de pacientes Supervisión y control de señales vitales de pacientes hospitalarios.hospitalarios.

Los dispositivos remotos conectados a la plataforma Los dispositivos remotos conectados a la plataforma SHIP envían señales al equipo de adquisición y luego SHIP envían señales al equipo de adquisición y luego estos valores se envían como información XML / SOAP estos valores se envían como información XML / SOAP a un servidor de aplicaciones.a un servidor de aplicaciones.

El servidor de aplicaciones almacena y distribuye las El servidor de aplicaciones almacena y distribuye las diversas informaciones procedentes de diferentes diversas informaciones procedentes de diferentes conjuntos de plataformas SHIP y los dispositivos conjuntos de plataformas SHIP y los dispositivos remotos conectados dentro del ambiente del hospital a remotos conectados dentro del ambiente del hospital a los clientes respectivos (base de datos del hospital, los clientes respectivos (base de datos del hospital, personal médico en el hogar o en el hospital, y familiares personal médico en el hogar o en el hospital, y familiares del paciente, usando ordenadores, PDA's, teléfonos del paciente, usando ordenadores, PDA's, teléfonos móviles, etc).móviles, etc).

Escenario hipotético de integración Escenario hipotético de integración

Page 18: Integración de Sistemas Embebidos Utilizando Servicios Web

Gestión de prioridadesGestión de prioridades

Podemos ver claramente la diferenciación Podemos ver claramente la diferenciación de servicios: oro para el control en tiempo de servicios: oro para el control en tiempo real, plata para las alarmas enviadas a real, plata para las alarmas enviadas a personal médico, bronce para la personal médico, bronce para la actualización de base de datos y mejor actualización de base de datos y mejor esfuerzo para otros servicios.esfuerzo para otros servicios.

Page 19: Integración de Sistemas Embebidos Utilizando Servicios Web

Ventajas con respecto a otras Ventajas con respecto a otras topologíastopologías

La gran ventaja de esta propuesta es que, ya que se La gran ventaja de esta propuesta es que, ya que se está usando servicios Web, el resto del entorno está usando servicios Web, el resto del entorno distribuido sólo tiene que ser capaz de manejar los distribuido sólo tiene que ser capaz de manejar los mensajes SOAP. Las preocupaciones sobre la mensajes SOAP. Las preocupaciones sobre la integración con sistemas heredados, estructura de base integración con sistemas heredados, estructura de base de datos, tipo de software que utiliza el cliente, etc. son de datos, tipo de software que utiliza el cliente, etc. son irrelevantes.irrelevantes.

El uso de esta estructura se puede aplicar en la mayoría El uso de esta estructura se puede aplicar en la mayoría de los diversos escenarios, tales como:de los diversos escenarios, tales como:

Supervisión, control y difusión de los datos en las líneas Supervisión, control y difusión de los datos en las líneas de transmisión (electricidad, televisión por cable, etc) y de transmisión (electricidad, televisión por cable, etc) y los sistemas y aplicaciones más diversos involucrados.los sistemas y aplicaciones más diversos involucrados.

Entornos de fábrica con los sistemas embebidos más Entornos de fábrica con los sistemas embebidos más diversos con interfaces específicas de comunicación.diversos con interfaces específicas de comunicación.

Page 20: Integración de Sistemas Embebidos Utilizando Servicios Web

Plataforma adoptada Plataforma adoptada

Plataforma SHIPPlataforma SHIP

Page 21: Integración de Sistemas Embebidos Utilizando Servicios Web

Características SHIPCaracterísticas SHIP Microcontrolador ARM7TDMI, familia AT91X40 con Microcontrolador ARM7TDMI, familia AT91X40 con

procesador RISC.procesador RISC. 512 K Bytes de memoria flash, con 448K bytes libres 512 K Bytes de memoria flash, con 448K bytes libres

para las aplicaciones.para las aplicaciones. Sistema operativo compatible con conexiones Ethernet y Sistema operativo compatible con conexiones Ethernet y

comunicaciones TCP / IP.comunicaciones TCP / IP. μBoot para la carga del sistema y programa depurador μBoot para la carga del sistema y programa depurador

μMonitor para la configuración y la carga de las μMonitor para la configuración y la carga de las aplicaciones en la plataforma.aplicaciones en la plataforma.

Servidor de páginas Web compacto.Servidor de páginas Web compacto. Diversos dispositivos externos se pueden conectar a la Diversos dispositivos externos se pueden conectar a la

plataforma tales como equipos de automatización de plataforma tales como equipos de automatización de fábricas, sensores y actuadores, equipos médicos, etc.fábricas, sensores y actuadores, equipos médicos, etc.

Bajo consumo de energía, amplia gama de bibliotecas de Bajo consumo de energía, amplia gama de bibliotecas de soporte y softwares incorporados.soporte y softwares incorporados.

Page 22: Integración de Sistemas Embebidos Utilizando Servicios Web

¿Por qué la plataforma SHIP?¿Por qué la plataforma SHIP?

No sólo el software de desarrollo, sino No sólo el software de desarrollo, sino también el sistema operativo de la también el sistema operativo de la plataforma embebida y las bibliotecas de plataforma embebida y las bibliotecas de tiempo de ejecución son de código abierto tiempo de ejecución son de código abierto y tienen buena documentación y soporte y tienen buena documentación y soporte total.total.

Page 23: Integración de Sistemas Embebidos Utilizando Servicios Web

Herramienta de Desarrollo (Toolkit)Herramienta de Desarrollo (Toolkit)

gSOAP.gSOAP.Ha demostrado ser el más compatible con Ha demostrado ser el más compatible con

la plataforma elegida (SHIP, sólo trabaja la plataforma elegida (SHIP, sólo trabaja con rutinas de C y todas las otras con rutinas de C y todas las otras herramientas de desarrollo no tienen esta herramientas de desarrollo no tienen esta característica).característica).

Fue necesario hacer algunos cambios en Fue necesario hacer algunos cambios en el código fuente con el fin de hacer el código fuente con el fin de hacer compatible gSOAP con el sistema compatible gSOAP con el sistema operativo del SHIP.operativo del SHIP.

Page 24: Integración de Sistemas Embebidos Utilizando Servicios Web

Características gSOAPCaracterísticas gSOAP Permite la composición (vinculante) de los Permite la composición (vinculante) de los

mensajes SOAP con C / C + +, crear stubs y mensajes SOAP con C / C + +, crear stubs y esqueletos.esqueletos.

Clientes C / C + + a través de analizador de Clientes C / C + + a través de analizador de WSDL (convertidor WSDL a archivos de WSDL (convertidor WSDL a archivos de cabecera gSOAP).cabecera gSOAP).

Independiente de la plataforma (hay ejemplos Independiente de la plataforma (hay ejemplos de aplicación desarrollados en Windows, Linux, de aplicación desarrollados en Windows, Linux, Unix, Mac OS X, Pocket PC, Palm OS, Symbian Unix, Mac OS X, Pocket PC, Palm OS, Symbian y Linux embebido).y Linux embebido).

Las aplicaciones pueden realizarse con menos Las aplicaciones pueden realizarse con menos de 100K bytes, con consumo total de sólo 150K de 100K bytes, con consumo total de sólo 150K bytes de memoria.bytes de memoria.

Page 25: Integración de Sistemas Embebidos Utilizando Servicios Web

Ensayos de comportamientoEnsayos de comportamiento

Pocas muestras y Pocas muestras y threads con el threads con el objetivo de ver cómo objetivo de ver cómo la plataforma SHIP, la plataforma SHIP, especialmente su especialmente su controlador Ethernet, controlador Ethernet, reacciona en una reacciona en una demanda similar a la demanda similar a la que se experimenta que se experimenta en el escenario en el escenario propuesto.propuesto.

Page 26: Integración de Sistemas Embebidos Utilizando Servicios Web

Ensayos de comportamientoEnsayos de comportamiento

Servicio de calculadora que tiene un tamaño Servicio de calculadora que tiene un tamaño total de 65KBytes, incluyendo el sistema total de 65KBytes, incluyendo el sistema operativo, el servidor de aplicaciones y las operativo, el servidor de aplicaciones y las bibliotecas gSOAP. Así, cuando un cliente bibliotecas gSOAP. Así, cuando un cliente solicita uno de los servicios disponibles (es solicita uno de los servicios disponibles (es decir, las cuatro operaciones matemáticas decir, las cuatro operaciones matemáticas básicas), un mensaje SOAP se envía a la básicas), un mensaje SOAP se envía a la plataforma SHIP, que realiza la operación y plataforma SHIP, que realiza la operación y responde con un mensaje SOAP con el responde con un mensaje SOAP con el resultado. Después de esto, el servidor resultado. Después de esto, el servidor comienza a esperar otra solicitud de servicio.comienza a esperar otra solicitud de servicio.

Page 27: Integración de Sistemas Embebidos Utilizando Servicios Web

Respuesta temporal de la Respuesta temporal de la plataforma SHIP con un único plataforma SHIP con un único

clientecliente

Page 28: Integración de Sistemas Embebidos Utilizando Servicios Web

Respuesta temporal de la Respuesta temporal de la plataforma SHIP con dos clientesplataforma SHIP con dos clientes

Page 29: Integración de Sistemas Embebidos Utilizando Servicios Web

El comportamiento observado muestra El comportamiento observado muestra que algunas solicitudes tienen que que algunas solicitudes tienen que esperar más tiempo mientras que otras esperar más tiempo mientras que otras son procesadas inmediatamente. Esto son procesadas inmediatamente. Esto refuerza la necesidad de un mecanismo refuerza la necesidad de un mecanismo de planificación de solicitudes como el de planificación de solicitudes como el descrito anteriormente.descrito anteriormente.

Respuesta temporal de la Respuesta temporal de la plataforma SHIP con dos clientesplataforma SHIP con dos clientes

Page 30: Integración de Sistemas Embebidos Utilizando Servicios Web

ConclusionesConclusiones Los Servicios Web presentan una forma para interconectar Los Servicios Web presentan una forma para interconectar

aplicaciones a través de Internet entre sistemas de aplicaciones a través de Internet entre sistemas de cómputo. Por otra parte, su eminentemente abierta y cómputo. Por otra parte, su eminentemente abierta y estandarizada arquitectura proporciona a los Servicios Web estandarizada arquitectura proporciona a los Servicios Web de un gran uso potencial en la computación distribuida.de un gran uso potencial en la computación distribuida.

Es posible desplegar servicio web en un sistema embebido Es posible desplegar servicio web en un sistema embebido para proporcionar la integración de aplicaciones que se para proporcionar la integración de aplicaciones que se ejecutan en la plataforma embebida con otro sistema en un ejecutan en la plataforma embebida con otro sistema en un entorno distribuido.entorno distribuido.

Esta investigación tiene la intención de añadir soporte QoS Esta investigación tiene la intención de añadir soporte QoS en servicios web, porque los requisitos y las políticas de en servicios web, porque los requisitos y las políticas de uso de QoS aún no están muy consolidados en esta uso de QoS aún no están muy consolidados en esta tecnología.tecnología.