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

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

1 Web Services Júlio Gerchman 2 Motivação XML Web Services Desacoplar componentes Formato padrão –“Consumível” pela máquina –Legível.

Apresentações semelhantes


Apresentação em tema: "1 Web Services Júlio Gerchman 2 Motivação XML Web Services Desacoplar componentes Formato padrão –“Consumível” pela máquina –Legível."— Transcrição da apresentação:

1 1 Web Services Júlio Gerchman juliog@gmail.com

2 2 Motivação XML Web Services Desacoplar componentes Formato padrão –“Consumível” pela máquina –Legível por uma pessoa Orientado a mensagens –Mais flexível que apenas RPC Relativa resiliência a mudanças tecnológicas –Desacoplado do protocolo Serviços autônomos –Endpoints gerenciados individualmente

3 3 Vantagens Independência de plataforma e fornecedor Baixo acoplamento entre serviço e consumidor Reuso de serviços Padrões e protocolos abertos –Texto –Facilidade para o desenvolvedor HTTP: transporte mais comum –Proxies, firewalls –Simplicidade, ferramentas Simples

4 4 Desvantagens Overhead Interfaces imutáveis –Versionamento? Serviços de alto nível –Inexistentes, incipientes ou não padronizados –Lista interminável: WS-Tudo HTTP: transporte mais comum –Confiabilidade: indisponibilidade, particionamento, latência, sem garantia de entrega (apenas recebimento) Deveria se manter simples

5 5 Arquitetura Servidor: contêiner específico –Adaptador, contêiner, aplicação Cliente: biblioteca –Marshalling, unmarshalling –Envio e recebimento –Descoberta de serviços

6 6 Arquitetura: camadas (I) Transporte –HTTP, JMS, FTP, SMTP,... Mensagem –SOAP –Extensões Descrição –WSDL Processos (serviços) –UDDI, BPEL,...

7 7 Arquitetura: camadas (II) Segurança Comunicação HTTP, SMTP, FTP, JMS, IIOP,... Mensagens SOAP Extensões Descrição WSDL Processos (serviços) UDDI, BPEL, WS-etc Gerência

8 8 Ferramentas Dependente do fabricante –Diferencial competitivo –Geração, stubs, requisição, deploy Apache Axis: Java –java2wsdl, wsdl2java, AdminClient Sun JWSDP: Java –wsimport, wsgen, jax-ws.xml NuSOAP: PHP.NET Web Services, Mono Web Services –wsdl.exe

9 9 Usando Google SOAP API http://code.google.com/apis/soapsearch/ Versão beta, experimental Necessário requisitar chave –1000 queries/dia

10 10 NuSOAP http://dietrich.ganx4.com/nusoap/ include ('nusoap.php'); $soapclient = new soapclient('http://api.google.com/search/beta2'); $params = array('key' => $licensekey, 'q' => $sitequery,...); $ret = $soapclient->call('doGoogleSearch', $params, 'urn:GoogleSearch'); foreach($ret['resultElements'] as $result) { print $result['URL']; print $result['snippet']; }

11 11 Apache Axis wsdl2java GoogleSearch.wsdl -p com.google.api –com/google/api/*.java –Service, Locator, Port, BindingStub –GoogleSearchResult, ResultElement, DirectoryCategory public static void main(String[] args) throws ServiceException, RemoteException {... GoogleSearchService locator = new GoogleSearchServiceLocator(); GoogleSearchPort port = locator.getGoogleSearchPort(); GoogleSearchResult result = port.doGoogleSearch(licenseKey, q, 0, 10, false, "", false, "", "", ""); ResultElement[] elements = result.getResultElements(); for (int i = 0; i < elements.length; i++) { System.out.println(elements[i].getURL()); System.out.println(elements[i].getSnippet()); }

12 12 Mono Web Services http://www.mono-project.com/Web_Services mono wsdl.exe GoogleSearch.wsdl –GoogleSearchService.cs mcs /target:library GoogleSearchService.cs -r:System.Web.Services –GoogleSearchService.dll public static void Main() {... GoogleSearchService service = new GoogleSearchService(); GoogleSearchResult result = service.doGoogleSearch(...); foreach (ResultElement e in result.resultElements) { Console.WriteLine(e.URL); Console.WriteLine(e.snippet); }

13 13 Microsoft Visual C# Express Web References

14 14 Conclusões Independência de plataforma e fornecedor Padrões e protocolos abertos Extensões e serviços de nível mais alto –Flexibilidade –Padronização difícil Overhead Orientado a mensagens –Estilo RPC é o mais comum

15 15 Trabalhos futuros Compatibilidade entre bibliotecas –Mensagens simples –Mensagens complexas Referências Herança Desempenho

16 16 Web Services Júlio Gerchman juliog@gmail.com


Carregar ppt "1 Web Services Júlio Gerchman 2 Motivação XML Web Services Desacoplar componentes Formato padrão –“Consumível” pela máquina –Legível."

Apresentações semelhantes


Anúncios Google