Tópicos em Arquitetura SOA
Prof. Eder Ignatowicz
@ederign
/ederig
sábado, 3 de setembro de 2011
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
Web Services
Inspirado de: http://www.slideshare.net/indicthreads/java-web-services-using-jaxws
sábado, 3 de setembro de 2011
Java Web Services utilizando JAX-WS
sábado, 3 de setembro de 2011
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
Estilo Dojo
sábado, 3 de setembro de 2011
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
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
Web Service
sábado, 3 de setembro de 2011
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
Live Coding....
https://github.com/ederig/WS_Examples
sábado, 3 de setembro de 2011
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
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
JAX-WS – Servlet Way
sábado, 3 de setembro de 2011
Live Coding....
Vamos fazer outro Web Service utilizando Servlet ?
sábado, 3 de setembro de 2011
JAX-WS – Servlet Way
sábado, 3 de setembro de 2011
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
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
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
Exemplos práticos de consumo de WS
sábado, 3 de setembro de 2011
Demo Correios
sábado, 3 de setembro de 2011
Demo Stock
sábado, 3 de setembro de 2011
Blank Projecthttp://www.webservicex.net/ws/
default.aspx
sábado, 3 de setembro de 2011
• Dúvidas ?
sábado, 3 de setembro de 2011
Top Related