Download - fundamentos webservices
1
Web Services
EDWIN [email protected]
Universidad EAFIT
Contenidol Evolución de las Aplicaciones Distribuidasl Soluciones propuestas para Interoperabilidadl Modelo de Aplicaciones Webl Que son los Servicios Webl Cuales son los protocolos y tecnologías relacionados con
los Servicios Webl Algunas aplicaciones claves de los Servicios Webl Conclusiones
Antecedentes (1/2)
• La idea general alrededor de Web Services no es algo nuevo.
• Antecesores en el tema de computación distribuida han existido y funcionado:
RPC, EDI, CORBA, COM, APPC
• La diferencia se encuentra en el alto nivel de encapsulación e independencia entre las aplicaciones.
• El gestor de la iniciativa es W3C, garante de evolución y futuro.
• “Programa a usuario” à Semantic Web
Antecedentes (2/2)
• Evolución tecnológica:Código libreProgramación estructuradaProgramación orientada a objetosObjetos distribuidos - Componentes
• Evolución de integración de aplicaciones:Computación por departamentosInterfaces punto a punto (“spaguetti code“)Sistemas ERPSoluciones de “middleware”
• Necesidad de establecer conexiónes tanto entre aplicaciones internas como B2B.
HISTORY OF DISTRIBUTED COMPUTING
Evolución de las Aplicaciones Distribuidas (1)
l Sistema Distribuido: “Colección de máquinas/procesos que colaborar para cumplir un objetivo”
l Inicio con Aplicaciones Centralizadas. Todo lo hacia un mismo equipo.
l Primer servicio telemático: Emulación de Terminal• Hay distribución, pero todo lo sigue haciendo el Servidor.• Este modelo no es malo, como se critico en su momento, de hecho
el mismo Web simula esta situación• Ej: telnet, Xwindows, Windows Terminal, VNC, etc.
Cliente(presentación)
RED
Servidor(Aplicación +
Datos)
2
Evolución de las Aplicaciones Distribuidas (2)
Cliente/Servidor con Bases de Datos
l Modelo de 2 nivelesl Aparición de n-lógicas
• Presentación• Comunicaciones• Lógica del Negocio• Datos
l En el Cliente se haya la Presentación y la Lógica del Negociol En el Servidor se hayan los Datos (Bases de Datos)l Se supone que las entidades intercambian sentencias SQLl NO orientado a transaccionesl Muy orientado a 4GLl Procedimientos almacenados. Lógica del negocio en la base de
datos. Dependiente.
Evolución de las Aplicaciones Distribuidas (3)
l Cliente/Servidor con bases de datos
Cliente(presentación
+ lógica)RED
Servidor(Datos + SP)
Select * from empleados
Pedro, Juan, Camilo, …
Trans. Fondos Consulta cuenta 1Consulta cuenta 2Actualización cuenta1
Actualizacion cuenta2
Adicionar movimientos
Evolución de las Aplicaciones Distribuidas (4)
l Procesadores de Transacciones:• Orientado a transacciones• 3 niveles• OLTP
Cliente(presentación
lóg cliente)RED
Servidor(Datos + SP)
Procesador Transacciones
(Lógica)T
SQL
Objetos Distribuidosl Primeros pasos en RPC’sl A finales de los 80’s emergió DCE (Distributed Computing
Environment) como una iniciativa para estandarizar las diferentes tecnologías de RPC. No considera tecnologías de Mensajería.
l Éxito del modelo Orientado a Objetos tanto en Análisis/Diseño como en Desarrollo.
l Por qué no extender este modelo a un ambiente distribuidol Un cliente en cualquier parte de la red, invoca un método de un
objeto remoto.l Adecuados en comunicaciones:
• Cliente a Servidor• Servidor a Servidor
Objetos Distribuidos
CORBA/RMI/DCOM
Objetos DistribuidosArquitecturas propuestas
• RMI (Invocación Remota de Métodos)• Independiente del sistema operativo• Solo un lenguaje: JAVA
• DCOM de Microsoft• Un solo sistema operativo: Familia Microsoft• Varios Lenguajes: Visual Basic, C++, C
• CORBA de la OMG• Independiente del Sistema Operativo• Varios lenguajes: Java, c, c++, ada, cobol, vb, …
CLIENTE SERVIDOR SERVIDORRMI/DCOM/CORBA RMI/DCOM/CORBA
3
World Wide Webl Llegada del Web
• Diseñado originalmente para acceder a recursos compartidos• Protocolo de comunicación HTTP
• Protocolo sin estado (stateless)• Browser – Servidor Web: GET recursos• Servidor Web – Browser: recurso estático (html, imágenes, …)
• Formateo de datos• HTML, sintaxis y semántica de visualización
• Diferentes tipos de recursos• MIME (texto, html, imágenes, binarios, videos, etc)
• Navegación y localización NO lineal• Hipertexto• Hipermedia
File System
Proxy Server
Web Server
HTTPRequest
HTTPRequest
HTTP Response
HTTPResponse
www.cs.huji.ac.il:80
http://www.cs.huji.ac.il/~dbi
Web como plataforma para Aplicaciones Distribuidas
l Aplicaciones Web (Web Applications)l HTTP/HTML fue diseñado originalmente para acceder a
recursos compartidos, NO para ejecución de aplicaciones remotas• Recursos estáticos
l Porqué no permitir solicitar datos al usuario y ejecutar aplicaciones vía web?• Como capturar entrada del usuario?
• FORMAS: <FORM …> <INPUT…> … </INPUT> … </FORM>
• El recurso es el nombre de una aplicación
HTTP/CGIl Web Form es una página HTML con uno o más campos de
entrada y un boton obligatorio “Submit”l Una vez “click” sobre el boton “Submit” el browser envia el
contenido de los campos de entrada hacia el servidor.l Arma un mensaje HTTP para enviar el requerimiento y luego
invoke un método GET o POST en el lado del servidor.l El servidor pasa el requerimiento y sus parametros a otro
programa usando un protocolo llamado CGI
3-Tier Client/Server, Web-Style
Web Client
HTML & Form
Web Browser
InternetTCP/IP
HTTP HTTP
HTML docs
AppsDBMS
TP Mon
LegacyApp|
Tier-1
Tier-2 Tier-3
Web Server
CGI
Ejecución programa CGI
Web Browser
Web Server
VariablesAmbiente
ProgramaCGI
BD
Submit1
submitPOST
WriteEnvirtonment
ReadEnvirtonment
Ejecutar
Standard Input
Standard OutputReturn HTML
File
2 34
5
6
7
89
10
4
Integración de Aplicaciones Web con Objetos Distribuidos
BROWSER Web Server
WebApp
Server
AppServer
HTTP/HTML
estáticoHTTP/HTMLdinámico
AppServerCORBA/RMI/DCOM
Componentes Distribuidosl Evolución de los Objetos Distribuidosl Bloques de construcción de aplicaciones llamados
COMPONENTESl Conceptos de CONTENEDORESl Servicios disponibles para los Componentes ofrecidos por el
Contenedor• Comunicaciones• Transacciones• Ejecución• Ciclo de Vida• Persistencia• …
l Plataformas más representativas• J2EE, con JSP/Servlets como tecnologías de Web Application• DNA, con ASP como tecnología Web Application
Arquitectura J2EE Aplicación N-Niveles en Java
ARQUITECTURAS DE COMPONENTESARQUITECTURAS DE COMPONENTESJ2EEJ2EE
SistemaRemoto
Applets /Java Apps
Browsers PDA’s
Servlets Servlets / JSP
Componentes EJB’s
Conectores
Repositioriode Contexto
Bases de Datos
ERP, Legacy, Mainframe
Sistemas de socios
Web Services IIOP HTTP HTTP
JDBC PropietarioPropietario Web Services
Web Services on J2EE
Source: TheServerSide.com
5
ARQUITECTURAS DE COMPONENTESARQUITECTURAS DE COMPONENTESMicrosoft .NETMicrosoft .NET
SistemaRemoto
Formas de Windows
Browsers Dispositivos inalámbricos
Componentes .NET
Host Integration Server
Repositiorio de Contexto
Bases de Datos ERP, Legacy, Mainframe
Sistemas de socios
Web Services HTTP HTTP
ADO.NET PropietarioWeb Services Web Services
ASP.NET
Web Services on .NET
Source: TheServerSide.com
Precursores de Web Servicesl Algunos trabajos importantes:l HP’s e-Speak
• En HP Labs se comienza a mediados de los 90’s se comienza a explorar alternativas para reducir los problemas bien conocidos técnicos y de costos en los sistemas distribuidos.
• Esto condujo a e-Speak, como uno de las primeras tecnologías de precursoras de Web Services comerciales. (liberado en 1999)
• Utilizó HTTP como transporte y XML como representación de datos y los servicios se conocian como “e-services”
l XML-RPC• UserLand Community• Protocolo Simple para realizar llamados a funciones sobre sistemas
remotos.• XML-RPC es aún muy popular, en especial en la comunidad del Open
Source• Algunos problemas con el manejo de formatos de mensajes, ya que utiliza
completamente XML.
Precursores de Web Servicesl XML y los protocolos de Internet motivaron a diferentes
grupos:• Industria del EDI: EDI/SMTP y EDI/HTTP para realización de
transacciones formateando los datos en XML• Comunidades trabajando en los problemas de:
• Enterprise Application Integration (EAI)• Business-to-Business (B2B)
• E-Business XML (ebXML), liderado por SUN• Microsoft comienza a trabajar en SOAP (1999)• Primera “guerra” por dominación del mercado precursor de WS
• ebXML vs SOAP
Precursores de Web Services• SOAP es solo un protocolo de comunicación, requiere de
metadatos.• Muchas iniciativas para metadatos:
• WIDL (Web Interface Definition Languaje) by WebMethods• Microsoft desarrollo SDL (Service Description Language) y SCL
(SOAP Contract Language), 2000• Microsoft también desarrollo DISCO (Discovery of Web Services),
localizar descriptores de servicios SCL• IBM crea NASSL (Network Accessible Service Specification
Language), hace lo mismo que SDL y SCL• IBM crea ADS (Advertisement and Discovery of Services), hace lo
mismo que DISCO• Se finaliza con WSDL originalmente desarrollado por IBM, Microsoft y
Ariba• Igualmente se finaliza con UDDI (Universal Description, Discovery and
Integration) un sistema para directorios (paginas amarillas, blancas y grises) de servicios Web.
Movimiento Actuall En abril de 1991, “W3C WorkShop on Web Services”
(WSWS) trazo muchas de las directrices futuras de Web Services.
l Se propuso muchos trabajos futuros a considerar• IBM con WSEL (web service endpoint language) (QoS)• IBM con WSFL (web service flow language)• HP con web semantica• Verisign en Seguridad
l 2002 año de consolidación de los Web Servicesl En Febrero de 2002, IBM, Microsoft, Intel, BEA y otras
compañias formaron Web Services Interoperability Organization (WS-I),
6
INTRODUCCIÓN A INTRODUCCIÓN A WEBWEB SERVICESSERVICES
l Los Web Services son una arquitectura de computación distribuida en evolución que usan sus propias interfaces programa-programa, protocolos y servicios de registro de tal manera que posibilitan que aplicaciones de diferentes plataformas tecnológicas puedan utilizar “servicios” de otras aplicaciones.
l Un Web Service se aprovecha de la especificación de XML para definir tanto su descripción, como los mensajes que recibe y produce al igual que en los servicios de registro del servicio.
Qué son los Web Services?l Semánticamente encapsula funcionalidades discretas.l Sistemas Debilmente-Acoplados, Componentes
Reutilizablesl Accesibles programaticamentel Distribuido Sobre Internetl Dado que todas las comunicaciones se realizan en
XML los Web Services no dependen de sistemas operativos específicos
l De acuerdo a esto, Java puede hablar con Perl, Windows con Unix.
Cont.l De la definición anterior se desprende que los Web Services
tienen dos propiedades adicionales:1) Deben tener una interfaz pública definida en una gramática
común en XML, la interfase describe todos los METODOS disponibles a los clientes y especifica la firma para cada método
La definición de esta interfaz se hace con el lenguaje WSDL (Web Service Description Language)
2) Si usted crea un servicio Web, debe tener una forma de publicarlo, debe existir una forma de localizar el servicio y localizar su interfase pública, esto se hace con UDDI (Universal Description, Discovery, and Integration)
INTRODUCCIÓN A INTRODUCCIÓN A WEBWEB SERVICESSERVICESActores, Objetos y Operaciones
Registro del servicio
Solicitante del servicio
Proveedor del Servicio
FINDWDSL + UDDI
PUBLISHWDSL + UDDI
BIND
Descripción del servicio
Descripción del servicio
Servicio
INTRODUCCIÓN A INTRODUCCIÓN A WEBWEB SERVICESSERVICESStackStack de Componentesde Componentes
Servicios de Red
Mensajería basada en XML
Descripción de Servicios
Publicación de servicios
Descubrimiento de servicios
Flujo de servicios
SE
GU
RID
AD
AD
MIN
IST
RA
CIÓ
N
CA
LID
AD
DE
SE
RV
ICIO
HTTP, FTP, SMTP, MQSeries, IIOP
SOAP
WSDL
UDDI (*)
(*) No es un estándar de la industria, ha sido propuesto por Microsoft e IBM entre otros.(**) Es una propuesta de IBM
UDDI (*)
WSFL(**)
Niveles Inferiores de Transportel Protocolos Comunes Internet (HTTP, HTTPS,
SMTP, FTP…): son la base para el marco de trabajo para Web Services
l XML: Un formato ampliamente aceptado paraintercambiar datos y su correspondientesemántica.
l SOAP: Un protocolo basado en XML-based para Mensajería y comunicaciones estilo RPC para comunicaciones entre aplicaciones (en un ambiente distribuido)
7
Componentes de Web Services
• UDDI: “Universal Description, Discovery and Integration”.Permite que las aplicaciones puedan ser listadas ylocalizadas de manera ágil y eficaz. (No es un estándaractualmente).
• WDSL: “Web Services Description Language”.Es una plantilla o interfaz que permite a las aplicaciones eldescribirle a otras aplicaciones, las reglas para interactuarentre sí.
• SOAP: “Simple Object Access Protocol”Provee los mecanismos para la ejecución de llamadasa procedimientos remotos entre programas, de tal maneraque se puedan establecer de manera eficiente lascomunicaciones de tipo “programa a programa”.
Cont.l WSFL: Un marco de trabajo para describir la lógica de
negocio requerida para ensamblar varios servicios en un proceso de negocio extremo a extremo.
* ebXML: Define los componentes core, procesos de negocio, registroy repositorios, servicios de mensajería.
Problemas que ataca (1/3)ESTANDARIZACIÓN DE COMUNICACIÓN DE RED
• Hasta hace poco, no se había conseguido elobjetivo de tener un protocolo adaptado demanera universal para la comunicación entreaplicaciones:
SNA, RPC, IIOP, COM
• El fundamento de la comunicación de red en laarquitectura de Web Services son los protocolosde Internet, en especial HTTP.
Problemas que ataca (2/3)ESTANDARIZACIÓN DE MENSAJES
• Normalmente existen dos categorías demensajes en la comunicación entre aplicaciones:
- Con documento a ser procesadoremotamente.
- Que contienen comandos a ser ejecutados.
• Soluciones utilizadas:MQSeries, Java RMI, Microsoft COM, etc.
• SOAP, basado en XML, define los estándarespara el manejo de las dos categorías demensajes, tanto para la invocación de comandos,como para el procesamiento de documentos.
Problemas que ataca (3/3)ESTANDARIZACIÓN DE DESCRIPCIÓN DE SERVICIOS
• Se hace necesario el conocer con precisióncuáles son los servicios disponibles por parte deun proveedor de servicios, además de la descripción de la interfaz de cada uno de esosservicios.
• Esta descripción de los servicios soportados por un Web Service se establece a través de WSDL.
PUBLICACIÓN Y DESCUBRIMIENTO DE SERVICIOS
• Aunque no hay un estándar definido para ello,la iniciativa de UDDI es el principio del trabajode estandarización en esta vía.
Ventajas que ofrece
• Facilita que los desarrolladores de aplicaciones se “dejen de preocupar” en los problemas de infraestructura y se focalicen en el desarrollo de aplicaciones colaborativas.
• Ayuda a la reducción de costos en los ciclos de desarrollo de software, debido a la reutilización de esfuerzos.
• Se abren nuevas oportunidades de mercadeo, en donde se pueden vender Web services a terceros para su aprovechamiento.
• Ayuda a que clientes, empleados y socios de negocios a tener acceso personalizado en dispositivos diversos.
8
IBM
Transport•HTTPR (reliability)
Packaging/Extensions•SOAP-DSIG (security) •SWA (MIME packaging)
Description•WSCM (component model), plan to include WSXL, WSUI and other specs•WSFL (composition, usage and interaction of services) •WSEL (non-operational characteristics, like QoS) •WSDL (service description)
Discovery•USML (multiple queries for service discovery) •UDDI (service discovery from repository) •WS-Inspection (inspection for available services)
http://webservices.xml.com/pub/a/ws/2002/01/09/soap.html
Microsoft
Transport
Packaging/Extensions•WS-Referral (configuration of SOAP nodes with routing rules) •WS-Routing (rules for message routing) •WS-Security (credentials exchange, confidentiality and integrity) •WS-License (encoding of credentials) •SOAP-DSIG (security) •SWA (MIME packaging) •DIME (binary packaging)
Description•XLANG (message exchange behavior) •WSML (mapping service to methods of COM object) •WSDL (service description)
Discovery•UDDI (service discovery from repository) •WS-Inspection (inspection for available services)
MODELO WEB-SERVICES Modelos de Implementación de Web Services
Source: Sun Microsystems, Inc.
Un caso de uso de SOAP
Source: Sun Microsystems, Inc.
Como trabaja WSDL
Source: Sun Microsystems, Inc.
9
Como trabaja ebXML
Source: Sun Microsystems, Inc.
Procesamiento de un Requerimiento Web Service
Source: TheServerSide.com
Registrando/Descubriendo un Servicio Web
Source: TheServerSide.com
Requerimientos de Mensajería y Estilo RPC
Source: TheServerSide.com
La Suite JAX*
l JAXR (Java API for XML Registries): paraencontrar el web service del socio de negocio.
l JAX/RPC (Java API for XML RPC): para enviarrequerimientos RPC a web services externos.
l JAXM (Java API for XML Messaging): paraenviar mensajes SOAP/ebXML a web services externos.
l JAXP (Java API for XML Parsing) y JAXB (Java API for XML Binding): para transformar datos java en formato XML y viceversa y ejecutatransformaciones XSLT para convertir esquemas.
¿Qué es XML-RPC?l Es un protocolo basado en XML que usa mensajes RPC. Los
requerimientos son codificados en XML y enviados vía HTTP POST, las respuestas vienen embebidas en mensajes RESPONSE de HTTP.
l XML-RPC = HTTP + XML + RPCl XML-RPC es independiente de la plataforma: Un cliente Java,
puede hablar con un servidor XML-RPC de perl.
10
Ejemplo de requerimiento XML-RPC de servicios climatológicos
(No se muestran los encabezados HTTP)<?xml version="1.0" encoding="ISO-8859-1"?><methodCall>
<methodName>weather.getWeather</methodName> <params>
<param><value>10016</value></param></params>
</methodCall>Explicación: Se usa el método methodcall el
cual especifica el nombre del método weather.getWeather y una dirección postal 10016
Ejemplo de Respuesta XML-RPC de servicios climatológicos
<?xml version="1.0" encoding="ISO-8859-1"?> <methodResponse>
<params> <param>
<value><int>65</int></value> </param>
</params> </methodResponse>Explicación: se usa el método <methodResponse> el cual
especifica el valor de retorno de la temperatura en F. de 65.
Simple Object Access Protocol(SOAP)
l Para intercambio de información en un ambiente distribuido
l Formato de mensajes basados en XMLl Puede ser combinado con varios protocolos
de transportel Originalmente desarrollado por Microsoft
Partes del SOAP
l The SOAP envelope: describe Qué esta en un mensaje y Como procesarlo.
l The SOAP binding framework (adicionado en versión 1.2): Intercambia SOAP envelopes entre pares usando un protocolo de transporte inferior
l The SOAP encoding rules: Intercambia instancias de tiposde datos definidos por aplicación.
l The SOAP RPC representation: Una convención pararepresentar llamadas a procedimientos remotos y susrespuestas.
Un Mensaje SOAP
<env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"><env:Header><n:alertcontrol xmlns:n="http://example.org/alertcontrol">
<n:priority>1</n:priority><n:expires>2001-06-22T14:00:00-05:00</n:expires>
</n:alertcontrol></env:Header><env:Body><m:alert xmlns:m="http://example.org/alert"><m:msg>Pick up Mary at school at 2pm</m:msg>
</m:alert></env:Body>
</env:Envelope>
Composición de un Sobre SOAP
Source: http://www.w3.org/TR/soap12-part1/
11
Un Sobre SOAP
<env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope/"env:encodingStyle="http://www.w3.org/2001/09/soap-
encoding/"><env:Header>
<t:Transaction xmlns:t="some-URI">env:mustUnderstand="1"
5</t:Transaction>
</env:Header><env:Body>
<m:GetLastTradePrice xmlns:m="some-URI"><symbol>DEF</Symbol>
</m:GetLastTradePrice></env:Body>
</env:Envelope>
SOAP Request and Response
•Request (partial):
<env:Body><m:GetLastTradePrice xmlns:m="some-URI">
<symbol>DEF</symbol></m:GetLastTradePrice>
</env:Body>
•Response (partial):
<env:Body><m:GetLastTradePriceResponse xmlns:m="some-URI">
<price>22.50</price></m: GetLastTradePriceResponse>
</env:Body>
Mensaje SOAP en un Requerimiento HTTP
POST /StockQuote HTTP/1.1Host: www.example.orgContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "http://example.org/2001/06/quotes"
<env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope" ><env:Body><m:GetLastTradePrice
env:encodingStyle="http://www.w3.org/2001/09/soap-encoding"
xmlns:m="http://example.org/2001/06/quotes"><symbol>DIS</symbol>
</m:GetLastTradePrice></env:Body></env:Envelope>
Mensaje SOAP en una Respuesta HTTP
POST /StockQuote HTTP/1.1HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8"Content-Length: nnnn
<env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope" ><env:Body><m:GetLastTradePriceResponse
env:encodingStyle="http://www.w3.org/2001/09/soap-encoding"xmlns:m="http://example.org/2001/06/quotes">
<Price>34.5</Price></m:GetLastTradePriceResponse>
</env:Body></env:Envelope>
Algunas de las Principales Aplicaciones de los Web Services
l Interoperabilidad entre ambientes de desarrollo • Tradicionalmente, antes de los Web Services una empresa debía
decidir en que ambiente de desarrollo trabajar• “Me voy por JAVA”• “Me voy por Microsoft”• “Me voy por Oracle”
• Una vez se decidía el Ambiente de Desarrollo, queda uno “Cazado” con dicha platarma.
• Con Web Services, desarrolle sus aplicaciones en lo que más le guste e integrelas con Web Services.
• Una aplicación que parecía Irreal:• Llamar desde una aplicación hecha en Java y servicio hecho en
ambiente Microsoft.• Esto es posible gracias a los Web Services.
Ebussines y Agentes Inteligentesl Antes de los Web Services
• La mayoria de los sistemas de Comerio Electrónico (Customer toBusiness, C2B) se realizaron con APLICACIONES WEB
• Las comunicaciones entre los servidores de aplicaciones involucrados eran Propietarios y alguna de las partes colocaba las condiciones.
• Ej: Los primeros pasos al Comercio Electrónico en Colombia, los Bancos determinaban los formatos, tecnologías, … para comunicarse con ellos.
• Todas las Interacciones a nivel de servicio son entre Cliente y Proveedor.
12
Ebussines y Agentes Inteligentesl Con los web services
• Se instala en Internet, una Agencia de Viajes Virtual• Su función es principalmente como Broker• Deseo realizar un viaje, en el cual obviamente necesito:
• Tiquetes Aereos• Hotel• Auto en la ciudad destino
• Inicio una transacción en Internet para realizar mi viaje entre una fecha 1 y fecha 2 con algún nivel de holgura.
• Dicha transacción es atendida por un Agente Inteligente de Software que realizará en mi nombre la transacción.
• El Agente tiene toda la información para llevar a cabo la transacción así como el manejo de restricciones y flujo de procesos.
Ebussines y Agentes Inteligentes
Aerolinea Browser(Clientes)
Hotel Browser(Clientes)
Car Rental Browser(Clientes)
BANCO
WEB SERVICESB2B
C2B
Agencia Virtual
de Viajes
A
A A
BrowserCliente
Web Services for B2Bi