Conceitos, SOAP, WSDL, UDDI, Exemplos. Programação com Objetos Distribuídos (C. Geyer) Web Services 1

Tamanho: px
Começar a partir da página:

Download "Conceitos, SOAP, WSDL, UDDI, Exemplos. Programação com Objetos Distribuídos (C. Geyer) Web Services 1"

Transcrição

1 Conceitos, SOAP, WSDL, UDDI, Exemplos Programação com Objetos Distribuídos (C. Geyer) Web Services 1

2 Autores Local Sérgio Mergen Cláudio Geyer Emanuel Müller Ramos Instituto de Informática UFRGS Versão V20 Maio 2010 cursos: Sistemas Operacionais II Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Web Services 2

3 Súmula conceitos gerais sobre Web Services conceitos de SOAP Introdução à biblioteca Axis WS no J2EE conceitos de WSDL conceitos de UDDI Observações Ênfase em WS para Java Programação com Objetos Distribuídos (C. Geyer) Web Services 3

4 Bibliografia Coulouris, G. Et al. Sistemas Distribuídos Conceitos e Projeto. Bookman, Cap. 19 CERAMI Ethan. Web Services Essentials - Distributed Applications with XML-RPC, SOAP, UDDI & WSDL. O'Reilly, NEWCOMER Eric. Understanding Web Services: XML, WSDL, SOAP, and UDDI. David Chappell Series Editor Wutka, M. Special Edition Using Java 2 Enterprise Edition. QUE, capítulo 25 Tutoriais da Sun para J2EE e do NetBeans Capítulos sobre WS: JAX-WS, SOAP,... Programação com Objetos Distribuídos (C. Geyer) Web Services 4

5 Links Atividades do W3 em Web Services XML Protocol Working Group Projetos WS do grupo Apache Implementações de Java SOAP Axis 2 Axis 1 Programação com Objetos Distribuídos (C. Geyer) Web Services 5

6 Links Links SOAP do W3 SOAP Message Transmission Optimization Mechanism SOAP Resource Representation Header SOAP Version 1.2 Part 0: Primer SOAP Version 1.2 Part 1: Messaging Framework Programação com Objetos Distribuídos (C. Geyer) Web Services 6

7 Links Links SOAP do W3 SOAP Version 1.2 Part 2: Adjuncts SOAP Version 1.2 Specification Assertions and Test Collection Programação com Objetos Distribuídos (C. Geyer) Web Services 7

8 Links Links WSDL do W3 Semantic Annotations for WSDL and XML Schema Web Services Description Language (WSDL) Version 2.0 Part 0: Primer Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts as Recommendation. Programação com Objetos Distribuídos (C. Geyer) Web Services 8

9 Súmula Conceitos gerais sobre Web Services motivação para o uso de Web Services definição arquitetura componentes pilha de protocolos Programação com Objetos Distribuídos (C. Geyer) Web Services 9

10 Súmula Conceitos de SOAP Introdução ao SOAP Vantagens do SOAP Desvantagens do SOAP Estrutura de uma mensagem SOAP Exemplo de WS/SOAP com Apache Axis Comparação entre RMI e Apache SOAP Programação com Objetos Distribuídos (C. Geyer) Web Services 10

11 Súmula WS no J2EE Características Tipos JAX-WS RESTFul WSDL UDDI Programação com Objetos Distribuídos (C. Geyer) Web Services 11

12 A Internet Tradicional Ótima forma para troca de informações Independência de plataforma Abstração do hardware, software e sistema operacional utilizados Problemas: WWW era centrada no ser humano pessoas acessam, modificam, inserem e removem documentos remotos Aplicações que desejavam trocar informações pela Web necessitavam utilizar soluções ad-hoc Necessidade de estender a Web para suportar esse novo tipo de interação Web Services: web para sistemas coorportaivos Programação com Objetos Distribuídos (C. Geyer) Web Services 12

13 Web Services Objetivos Permitir uma comunicação fácil entre diferentes aplicações utilizando a estrutura já existente da Web Determinam um conjunto de mecanismos (padrões, especificões, etc.) que permitam estender a Internet para aceitar a troca de informações entre aplicações Adicionalmente: permitir que aplicações descubram automaticamente qual serviço elas desejam utilizar Chamada automática de serviços Sem nenhuma intervenção do ser humano Ainda não é totalmente realidade Obs: CORBA tinha alguns objetivos similares Programação com Objetos Distribuídos (C. Geyer) Web Services 13

14 Web Services Conceito Um Web Service é uma aplicação que: Está disponível através da Internet Utiliza padrões baseados em XML para descrever as mensagens enviadas e recebidas, bem como seus dados É independente de hardware, sistema operacional e linguagem de programação Pode ser descrita utilizando XML (WSDL) Pode ser encontrada facilmente (usando UDDI por exemplo) OBS.: Web Services baseados na arquitetura REST (REST WS) não seguem exatamente esses conceitos REST WS são mais simples Programação com Objetos Distribuídos (C. Geyer) Web Services 14

15 Exemplo Básico - Linguagens Java e C - SOs Windows e Linux - Mensagem XML - requisição e resposta Programação com Objetos Distribuídos (C. Geyer) Web Services 15

16 Arquitetura Pode ser descrita de duas formas Pelos componentes que a compõem Pela pilha de protocolos utilizada Programação com Objetos Distribuídos (C. Geyer) Web Services 16

17 Componentes Programação com Objetos Distribuídos (C. Geyer) Web Services 17

18 Pilha de Protocolos Conjunto mais utilizado: HTTP + SOAP + WSDL + UDDI Programação com Objetos Distribuídos (C. Geyer) Web Services 18

19 Nível de transporte Responsável por transmitir os dados entre as aplicações Pode utilizar protocolos já disponíveis pela internet (HTTP, SMTP, FTP, etc.) Nível de mensagem Define o formato das mensagens enviadas entre as aplicações Obs.: Formato XML puro não garante interoperabilidade entre aplicações Programação com Objetos Distribuídos (C. Geyer) Web Services 19

20 Nível de descrição Representa a interface de um Web Service aos clientes Nome das operações disponíveis Parâmetros Protocolos do nível de transporte utilizados Etc Nível de descoberta Registros onde é possível publicar um Web Service Programação com Objetos Distribuídos (C. Geyer) Web Services 20

21 Súmula da parte SOAP Conceitos de SOAP Introdução ao SOAP Vantagens do SOAP Desvantagens do SOAP Estrutura de uma mensagem SOAP Exemplo de WS/SOAP com Apache Comparação entre RMI e Apache SOAP Programação com Objetos Distribuídos (C. Geyer) Web Services 21

22 O que é SOAP? Protocolo para troca de mensagens distribuídas Pode ser usado como o nível de mensagem da arquitetura WS Concorrente de IIOP (Corba), JRMP (Java RMI), XML-RPC, REST- WS e outros Proposto a IETF e ao W3 W3: World Wide Web Consortium IETF: organização que publica padrões para Internet como TCP, FTP, HTTP, Especificação inicial desenvolvida por Microsoft, IBM/Lotus, Don Box (guru COM), Dave Winer (criador de um XML-RPC) Programação com Objetos Distribuídos (C. Geyer) Web Services 22

23 Características do SOAP Baseado em tecnologias já existentes HTTP, SMTP como nível de transporte XML Utiliza mensagens no formato XML Unidirecional Sem estado Não define um modelo de objetos Não define um modelo para troca de mensagens Não está necessariamente ligado a Web Services Programação com Objetos Distribuídos (C. Geyer) Web Services 23

24 Características do SOAP Quando usado em chamada de WS Aplica modelo requisição resposta (cliente/servidor) com 2 mensagens SOAP Chamada pode ser: Síncrona (normal em RPC) Assíncrona Assíncrona com resposta no futuro Programação com Objetos Distribuídos (C. Geyer) Web Services 24

25 Vantagens do SOAP Firewall Friendly uso de protocolos Web como HTTP Infraestrutura já conhecida Amplo suporte a XML Suportado por grandes organizações Variedade de bibliotecas (livres e pagas) para sua utilzação Programação com Objetos Distribuídos (C. Geyer) Web Services 25

26 Vantagens SOAP Independe de linguagem (se utilizado seguindo corretamente os padrões) RMI: só Java observação: RMI-IIOP permite Java x linguagens com IIOP IIOP: exige biblioteca IIOP para a linguagem SOAP: somente um parser XML mais biblioteca para envio de requisições HTTP Independe de plataforma permitiria ponte entre mundos Linux e Microsoft obs: RMI e CORBA oferecem essa ponte, mas não com o mesmo nível de abstração Programação com Objetos Distribuídos (C. Geyer) Web Services 26

27 Desvantagens SOAP Brechas na segurança WS-Security tenta resolver esses problemas wg_abbrev=wss Problemas de performance menos rápido que atuais competidores tipo RPC como RMI (Java), IIOP (CORBA), DCOM e Remote (Microsoft) mais lento mesmo comparado a competidores que são baseados em XML (XML-RPC, REST-WS) Muito complexo: overhead aplicações geralmente não necessitam de tantas funcionalidades para realizar seus objetivos REST-WS é mais simples -> mais eficiente (?) Programação com Objetos Distribuídos (C. Geyer) Web Services 27

28 Desvantagens SOAP Não oferece serviços avançados A revisar conforme novos padrões Web Services Como CORBA, J2EE, CORBA possuía mais de 20 serviços como persistência, transações, real-time, aluguel de objetos,... Não possui noção de objeto com estado como em RMI Não suporta passagem por referência Obs.: possível simular esses comportamentos de OO Programação com Objetos Distribuídos (C. Geyer) Web Services 28

29 Versões SOAP 1.2 SOAP 1.1 Programação com Objetos Distribuídos (C. Geyer) Web Services 29

30 Especificação (estrutura geral dos documentos) Parte 1: define o envelope, um framework geral para definir o conteúdo de uma mensagem Também define os protocolos de ligação e o mapeamento para um protocolo inferior Parte 2: Define um modelo de dados para o SOAP Representação de recurso Especifica um bloco de cabeçalho, no qual há a representação de um recurso Web Outros documentos Programação com Objetos Distribuídos (C. Geyer) Web Services 30

31 Envelope: define o começo da mensagem SOAP Header: possui informações específicas da aplicação Dados de autenticação Número de transação Etc. opcional Body: contém a mensagem propriamente dita Contém dados que devem ser transmitidos de forma estruturada Possiveis excessões durante o tratamento da mensagem Programação com Objetos Distribuídos (C. Geyer) Web Services 31

32 POST /Temperature HTTP/1.1X Host: Content-Type: text/xml Content-Length: <whatever> SOAPMethodName: <some-uri>#currenttemp Http Header Soap Extensions <SOAP:Envelope xmlns:soap="urn:schemas-xmlsoaporg:soap.v1"> <SOAP:Body> </SOAP:BODY> <SOAP:Envelope> <m:currenttemp xmlns:m="some-uri"> <zip_code>37919</zip_code> <m:currenttemp> Sem header Xml Payload argumento Programação com Objetos Distribuídos (C. Geyer) Web Services 32

33 HTTP/ OK Content-Type: text/xml Content-Length: <whatever> Http Header Com header <SOAP:Envelope xmlns:soap="urn:schemas-xmlsoap-org:soap.v1"> <SOAP:Header> <t:transaction xmlns:t="some-uri"> 5 </t:transaction> </SOAP:Header> <SOAP:Body> Xml Payload <m:currenttempresponse xmlns:m="some-uri"> <return>42</return> </m:currenttempresponse> </SOAP:Body> </SOAP:Envelope> resposta Programação com Objetos Distribuídos (C. Geyer) Web Services 33

34 Estrutura XML das mensagens SOAP inicialmente complexa como exemplos anteriores eliminando as informações de namespace como <SOAP:Envelope xmlns:soap="urn:schemas-xmlsoaporg:soap.v1"> o resto é simples e legível (?) Ao menos mais do que formato Java/RMI, Corba/IIOP,... Programação com Objetos Distribuídos (C. Geyer) Web Services 34

35 Implementação Apache Axis para Java baseada em implementação anterior Apache SOAP conjunto de bibliotecas clientes bibliotecas para o servidor servlet para processamento das chamadas Classe servidora ferramentas auxiliares para utilização de Web Services Programação com Objetos Distribuídos (C. Geyer) Web Services 35

36 Implementação Apache programa cliente usa as suas bibliotecas para empacotar a chamada (request) Diferentes níveis de abstração dependendo da abordagem utilizada servidor decodifica a chamada chama o método do objeto servidor e empacota o resultado para o cliente obs: tudo isto de forma transparente para o programador Programação com Objetos Distribuídos (C. Geyer) Web Services 36

37 Exemplo Hello especificação cliente realiza uma chamada SOAP a uma operação de um servidor Hello servidor Interface: 2 (duas) operações responde à chamada de saudação recebe nova saudação Programação com Objetos Distribuídos (C. Geyer) Web Services 37

38 Exemplo Hello codificação do cliente duas aproximações criar chamada manualmente parte mais complexa uso de vários métodos do pacote SOAP criação da chamada inclusão de cada argumento da chamada utilizar o arquivo WSDL (se disponível) WSDL: descrição (opcional) de um WS em xml aproximação estática (geração de Stubs) ou dinâmica chamada similar à de um método local Programação com Objetos Distribuídos (C. Geyer) Web Services 38

39 Exemplo Hello código do cliente codificação manual trabalhosa import java.io.*; import java.net.*; import java.util.*; import org.w3c.dom.*; import org.apache.soap.*; import org.apache.soap.encoding.*; import org.apache.soap.encoding.soapenc.*; import org.apache.soap.rpc.*; import org.apache.soap.util.xml.*; Programação com Objetos Distribuídos (C. Geyer) Web Services 39

40 public class GetHello { public static void main(string[] args) throws Exception { // The URL for the SOAP servlet (servidor WS) URL url = new URL("http://localhost/soap/servlet/ rpcrouter"); // Create a new call Call call = new Call(); // Tell SOAP which object you want (qual serviço) call.settargetobjecturi("urn:helloapp"); // Tell SOAP which method to invoke call.setmethodname("gethello"); Programação com Objetos Distribuídos (C. Geyer) Web Services 40

41 // Tell SOAP to use the regular SOAP encoding style call.setencodingstyleuri (Constants.NS_URI_SOAP_ENC); // Create a vector to hold the method parameters Vector params = new Vector(); // Add a string parameter called extra1 with a value of "Hello info // Specify null for the encoding style params.addelement(new Parameter("extra1", String.class, "Hello info", null)); Programação com Objetos Distribuídos (C. Geyer) Web Services 41

42 // Add an int parameter called extra2 with a value of 123 // Specify null for the encoding style params.addelement(new Parameter("extra2", Integer.class, new Integer(123), null)); // Store the parameters in the request call.setparams(params); // Prepara uma variável para a resposta Response resp = null; Programação com Objetos Distribuídos (C. Geyer) Web Services 42

43 // Invoke the call method try { resp = call.invoke(url, ""); } catch (SOAPException e) { e.printstacktrace(); System.exit(0); } Programação com Objetos Distribuídos (C. Geyer) Web Services 43

44 // See if the response contains an error if (!resp.generatedfault()) { // If not, get the return value Parameter ret = resp.getreturnvalue(); // Expect it to be a string String value = (String) ret.getvalue(); } System.out.println(value); Programação com Objetos Distribuídos (C. Geyer) Web Services 44

45 else { Fault fault = resp.getfault(); System.err.println("Generated fault: "); System.out.println (" Fault Code = " + fault.getfaultcode()); System.out.println (" Fault String = " + fault.getfaultstring()); } } } Programação com Objetos Distribuídos (C. Geyer) Web Services 45

46 Código do cliente geração de Stubs Outra alternativa para codificação Axis gera automaticamente classes para acessar o Web Service baseados em SOAP/WSDL A partir dessas classes, o desenvolvedor necessita apenas instanciá-las para executar a operação desejada Hello WSDL Hello Service.java Hello Port.java Arquivo WSDL Axis WSDL2Java Hello Service Locator.java Hello BindingStub.java Stubs Gerados Programação com Objetos Distribuídos (C. Geyer) Web Services 46

47 Código do cliente geração de Stubs import HelloServiceLocator; import HelloService; import HelloPort; import HelloBindingStub; public class GetHello { public static void main(string[] args) throws Exception { // localize the service; uso de métodos das classes geradas HelloService locator = new HelloServiceLocator(); HelloPort port = locator.gethelloport(); } } //execute the remote method String result = port.gethello( Hello Info, new Integer(123)); System.out.println(result); Programação com Objetos Distribuídos (C. Geyer) Web Services 47

48 Exemplo Hello código do servidor // standard Java public class SoapHello { protected String hellostring; public SoapHello() { hellostring = "Hello!"; } Programação com Objetos Distribuídos (C. Geyer) Web Services 48

49 public String gethello(string extra1, int extra2) { return hellostring+" "+extra1+" "+extra2; } } public void sethello(string newhello) { hellostring = newhello; } Programação com Objetos Distribuídos (C. Geyer) Web Services 49

50 Publicando o servidor utilizando Apache Axis Duas formas principais Salvar código do servidor na pasta raiz do Axis com a extensão.jws instalação instantânea Extremamente simples; Necessita do código fonte (e não o binário); Web service é gerado no instante em que o cliente o acessa: baixo desempenho; Utilizar um arquivo de configuração WSDD (Web Service Deployment Descriptor) Mais complicado; Resolve os problemas da alternativa anterior; Programação com Objetos Distribuídos (C. Geyer) Web Services 50

51 Programação com Objetos Distribuídos (C. Geyer) Web Services 51

52 Protocolo de transporte SOAP qualquer um (preferência para HTTP) XML-RPC somente HTTP Tipos extensível utilizando XML Schema restritos a um conjunto básico Ordem de parâmetros indiferente importante Complexidade complicado simples SOAP tem várias vantagens; mas é mais complexo Programação com Objetos Distribuídos (C. Geyer) Web Services 52

53 Pacote da Sun para Web Services Obs.: em 2006 nome: JWSDP - Java Web Services Developer Pack 1.2 link agora: previous/webservicespack.jsp anteriormente: webservicespack.html em transição para projeto GlassFish: https://glassfish.dev.java.net/ Programação com Objetos Distribuídos (C. Geyer) Web Services 53

54 Pacote da Sun para Web Services conteúdo (obs. Versão 1.2): JavaServer Faces (JSF) v1.0 EA4 XML and Web Services Security (xws-security) v1.0 EA Java Architecture for XML Binding (JAXB) v1.0.1 Java API for XML Processing (JAXP) v1.2.3 Java API for XML Registries (JAXR) v1.0.4 Java API for XML-based RPC (JAX-RPC) v1.1 EA SOAP with Attachments API for Java (SAAJ) v1.2 EA JavaServer Pages Standard Tag Library (JSTL) v1.1 EA Java WSDP Registry Server v1.0_05 Ant Build Tool Apache Tomcat v5 development container Programação com Objetos Distribuídos (C. Geyer) Web Services 54

55 Pacote Sun Web Services pacote testado com plataformas Sun Solaris Operating Environment 8 and 9 Windows 2000 Professional Edition Windows XP Professional Edition RedHat Linux 8.0 ambiente Java Java 2 SDK, Standard Edition version 1.4.1_02 plataforma de desenvolvimento e execução Sun recomenda Sun ONE Studio 4 and Sun ONE Application Server 7. Programação com Objetos Distribuídos (C. Geyer) Web Services 55

56 WS no J2EE WS no J2EE Tecnologias incluídas JAX-WS Java API para XML Web Services JAX-RS Conceito WS Java API para RESTFul Web Services São aplicações cliente / servidor Comunicando sobre o protocolo HTTP Programação com Objetos Distribuídos (C. Geyer) Web Services 56

57 WS no J2EE WS no J2EE Características Interoperabilidade via padrões Portabilidade sobre diversas plataformas e frameworks Extensíveis Descrições processáveis graças a XML Combináveis de forma leve para obter operações complexas Tipos Big WS RESTFul WS Programação com Objetos Distribuídos (C. Geyer) Web Services 57

58 WS no J2EE WS no J2EE Big WS Uso de XML e SOAP Descrição dos serviços em WSDL (linguagem em XML) opcional Adotado por diversas ferramentas como NetBeans IDE Programação com Objetos Distribuídos (C. Geyer) Web Services 58

59 WS no J2EE WS no J2EE Big WS Elementos principais Contrato formal Descreve a interface Mensagens, operações, localização do WS, ligações Arquitetura Tratar diversos requisitos complexos não funcionais Transações, segurança, endereçamento, confiança, cordenação,... Processamento e chamada assíncronos Programação com Objetos Distribuídos (C. Geyer) Web Services 59

60 WS no J2EE WS no J2EE RESTFul Representational State Transfer Apropriado para cenários básicos e ad doc Melhor integração com HTTP que serviços SOAP Não exigem mensagens XML nem WSDL Uso do projeto Jersey Segue padrão: JSR 311 JAX-RS Permite anotações Mais funcionalidades extra JSR 311 Mais leves Exigem poucas ferramentas Também integrado no NetBeans IDE Programação com Objetos Distribuídos (C. Geyer) Web Services 60

61 WS no J2EE WS no J2EE RESTFul Usos reais Muitos sites de blogs Download de arquivos XMl em formato RSS com listas de links Twitter Amazon Simple Storage Service (S3) Programação com Objetos Distribuídos (C. Geyer) Web Services 61

62 WS no J2EE WS no J2EE RESTFul Apropriado em/se WS sem estado Teste: interação sobrevive a queda / colocar-no-ar do servidor (restart) Infra-estrutura de cache pode ser mais simples Quando dados de retorno são estáticos Técnicas de cache do servidor web mais simples Cuidado: em geral limitado a método GET do HTTP Programação com Objetos Distribuídos (C. Geyer) Web Services 62

63 WS no J2EE WS no J2EE RESTFul Apropriado em/se Contrato liente (consumidor) e serviço (produtor) em formato ad hoc Sobre contexto e conteúdo Muitos serviços distribuem toolkits com Descrição de interfaces em linguagens populares Quando banda é limitada Por exemplo para PDAs e smartphones SOAP é pesado Programação com Objetos Distribuídos (C. Geyer) Web Services 63

64 WS no J2EE WS no J2EE RESTFul Apropriado em/se Agregação de serviços é simples Via uso de tecnologias como JAX-RS AJAX: Asynchronous JavaScript com XML Toolkits como DWR (Direct Web Remoting) Serviços já existentes podem ser expostos via páginas HTML sem muito esforço Desenvolvimento mais produtivo Não é uma nova tecnologia Programação com Objetos Distribuídos (C. Geyer) Web Services 64

65 WS no J2EE WS no J2EE Big WS x RESTFul Usar JAX-WS quando Aplicação necessita de vários requisitos de QoS Usualmente em aplicações coorporativas Mais fácil o uso de padrões de segurança e confiabilidade Melhor interoperabilidade com outros WS Programação com Objetos Distribuídos (C. Geyer) Web Services 65

66 WS no J2EE WS no J2EE Big WS x RESTFul Usar JAX-RS quando Desenvolvimento mais simples Acoplamento reduzido Mais fácil o consumo (clientes) Facilita manutenção (extensão da app) e escalabilidade Cliente pode consumir parte do serviço e combiná-lo como outros serviços (mash-up) Artigo Pautasso, C. et al. RESTFul Web Services vs. Big Web Services: Making the Right Architectural Decision. WWW 08, pp Programação com Objetos Distribuídos (C. Geyer) Web Services 66

67 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Características Complexidade do SOAP escondida via APIs do JAX-WS Lado servidor Operações definidas por métodos em interface Java Implementação via classe(s) que implementam os métodos da interface Lado cliente Cria um proxy Objeto local que representa o serviço Chama métodos do proxy Não é necessário gerar ou examinar mensagens SOAP Programação com Objetos Distribuídos (C. Geyer) Web Services 67

68 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Características Portabilidade de Java Independência de plataforma Interoperabilidade entre plataformas Cliente JAX-WS pode acessar WS não Java Cliente não Java pode acessar serviço JAX-WS Óbvio... (?) Devido JAX-WS seguir padrões do W3C para WS Programação com Objetos Distribuídos (C. Geyer) Web Services 68

69 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Porta do servidor Diversos arquivos referenciam a porta do servidor Padrão é 8080 Pode ser alterada Programação com Objetos Distribuídos (C. Geyer) Web Services 69

70 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello Serviço Classe Java anotada Classe passa a ser um SEI SEI Service Endpoint Interface ou Service Endpoint Implementation A interface não é obrigatória Se interface Indicada por argumento endpointinterface na Programação com Objetos Distribuídos (C. Geyer) Web Services 70

71 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello Serviço Ferramenta (wsgen) gera todos os artefatos Em uso Via o Enterprise Server (container) Passos Codificação da classe Compilação da classe Criação dos artefatos (wsgen) Empacotamento em arquivo WAR Instalação (deploy) do WAR no servidor Programação com Objetos Distribuídos (C. Geyer) Web Services 71

72 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello Servidor Requisitos Anotar classe ou interface (se houver) Métodos da classe devem ser Públicos Não static nem final Métodos do WS Anotados Programação com Objetos Distribuídos (C. Geyer) Web Services 72

73 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello Servidor Código package helloservice.endpoint; import public class Hello { private String message = new String("Hello, "); public void Hello() {} public String sayhello(string name) { return message + name + "."; } Programação com Objetos Distribuídos (C. Geyer) Web Services 73

74 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello Servidor Teste sem cliente Após WS instalado (no container do J2EE) Entrar com URL (local) do serviço mais função de teste?tester Na página de teste (resposta) entrar com argumentos (se for o caso) e clicar no método Será mostrada a resposta do método Programação com Objetos Distribuídos (C. Geyer) Web Services 74

75 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello / Cliente Instanciar a classe gerada helloservice.endpoint.helloservice Ela representa o serviço na URI indicada no arquivo WSDL instalado HelloService service = new HelloService(); Recuperar um proxy ao serviço Também conhecido como port Chamando o método gethelloport do serviço Hello port = service.gethelloport(); Chamar o método de negócio via proxy String response = port.sayhello(name); Programação com Objetos Distribuídos (C. Geyer) Web Services 75

76 WS no J2EE WS no J2EE Desenvolvendo com JAX-WS Exemplo Hello / Cliente Código completo O exemplo completo é um pouco mais complexo Mas o adicional não é exigido pelo JAX-WS Puro Java Programação com Objetos Distribuídos (C. Geyer) Web Services 76

77 J2EE / RESTFul conceitos Programação com Objetos Distribuídos (C. Geyer) Web Services 77

78 RESTFul RESTful WS Serviços desenvolvidos para funcionar melhor na web Melhor? Escalabilidade REST Desempenho Capacidade de modificação REpresentational State Transfer Recurso Combinação de dados e funcionalidades Programação com Objetos Distribuídos (C. Geyer) Web Services 78

79 RESTFul RESTful WS Identificação por URI Endereço global Protocolo de comunicação sem estado Por exemplo, HTTP Uso de interface uniforme Programação com Objetos Distribuídos (C. Geyer) Web Services 79

80 J2EE / RESTful RESTful Objetivos Aplicações RESTful devem ser Simples Leves Alto desempenho Interface (uniforme) 4 operações PUT: cria um novo recurso DELETE: recurso (criado) é excluído GET: recupera o estado de um recurso POST: atualiza o estado de um recurso Programação com Objetos Distribuídos (C. Geyer) Web Services 80

81 J2EE / RESTful RESTful Mensagens auto-descritas Recursos são independentes da sua representação Recursos podem ser acessados de diferentes formas como HTML, XML, texto, PDF, JPEG, JSON e outras Metadados sobre o recurso usados para Controlar cache Detectar erros de transmissão Negociar forma de representação Realizar autenticação Controlar acesso Programação com Objetos Distribuídos (C. Geyer) Web Services 81

82 J2EE / RESTful RESTful Interações com estado Cada interação com um recurso é sem estado Mensagens são auto-contidas Interações com estado via conceito de transferência explícita de estado Via técnicas como Reescrita de URI Cookies Campos escondidos de form Técnicas não aprofundadas no tutorial Java EE Programação com Objetos Distribuídos (C. Geyer) Web Services 82

83 J2EE / RESTful RESTful Jersey implementação Segue padrão JSR 311: JAX-RS Suporte a anotações Documentação em: https://jsr311.dev.java.net/nonav/javadoc/index.html A documentação teria que ser instalada (?) no Enterprise server v3 Programação com Objetos Distribuídos (C. Geyer) Web Services 83

84 J2EE/RESTful RESTful Classes de recurso raiz Anotadas Ou ao menos um método anotado ou com designador de método @POST Métodos de recursos Métodos com o designador de requisição Programação com Objetos Distribuídos (C. Geyer) Web Services 84

85 J2EE/RESTful RESTFul JAX-RS API Java API para facilitar o desenvolvimento de aplicações com RSET Uso de anotações, específicas para HTTP Anotações são resolvidas durante execução (runtime) Uso de reflexão para gerar classes auxiliares e outros artefatos para o recurso Classes e artefatos agrupados em arquivo WAR (web) WAR deve ser instalado em container J2EE ou web Programação com Objetos Distribuídos (C. Geyer) Web Services 85

86 J2EE/RESTful RESTful Principais Caminho relativo de URI Indica onde a classe Java será instalada Pode ser adicionada com variáveis para definir modelos (templates) Exemplos /helloworld Com controle de usuário/senha /helloworld{username} Programação com Objetos Distribuídos (C. Geyer) Web Services 86

87 RESTful J2EE/RESTful Principais devem processar requisições HTTP devem processar requisições HTTP Métodos Métodos Programação com Objetos Distribuídos (C. Geyer) Web Services 87

88 RESTful J2EE/RESTful Principais Tipo de parâmetro que pode ser extraído para uso na classe (em métodos por exemplo) Extraído da URI requisitada Nomes de parâmetros definidos Tipo de parâmetro que pode ser extraído para uso na classe Extraído da URI requisitada Programação com Objetos Distribuídos (C. Geyer) Web Services 88

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Criando Web Services. Palestrante: Daniel Destro do Carmo

Criando Web Services. Palestrante: Daniel Destro do Carmo Criando Web Services com Apache Axis Palestrante: Daniel Destro do Carmo Tópicos do Tutorial Introdução O que são Web Services? Padrões Web Services SOAP WSDL Web Services com Java O que é Apache Axis?

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

REST Um Estilo de Arquitetura de Sistemas Distribuídos REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello 1/39 Serviços Web (Web Services) Emerson Ribeiro de Mello Departamento de Automação e Sistemas Universidade Federal de Santa Catarina 22 de Maio de 2007 2/39 Arquitetura Orientada a Serviços Arquitetura

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Serviços Web: Arquitetura

Serviços Web: Arquitetura Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Web Service Plínio Antunes Garcia Sam Ould Mohamed el Hacen Sumário Introdução conceitual O Web Service

Leia mais

tecnologias web e gestão de identidade

tecnologias web e gestão de identidade tecnologias web e gestão de identidade histórico serviços da era inicial da Internet telnet ftp gopher - estruturas hierárquicas www - hipertexto estudos sobre hipertexto e hipermídia sistemas locais www

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL Web Services Antonio Dirceu adrvf@cin.ufpe.br Tópicos Motivação Integração de aplicações Tecnologias Web Service SOAP, WSDL, UDDI, WSFL Passo a passo Business Web Conclusão Motivação Integração de Aplicações

Leia mais

Estudo comparativo das API s JAX-RPC e JAXM na construção de Web Services

Estudo comparativo das API s JAX-RPC e JAXM na construção de Web Services Estudo comparativo das API s JAX-RPC e JAXM na construção de Web Services Danielle Corrêa Ribeiro 1, Elizabeth Mª Martinho da Silva 1, Francisco A. S. Júnior 1, Thatiane de Oliveira Rosa 1, Madianita Bogo

Leia mais

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens Web Services Pós-Graduação em Tecnologias para o desenvolvimento de aplicações WEB Conteúdo da Aula de Hoje Conceitos básicos Teste com WS Implementação de WS (Provedor e usuário) Instrutor : Avaliação

Leia mais

2.Consulta UDDI. 3.Obtém URL, WSDL. 1.Registra. 4.Invoca o serviço. 5.Retorno (opcional)

2.Consulta UDDI. 3.Obtém URL, WSDL. 1.Registra. 4.Invoca o serviço. 5.Retorno (opcional) WS-* Desenvolvimento 1 Definição Web services são aplicações modulares auto- descritas e auto-contidas, que podem ser conectadas e acopladas a outros web services [IBM] são componentes de software com

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

Leia mais

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML. Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services

Leia mais

Programação Cliente em Sistemas Web

Programação Cliente em Sistemas Web Programação Cliente em Sistemas Web WEBSERVICES Cap 18. - Sistemas distribuídos e serviços web em Deitel, H.M, Sistemas Operacionais, 3 ª edição, Pearson Prentice Hall, 2005 Fonte: Rodrigo Rebouças de

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Unidade 14: Web Services Prof. Daniel Caetano

Unidade 14: Web Services Prof. Daniel Caetano Programação Servidor em Sistemas Web 1 Unidade 14: Web Services Prof. Daniel Caetano INTRODUÇÃO Na maior parte deste curso foram estudados serviços desenvolvidos com o uso de tecnologias Servlet. Entretato,

Leia mais

Extensões MIDP para Web Services

Extensões MIDP para Web Services Extensões MIDP para Web Services INF-655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática MIDP Architecture MIDP = Mobile Information Device Profile Connection Framework HttpConnection

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB Deusa Cesconeti e Jean Eduardo Glazar Departamento de Ciência da Computação Faculdade de Aracruz UNIARACRUZ {dcescone, jean}@fsjb.edu.br RESUMO

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Web Services Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org November 29, 2014 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November

Leia mais

Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services

Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services Modelação Engenharia de Software Sistemas Distribuídos Departamento Engenharia Informática Livro de Receitas Framework de aplicações com Web Services 2009-04-17 Versão 1.1 Índice Índice... 2 Nota prévia...

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

Aplicando Web Services REST com a API JAX-RS

Aplicando Web Services REST com a API JAX-RS Aplicando Web Services REST com a API JAX-RS Rodrigo Araújo dos Santos Edigar A. Diniz Júnior Resumo Este artigo visa apresentar a tecnologia REST que representa uma alternativa ao desenvolvimento de Web

Leia mais

RestFull WebServices. Rafael Nunes Arquiteto de Software / Instrutor Globalcode. Globalcode Open4Education

RestFull WebServices. Rafael Nunes Arquiteto de Software / Instrutor Globalcode. Globalcode Open4Education RestFull WebServices Rafael Nunes Arquiteto de Software / Instrutor Globalcode 1 REST Integrando aplicações e disponibilizando serviços sem complicar a vida de ninguém. 2 Agenda > Integrando Aplicações

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com REST Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com 1 RESTful REpresentation State Transfer Estilo de arquitetura de software para sistemas distribuídos Termo proposto por Roy Fielding

Leia mais

Web Services XML SOAP WSDL UDDI Desenvolvimento Informações Adicionais 1 Web Services Definição Web services são aplicações modulares auto- descritas e auto-contidas, que podem ser conectadas e acopladas

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

Minicurso Web Services com PHP

Minicurso Web Services com PHP Minicurso Vinícius Costa de Souza viniciuscs@unisinos.br http://www.inf.unisinos.br/~vinicius julho de 2005 Apresentações Nome Conhecimentos sobre Web Services Conhecimentos sobre PHP Expectativas referentes

Leia mais

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP Web Services & SOAP Tecnologias de Middleware 2004/2005 SOAP Simple Object Access Protocol Os web services necessitam de comunicar entre eles e trocar mensagens. O SOAP define a estrutura e o processamento

Leia mais

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet Avançada 4. Web Services Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt São módulos de aplicações de negócios que expõem as regras do negócio como serviços na Internet através

Leia mais

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo e Serviço e e Tecnologias de Middleware 06/07 Curso de Especialização em Informática Departamento de Informática Faculdade de Ciências da Universidade de Lisboa 27.10.2006 e Serviço e 1 2 Serviço e 3 e...o

Leia mais

LUIZ WAGNER ARAÚJO NUNES

LUIZ WAGNER ARAÚJO NUNES LUIZ WAGNER ARAÚJO NUNES IMPLEMENTAÇÃO DE UM WEB SERVICE PARA UMA LOCADORA DE VEÍCULOS - RELAÇÃO B2B Palmas 2006.1 LUIZ WAGNER ARAÚJO NUNES IMPLEMENTAÇÃO DE UM WEB SERVICE PARA UMA LOCADORA DE VEÍCULOS

Leia mais

Universidade Federal de Mato Grosso

Universidade Federal de Mato Grosso Universidade Federal de Mato Grosso Programação III Curso de Ciência da Computação Prof. Thiago P. da Silva thiagosilva@ufmt.br Material basedado em [Kurose&Ross 2009] e [Gonçalves, 2007] Agenda Internet

Leia mais

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL Sistemas Distribuídos na Web Pedro Ferreira DI - FCUL Arquitetura da Web Criada por Tim Berners-Lee no CERN de Geneva Propósito: partilha de documentos Desde 1994 mantida pelo World Wide Web Consortium

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Web Services utilizando JAX-WS

Web Services utilizando JAX-WS Web Services utilizando JAX-WS JAX-WS Facilitar o uso da API JAX-RPC e do modelo de implantação Anotações baseados em JSR-181 Exemplo Básico: Anotações: @WebService @WebMethod @WebParam @WebResult Exemplo

Leia mais

Middleware de Aplicações Paralelas/Distribuídas

Middleware de Aplicações Paralelas/Distribuídas Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware

Leia mais

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar

Leia mais

A Estrutura de um Web Service

A Estrutura de um Web Service A Estrutura de um Web Service Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo Atualmente, o Serviço Web é a solução mais utilizada para integração entre sistemas, pois apresenta vantagens

Leia mais

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo Requisitos de Ambiente: Desenvolvido por: Fabrício Alves e Daniela Claro contato: fabufbc@dcc.ufba.br, dclaro@ufba.br Java 1.6

Leia mais

WOW Mobile Rui Miguel Miranda Ramos

WOW Mobile Rui Miguel Miranda Ramos WOW Mobile Rui Miguel Miranda Ramos Programa 1. Plataforma WOW 2. WOW Mobile 3. API do WOW 4. Clientes 5. Conclusões Plataforma WOW Plataforma WOW Issue tracking system Motor de workflow flexível Plataforma

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

Web Services no JEE 7. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Web Services no JEE 7. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Web Services no JEE 7 Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O que são Web Services? Web services are client and server applications that communicate over the World Wide Web's (WWW) HyperText

Leia mais

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

Leia mais

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping;

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping; Guia de Orientação para Implementação de Web Services Este documento apresenta alguns direcionamentos referentes à implementação de web services. É uma versão preliminar da construção do Guia de Orientação

Leia mais

FRANCISCO DE ASSIS DOS SANTOS JUNIOR. Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente

FRANCISCO DE ASSIS DOS SANTOS JUNIOR. Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente FRANCISCO DE ASSIS DOS SANTOS JUNIOR Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente Palmas 2004 ii FRANCISCO DE ASSIS DOS SANTOS JUNIOR Web Services com JWSDP: melhorias

Leia mais

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica Desenvolvimento de Web Services com SOAP. 1. Introdução. Com a tecnologia de desenvolvimento

Leia mais

Web Services. José Mocito. Web Services. Tecnologias de Middleware 2004/2005. Universidade de Lisboa. 11 de Novembro, 2004

Web Services. José Mocito. Web Services. Tecnologias de Middleware 2004/2005. Universidade de Lisboa. 11 de Novembro, 2004 Tecnologias de 2004/2005 Universidade de Lisboa 11 de Novembro, 2004 ? Parte I Porquê os?? Importantes em cenários de integração entre negócios (B2B - business to business) Necessidade de automatização

Leia mais

Manual de Integração WebService

Manual de Integração WebService Manual de Integração WebService Sumário 1. O que é a Integração WebService? 2. Envio Simples 3. Consultar Status da Mensagem 3.1 Consultar Mensagens Recebidas 4. Tecnologia do WebService Facilita 1. O

Leia mais

EJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1

EJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1 EJB Session Beans J2EE (C. Geyer) Introdução a SessionBean 1 Autores! Autores " Cláudio Geyer " Eduardo Studzinski Estima de Castro (EJB 3.0) " Gisele Pinheiro Souza (EJB 3.0) J2EE (C. Geyer) Introdução

Leia mais

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto Java Enterprise Edition by Antonio Rodrigues Carvalho Neto Enterprise Edition Architecture O que é Java Enterprise Edition? Java EE é uma plataforma que reune diversas especificações relacionadas a computação

Leia mais

Web Services na plataforma.net

Web Services na plataforma.net Web Services na plataforma.net Jackson Gomes de Souza 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa Postal 160 77054-970 Palmas TO Brasil jgomes@ulbra-to.br

Leia mais

Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Dificuldades no uso de Bancos de Dados

Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Dificuldades no uso de Bancos de Dados Desenvolvimento de Aplicações Desenvolvimento de Aplicações Dificuldades no uso de Bancos de Dados Um leigo não sabe o que é e como funciona um BD Mesmo um profissional da área de informática pode ter

Leia mais

Padrões de Projeto Implementados em Infraestrturas de Componentes

Padrões de Projeto Implementados em Infraestrturas de Componentes Padrões de Projeto Implementados em Infraestrturas de Componentes Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires 1 distribuídas baseadas em componentes Comunicação transparente,

Leia mais

Prof. João Bosco M. Sobral UFSC. Departamento de Informática e Estatística. Jornada Tecnológica 05/10/2005. Universidade Estácio de Sá Florianópolis

Prof. João Bosco M. Sobral UFSC. Departamento de Informática e Estatística. Jornada Tecnológica 05/10/2005. Universidade Estácio de Sá Florianópolis Prof. João Bosco M. Sobral UFSC Departamento de Informática e Estatística A Evolução da Web: Páginas Estáticas Browser, Servidor Web, HTTP, HTML, JavaScript. A Evolução da Web: Páginas Dinâmicas Browser,

Leia mais

SOA na Prática Ricardo Limonta

SOA na Prática Ricardo Limonta SOA na Prática Ricardo Limonta Arquiteto JEE Objetivo Apresentar os conceitos de Arquiteturas Orientadas a Serviços; Entender a relação entre SOA e a tecnologia Web Services; Implementar SOA com Web Services

Leia mais

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos Arquiteturas Middlewares Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos

Leia mais

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

Introdução à Web Services

Introdução à Web Services Introdução à Web Services Emerson Ribeiro de Mello emerson@das.ufsc.br Universidade Federal de Santa Catarina O que falaremos... Pra que isso? O que é Web Services A camada de protocolos O que são: XML-RPC,

Leia mais

J2EE. J2EE - Surgimento

J2EE. J2EE - Surgimento J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:

Leia mais

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Computação Orientada a Serviços

Computação Orientada a Serviços Universidade Tecnológica Federal do Paraná Campus Cornélio Procópio Computação Orientada a Serviços Elias Canhadas Genvigir Roteiro de Apresentação Introdução Problema Computação Orientada a Serviços Serviços

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Resumo. Evolução. Web Services. RPC: comparação com Mensagens

Resumo. Evolução. Web Services. RPC: comparação com Mensagens Resumo Positivo RPC: comparação com Mensagens Programação usando uma IDL que é uma linguagem idêntica às linguagens de programação habituais. A interface do serviço encontra-se claramente especificada

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

Consultar Tabelas Administrativas

Consultar Tabelas Administrativas STN Coordenação-Geral de Sistemas e Tecnologia de Informação Sistema Integrado de Administração Financeira do Governo Federal SIAFI Secretaria do Tesouro Nacional STN Documentação de Serviços de Interoperabilidade

Leia mais

Java Spaces Exemplos

Java Spaces Exemplos Java Spaces Exemplos Programação com Objetos Distribuídos (C. Geyer) Java Spaces - Exemplos V0 1 Autoria! Autores! Local " Cláudio Geyer " Instituto de Informática " UFRGS " disciplina: Programação com

Leia mais

Aula de hoje: Web Services (Serviços Web) Processamento Paralelo Web Services. Tecnologias básicas da Web. Aplicações na Internet

Aula de hoje: Web Services (Serviços Web) Processamento Paralelo Web Services. Tecnologias básicas da Web. Aplicações na Internet Processamento Paralelo Web Services Aula de hoje: Web Services (Serviços Web) Evolução da Web para apoiar interação entre componentes Tecnologias para Web Services Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)

Leia mais

Usando Borland DELPHI para implementar aplicações CORBA

Usando Borland DELPHI para implementar aplicações CORBA Página 1 de 10 USANDO BORLAND DELPHI PARA IMPLEMENTAR APLICAÇÕES CORBA por Simone Vey Dutra e César Bridi Introdução A Arquitetura CORBA Criando uma Aplicação CORBA em Delphi Criando um Servidor CORBA

Leia mais

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

Leia mais

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java RedFoot J Dukes Uma Visão Geral Sobre Plataforma Java Marco Aurélio malbarbo@din.uem.br 1 Roteiro Objetivos Plataforma Java Linguagem de Programação Maquina Virtual Tecnologias Conclusão 2 Objetivos Geral

Leia mais