SlideShare una empresa de Scribd logo
1 de 25
SOA y WebServices Spring Tours UPeU 2009 José Luis Gutiérrez
Agenda ,[object Object]
Arquitectura
Estandares
Java y los web services
Beneficios de los web services
Service Oriented Architecture (SOA)
Apache Axis
Arquitectura y forma de trabajo de Apache Axis.
Facilidades de Spring Framework para servicios Web.,[object Object]
Arquitectura
WSDL Es un lenguaje basado en XML que describe servicio como una colección de operaciones accesibles a través de mensajes. Define detalles de interfaces y mecanismos de interacción del servicio, protocolos enlace y servicios de la red. SOAP Protocolo para intercambio de información en un ambiente descentralizado y distribuido, el cual permite la comunicación entre varias aplicaciones. La comunicación se realiza vía formato de intercambio de mensajes XML, incluyendo requisitos de llamada de parámetros y resultados. UDDI La especificación UDDI es un esfuerzo común para definir y crear un registro de servicio estándar, el cual puede ser accedido por clientes puede ser alojar todos los servicios que se necesiten. Tecnologías Estándar
¿Cómo Funciona?
Beneficios de web services Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado. Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados. Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar y abiertos. Las especificaciones son gestionadas por una organización abierta, la W3C, por tanto no hay secretismos por intereses particulares de fabricantes concretos y se garantiza la plena interoperabilidad entre aplicaciones. Es el futuro de la aplicaciones
Service Oriented Architecture (SOA) Roles: proveedor del servicio: ofrece un servicio y publica su definición en un registro junto con una descripción consumidor del servicio: localiza e invoca el servicio registro o agencia de descubrimiento: ofrece un servicio de información sobre la definición y descripción de servicios disponibles Características de SOA: sistema es una colección de servicios débilmente acoplados comunicación con el servicio por protocolos estándares mecanismo común para la representación e intercambio lenguaje de meta-datos para describir los servicios ofrecidos mecanismo para registrar y localizar los servicios Mismo servicio, distintas calidades de servicio (QoS) distinto proveedor, descripción habla de distintos requisitos técnicos disponibilidad, prestaciones, escalabilidad, seguridad,… Visión del consumidor: concierne únicamente la funcionalidad y la QoS
Service Oriented Architecture (SOA) Service Oriented Architecture (SOA)
Partes de la arquitectura Descripción de los servicios: WSDL Registro y búsqueda de servicios: UDDI Uso de los servicios: SOAP, HTTP, MIME
Descripción del servicio WSDL (Web Services Description Language) es una especificación que define cómo describir servicios Web usando una gramática XML. utiliza XML y XML Schema El documento WSDL representa un contrato entre el proveedor y el usuario de un servicio. Consumidor y proveedor del servicio quieren validar y interpretar los documentos que intercambian los dos necesitan acceso a una descripción del servicio WSDL se usa: En la fase de despliegue para crear los interfaces de servicio. Algunas implementaciones SOAP, también usan WSDL durante la ejecución para soportar comunicaciones dinámicas Actualmente, la mayoría de las herramientas usan WSDL 1.1 WSDL: presentaciónbásica
Descripción del servicio Es una gramática XML, orientada a describir en forma estructurada, la funcionalidad de un Web Service y la forma en que esa funcionalidad se hace disponible. Describe un servicio, como una colección de “comunication endpoints” (puertos) capaces de intercambiar mensajes. Cada port tiene un definición abstracta (port type) y una definición concreta (binding). Permite describir en forma abstracta operaciones y mensajes, prescindiendo de las especificaciones de protocolo y tipos de datos. Vincula las descripciones abstractas a una implementación concreta de protocolos y tipos de datos, permitiendo la reutilización de las definiciones abstractas. Es extensible tanto en lo que respecta a tipos de datos (XSD) como a protocolos y formatos de mensajes. Proporciona documentación sobre el servicio que describe WSDL: presentaciónbásica
Arquitectura de referencia SOA
Implementación de SOAP (Simple Object Access Protocol) Este es un protocolo basado en XML que consiste de tres partes: un sobre que define un marco para describir qué hay en el mensaje y cómo procesarlo, un conjunto de reglas de codificación, y una convención para representar llamadas a procedimientos remotos y respuestas. Apache Axis
Un servidor que se conecta en servlet engines tales como Apache Tomcat. Soporte para WSDL. Herramientas que generar clases Java de WSDL y viceversa (WSDL2Java y Java2WSDL) Una herramienta para monitorear paquetes TCP/IP. Caracteristicas de Axis
Axis usa SAX (Simple API for XML)  para procesar archivos XML. Axis es completamente independiente del transporte usado. Habilita el intercambio de mensajes usando diferentes canales de comunicación. Soporta la API JAX-RPC con JavaBeans como implementaciones de servicios web. No soporta EJBs. Arquitectura de Axis
Axis utiliza una seria de Handlers para interceptar y procesar los mensajes SOAP recibidos.  Un handler puede examinar y potencialmente modificar el contenido de un mensaje SOAP. Punto de pivote: el lugar en donde el verdadero servicio web es invocado. Handlers
Agregan una colección de Handlers. Una petición fluye a lo largo de una secuencia de Handlers hasta que es procesada. Targeted Chain es la cadena que contiene el punto de pivote. Cadenas

Más contenido relacionado

La actualidad más candente

REST and Microservices
REST and MicroservicesREST and Microservices
REST and MicroservicesShaun Abram
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계Jinho Yoo
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding RESTNitin Pande
 
Les web services
Les web servicesLes web services
Les web servicesdihiaselma
 
[Russia] MySQL OOB injections
[Russia] MySQL OOB injections[Russia] MySQL OOB injections
[Russia] MySQL OOB injectionsOWASP EEE
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVCIndicThreads
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverDavid Gómez García
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework springAntoine Rey
 
2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assuredEing Ong
 
Chapter 8 overview
Chapter 8 overviewChapter 8 overview
Chapter 8 overviewali raza
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservicesMohammed A. Imran
 

La actualidad más candente (20)

REST and Microservices
REST and MicroservicesREST and Microservices
REST and Microservices
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Presentation SOAP
 Presentation SOAP Presentation SOAP
Presentation SOAP
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding REST
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
Les web services
Les web servicesLes web services
Les web services
 
Best Practices with Azure & Kubernetes
Best Practices with Azure & KubernetesBest Practices with Azure & Kubernetes
Best Practices with Azure & Kubernetes
 
iOS Security
iOS SecurityiOS Security
iOS Security
 
[Russia] MySQL OOB injections
[Russia] MySQL OOB injections[Russia] MySQL OOB injections
[Russia] MySQL OOB injections
 
Building RESTful applications using Spring MVC
Building RESTful applications using Spring MVCBuilding RESTful applications using Spring MVC
Building RESTful applications using Spring MVC
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
 
2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured
 
Chapter 8 overview
Chapter 8 overviewChapter 8 overview
Chapter 8 overview
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservices
 
Onion architecture
Onion architectureOnion architecture
Onion architecture
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 

Similar a SOA y Web Services (20)

Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Servicios web
Servicios webServicios web
Servicios web
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Presentacion Unidad 6
Presentacion Unidad 6Presentacion Unidad 6
Presentacion Unidad 6
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.ppt
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?
 
Web services
Web servicesWeb services
Web services
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidos
 
JavaWebServices: Arquitectura
JavaWebServices: ArquitecturaJavaWebServices: Arquitectura
JavaWebServices: Arquitectura
 
Servicios web
Servicios webServicios web
Servicios web
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Act4 uni2
Act4 uni2Act4 uni2
Act4 uni2
 

Último

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (11)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

SOA y Web Services

  • 1. SOA y WebServices Spring Tours UPeU 2009 José Luis Gutiérrez
  • 2.
  • 5. Java y los web services
  • 6. Beneficios de los web services
  • 9. Arquitectura y forma de trabajo de Apache Axis.
  • 10.
  • 12. WSDL Es un lenguaje basado en XML que describe servicio como una colección de operaciones accesibles a través de mensajes. Define detalles de interfaces y mecanismos de interacción del servicio, protocolos enlace y servicios de la red. SOAP Protocolo para intercambio de información en un ambiente descentralizado y distribuido, el cual permite la comunicación entre varias aplicaciones. La comunicación se realiza vía formato de intercambio de mensajes XML, incluyendo requisitos de llamada de parámetros y resultados. UDDI La especificación UDDI es un esfuerzo común para definir y crear un registro de servicio estándar, el cual puede ser accedido por clientes puede ser alojar todos los servicios que se necesiten. Tecnologías Estándar
  • 14. Beneficios de web services Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado. Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados. Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar y abiertos. Las especificaciones son gestionadas por una organización abierta, la W3C, por tanto no hay secretismos por intereses particulares de fabricantes concretos y se garantiza la plena interoperabilidad entre aplicaciones. Es el futuro de la aplicaciones
  • 15. Service Oriented Architecture (SOA) Roles: proveedor del servicio: ofrece un servicio y publica su definición en un registro junto con una descripción consumidor del servicio: localiza e invoca el servicio registro o agencia de descubrimiento: ofrece un servicio de información sobre la definición y descripción de servicios disponibles Características de SOA: sistema es una colección de servicios débilmente acoplados comunicación con el servicio por protocolos estándares mecanismo común para la representación e intercambio lenguaje de meta-datos para describir los servicios ofrecidos mecanismo para registrar y localizar los servicios Mismo servicio, distintas calidades de servicio (QoS) distinto proveedor, descripción habla de distintos requisitos técnicos disponibilidad, prestaciones, escalabilidad, seguridad,… Visión del consumidor: concierne únicamente la funcionalidad y la QoS
  • 16. Service Oriented Architecture (SOA) Service Oriented Architecture (SOA)
  • 17. Partes de la arquitectura Descripción de los servicios: WSDL Registro y búsqueda de servicios: UDDI Uso de los servicios: SOAP, HTTP, MIME
  • 18. Descripción del servicio WSDL (Web Services Description Language) es una especificación que define cómo describir servicios Web usando una gramática XML. utiliza XML y XML Schema El documento WSDL representa un contrato entre el proveedor y el usuario de un servicio. Consumidor y proveedor del servicio quieren validar y interpretar los documentos que intercambian los dos necesitan acceso a una descripción del servicio WSDL se usa: En la fase de despliegue para crear los interfaces de servicio. Algunas implementaciones SOAP, también usan WSDL durante la ejecución para soportar comunicaciones dinámicas Actualmente, la mayoría de las herramientas usan WSDL 1.1 WSDL: presentaciónbásica
  • 19. Descripción del servicio Es una gramática XML, orientada a describir en forma estructurada, la funcionalidad de un Web Service y la forma en que esa funcionalidad se hace disponible. Describe un servicio, como una colección de “comunication endpoints” (puertos) capaces de intercambiar mensajes. Cada port tiene un definición abstracta (port type) y una definición concreta (binding). Permite describir en forma abstracta operaciones y mensajes, prescindiendo de las especificaciones de protocolo y tipos de datos. Vincula las descripciones abstractas a una implementación concreta de protocolos y tipos de datos, permitiendo la reutilización de las definiciones abstractas. Es extensible tanto en lo que respecta a tipos de datos (XSD) como a protocolos y formatos de mensajes. Proporciona documentación sobre el servicio que describe WSDL: presentaciónbásica
  • 21. Implementación de SOAP (Simple Object Access Protocol) Este es un protocolo basado en XML que consiste de tres partes: un sobre que define un marco para describir qué hay en el mensaje y cómo procesarlo, un conjunto de reglas de codificación, y una convención para representar llamadas a procedimientos remotos y respuestas. Apache Axis
  • 22. Un servidor que se conecta en servlet engines tales como Apache Tomcat. Soporte para WSDL. Herramientas que generar clases Java de WSDL y viceversa (WSDL2Java y Java2WSDL) Una herramienta para monitorear paquetes TCP/IP. Caracteristicas de Axis
  • 23. Axis usa SAX (Simple API for XML) para procesar archivos XML. Axis es completamente independiente del transporte usado. Habilita el intercambio de mensajes usando diferentes canales de comunicación. Soporta la API JAX-RPC con JavaBeans como implementaciones de servicios web. No soporta EJBs. Arquitectura de Axis
  • 24. Axis utiliza una seria de Handlers para interceptar y procesar los mensajes SOAP recibidos. Un handler puede examinar y potencialmente modificar el contenido de un mensaje SOAP. Punto de pivote: el lugar en donde el verdadero servicio web es invocado. Handlers
  • 25. Agregan una colección de Handlers. Una petición fluye a lo largo de una secuencia de Handlers hasta que es procesada. Targeted Chain es la cadena que contiene el punto de pivote. Cadenas
  • 27. Pasado a cada invocación de un Handler Se estructura contiene: Un mensaje “request” Un mensaje “response”, y Un conjunto de propiedades. MessageContext
  • 31.
  • 32.
  • 33. Spring tiene dos factories para crear proxies de servicios web: LocalJaxRpcServiceFactoryBean y JaxRpcPortProxyFactoryBean