13
2013-2 Programação de Sistemas Distribuídos e Concorrência Programação de Sistemas Distribuídos e Concorrência Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ([email protected] ) h ttp://carloseduardoxp.wordpress.com “Ensinar é aprender duas vezes.” – Joseph Joubert

Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

  • Upload
    lelien

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

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

Page 2: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

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.

Page 3: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

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?

Page 4: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

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).

Page 5: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

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.

Page 6: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

Web Services com HTTP

Segue abaixo a descrição do serviço (WSDL)

Page 7: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

Web Services com HTTP

Criando um cliente via soap-ui

Page 8: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

Web Services com HTTP

Criando um cliente via soap-ui

Page 9: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

Web Services com HTTP

Exemplo de um envelope SOAP

Page 10: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

Web Services com HTTP

Geração de um cliente Java

Page 11: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

2013-2 Programação de Sistemas Distribuídos e Concorrência

Web Services com HTTP

Geração de um cliente Java

Page 12: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

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.

Page 13: Aula 5 - · PDF file2013-2 Programação de Sistemas Distribuídos e Concorrência ... Aula 5 Prof: Carlos Eduardo de Carvalho Dantas ... agnósticos em termos de linguagem de programação;

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