spring web services

Download Spring Web Services

If you can't read please download the document

Upload: carlos-gavidia

Post on 14-Jun-2015

3.708 views

Category:

Technology


2 download

DESCRIPTION

Presentación utilizada en el Spring Community Day 2010

TRANSCRIPT

  • 1. Spring Web Services Carlos G. Gavidia Spring Community Day 2010

2. Agenda

  • Estilos de desarrollo para servicios Web
  • Primero el contrato

3. El contrato al ltimo Servicios Web con Spring y Xfire

  • Publicacin y consumo

Contratos en Servicios Web

  • Contrato de datos y de servicio, Apache XML Beans

Servicios Web con Spring-WS

  • Publicacin y consumo con manipulacin XML y XML Marshalling

4. Estilos de desarrollo

  • El contrato al ltimo
  • Exponer clases Java como Servicios Web

5. Generacin automtica de WSDL 6. El diseo del servicio se realiza en Java y no en XML/WSDL

  • El contrato primero
  • Se disean primero los mensajes de entrada y salida del servicio con XML

7. Luego se implementa el contrato definido en un lenguaje de programacin 8. Estilos de desarrollo

  • Si definimos el contrato al ltimo, los cambios en clases Java impactan a nuestros clientes

9. El contrato generado automticamente no es portable y puede ser ineficiente 10. Pero, generar el contrato al ltimo es mucho ms fcil 11. Publicar servicios con XFire

  • XFire: Framework SOAP para Java

12. Recetario:

  • Agregar dependencias

13. Regi strar DispatcherServleten web.xml 14. Exportamos el bean de implementacin medianteXfireExporter 15. Verificamos consultando el WSDL del servicio 16. Consumir servicios con XFire

  • Recetario:
  • Agregar dependencias

17. Creamos un proxy para el servicio web conXfireClientFactoryBean 18. Invocamos al bean desde el cliente 19. Publicar un servicio con anotaciones

  • JSR-181: Web Services Metadata for the Java Platform

20. Recetario

  • Agregar las dependencias

21. UsamosJsr181HandlerMappingpara enlazar las peticiones de servicios web con lo configurado con las anotaciones 22. Contratos en servicios web

  • Contrato de datos
  • Describe tipos de datos y mensajes de entrada y salida

23. Definido mediante XSD 24. Contrato de servicios 25. Describe las operaciones del servicio web 26. Definido mediante WSDL 27. Archivos XSD con Apache XML Beans

  • Crear mensajes XML de ejemplo

28. Generar el archivo XSD mediant einst2xsd

  • inst2xsd -design rd -enumerations never request.xml response.xml

Optimizar el documento generado 29. Publicar Servicios con Spring-WS 30. Publicar Servicios con Spring-WS

  • Recetario
  • Agregar dependencias

31. Configurar MessageDispatcherServletenweb.xml 32. Declarar un bean para la implementacin del servicio 33. PayloadRootQNameEndpointMapping

  • Asigna peticiones de servicio web segn el elemento raz del mensaje

Creamos el endpoint con un API de procesamiento XML

  • En nuestro caso dom4j

34. ExtendemosAbstractDom4jPayloadEndpoint 35. SobreescribimosinvokeInternal () . Declaramos el endpoint creado 36. Publicamos el WSDL conDynamicWsdl11Definition 37. XsdBasedSoap11Wsdl4jDefinitionBuilder:En base a un XSD 38. Archivo de Configuracin 39. Consumir servicios con Spring-WS

  • Creacin de un proxy local para un servicio remoto
  • Debe implementarWeatherService

40. Debe convertir una invocacin de un mtodo local en una llamada al servicio Web 41. Utilizamos el mtodosendSourceAndReceiveToResult deWebServiceTemplate 42. Declaramos el proxy en un archivo de configuracin de Spring 43. Podemos utilizarWebServiceGatewaySupportpara obtener una instancia deWebServiceTemplatesin necesidad de inyeccin 44. Un Cliente 45. Servicios Web con Marshalling XML 46. Publicar Servicios con Marshalling

  • Recetario
  • Usaremos Castor, e incluimos sus dependencias

47. Definir un modelo de objetos de acuerdo al formato XML 48. Definimos el endpoint extendiendoAbstractMarshallingPayloadEndpointy sobre escribiendoinvokeInternal () . 49. Configuramos el endpoint, utilizando como marshaller/unmarshaller aCastorMarshaller

  • Sealando el archivo de configuracin delmapping

50. Archivo deMappingde Castor 51. Consumir servicios con Marshalling

  • Reutilizaremos el modelo de objetos y el archivo de configuracin del servicio

52. WebServiceTemplateprovee el mtodomarshalSendAndReceive . 53. Incluir las dependencias de Castor en el cliente 54. Configurarar marshaller/unmarshaller paraWebServiceTemplate 55. Resumen

  • Implementar servicios comenzando por el contrato tiene sus ventajas
  • Contrato de datos: XSD. Tienes que hacerlo manualmente

56. Contrato de servicios: WSDL. Puedes generarlo automtico Las peticiones de servicios web son manejadas porendpoints

  • Mediante manipulacin XML

57. Mediante marshalling XML 58. Crditos Basado enSpring Recipes A Problem-Solution Approachde Gary Mak 59. Gracias! Mail : [email protected] Blog :http://certified-es.blogspot.com/ Twitter :@Cptan_Alatriste