Aula – Web Services - Carlos Eduardo Dantas

Transcrição

Aula – Web Services - Carlos Eduardo Dantas
Programação de Sistemas
Distribuídos e Concorrência
Aula 5
Prof: Carlos Eduardo de Carvalho Dantas
([email protected])
http://carloseduardoxp.wordpress.com
“Ensinar é aprender duas vezes.” – Joseph Joubert
2013-2
Programação de Sistemas Distribuídos e Concorrência
Coisas Inesperadas acontecem

Mesmo sistemas de pequeno/médio porte às vezes
necessitam de interoperabilidade;

Interoperabilidade significa abordar requisitos
agnósticos em termos de linguagem de
programação;

Desenvolvimento poliglota é cada vez mais comum.
2013-2
Programação de Sistemas Distribuídos e Concorrência
Interoperabilidade

Interoperabilidade por geração de arquivos?

Interoperabilidade por geração de arquivos com
linguagem de marcação?

Interoperabilidade por um protocolo fechado como
CORBA?

Interoperabilidade por um protocolo aberto como
SOAP ou REST?
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Trafegar dados e serviços através do protocolo
HTTP;

Fornece segurança através de SSL (sockets secure
layer);

Praticamente onipresente na rede mundial;

Trafegar XML sobre HTTP como protocolo de
transporte (Web Services com SOAP);

Acrescenta contrato de serviço, mostrando o que é
esperado de entrada/saída (WSDL).
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Cada linguagem oferece seu conjunto de APIs para
implementar Web Services;

Em Java, a API padrão para Web Services se chama
JAX-WS.
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Segue abaixo a descrição do serviço (WSDL)
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Criando um cliente via soap-ui
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Criando um cliente via soap-ui
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Exemplo de um envelope SOAP
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Geração de um cliente Java
2013-2
Programação de Sistemas Distribuídos e Concorrência
Web Services com HTTP

Geração de um cliente Java
2013-2
Programação de Sistemas Distribuídos e Concorrência
SOA vs Web Service

SOA precisa expor a lógica de negócio através de
meios agnósticos, e Web Service é um candidato
para tal finalidade;

Soa precisa dos princípios: contrato de serviços
padronizado, baixo acoplamento, abstração,
reutilização, autonomia, não manter estado,
habilidade de poder ser descoberto e habilidade de
poder ser composto.
2013-2
Programação de Sistemas Distribuídos e Concorrência
Referências Bibliográficase

[1] Sistemas distribuídos – princípios e paradigmas.
Cap 1
2013-2
Programação de Sistemas Distribuídos e Concorrência