2. Como surgiu...Como surgiu...
• Devido aos avanços tecnológicos, a
popularização da Internet e a evolução das
redes de computadores, resultando no
surgimento de aplicações distribuídas, cada vez
mais aumenta a necessidade de
compartilhamento de informações. Em outras
palavras, aumenta a necessidade de
interoperabilidade entre sistemas. Surgem então
os Web Services, como solução para uma
melhor comunicação entre sistemas
distribuídos.
3. Conceitos envolvidos...Conceitos envolvidos...
• Através de um conjunto de novos
conceitos de interoperabilidade como o
XML, o SOAP, o WSDL, e o UDDI, os
Web Services vieram facilitar a
comunicação entre as aplicações que
residem em múltiplas plataformas, usando
diferentes modelos de objetos e baseados
em linguagens diferentes.
4. Então, o que são WebEntão, o que são Web
Services?Services?
• É uma aplicação que aceita solicitações
de outros sistemas através da Internet.
• São interfaces acessíveis de rede, para as
funcionalidades da aplicação, que utilizam
em sua construção tecnologias padrões
da Internet.
5. Definições...Definições...
• XML – formato de transmissão de dados.
• WSDL – é uma descrição de um Web
Service (baseada em XML).
• UDDI – protocolo desenvolvido para a
organização e registro de Web Sevices.
7. ArquiteturaArquitetura
• Baseada na interação de três
personagens:
• Provedor de Serviços;
• Consumidor de Serviços;
• Registro dos Serviços.
• A interação destes personagens envolve
as operações de publicação, pesquisa e
ligação.
8. BenefíciosBenefícios
• Os serviços são baseados em um conjunto de
padrões da internet definidos pelo W3C
• Não requerem configurações especiais nos
firewalls, pois o protocolo http, o qual é o mais
utilizado, atua como transporte na comunicação
entre cliente e Web Service.
• Possuem independência de plataforma, devido
a ser baseado em XML, o qual pode gerar
documentos complexos.
10. SOAP – O padrão mais utilizadoSOAP – O padrão mais utilizado
atualmente.atualmente.
11. • Validação de CPF e CNPJ online;
• Web Service para cotação e conversão de moedas;
• Nota fiscal eletrônica: distribuída e armazenada apenas
em meios eletrônicos.
• Cálculo do frete pelo site dos Correios.
• Sarvega XML Routers: Roteadores que trabalham
recebendo e enviando pacotes XML.
Produtos do MercadoProdutos do Mercado
12. Um Exemplo de Web Service: OUm Exemplo de Web Service: O
CobreDiretoCobreDireto
16. Método: doService
Parâmetros:
• Version;
• Action: “payOrder” (Criação de Pedido) ou “probe”
(Status de Pedido)
• Merchant;
• User;
• Password;
• Data.
Variável de Retorno: doServiceReturn
Integração com Web ServiceIntegração com Web Service
18. - Requisitar o SOAP passando o payOrder no campo data;
- O Web Service do CobreDireto retornará a variável
doServiceReturn contendo um XML com a seguinte
estrutura:
Criação do PedidoCriação do Pedido
19. Criação do Pedido: doServiceRunCriação do Pedido: doServiceRun
<payOrder>
<status>Status da comunicação: o status do pedido deve ser
visto dentro de bpag_data.status
</status>
<msg></msg>
<bpag_data>
<status>Status do Pedido</status>
<msg></msg>
<url>URL para redirecionamento</url>
<id>Código do pedido no CobreDireto</id>
</bpag_data>
</payOrder>
20. Criação do PedidoCriação do Pedido
• Redirecionar o usuário para a URL
recebida;
• A cada mudança de status do
pagamento, a loja será avisada pelo
CobreDireto através da campainha.
21. Através da URL configurada no ‘behavior_data’, o
CobreDireto envia via POST as seguintes
informações:
* merchant - O código da loja no CobreDireto
* merch_ref - O código do pedido na loja
* id - O código do pedido no CobreDireto
22. Criação do Pedido: CampainhaCriação do Pedido: Campainha
<bell>
<status>Numero inteiro</status>
<msg>Uma mensagem curta de até 256 caracteres</msg>
</bell>
23. Status do Pedido: probeStatus do Pedido: probe
Ao receber a campainha a loja deverá fazer uma
requisição SOAP, passando no parâmetro action o
valor ‘probe’.
O XML a ser enviado no parâmetro 'data' terá o seguinte
formato:
24. Status do pedido: probeStatus do pedido: probe
<probe>
<merch_ref>Numero do pedido na loja</merch_ref>
<id>Numero do pedido no CobreDireto</id>
</probe>
25. Status do pedido: probeStatus do pedido: probe
O Web Service retornará um XML, contendo o
status do pedido naquele momento:
26. Status do pedido: probeStatus do pedido: probe
<probe>
<status>Status da comunicação, o status do pedido deve ser
visto dentro de order_data.bpag_data.status
</status>
<msg></msg>
<order_data>
<bpag_data>
<status>Status do Pedido</status>
<msg></msg>
<url>URL para redirecionamento</url>
<id>Número do pedido no CobreDireto</id>
</bpag_data>
</order_data>
</probe>