spring web services
Post on 14-Jun-2015
3.710 Views
Preview:
DESCRIPTION
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 : cgavidiac@gmail.com Blog :http://certified-es.blogspot.com/ Twitter :@Cptan_Alatriste
top related