Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención...

22
Web Services Web Services Daniel Seara Daniel Seara

Transcript of Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención...

Page 1: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Web ServicesWeb ServicesWeb ServicesWeb Services

Daniel SearaDaniel Seara

Page 2: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

FundamentosFundamentos

Intercambio de informaciónIntercambio de información

ProcesamientoProcesamientoSin intervención del usuarioSin intervención del usuario

Acelerando tiempos de respuestaAcelerando tiempos de respuesta

NormalizaciónNormalizaciónEntre plataformasEntre plataformas

Entre lenguajesEntre lenguajes

Entre sistemas operativosEntre sistemas operativos

Page 3: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

EscenariosEscenarios

SimpleSimplePublicación de informaciónPublicación de información

Integración de AplicacionesIntegración de AplicacionesPermite realizar tareas remotasPermite realizar tareas remotas

Soluciones de Flujo de Trabajo Soluciones de Flujo de Trabajo (Workflow)(Workflow)

Integrados con BizTalk©Integrados con BizTalk©

Page 4: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

EstándaresEstándares

HTTP, SMTPHTTP, SMTP

XMLXML

SOAPSOAP

Page 5: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

InfraestructuraInfraestructura

Page 6: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

UDDI, WSDLUDDI, WSDL

UDDI: Mecanismo de descubrimiento UDDI: Mecanismo de descubrimiento de Servicios Web disponiblesde Servicios Web disponibles

http://uddi.microsoft.comhttp://uddi.microsoft.com

WSDL: Lenguaje de definición del WSDL: Lenguaje de definición del Servicio WebServicio Web

http://www.w3.org/TR/wsdlhttp://www.w3.org/TR/wsdl

Page 7: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Formas de ComunicaciónFormas de Comunicación

HTTP-GETHTTP-GETArgumentos en la URLArgumentos en la URL

HTTP-POSTHTTP-POSTArgumentos en el documento enviadoArgumentos en el documento enviado

SOAPSOAPMensaje estructurado, en XML con Mensaje estructurado, en XML con posibilidad de implementar múltiples posibilidad de implementar múltiples formatos, seguridad etc.formatos, seguridad etc.

Page 8: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Creando Web ServicesCreando Web Services

Aplicación WebAplicación WebIndependienteIndependiente

Junto con funcionalidades específicasJunto con funcionalidades específicas

Tipo especial de claseTipo especial de claseExtensión ASMXExtensión ASMX

Los métodos a publicar se marcan Los métodos a publicar se marcan con el atributo con el atributo WebMethodWebMethod

Page 9: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

EjemplosEjemplos

VBVB

C#C#

<WebMethod()> _ Public Function TraerDatos() As Data.DataTable End Function

[WebMethod] public Data.DataTable TraerDatos() { }

Page 10: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Publicar un Servicio WebPublicar un Servicio Web

Creado desde Visual Studio, sólo es Creado desde Visual Studio, sólo es necesario publicarlo como un sitio necesario publicarlo como un sitio WebWeb

Usando las herramientas de Usando las herramientas de publicación de VS2005publicación de VS2005

httphttp

FtpFtp

Front Page Server ExtensionsFront Page Server Extensions

¡Copiar y pegar!¡Copiar y pegar!

Page 11: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Publicar un Servicio Web Publicar un Servicio Web (2)(2)

Page 12: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Publicar un Servicio Web Publicar un Servicio Web (3)(3)

Page 13: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Acceder a un Servicio WebAcceder a un Servicio Web

Desde un proyecto, basta con Desde un proyecto, basta con agregar una Referencia Webagregar una Referencia Web

Buscándolo por UDDIBuscándolo por UDDI

Utilizando el vínculo al WSDLUtilizando el vínculo al WSDL

Llamando al servicio Web con el Llamando al servicio Web con el argumento ?wsdlargumento ?wsdl

Page 14: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Acceder a un Servicio Web Acceder a un Servicio Web (2)(2)

Page 15: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Acceder a un Servicio Web Acceder a un Servicio Web (3)(3)

Page 16: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Acceder a un Servicio Web Acceder a un Servicio Web (4)(4)

Page 17: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Acceder a un Servicio Web Acceder a un Servicio Web (5)(5)

Page 18: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Acceder a un Servicio Web Acceder a un Servicio Web (6)(6)

Page 19: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Datos desde Servicios Datos desde Servicios WebWeb

Es preferible utilizar SOAP dada la Es preferible utilizar SOAP dada la riqueza del mensajeriqueza del mensaje

Es posible retornar un XMLEs posible retornar un XML como cadena de caracterescomo cadena de caracteres

O directamente un DataSetO directamente un DataSetPero algunos clientes no lo soportanPero algunos clientes no lo soportan

Page 20: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Encriptación y Servicios Encriptación y Servicios WebWeb

SOAP/XML usan caracteresSOAP/XML usan caracteres

La encriptación suele generar La encriptación suele generar caracteres especiales incompatiblescaracteres especiales incompatibles

SoluciónSoluciónGenerar una cadena de caracteres con Generar una cadena de caracteres con los códigos ANSI de los caracteres, con los códigos ANSI de los caracteres, con algún separador para “reconstruir” en el algún separador para “reconstruir” en el receptorreceptor

123~034~111…….123~034~111…….

Page 21: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

Mejoras para Servicios Mejoras para Servicios WebWeb

WSE WSE Actualmente en beta la versión 3Actualmente en beta la versión 3

Específica para ASP.Net 2.0Específica para ASP.Net 2.0

Facilita Facilita autenticación de usuarios autenticación de usuarios

Encriptación de datosEncriptación de datos

Transmisión de grandes volúmenes binariosTransmisión de grandes volúmenes binarios

Permite publicar servicios Web vía TCP sin Permite publicar servicios Web vía TCP sin necesidad de IISnecesidad de IIS

http://msdn.microsoft.com/webservices/webservices/building/wse/default.aspx

Page 22: Web Services Daniel Seara. Fundamentos Intercambio de información Procesamiento Sin intervención del usuario Acelerando tiempos de respuesta Normalización.

ImportanciaImportanciaEs el fundamento de las arquitecturas Es el fundamento de las arquitecturas orientadas a serviciosorientadas a servicios

SOASOA

Publicar las reglas de negocio por una Publicar las reglas de negocio por una interfaz de Servicios Web permite el interfaz de Servicios Web permite el acceso por parte de múltiples clientesacceso por parte de múltiples clientes

WebWeb

Windows FormsWindows Forms

Clientes inteligentesClientes inteligentesDispositivosDispositivos

OfficeOffice