Download - SOA WS
![Page 1: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/1.jpg)
Tópicos em Arquitetura SOA
Prof. Eder Ignatowicz
@ederign
/ederig
sábado, 3 de setembro de 2011
![Page 2: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/2.jpg)
Agenda Básica do Curso
• Aula 1 e 2 (06/08)
• Introdução SOA
• Aula 3 (03/09)
• Web Services (parte prática Java)
• Aula 4 (17/09)
• Rest (parte prática Java)
• Aula 5 (01/10)
• Seminário
sábado, 3 de setembro de 2011
![Page 3: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/3.jpg)
Web Services
Inspirado de: http://www.slideshare.net/indicthreads/java-web-services-using-jaxws
sábado, 3 de setembro de 2011
![Page 4: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/4.jpg)
Java Web Services utilizando JAX-WS
sábado, 3 de setembro de 2011
![Page 5: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/5.jpg)
Objetivo da nossa Aula
Entender como JAX-WS pode ser utilizado para implementar web services baseados em SOAP tanto do
lado servidor quanto do lado cliente.
sábado, 3 de setembro de 2011
![Page 6: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/6.jpg)
Estilo Dojo
sábado, 3 de setembro de 2011
![Page 7: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/7.jpg)
Web Services doem ?
Os cinco estágios de Dave Podnar durante o trabalho com WS
Denial - It’s Simple Object Access Protocol, right?
Over Involvement - OK, I’ll read the SOAP, WSDL, WS-I BP, JAX-RPC, SAAJ, JAX-P,… specs. next, I’ll check the Wiki and finally follow an example showing service and client sides.
Anger - I can’t believe those #$%&\*@s made it so difficult!
Guilt - Everyone is using Web Services, it must be me, I must be missing something.
Acceptance - It is what it is, Web Services aren’t simple or easy.
sábado, 3 de setembro de 2011
![Page 8: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/8.jpg)
Jargões, Jargões
XML XSDXSTL Xpath JAXP
SAX DOM JAXB STaXSOAP WSDL UDDI
JAX-RPD JAX-WS JAX-RSSAAJ WS* BP
ESBSOA
sábado, 3 de setembro de 2011
![Page 9: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/9.jpg)
Web Service
sábado, 3 de setembro de 2011
![Page 10: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/10.jpg)
Web Service - JAX-WS style
Plain old Java Object (POJO) pode ser facilmente exposto como um Web Service
Annotation driven
Data binding através do JAXB
Independente de Servidor
sábado, 3 de setembro de 2011
![Page 11: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/11.jpg)
Live Coding....
https://github.com/ederig/WS_Examples
sábado, 3 de setembro de 2011
![Page 12: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/12.jpg)
JAX-WS – Servlet Way
1) Crie um servlet TemperatureConverter
2) Configure o web.xml e anottations
3) Build e deploy:Observe:
O WSDL gerado e publicadoO mapeamento SOAP para Java
A resposta SOAP
4)Observe o test em com.jogano10.util.WSClientTest
5) Escreva os próximos métodos de TemperatureConverter
sábado, 3 de setembro de 2011
![Page 13: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/13.jpg)
JAX-WS – Servlet Way
Para importar o Web Service e gerar os Stubs
wsimport -s test url do Web Service...
Mais info no README dos projetos
sábado, 3 de setembro de 2011
![Page 14: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/14.jpg)
JAX-WS – Servlet Way
sábado, 3 de setembro de 2011
![Page 15: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/15.jpg)
Live Coding....
Vamos fazer outro Web Service utilizando Servlet ?
sábado, 3 de setembro de 2011
![Page 16: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/16.jpg)
JAX-WS – Servlet Way
sábado, 3 de setembro de 2011
![Page 17: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/17.jpg)
Web Service - EJB3 style
1) Crie a interface Icalc
2) Escreva a classe EJB: Calc
3) Build e deploy.
4) Olhe o test em com.jogano10.util.WSClientTest
5) Escreva or próximos métodos next methods in Calc
6-)Deploy ear
sábado, 3 de setembro de 2011
![Page 18: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/18.jpg)
Web Service - JavaSE style (EndPoint)
https://github.com/ederig/WS_Examples/tree/master/5minExample
1) Abra o Eclipse, e crie o projeto java "5minExample".
2) Crie a WS-Service Endpoint Interface: Singer.java
3) Crie a implementação WS-Service Endpoint class: JohnnyCash
4) Crie a classe Endpoint Publisher:
5) Execute o WSPublisher e verifique se o WebService está no ar: http://localhost:8080/WS/Singer?wsdl
sábado, 3 de setembro de 2011
![Page 19: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/19.jpg)
Web Service - JavaSE style (Client)
1) Precisamos gerar os Stubs do cliente, utilize o wsimport:
wsimport -s test http://localhost:8080/WS/Singer?wsdl
2) Execute o WSClientTest e ouça Johnny cantando ;)
Stubs é tipo um proxy para os objetos remotos no lado cliente, e skeletons seriam esses proxys no lado servidor.
Stubs repassam os metodos invocados do cliente remoto para os skeletons (servidor). Skeletons devolvem o resultado para os
clientes atraves dos stubs
sábado, 3 de setembro de 2011
![Page 20: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/20.jpg)
Exemplos práticos de consumo de WS
sábado, 3 de setembro de 2011
![Page 21: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/21.jpg)
Demo Correios
sábado, 3 de setembro de 2011
![Page 22: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/22.jpg)
Demo Stock
sábado, 3 de setembro de 2011
![Page 23: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/23.jpg)
Blank Projecthttp://www.webservicex.net/ws/
default.aspx
sábado, 3 de setembro de 2011
![Page 24: SOA WS](https://reader037.vdocuments.com.br/reader037/viewer/2022102804/548e190eb47959db028b4773/html5/thumbnails/24.jpg)
• Dúvidas ?
sábado, 3 de setembro de 2011