SOA WS

24
Tópicos em Arquitetura SOA Prof. Eder Ignatowicz @ederign /ederig sábado, 3 de setembro de 2011

description

SOA presentation - Unisal MBA - 2011https://github.com/ederig/WS_Examples

Transcript of SOA WS

Page 1: SOA WS

Tópicos em Arquitetura SOA

Prof. Eder Ignatowicz

@ederign

/ederig

sábado, 3 de setembro de 2011

Page 2: SOA WS

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

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

Java Web Services utilizando JAX-WS

sábado, 3 de setembro de 2011

Page 5: SOA WS

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

Estilo Dojo

sábado, 3 de setembro de 2011

Page 7: SOA WS

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

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

Web Service

sábado, 3 de setembro de 2011

Page 10: SOA WS

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

Live Coding....

https://github.com/ederig/WS_Examples

sábado, 3 de setembro de 2011

Page 12: SOA WS

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

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

JAX-WS – Servlet Way

sábado, 3 de setembro de 2011

Page 15: SOA WS

Live Coding....

Vamos fazer outro Web Service utilizando Servlet ?

sábado, 3 de setembro de 2011

Page 16: SOA WS

JAX-WS – Servlet Way

sábado, 3 de setembro de 2011

Page 17: SOA WS

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

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

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

Exemplos práticos de consumo de WS

sábado, 3 de setembro de 2011

Page 21: SOA WS

Demo Correios

sábado, 3 de setembro de 2011

Page 22: SOA WS

Demo Stock

sábado, 3 de setembro de 2011

Page 24: SOA WS

• Dúvidas ?

sábado, 3 de setembro de 2011