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

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

Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.

Apresentações semelhantes


Apresentação em tema: "Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes."— Transcrição da apresentação:

1 Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes

2 O que são Web Services Nos últimos anos, novas tecnologias e frameworks de desenvolvimento estão surgindo, permitindo uma maior integração entre os diversos aplicativos e serviços disponíveis na internet. Este novo modelo em crescimento deve tratar de tarefas complexas, como o gerenciamento de transações, através da disponibilização de serviços distribuídos que utilizem interfaces de acesso simples e bem definidas. Esses serviços ou aplicativos distribuídos são conhecidos como Web Services. Ex: Um site de vendas pela Internet, que necessita validar o crédito do cliente antes de proceder com a venda.

3 Web Services Características: o Uso intenso de XML- Tanto a descrição de um serviço quanto a comunicação entre serviços é feita usando XML. o Grande apoio da indústria- Web Services se tornaram parte das plataformas J2EE e.NET. o Baseado em padrões abertos - Web Sevices são baseados em uma série de padrões abertos e amplamente difundidos, tais como XML,SOAP,HTTP,WSDL e UDDI.

4 Web Services Características o Web Services são identificados por uma URI. o São utilizados para disponibilizar serviços interativos na WEB, podendo ser acessadospor outras aplicações. o As mensagens trocadas entre webservices tipicamente usam o protocolo HTTP como protocolo de transporte, evitando problemas com firewalls, ja que a única coisa que trafega é oXML, usando a porta 80.

5 Benefícios São independentes da plataforma e linguagem de programação - permitem que programas, escritos em diferentes linguagens e diferentes plataformas comuniquem uns com os outros de uma forma standard. São suportados por protocolos standard - trabalham com protocolos standard da Web - XML, HTTP e TCP/IP. Um grande número de empresas já tem uma infra-estrutura Web e pessoas com conhecimentos e experiência suficientes para a manter. Mais uma vez, o custo da entrada dos webservices é significativamente menor do que o das tecnologias anteriores. São flexíveis, escaláveis e reutilizáveis - os webservices podem ser registados para que potenciais utilizadores possam localizá-los com maior facilidade.

6 Benefícios Reduzem custos - automatizando a interacção entre aplicações e processos de negócio, reduzem- se os custos de transacção e minimiza-se o erro humano. Além disso, os webservices são componentes reutilizáveis que possibilitam que, facilmente, se melhorem funcionalidades e conteúdos existentes, reduzindo assim o custo de desenvolvimento. Geram novas oportunidades de negócio - publicando as funcionalidades de aplicações como webservices, pode gerar-se procura imediatamente (por exemplo, serviços de cotação online), ou indirectamente (por exemplo, serviços de rastreio de encomendas).

7 Aplicação

8 Arquitetura A arquitetura dos Web Services é baseada na interação de três personagens: o Provedor de Serviços o Consumidor de Serviços o Registro dos Serviços

9 Arquitetura

10 Tecnologias Especificações e tecnologias definidas para a construção ou utilização de Web Services: XML - Extensible Markup Language SOAP - Simples Object Access Protocol WSDL - Web Services Definition Language UDDI - Universal Discovery Description Integration

11 XML Descreve como os dados trocados entre aplicativos devem ser estruturados. Na prática, é uma forma de descrever e compartilhar dados, usando um formato comum de apresentação. o Escrito em forma de texto o Simples e legível o Marcações bem definidas o Hierárquico

12 XML - Exemplo JANICE 7 8 6 JEFFERSON 5 8 7

13 SOAP É um protocolo de comunicação para os web services; permite a troca de informações. É uma especificação para requisitar métodos de negócio, como documentos XML, e suporta outros protocolos como HTTP, SMTP, FTP e RMI. Define o formato das mensagens XML Possibilita que dois processos (possivelmente em duas máquinas diferentes) se comuniquem entre si, desconsiderando o hardware e a plataforma que eles estão rodando.

14 SOAP - Vantagens É um protocolo de comunicação para os web services; permite a troca de informações. É uma especificação para requisitar métodos de negócio, como documentos XML, e suporta outros protocolos como HTTP, SMTP, FTP e RMI. Define o formato das mensagens XML Possibilita que dois processos (possivelmente em duas máquinas diferentes) se comuniquem entre si, desconsiderando o hardware e a plataforma que eles estão rodando.

15 SOAP - Desvantagens Falta de interoperabilidade entre ferramentas de desenvolvimento do SOAP. Embora o SOAP tenha amplo suporte, ainda existem problemas de incompatibilidades entre diferentes implementações do SOAP. Mecanismos de Segurança Imaturos. O SOAP não define mecanismo para criptografia do conteúdo de uma mensagem SOAP, o que evitaria que outros tivessem acesso ao conteúdo da mensagem. Não existe garantia quanto à entrega da mensagem. Quando uma mensagem estiver sendo transferida, se o sistema falhar, ele não saberá como reenviar a mensagem. Um cliente SOAP não pode enviar uma solicitação a vários servidores, sem enviar a solicitação a todos os servidores.

16 SOAP - Estrutura

17 WSDL Define um sistema para a descrição de serviços. Através dela, descrevemos os serviços externos, ou interfaces que são oferecidos por uma determinada aplicação, independente de sua plataforma ou linguagem de programação. Simplificadamente: o O arquivo WSDL é um documento XML que descreve um conjunto de mensagens SOAP e a forma como essas mensagens são trocadas.

18 WSDL – Principais Elementos

19 WSDL Além de definir o conteúdo das mensagens, o WSDL define onde o serviço está disponível e quais protocolos de comunicação são usados para conversar com o serviço. O WSDL especifica o que a mensagem de requisição deve conter e como vai ser a resposta. Ou seja, o arquivo WSDL define tudo que é necessário para escrever um programa que utilize o Web Service.

20 WSDL Além de definir o conteúdo das mensagens, o WSDL define onde o serviço está disponível e quais protocolos de comunicação são usados para conversar com o serviço. O WSDL especifica o que a mensagem de requisição deve conter e como vai ser a resposta. Ou seja, o arquivo WSDL define tudo que é necessário para escrever um programa que utilize o Web Service.

21 UDDI No momento que construímos um Web Services, necessitamos que os serviços sejam acessados em algum lugar da Internet por um cliente Padrão desenvolvido para fornecer um diretório de busca para os negócios e seus serviços. Tem como objetivo ser um mediador do serviço, permitindo que os clientes requisitantes encontrem um fornecedor do serviço apropriado. Como as demais tecnologias, o UDDI é baseado na tecnologia XML, a qual fornece uma plataforma- neutra de dados e permite descrever relações hierárquicas de um modo natural.

22 UDDI Podemos comparar o UDDI com uma lista telefônica, da seguinte maneira: o Páginas Brancas: contêm informações sobre nomes, endereços, números de telefone, além de outras informações sobre os fornecedores do serviço. o Páginas Amarelas: contêm listagens comerciais baseadas nos tipos desses negócios, de maneira organizada por categoria específica ou regiões demográficas. o Páginas Verdes: são usadas para indicar os serviços oferecidos por cada negócio, incluindo todas as informações técnicas envolvidas na interação com o serviço. Resumindo, explica como fazer a comunicação com eles.

23 Resumindo... Serviço de software publicado na Web através do SOAP, descrito com um arquivo WSDL e registrado em UDDI

24 Exemplo de Web Service via J2SE e J2ME O que será usado: o Axis o Tomcat o KSOAP o KXML

25 Exemplo – Serviço.java public class Servico{ public int soma(int valor1, int valor2){ return valor1+valor2; }

26 Disponibilização 1.Alterar o nome do arquivo de Servico.java para Servico.jws 2.Colocar o arquivo no diretorio CATALINA_HOME/webapps/axis e iniciar o servidor. 3.O web service está publicado! 4.Para acessar o web service criado: http://localhost:8080/axis/Servico.jws

27 Exemplo – Arquivo WSDL 01. 02. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

28 Continuação – Arquivo WSDL 24. 25. 26. 27. 28. 29. 31. 32. 33. 35. 36. 37. 38. 39. 40. 41. 42. 43.

29 Exemplo - Teste http://localhost:8080/axis/Servico.jws Resultado da execução - documento XML: 6

30 Exemplo – Cliente.java 01. import org.apache.axis.client.Service; 02. import org.apache.axis.client.Call; 03. 04. public class Cliente { 05. public static void main(String[] args) throws Exception { 06. // Endereço, local onde encontra-se o Web Service 07. String local = "http://localhost:8080/axis/Servico.jws"; 08. 09. // Criando e configurando o serviço 10. Call call = (Call) new Service().createCall(); 11. // Configurando o endereço. 12. call.setTargetEndpointAddress(local); 13. // Marcando o método a ser chamado. 14. call.setOperationName("soma"); 15. 16. // Parâmetros da função soma. 17. Object[] param = new Object[]{new Integer(2),new Integer(4)}; 18. // Retorno da Função 19. Integer ret = (Integer)call.invoke(param); 20. 21. // Imprime o resultado: ret = 2 + 4. 22. System.out.println("Resultado da soma : " + ret); 23. } 24. }

31 Acessando o Web Service via J2ME Como o J2ME não possui classes para tratar estas implementações, é necessário utilizar outros dois projetos para atender as transparência. Os projetos são o KSOAP e o KXML da ObjectWeb. Ambos estão sob licença pública.

32 Exemplo – ClienteJ2ME.java import javax.microedition.lcdui.Display; import javax.microedition.lcdui.TextBox; import org.ksoap.SoapObject; import org.ksoap.transport.HttpTransport; public class ClienteJ2ME extends javax.microedition.midlet.MIDlet { private Display display; private String url = "http://localhost:8080/axis/Servico.jws"; TextBox textbox = null; public void startApp() { display = Display.getDisplay(this); try { testWebService(); } catch (Exception ex){ System.out.println(ex); } }

33 Continuação – ClienteJ2ME.java public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void testWebService() throws Exception { StringBuffer stringBuffer = new StringBuffer(); TextBox textBox = null; // Chama o WebService SoapObject client = new SoapObject(url,"soma"); client.addProperty("valor1",new Integer(2)); client.addProperty( "valor2",new Integer(4)); HttpTransport ht = new HttpTransport(url,"soma"); stringBuffer.append(" Resultado: " + ht.call(client)); // mostra o valor do resultado na tela. textBox = new TextBox("Teste WebService", stringBuffer.toString(), 1024, 0); display.setCurrent(textBox); }

34 Referências http://imasters.uol.com.br/artigo/2741?cn=2741&cc=15 1 http://imasters.uol.com.br/artigo/2741?cn=2741&cc=15 1 http://imasters.uol.com.br/artigo/4474/webservices/descreve ndo_descobrindo_e_integrando_web_services_-_uddi/ http://imasters.uol.com.br/artigo/4474/webservices/descreve ndo_descobrindo_e_integrando_web_services_-_uddi/ http://imasters.uol.com.br/artigo/4422/webservices/descreve ndo_um_web_service_-_wsdl/ http://imasters.uol.com.br/artigo/4422/webservices/descreve ndo_um_web_service_-_wsdl/ http://imasters.uol.com.br/artigo/4245/webservices/entenden do_os_webservices/ http://imasters.uol.com.br/artigo/4245/webservices/entenden do_os_webservices/ http://imasters.uol.com.br/artigo/4379/webservices/protocol o_de_transporte_padrao_-_soap/ http://imasters.uol.com.br/artigo/4379/webservices/protocol o_de_transporte_padrao_-_soap/ http://msdn.microsoft.com/en-us/library/ms996507.aspx http://www.w3.org/TR/ws-arch/#technology


Carregar ppt "Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes."

Apresentações semelhantes


Anúncios Google