SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Plataformas de
Desarrollo 2
Tema: 2 Web Services
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
No te ahogas al caer a un río, sino al mantenerte
sumergido en el.
Paulo Coelho.
Objetivo
• Construir aplicaciones de
software Web con acceso
a datos y que resuelva
problemas basados en
casos reales utilizando
Visual Studio
● 2.1 SOAP
Contenido
ODS
● 4.3 De aquí a 2030, asegurar
el acceso igualitario de todos
los hombres y las mujeres a
una formación técnica,
profesional y superior de
calidad, incluida la enseñanza
universitaria
META
2.1 SOAP
Intuitivamente es similar a un sitio
web, pero no existe interacción con
una persona a través de un web
browser, sino que la interacción es
entre aplicaciones
"Un Web Service es un componente de
software que se comunica con otras
aplicaciones codificando los mensaje en
XML y enviando estos mensaje a través de
protocolos estándares de Internet tales
como el Hypertext Transfer Protocol (HTTP).
¿Cómo Funcionan los Servicios Web?
Requisitos de un Web Service:
 Interoperabilidad: Un servicio remoto debe permitir
su utilización por clientes de otras plataformas.
 Amigabilidad con Internet: La solución debe poder
funcionar para soportar clientes que accedan a los
servicios remotos desde internet.
 Interfaces fuertemente tipadas: procedimentales.
Más aún, los tipos de datos definidos en el servicio
remoto deben poderse corresponder razonablemente
bien con los tipos de datos de la mayoría de los lenguaje
de programación.
Requisitos de un Web Service:
● Posibilidad de aprovechar los estándares
de Internet existentes: La implementación del
servicio remoto debería aprovechar estándares de
Internet existentes tanto como sea posible y evitar
reinventar soluciones a problema que ya se han
resuelto.
● Soporte para cualquier lenguaje: Un cliente
debería ser capaz de implementar un nuevo servicio
Web existente independientemente del lenguaje de
programación en el que se halla escrito el cliente.
Bloques Constructivos de Servicios Web:
● Descubrimiento: La aplicación cliente que necesita
acceder a la funcionalidad que expone un Servicio Web
necesita una forma de resolver la ubicación de servicio
remoto. Se logra mediante un proceso llamado,
normalmente descubrimiento
● Descripción: Una vez que se ha resuelto el extremo de
un servicio Web dado, el cliente necesita suficiente
información para interactuar adecuadamente con el mismo.
● Formato del mensaje: Para el intercambio de datos, el
cliente y el servidor tienen que estar de acuerdo en un
mecanismo común de codificación y formato de mensaje.
● Codificación: Los datos que se trasmiten entre el
cliente y el servidor necesitan codificarse en un
cuerpo de mensaje.
● Transporte: Una vez se ha dado formato al mensaje
y se han serializado los datos en el cuerpo del
mensaje se debe transferir entre el cliente y el
servidor utilizando algún protocolo de transporte.
SOAP - Protocolo simple de acceso a objetos
● Es un protocolo basado en XML, que permite la interacción
entre varios dispositivos y que tiene la capacidad de
transmitir información compleja. Los datos pueden ser
transmitidos a través de HTTP , SMTP , etc.
SOAP especifica el formato de los mensajes de la siguiente forma:
 envelope (envoltura): Es el elemento raíz del mensaje para
describir su contenido y la forma de procesarlo.
 header (encabezado): Es la información de identificación del
contenido. Un grupo de reglas de codificación para expresar las
instancias de tipos de datos definidos por la aplicación.
 body (cuerpo): Es el contenido del mensaje. Una convención
para representar las llamadas y las respuestas a
procedimientos remotos.
Anatomía de un mensaje SOAP
SOAP y HTTP
Encabezado
HTTP
Envoltura
Header
(opcional)
Cuerpo
Algunas de las Ventajas de SOAP
● No esta asociado con ningún lenguaje
● No se encuentra fuertemente asociado a ningún
protocolo de transporte
● Aprovecha los estándares existentes en la
industria
● Permite la interoperabilidad entre múltiples
entornos
● Ampliamente aceptado
● RPC: Consiste en pasarle parámetros a un procedimiento
remoto en algún lenguaje determinado (java, c++, etc) utilizando
un esquema de comunicación xml via HTTP.
RPC usando SOAP
RPC usando SOAP
Para realizar una invocación RPC es
necesario conocer:
● La ubicación del objeto remoto
● El nombre del objeto remoto
● El nombre del método
● Los parámetros del método
Descripción: WSDL
Lenguaje de Descripción de Servicios Web
● WSDL representa una especie de contracto entre el
proveedor y el que solicita. O sea 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, a través de un documento procesable
por dispositivos.
WSDL
Distingue claramente los mensajes de los puertos
● Los mensajes (la sintaxis y semántica que necesita un servicio Web) son
siempre abstractos
● Los puertos (las direcciones de red en las que se invoca al servicio Web)
son siempre concretos
Existen tres componentes principales de esta interfaz abstracta:
 El vocabulario
 El mensaje
 La interacción
Descripción abstracta:
Descripción abstracta:
Los elementos utilizados para esto son:
● Types: contenedor de definiciones del tipo de datos
que utiliza algún sistema de tipos (por ejemplo XSD).
● Message: definición abstracta y escrita de los datos
que se están comunicando.
● Operation: descripción abstracta de una acción
admitida por el servicio.
● Port Type: conjunto abstracto de operaciones
admitidas por uno o más puntos finales.
Ejemplo:
Información concreta de enlace
Para completar la descripción de una interacción cliente-
servidor se necesita saber:
 Qué protocolo de comunicación se va utilizar (como
SOAP sobre HTTP)
 Como conseguir la interacción del servicio con este
protocolo
 Donde termina la comunicación (la dirección de red).
Para eso se utilizan los siguientes elementos:
● Binding: especificación del protocolo y del
formato de datos para un tipo de puerto
determinado.
● Port: punto final único que se define como la
combinación de un enlace y una dirección de
red.
● Service: colección de puntos finales
relacionados.
Información concreta de enlace
Ejemplo:
Objetivo de WSDL
● El objetivo de WSDL es el de liberar a los usuarios y desarrolladores de la
necesidad de recordar o entender todos los detalles de acceso a los
servicios, solo es necesario una descripción WSDL para poder acceder a
estos.
Descubrimiento: UDDI
● Una vez creado el servicio web el siguiente paso consiste en definir cómo se
dará a conocer el servicio Web para que los clientes interesados puedan
descubrirlo fácilmente y utilizarlo en sus aplicaciones.
Descubrimiento: UDDI
● UDDI es un registro público diseñado para almacenar de forma
estructurada información sobre empresas y los servicios que éstas
ofrecen. A través de UDDI, se puede publicar y descubrir
información de una empresa y de sus servicios.
En UDDI codifica tres tipos de información acerca de un
servicio web
Sección blanca - dirección, contacto y otros
identificadores conocidos.
Sección amarilla - categorización industrial basada en
taxonomías.
Sección verde - información técnica sobre los servicios
que aportan las propias empresas.
● La estructura que almacena la sección blanca es de
tipo bussinessEntity, esta estructura describe a un
proveedor de servicios Web.
Sección Blanca
Sección Amarilla
● Para almacenar la sección amarilla se utiliza la estructura tipo
bussinessService, que describe una familia de servicios Web ofrecidos por el
proveedor descrito en el bussinnessEntity.
Ejemplo:
Sección Verde
● La sección verde se almacena entre las estructuras tipo bindingTemplate,
que describen la información técnica de acceso a un servicio Web concreto.
Ejemplo:
Información de la plantilla de enlace
● Dirección donde el servicio puede ser accedido, esta dirección podría ser
una url, una dirección de email, o un numero de teléfono
● tModelInstanceDetaills, el cual provee la descripción técnica del servicio
Para Concluir:
● WSDL: Ofrece un modo formal de definir servicios
web, independientemente del proveedor.
● UDDI: Proporciona una amplia infraestructura
estandarizada que permite al usuario describir y
descubrir servicios web.
Gracias
Responsabilidad con pensamiento positivo

Weitere ähnliche Inhalte

Ähnlich wie S3-PD2.pptx

Ähnlich wie S3-PD2.pptx (20)

Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Ugmmontoya
UgmmontoyaUgmmontoya
Ugmmontoya
 
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
9-Unidad 3: Diseños de Vista-3.1 Creación Web Services
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidos
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
Capa de Aplicación
Capa de Aplicación Capa de Aplicación
Capa de Aplicación
 
Wsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazWsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitaz
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Web services
Web servicesWeb services
Web services
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
sesion01-traspas.pdf
sesion01-traspas.pdfsesion01-traspas.pdf
sesion01-traspas.pdf
 
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
 
Web services
Web servicesWeb services
Web services
 
Servicios web
Servicios webServicios web
Servicios web
 
23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
 

Mehr von Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Kürzlich hochgeladen

Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxmiguelmateos18
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdfDavidTicona31
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfalfredoivan1
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosisauVillalva
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoluishumbertoalvarezv1
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptReYMaStERHD
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx170766
 

Kürzlich hochgeladen (20)

Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
Suelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramientoSuelo, tratamiento saneamiento y mejoramiento
Suelo, tratamiento saneamiento y mejoramiento
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 

S3-PD2.pptx

  • 1. Plataformas de Desarrollo 2 Tema: 2 Web Services Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec
  • 2. No te ahogas al caer a un río, sino al mantenerte sumergido en el. Paulo Coelho.
  • 3. Objetivo • Construir aplicaciones de software Web con acceso a datos y que resuelva problemas basados en casos reales utilizando Visual Studio ● 2.1 SOAP Contenido
  • 4. ODS ● 4.3 De aquí a 2030, asegurar el acceso igualitario de todos los hombres y las mujeres a una formación técnica, profesional y superior de calidad, incluida la enseñanza universitaria META
  • 6. Intuitivamente es similar a un sitio web, pero no existe interacción con una persona a través de un web browser, sino que la interacción es entre aplicaciones "Un Web Service es un componente de software que se comunica con otras aplicaciones codificando los mensaje en XML y enviando estos mensaje a través de protocolos estándares de Internet tales como el Hypertext Transfer Protocol (HTTP).
  • 7. ¿Cómo Funcionan los Servicios Web?
  • 8. Requisitos de un Web Service:  Interoperabilidad: Un servicio remoto debe permitir su utilización por clientes de otras plataformas.  Amigabilidad con Internet: La solución debe poder funcionar para soportar clientes que accedan a los servicios remotos desde internet.  Interfaces fuertemente tipadas: procedimentales. Más aún, los tipos de datos definidos en el servicio remoto deben poderse corresponder razonablemente bien con los tipos de datos de la mayoría de los lenguaje de programación.
  • 9. Requisitos de un Web Service: ● Posibilidad de aprovechar los estándares de Internet existentes: La implementación del servicio remoto debería aprovechar estándares de Internet existentes tanto como sea posible y evitar reinventar soluciones a problema que ya se han resuelto. ● Soporte para cualquier lenguaje: Un cliente debería ser capaz de implementar un nuevo servicio Web existente independientemente del lenguaje de programación en el que se halla escrito el cliente.
  • 10. Bloques Constructivos de Servicios Web:
  • 11. ● Descubrimiento: La aplicación cliente que necesita acceder a la funcionalidad que expone un Servicio Web necesita una forma de resolver la ubicación de servicio remoto. Se logra mediante un proceso llamado, normalmente descubrimiento ● Descripción: Una vez que se ha resuelto el extremo de un servicio Web dado, el cliente necesita suficiente información para interactuar adecuadamente con el mismo. ● Formato del mensaje: Para el intercambio de datos, el cliente y el servidor tienen que estar de acuerdo en un mecanismo común de codificación y formato de mensaje.
  • 12. ● Codificación: Los datos que se trasmiten entre el cliente y el servidor necesitan codificarse en un cuerpo de mensaje. ● Transporte: Una vez se ha dado formato al mensaje y se han serializado los datos en el cuerpo del mensaje se debe transferir entre el cliente y el servidor utilizando algún protocolo de transporte.
  • 13. SOAP - Protocolo simple de acceso a objetos ● Es un protocolo basado en XML, que permite la interacción entre varios dispositivos y que tiene la capacidad de transmitir información compleja. Los datos pueden ser transmitidos a través de HTTP , SMTP , etc. SOAP especifica el formato de los mensajes de la siguiente forma:  envelope (envoltura): Es el elemento raíz del mensaje para describir su contenido y la forma de procesarlo.  header (encabezado): Es la información de identificación del contenido. Un grupo de reglas de codificación para expresar las instancias de tipos de datos definidos por la aplicación.  body (cuerpo): Es el contenido del mensaje. Una convención para representar las llamadas y las respuestas a procedimientos remotos.
  • 14. Anatomía de un mensaje SOAP
  • 16. Algunas de las Ventajas de SOAP ● No esta asociado con ningún lenguaje ● No se encuentra fuertemente asociado a ningún protocolo de transporte ● Aprovecha los estándares existentes en la industria ● Permite la interoperabilidad entre múltiples entornos ● Ampliamente aceptado
  • 17. ● RPC: Consiste en pasarle parámetros a un procedimiento remoto en algún lenguaje determinado (java, c++, etc) utilizando un esquema de comunicación xml via HTTP. RPC usando SOAP
  • 18. RPC usando SOAP Para realizar una invocación RPC es necesario conocer: ● La ubicación del objeto remoto ● El nombre del objeto remoto ● El nombre del método ● Los parámetros del método
  • 19. Descripción: WSDL Lenguaje de Descripción de Servicios Web ● WSDL representa una especie de contracto entre el proveedor y el que solicita. O sea 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, a través de un documento procesable por dispositivos.
  • 20. WSDL Distingue claramente los mensajes de los puertos ● Los mensajes (la sintaxis y semántica que necesita un servicio Web) son siempre abstractos ● Los puertos (las direcciones de red en las que se invoca al servicio Web) son siempre concretos
  • 21. Existen tres componentes principales de esta interfaz abstracta:  El vocabulario  El mensaje  La interacción Descripción abstracta:
  • 22. Descripción abstracta: Los elementos utilizados para esto son: ● Types: contenedor de definiciones del tipo de datos que utiliza algún sistema de tipos (por ejemplo XSD). ● Message: definición abstracta y escrita de los datos que se están comunicando. ● Operation: descripción abstracta de una acción admitida por el servicio. ● Port Type: conjunto abstracto de operaciones admitidas por uno o más puntos finales.
  • 24. Información concreta de enlace Para completar la descripción de una interacción cliente- servidor se necesita saber:  Qué protocolo de comunicación se va utilizar (como SOAP sobre HTTP)  Como conseguir la interacción del servicio con este protocolo  Donde termina la comunicación (la dirección de red).
  • 25. Para eso se utilizan los siguientes elementos: ● Binding: especificación del protocolo y del formato de datos para un tipo de puerto determinado. ● Port: punto final único que se define como la combinación de un enlace y una dirección de red. ● Service: colección de puntos finales relacionados. Información concreta de enlace
  • 27. Objetivo de WSDL ● El objetivo de WSDL es el de liberar a los usuarios y desarrolladores de la necesidad de recordar o entender todos los detalles de acceso a los servicios, solo es necesario una descripción WSDL para poder acceder a estos.
  • 28. Descubrimiento: UDDI ● Una vez creado el servicio web el siguiente paso consiste en definir cómo se dará a conocer el servicio Web para que los clientes interesados puedan descubrirlo fácilmente y utilizarlo en sus aplicaciones.
  • 29. Descubrimiento: UDDI ● UDDI es un registro público diseñado para almacenar de forma estructurada información sobre empresas y los servicios que éstas ofrecen. A través de UDDI, se puede publicar y descubrir información de una empresa y de sus servicios.
  • 30. En UDDI codifica tres tipos de información acerca de un servicio web Sección blanca - dirección, contacto y otros identificadores conocidos. Sección amarilla - categorización industrial basada en taxonomías. Sección verde - información técnica sobre los servicios que aportan las propias empresas.
  • 31. ● La estructura que almacena la sección blanca es de tipo bussinessEntity, esta estructura describe a un proveedor de servicios Web. Sección Blanca
  • 32. Sección Amarilla ● Para almacenar la sección amarilla se utiliza la estructura tipo bussinessService, que describe una familia de servicios Web ofrecidos por el proveedor descrito en el bussinnessEntity.
  • 34. Sección Verde ● La sección verde se almacena entre las estructuras tipo bindingTemplate, que describen la información técnica de acceso a un servicio Web concreto.
  • 36. Información de la plantilla de enlace ● Dirección donde el servicio puede ser accedido, esta dirección podría ser una url, una dirección de email, o un numero de teléfono ● tModelInstanceDetaills, el cual provee la descripción técnica del servicio
  • 37. Para Concluir: ● WSDL: Ofrece un modo formal de definir servicios web, independientemente del proveedor. ● UDDI: Proporciona una amplia infraestructura estandarizada que permite al usuario describir y descubrir servicios web.