Download Diapositiva 1 - Sistemas e Informática

Document related concepts

Simple Object Access Protocol wikipedia , lookup

Middleware wikipedia , lookup

Computación en la nube wikipedia , lookup

WSDL wikipedia , lookup

Servicio web wikipedia , lookup

Transcript
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.

Los Servicios Web proporcionan una arquitectura
distribuida orientada a los servicios (SOA) para la
interconexión de sistemas a través de redes TCP / IP.

Los Servicios Web permiten una integración que aún no es
proporcionada por las aplicaciones embebidas.

El presente trabajo tiene por objeto demostrar la viabilidad
del uso de Servicios Web para la integración de
aplicaciones embebidas que se ejecutan en arquitecturas
heterogéneas.
Definiciones
Sistema embebido:
Es un sistema de computación diseñado para
realizar una o algunas pocas funciones
dedicadas frecuentemente en un sistema
de computación en tiempo real. Los sistemas
embebidos se utilizan para usos muy diferentes
a los usos generales a los que se suelen
someter a las computadoras personales.
Diagrama de bloques de un
sistema embebido típico
Definiciones
Servicios Web:
En inglés, Web services, es un conjunto de
protocolos y estándares que sirven para
intercambiar datos entre aplicaciones. Distintas
aplicaciones de software desarrolladas en
lenguajes de programación diferentes, y
ejecutadas sobre cualquier plataforma, pueden
utilizar los servicios web para intercambiar datos
en redes de ordenadores como Internet.
La interoperabilidad se consigue mediante la
adopción de estándares abiertos.
Definiciones

Computación Ubicua:
Es la integración de la informática en el
entorno de la persona, de forma que los
ordenadores no se perciban como objetos
diferenciados. Tiene como objetivo insertar
dispositivos inteligentes tanto en el entorno
como en aparatos de uso diario para que
las personas puedan interactuar con ellos
de una manera natural y desinhibida en
todo tipo de situaciones y circunstancias.
Algunas plataformas existentes
para Servicios Web


Plataformas embebidas: NetBurner, RabbitCore (familia
RCM) y SHIP entre otras.
Herramientas de desarrollo para plataformas
embebidas: J2ME, ETTK, eSOAP y gSOAP.
Limitaciones para la elección de herramientas:
 Aspectos de hardware (procesamiento, memoria,
sistemas operativos más complejos, etc.).
 Entorno de desarrollo (requiere herramientas
comerciales o un conjunto de otros programas como
compiladores específicos).
 Documentación incompleta, insuficiente o inexistente.
Capas de los Servicios Web
Descripción de las capas

El núcleo de la arquitectura de servicios Web se
compone de un protocolo de Internet (HTTP en
la mayoría de los casos), que envía mensajes
encapsulados XML utilizando el Protocolo
SOAP. Como capas superiores tenemos el
lenguaje de descripción de los servicios web
WSDL y el repositorio que puede ser empleado
para publicar y localizar todos los servicios web
UDDI (Universal Description, Discovery and
Integration).
Interacciones entre proveedores,
consumidores y brokers de
Servicios Web
Interacciones entre proveedores,
consumidores y brokers de
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.
Principales características de los
Servicios Web
Basados en XML.
 Articulación flexible entre proveedores de
servicios y los solicitantes.
 Granularidad gruesa.
 El cliente y la comunicación de servicios
pueden ser sincrónicos o asincrónicos.
 Soportan RPC (Llamada a Procedimiento
Remoto).
 Soportan el intercambio de documentos.

Principales características de los
Servicios Web



Emplean los mismos protocolos de comunicación
adoptados por la Web, permitiendo el
intercambio de datos a través de firewalls
corporativos.
Son capaces de proveer interacción entre
aplicaciones y programas sin intermediación del
hombre.
Pueden comunicarse con otros servicios web y
luego ser capaces de suministrar nuevas
aplicaciones fusionando todos sus servicios.
Arquitectura propuesta para
integrar dispositivos embebidos
usando Servicios Web
Arquitectura propuesta para
integrar dispositivos embebidos
usando Servicios Web



Un cliente envía sus mensajes XML / SOAP
según el tipo de servicio requerido a través del
protocolo HTTP.
En el servicio web se produce la planificación
eficaz de las solicitudes en función de sus
prioridades (oro, plata, bronce y mejor
esfuerzo). A continuación, estos mensajes serán
procesados por el microcontrolador.
Después de la ejecución, una respuesta
generada por el servicio puede devolverse al
cliente.
Escenario hipotético de integración
Escenario hipotético de integración



Supervisión y control de señales vitales de pacientes
hospitalarios.
Los dispositivos remotos conectados a la plataforma
SHIP envían señales al equipo de adquisición y luego
estos valores se envían como información XML / SOAP
a un servidor de aplicaciones.
El servidor de aplicaciones almacena y distribuye las
diversas informaciones procedentes de diferentes
conjuntos de plataformas SHIP y los dispositivos
remotos conectados dentro del ambiente del hospital a
los clientes respectivos (base de datos del hospital,
personal médico en el hogar o en el hospital, y familiares
del paciente, usando ordenadores, PDA's, teléfonos
móviles, etc).
Gestión de prioridades

Podemos ver claramente la diferenciación
de servicios: oro para el control en tiempo
real, plata para las alarmas enviadas a
personal médico, bronce para la
actualización de base de datos y mejor
esfuerzo para otros servicios.
Ventajas con respecto a otras
topologías




La gran ventaja de esta propuesta es que, ya que se
está usando servicios Web, el resto del entorno
distribuido sólo tiene que ser capaz de manejar los
mensajes SOAP. Las preocupaciones sobre la
integración con sistemas heredados, estructura de base
de datos, tipo de software que utiliza el cliente, etc. son
irrelevantes.
El uso de esta estructura se puede aplicar en la mayoría
de los diversos escenarios, tales como:
Supervisión, control y difusión de los datos en las líneas
de transmisión (electricidad, televisión por cable, etc) y
los sistemas y aplicaciones más diversos involucrados.
Entornos de fábrica con los sistemas embebidos más
diversos con interfaces específicas de comunicación.
Plataforma adoptada

Plataforma SHIP
Características SHIP







Microcontrolador ARM7TDMI, familia AT91X40 con
procesador RISC.
512 K Bytes de memoria flash, con 448K bytes libres
para las aplicaciones.
Sistema operativo compatible con conexiones Ethernet y
comunicaciones TCP / IP.
μBoot para la carga del sistema y programa depurador
μMonitor para la configuración y la carga de las
aplicaciones en la plataforma.
Servidor de páginas Web compacto.
Diversos dispositivos externos se pueden conectar a la
plataforma tales como equipos de automatización de
fábricas, sensores y actuadores, equipos médicos, etc.
Bajo consumo de energía, amplia gama de bibliotecas
de soporte y softwares incorporados.
¿Por qué la plataforma SHIP?

No sólo el software de desarrollo, sino
también el sistema operativo de la
plataforma embebida y las bibliotecas de
tiempo de ejecución son de código abierto
y tienen buena documentación y soporte
total.
Herramienta de Desarrollo (Toolkit)
gSOAP.
 Ha demostrado ser el más compatible con
la plataforma elegida (SHIP, sólo trabaja
con rutinas de C y todas las otras
herramientas de desarrollo no tienen esta
característica).
 Fue necesario hacer algunos cambios en
el código fuente con el fin de hacer
compatible gSOAP con el sistema
operativo del SHIP.

Características gSOAP




Permite la composición (vinculante) de los
mensajes SOAP con C / C + +, crear stubs y
esqueletos.
Clientes C / C + + a través de analizador de
WSDL (convertidor WSDL a archivos de
cabecera gSOAP).
Independiente de la plataforma (hay ejemplos
de aplicación desarrollados en Windows, Linux,
Unix, Mac OS X, Pocket PC, Palm OS, Symbian
y Linux embebido).
Las aplicaciones pueden realizarse con menos
de 100K bytes, con consumo total de sólo 150K
bytes de memoria.
Ensayos de comportamiento

Pocas muestras y
threads con el
objetivo de ver cómo
la plataforma SHIP,
especialmente su
controlador Ethernet,
reacciona en una
demanda similar a la
que se experimenta
en el escenario
propuesto.
Ensayos de comportamiento

Servicio de calculadora que tiene un tamaño
total de 65KBytes, incluyendo el sistema
operativo, el servidor de aplicaciones y las
bibliotecas gSOAP. Así, cuando un cliente
solicita uno de los servicios disponibles (es
decir, las cuatro operaciones matemáticas
básicas), un mensaje SOAP se envía a la
plataforma SHIP, que realiza la operación y
responde con un mensaje SOAP con el
resultado. Después de esto, el servidor
comienza a esperar otra solicitud de servicio.
Respuesta temporal de la
plataforma SHIP con un único
cliente
Respuesta temporal de la
plataforma SHIP con dos clientes
Respuesta temporal de la
plataforma SHIP con dos clientes

El comportamiento observado muestra
que algunas solicitudes tienen que
esperar más tiempo mientras que otras
son procesadas inmediatamente. Esto
refuerza la necesidad de un mecanismo
de planificación de solicitudes como el
descrito anteriormente.
Conclusiones

Los Servicios Web presentan una forma para
interconectar aplicaciones a través de Internet entre
sistemas de cómputo. Por otra parte, su eminentemente
abierta y estandarizada arquitectura proporciona a los
Servicios Web de un gran uso potencial en la
computación distribuida.

Es posible desplegar servicio web en un sistema
embebido para proporcionar la integración de
aplicaciones que se ejecutan en la plataforma embebida
con otro sistema en un entorno distribuido.

Esta investigación tiene la intención de añadir soporte
QoS en servicios web, porque los requisitos y las
políticas de uso de QoS aún no están muy consolidados
en esta tecnología.