You are on page 1of 34

DESARROLLO DE APLICACIONES MULTICAPA

Web Services.
Docente: Ing Sergio Chapoan Chapoan

Fundamentos
Intercambio de informacin Procesamiento
Sin intervencin del usuario Acelerando tiempos de respuesta

Normalizacin
Entre plataformas Entre lenguajes Entre sistemas operativos

Escenarios
Simple
Publicacin de informacin

Integracin de Aplicaciones
Permite realizar tareas remotas

Soluciones de Flujo de Trabajo (Workflow)


Integrados con BizTalk

Que es un servicio
Componente aplicativo que sigue los Tenets de Service Orientation
Los servicios son autonomos Los servicios tienen limites bien definidos Los servicios comparten esquema y contracto, pero no implementacion Los servicios estan controlados por politicas

Que es un web service


Es un servicio que puede ser accedido a traves de protocolos estandar de internet Una pagina web con funciones Disponible para una alta gama de clientes Ejemplos: cotizaciones, condiciones de trafico, noticias, clima, negocios, etcetera

Tecnologias utilizadas
Modo estandar de representar datos
XML (and XML schemas)

Formato de mensaje comun y extensible


SOAP

Lenguaje de contrato comun y extensible


Web Services Description Language (WSDL)

Modo estandar de descubrir servicios


Disco

Modo estandar de descubrir proveedores de servicio


Universal Description, Discovery, and Integration (UDDI)

XML
Extensible Markup Language Lenguaje para describir documentos con estructura estandard Estandar conocido en la industria XML Schemas XSD
Basado en XML Lenguaje para descibrir tipo de datos

Para mas informacion, leer:


http://msdn.microsoft.com/library/en-us/dnwebsrv/html/xmloverchap2.asp
7

SOAP
Un protocolo simple basado en XML para intercambiar mensajes con datos en la web Estandard conocido en la industria Muy liviano y basado en XML Mensajes SOAP Para mas informacion, leer: http://msdn.microsoft.com/soap/

WSDL
Es un documento XML para describir web services
Define tipo de datos (XSD) Define mensajes a partir de tipos Define detalles de protocolo de transporte y formato de SOAP
SOAP 1.1, HTTP Get/Post, MIME

WSDL.exe Para mas informacion, leer:


http://msdn.microsoft.com/library/en-us/dnwebsrv/html/wsdlexplained.asp
9

DISCO
Document Discovery Permite que un cliente encuentra un web service en particular Documento que especifica servicios descubiertos en una URL en particular Utiliza formato XML Los documentos tienen extensiones .disco and .vsdisco Disco.exe 10

UDDI
Universal Description, Discovery, and Integration Permite publicar y descubrir informacion acerca de quien provee que servicios Especificacion distribuida de registro de web servicies Montado sobre Http, XML y SOAP Para mayor informacion:
http://msdn.microsoft.com/library/enus/dnexxml/html/xml12182000.asp http://www.uddi.org/about.html
11

Underlying Technologies
Web Services Stack
Directory
http://www.uddi.org Locate a Service Link to Discovery Document (XML)

UDDI

UDDI or other directory service

Web Service Client

Inspection
http://www.ibuyspy.com/ibuyspy.disco Request Discovery Document Return Discovery Document (XML)

DISCO

Description
Request Service Description Return Service Description (XML)

WSDL

Web Service

http://www.ibuyspy.com/ibuyspycs/InstantOrder.asmx?wsdl

Wire Format
Request Service Return Service Response (XML)

SOAP

Plataformas existentes

ASP.NET WCF

13

ASP.NET Web Service


Utiliza los conocimientos que ya tienen los desarrollares de paginas ASP.NET Facil de desarrollar, deploy y administrar como una aplicacion web Extension de archivo ASMX Accesible a traves de una URL

14

Microsoft WCF
Nueva plataforma para desarrollo de servicios Implementa una amplia gama de protocolos WS-* Soporta differentes tipos de transporte, Http, Tcp, MSMQ, SMTP En pocas palabras, Web Services con Esteroides
15

Estndares
HTTP, SMTP XML SOAP

Infraestructura

UDDI, WSDL
UDDI: Mecanismo de descubrimiento de Servicios Web disponibles
http://uddi.microsoft.com

WSDL: Lenguaje de definicin del Servicio Web


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

Formas de Comunicacin
HTTP-GET
Argumentos en la URL

HTTP-POST
Argumentos en el documento enviado

SOAP
Mensaje estructurado, en XML con posibilidad de implementar mltiples formatos, seguridad etc.

Creando Web Services


Aplicacin Web
Independiente Junto con funcionalidades especficas

Tipo especial de clase


Extensin ASMX

Los mtodos a publicar se marcan con el atributo WebMethod

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

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

Publicar un Servicio Web


Creado desde Visual Studio, slo es necesario publicarlo como un sitio Web Usando las herramientas de publicacin de VS2005
http Ftp Front Page Server Extensions

Copiar y pegar!

Publicar un Servicio Web (2)

Publicar un Servicio Web (3)

Acceder a un Servicio Web


Desde un proyecto, basta con agregar una Referencia Web
Buscndolo por UDDI Utilizando el vnculo al WSDL Llamando al servicio Web con el argumento ?wsdl

Acceder a un Servicio Web (2)

Acceder a un Servicio Web (3)

Acceder a un Servicio Web (4)

Acceder a un Servicio Web (5)

Acceder a un Servicio Web (6)

Datos desde Servicios Web


Es preferible utilizar SOAP dada la riqueza del mensaje Es posible retornar un XML
como cadena de caracteres

O directamente un DataSet
Pero algunos clientes no lo soportan

Encriptacin y Servicios Web


SOAP/XML usan caracteres La encriptacin suele generar caracteres especiales incompatibles Solucin
Generar una cadena de caracteres con los cdigos ANSI de los caracteres, con algn separador para reconstruir en el receptor
123~034~111.

Mejoras para Servicios Web


WSE
Actualmente en beta la versin 3
Especfica para ASP.Net 2.0

Facilita
autenticacin de usuarios Encriptacin de datos Transmisin de grandes volmenes binarios Permite publicar servicios Web va TCP sin necesidad de IIS
http://msdn.microsoft.com/webservices/webservices/building/wse/default.aspx

Importancia
Es el fundamento de las arquitecturas orientadas a servicios
SOA

Publicar las reglas de negocio por una interfaz de Servicios Web permite el acceso por parte de mltiples clientes
Web Windows Forms Clientes inteligentes
Dispositivos Office

You might also like