fundamentos webservices

12
1 Web Services EDWIN MONTOYA [email protected] Universidad EAFIT Contenido l Evolución de las Aplicaciones Distribuidas l Soluciones propuestas para Interoperabilidad l Modelo de Aplicaciones Web l Que son los Servicios Web l Cuales son los protocolos y tecnologías relacionados con los Servicios Web l Algunas aplicaciones claves de los Servicios Web l 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 libre Programación estructurada Programación orientada a objetos Objetos distribuidos - Componentes • Evolución de integración de aplicaciones: Computación por departamentos Interfaces punto a punto (“spaguetti code“) Sistemas ERP Soluciones 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)

Upload: williang

Post on 13-Aug-2015

61 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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)

Page 2: fundamentos webservices

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

Page 3: fundamentos webservices

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

Page 4: fundamentos webservices

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

Page 5: fundamentos webservices

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

Page 6: fundamentos webservices

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)

Page 7: fundamentos webservices

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.

Page 8: fundamentos webservices

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.

Page 9: fundamentos webservices

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.

Page 10: fundamentos webservices

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/

Page 11: fundamentos webservices

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.

Page 12: fundamentos webservices

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