A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Web Services Apresentação para a Febraban. Apresentação Objetivos da apresentação –Demonstrar para stakeholders (particularmente da Febraban) as características.

Apresentações semelhantes


Apresentação em tema: "Web Services Apresentação para a Febraban. Apresentação Objetivos da apresentação –Demonstrar para stakeholders (particularmente da Febraban) as características."— Transcrição da apresentação:

1 Web Services Apresentação para a Febraban

2 Apresentação Objetivos da apresentação –Demonstrar para stakeholders (particularmente da Febraban) as características técnicas da primeira geração de web services do BC; –Conteúdo essencialmente técnico.

3 Objetivos Portabilidade: –O padrão escolhido deverá garantir a portabilidade dos projetos sem afetar a independência de plataforma cliente; RAD: –O consumo de web services deverá ser possível sem que as equipes de TI das IFs tenham que se aprofundar nos meandros de uma nova tecnologia.

4 Objetivos (cont.) Independência de IDE: –O auxílio de uma IDE pode ser desejável, mas não necessário; Interoperabilidade: –Os web services devem poder ser consumidos em outras plataformas (ex:.NET).

5 Fatores decisivos Maturidade da solução open-source (Axis); Integração com IDEs; Reutilização da segurança J2EE (role- based); Escalabilidade (implementação server- side e stateless);

6 Passo 1: Definição do serviço SOA – Service Oriented Architecture –Um serviço é uma função bem definida, auto-contida e que não depende do estado ou contexto de outros serviços;

7 Passo 2: Implementação Implementação do serviço: –O serviço a ser fornecido via web service deve ser identificado e isolado em uma API tipicamente stateless; –Normalmente este serviço já está implementado no legado, bastando definir e implementar uma API para seu acesso na plataforma original.

8 Passo 3: Value Objects Parâmetros de entrada e saída: –A API de um serviço deverá conter apenas tipos compatíveis com web services (tipos básicos, strings, arrays tipados ou estruturas – VOs – destes tipos.

9 Passo 4: Criação do WS Definições de interesse público: –Definição da API (e value objects); –Geração da definição formal do web service (WSDL); –Se VOs forem compatíveis, o WSDL conterá uma descrição completa das estruturas de dados (mesmo as complexas); –O WS é, na prática, implementado por uma aplicação web comum (HTTP/HTTPS), sem o uso de qualquer extensão proprietária.

10 Passo 5: Segurança Segurança em web services –Não há padrão de facto – segurança delegada à camada de transporte (HTTP/HTTPS); Criptografia: –Acesso ao web service pode estar disponível apenas via HTTPS; Segurança declarativa: –URLs de acesso a web services podem exigir autenticação (padrão J2EE); –Métodos de negócio podem estar autorizados a roles específicas (padrão J2EE);

11 Passo 6: Publicação do WS Publicação: –A publicação do web service é, fisicamente, como a publicação de uma aplicação web comum; –A definição pública do web service (WSDL) estará disponível para download pela própria aplicação web que o implementa; –API de web services será estável – modificações e atualizações serão divulgadas com antecedência (a exemplo do Catálogo de Mensagens do SPB);

12 Passo 7: Consumo do WS Geração do cliente: –Acesso à definição do web service (WSDL) é tudo que basta; –IDEs têm a capacidade de gerar stub cliente a partir do WSDL;

13 Exemplos Exemplos de consumo –Serão apresentados dois exemplos (.NET e Java) de criação de aplicações que consomem web services.

14 Cliente.NET Criando um Cliente Web Services utilizando Visual Studio

15 Criando uma Web reference - botão direito, opção add web reference

16 Informando o endereço do WSDL

17 Classes geradas Ao criar uma Web reference, o Visual Studio, de posse das informações contidas no WSDL, cria todas as classes necessárias. Neste exemplo, são criadas: -ControleCliente -ResumoDoCliente -ResumoDaOperacao -ResumoDoVencimento

18 Formulário usado nos testes

19 using WindowsApplication1.WSControleCliente;... private void btnConsultar_Click( object sender, System.EventArgs e) { ControleClienteService controle = new ControleClienteService(); controle.Credentials = new System.Net.NetworkCredential( txtUsuario.Text, txtSenha.Text);... Código C# (1/3)

20 ... ResumoDoCliente resCliente = controle.getResumoDoCliente( txtCodCliente.Text, txtTipoCliente.Text, dtpData.Value); ResumoDaOperacao[] listaResOperacao = resCliente. listaDeResumoDasOperacoes;... Código C# (2/3)

21 ... txtResposta.Lines = new String[] { "Cod. Cliente: " + resCliente.codigoDoCliente, "Tipo Cliente: " +resCliente.tipoDoCliente, "Modalidade da 1a operacao: " + listaResOperacao[1].modalidade, "CodVenc. do 1o venc. da 1a operacao: " + listaResOperacao[1].listaDeVencimentos[1]. codigoVencimento};... Código C# (3/3)

22 Resultado da consulta

23 Cliente JAVA Criando um Cliente Web Services utilizando o JBuilder X (Axis)

24 Adicionando um Web Service designer ao projeto

25 Importando um serviço, através de uma URL

26 Classes geradas Após a importação, durante o build do projeto o Jbuilder (utilizando se do Axis) cria cria todas as classes necessárias para o acesso aos métodos expostos. Além disso ele também cria um esqueleto de uma classe de teste para o serviço. São criadas (entre outras) : -ControleClienteService -ResumoDoCliente -ResumoDoVencimento -ResumoDaOperacao -ControleClienteServiceTestCase

27 controleCliente.setUsername(USUARIO); controleCliente.setPassword(SENHA); String codCliente = " "; String tipoCliente = "2"; Calendar data = Calendar.getInstance(); data.setTime(new Date("11/01/2002")); ResumoDoCliente resCliente = null; resCliente = controleCliente.getResumoDoCliente( codCliente, tipoCliente, data); Código JAVA (1/3)

28 ResumoDoCliente resCliente = null; resCliente = controleCliente.getResumoDoCliente( codCliente, tipoCliente, data); ResumoDaOperacao[] listaResumoDaOperacao = resCliente.getListaDeResumoDasOperacoes(); ResumoDoVencimento[] listaResumoDoVencimento = listaResumoDaOperacao[1].getListaDeVencimentos( ); Código JAVA (2/3)

29 System.out.println("Cod. Cliente: " + resCliente.getCodigoDoCliente()); System.out.println("Tipo Cliente: " + resCliente.getTipoDoCliente()); System.out.println("Modalidade da 1a operacao: " + listaResumoDaOperacao[1].getModalidade()); System.out.println("CodVenc. do 1o venc. da 1a operacao: " + listaResumoDaOperacao[1].getListaDeVencimentos( )[1].getCodigoVencimento()); Código JAVA (3/3)

30 Resultado

31 Conclusões Simplicidade –Todo o processo de desenvolvimento de web services (e de seus clientes) se dá sem que seja necessário conhecer a sintaxe WSDL nem tampouco o protocolo SOAP; –Solução de segurança está nivelada ao protocolo de transporte (SSL + autenticação com usuários virtuais).


Carregar ppt "Web Services Apresentação para a Febraban. Apresentação Objetivos da apresentação –Demonstrar para stakeholders (particularmente da Febraban) as características."

Apresentações semelhantes


Anúncios Google