Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRosario Montero Cárdenas Modificado hace 9 años
1
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006
2
AGENDA Servicios Web. Estándares asociados a los Servicios Web. Arquitectura Orientada a Servicios (SOA). Ejercicio práctico 1. Ejercicio práctico 2.
3
Servicios Web Definiciones…. “…. lógica de aplicación programable … accesible mediante protocolos estandar…” MSDN Library. “… aplicaciones o tecnologías con capacidad para interoperar en la web” W3C.
4
Servicios Web Programas accesibles. Exponen funcionalidad. Reciben/envían mensajes SOAP. Utilizan http como transporte. Describen su funcionalidad en WSDL. Pueden ser publicados, localizados e invocados a través de la Web (UDDI). Otras aplicaciones (u otros ws pueden invocarlos). Es un sistema de software (como cualquier otro) mas o menos complejo (encapsulado). Elementos ……
5
Servicios Web Un Servicio Web expone para su consumo una determinada funcionalidad. Cliente Petición Respuesta ws
6
Servicios Web Estándares asociados a los servicios web WDSL XML Cliente Petición Respuesta HTTPSOAPHTTP SOAP UDDI ws
7
Estándares asociados a los Servicios Web XML (Extensible Markup Language) Lenguaje que se utiliza para intercambiar datos. Conjunto de reglas para definir etiquetas semánticas que sirven para organizar un documento y dotar de significado al mismo. Metalenguaje que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados. Estándar abierto independiente del protocolo de transporte.
8
Estándares asociados a los Servicios Web SOAP (Simple Object Access Protocol) define los formatos de los mensajes. Define de qué forma se hacen las peticiones y respuestas a un servicio web (mensajes); define los formatos de los mensajes. Proporciona un mecanismo estándar de empaquetado de mensajes. Es un documento XML por lo que puede ser transportado utilizando cualquier protocolo capaz de transmitir texto como por ejemplo http. Los mensajes SOAP permiten la interacción entre varios dispositivos independientemente de la plataforma. La comunicación entre servicios web se realiza mediante mensajes SOAP (petición-respuesta). La comunicación entre servicios web se realiza mediante mensajes SOAP (petición-respuesta). Las peticiones se pueden realizar mediante los protocolos :SOAP, HTTP GET (codifica métodos y parámetros como cadenas de consulta) y HTTP POST (datos en formularios).
9
Estándares asociados a los Servicios Web SOAP Estructura de un mensaje SOAP: <soap:Header<soap:Header <soap:Envelope <soap:Envelope Se especificacan datos globales. Contiene a header y body.<soap:Header Opcional, contiene meta-información.</soap:Header<soap:Body Datos del mensaje.</soap:Body</soap:Envelope soap:Body
10
Estándares asociados a los Servicios Web SOLICITUD SOAP POST /swreg/swreg.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: http://tempuri.org/SituacionRegistrohttp://tempuri.org/SituacionRegistro string
11
RESPUESTA SOAP Estándares asociados a los Servicios Web HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length string
12
Estándares asociados a los Servicios Web WSDL (Lenguaje Descripción de Servicios Web) funcionalidad Respecto a la funcionalidad. Define los métodos y propiedades del servicio web, es decir su interfaz (lo describe). Que es capaz de hacer el servicio web. invocaciónlocalización Respecto a su invocación y localización. Permite que un servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de transporte de mensajes y su contenido. Definiendo los mensajes SOAP que vamos a necesitar para poder utilizar el servicio web. Un documento WSDL proporciona la Información necesaria al cliente para interaccionar con el servicio web.
13
Estándares asociados a los Servicios Web Ejemplo de un documento WSDL.
14
Estándares asociados a los Servicios Web UDDI (Universal Description Discovery Integration). registrodescubrimiento Mecanismo de registro y descubrimiento de un servicio web. UDDI es un registro público diseñado para almacenar de forma estructurada información sobre empresas y los servicios que éstas ofrecen través de UDDI, se puede publicar y descubrir información de una empresa y de sus servicios PROCESO PROCESO. 1º.- 1º.- Implementación del Servicio Web. 2º.- 2º.- Registro y clasificación del Servicio. 3º.- 3º.- Un Cliente pregunta a UDDI por un determinado servicio. 4º.- 4º.- Cliente (aplicación) consume el Servicio Web.
15
Estándares asociados a los Servicios Web Cliente Petición Respuesta WDSL ws
16
Servicios Web y SOA La metodología de modelado y diseño para aplicaciones SOA se conoce como análisis y diseño orientado a servicios. implantación La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implantación. Comunidades de servicios interoperables. Exponer procesos de negocio como servicios es la clave a la flexibilidad de la arquitectura SOA (Service Oriented Architectures).
17
Servicios Web y SOA Un servicio funciona como una aplicación independiente. Teniendo sus propias reglas de negocio, datos, procedimientos de administración y operación. Ex-pone toda su funcionalidad utilizando una interfaz basada en mensajes. Y por lo tanto carece de una interfaz de usuario. Construcción de servicios (que evolucionan independientemente) en lugar de aplicaciones. Estos servicios se encargarían de exponer una funcionalidad bien definida a la aplicación que la requiera. Una aplicación final orquesta la ejecución de un conjunto de servicios, añade su lógica particular y le presenta una interfaz al usuario final. Una aplicación además de implementar sus propios componentes de negocio y datos, también puede reutilizar la funcionalidad de servicios existentes en la red empresarial.
18
Servicios Web y SOA Servicio Con el modelo de servicios de negocio simplifificamos la arquitectura, consolidando funcionalidades en servicios de negocio que hacen llamadas al resto de servicios. Servicio Servicio Servicio de Negocio
19
Se propone la implementación de un servicio web que devuelva el estado de un expediente en función del número de expediente.Escenario. Ejercicio práctico 1. Cliente SWRegistro ¿Estado del Expediente ? Expediente en Tramitación
20
Ejercicio práctico 1 Imports System.Web.Services Class ServiciosRegistro Public Class ServiciosRegistro Inherits System.Web.Services.WebService Public Function SituacionRegistro(ByVal nExpediente As String) As String SituacionRegistro= Situaciones(nExpediente) End Function Private Function Situaciones (sit as string) as string Select Case sit Case "1" Situaciones = "Abogacía del Estado" Case "2" Situaciones = "Inicio de la Tramitación" Case Else Situaciones = "Expediente Tamitado" End Select End Function End Class 1º. Implementación del Servicio Web (WReg.asmx).
21
Ejercicio práctico 1 Imports System Imports System.ComponentModel Imports System.Diagnostics Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Xml.Serialization <System.Diagnostics.DebuggerStepThroughAttribute(), _ System.ComponentModel.DesignerCategoryAttribute("code"), _ System.Web.Services.WebServiceBindingAttribute(Name:="ServiciosRegistroSoap", [Namespace]:="http://tempuri.org/")> _ Public Class ServiciosRegistro Inherits System.Web.Services.Protocols.SoapHttpClientProtocol Public Sub New() MyBase.New Me.Url = "http://localhost/swreg/swreg.asmx" End Sub _ Public Function SituacionRegistro(ByVal nExpediente As String) As String Dim results() As Object = Me.Invoke("SituacionRegistro", New Object() {nExpediente}) Return CType(results(0),String) End Function Public Function BeginSituacionRegistro(ByVal nExpediente As String, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult Return Me.BeginInvoke("SituacionRegistro", New Object() {nExpediente}, callback, asyncState) End Function Public Function EndSituacionRegistro(ByVal asyncResult As System.IAsyncResult) As String Dim results() As Object = Me.EndInvoke(asyncResult) Return CType(results(0),String) End Function End Class proxy (ServiciosRegistro.vb) 2º Generamos un Proxy Wsdl /l:VB http://localhost/swreg/swreg.asmx?wsdl http://localhost/swreg/swreg.asmx?wsdl
22
3º.- Implementamos un cliente que consuma el Servicio Web llamado (CliReg.vb) Ejercicio práctico 1. Imports Microsoft.VisualBasic Imports System Module Module1 Sub Main() Dim sw As New ServiciosRegistro Dim exp as String System.Console.WriteLine("Tecle el número de Expediente:") exp=System.Console.ReadLine System.Console.WriteLine("La situación en la que se encuentra el Expediente es: ") System.Console.WriteLine(sw.SituacionRegistro(exp)) System.Console.ReadLine() End Sub End Module
23
Por último compilamos para generar un ejecutable. Vbc Clireg.vb Serviciosregistro.vb /r:System.dll /r:System.Web.Services.dll /r:System.Xml.dll El resultado será un fichero CliReg.exe Ejercicio práctico 1.
24
Referencia a un servicio web real, utilizando el entorno de desarrollo Visual Studio.Net. Ejercicio práctico 2.
25
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art143.asp http://java.sun.com/reference/soawebservices/ http://www.w3c.es http://www.w3c.es/Divulgacion/Guiasbreves/ServiciosWeb http://www.w3.org/2002/ws http://www.microsoft.com/spain/servidores/interop/developers/wsinterop.mspx http://www.microsoft.com/spanish/msdn/articulos/archivo/280202/voices/webservbasics.asp http://msdn.microsoft.com/webservices/ http://msdn.microsoft.com/architecture/ http://www.microsoft.com/resources/practices/ http://www.uddi.org/ http://www-306.ibm.com/software/solutions/webservices/uddi / http://www-1.ibm.com/services/us/bcs/pdf/soa-cbdi-report-2004-july.pdf http://www.uddi.org/solutions.html http://www.microsoft.com/windowsserver2003/techinfo/overview/uddiguide.mspx http://www.w3c.es/Traducciones/es/TR/2003/REC-soap12-part0-20030624/#L26854 Referencias.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.