LUIZ WAGNER ARAÚJO NUNES

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

Download "LUIZ WAGNER ARAÚJO NUNES"

Transcrição

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

2 LUIZ WAGNER ARAÚJO NUNES IMPLEMENTAÇÃO DE UM WEB SERVICE PARA UMA LOCADORA DE VEÍCULOS - RELAÇÃO B2B Trabalho apresentado ao curso de Sistemas de Informação do Centro Universitário Luterano de Palmas como requisito parcial da disciplina de Trabalho de Conclusão de Curso em Sistemas de Informação, orientado pela professora Madianita Bogo Palmas

3 LUIZ WAGNER ARAÚJO NUNES IMPLEMENTAÇÃO DE UM WEB SERVICE PARA UMA LOCADORA DE VEÍCULOS - RELAÇÃO B2B Trabalho apresentado ao curso de Sistemas de Informação do Centro Universitário Luterano de Palmas como requisito parcial da disciplina de Trabalho de Conclusão de Curso em Sistemas de Informação, orientado pela professora Madianita Bogo BANCA EXAMINADORA Profª. M.Sc. Madianita Bogo Centro Universitário Luterano de Palmas Fabiana Ferreira Cardoso Centro Universitário Luterano de Palmas Prof. M.Sc. Ricardo Marx Costa Soares de Jesus Centro Universitário Luterano de Palmas

4 4 SUMÁRIO 1. INTRODUÇÃO REVISÃO DE LITERATURA Sistemas Distribuídos Modelo Cliente/Servidor RMI CORBA Web Service WSDL UDDI JWSDP JAX-RPC Desenvolvimento do Servidor Desenvolvimento do Cliente B2B Web Services em B2B MATERIAL E MÉTODOS Material Hardware Software Métodos RESULTADOS E DISCUSSÃO Domínio Comunicação das Aplicações Modelagem do Web Service Funcionalidades do Web Service Diagrama de Classes Considerações sobre o serviço Questão Legal do Serviço Implementação do Serviço Implementação do Cliente CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS ANEXOS ANEXO I: MODELAGEM DO WEB SERVICE ANEXO II: IMPLEMENTAÇÃO DO WEB SERVICE ANEXO III: IMPLEMENTAÇÃO DA APLICAÇÃO CLIENTE

5 5 LISTA DE FIGURAS Figura 1 - Estrutura do modelo Cliente/Servidor adaptada de Horstmann (2003) Figura 2 - Estrutura de comunicação do padrão CORBA, modificada de Riccioni (2000). 15 Figura 3 Exemplo de um documento WSDL Figura 4 Exemplo de Interface de um Web Service com JAX-RPC Figura 5 Exemplo de Classe de Implementação de um Web Service com JAX-RPC Figura 6 Documento XML utilizado pelo aplicativo wscompile Figura 7 Documento XML utilizado pelo aplicativo jar Figura 8 Documento XML utilizado pelo aplicativo wsdeploy Figura 9 Exemplo de Classe de Implementação de um Cliente JAX-RPC Figura 10 - Arquitetura de Comunicação da Aplicação Cliente com o Web Service Figura 11 Diagrama de Casos de Uso Figura 12 Diagrama de Classes do Web Service Figura 13 Implementação da Interface do Web Service Figura 14 Fragmento de Código do Arquivo veiculos.php

6 6 LISTA DE TABELAS Tabela 1: Pilha Básica de Web Services disponível em Hendricks (2002)... 17

7 7 LISTA DE ABREVIATURAS API Application Programming Interface B2B Business-to-business CORBA Common Object Request Broker Architecture ebxml Eletronic Business Extensible Markup Language FTP File Transfer Protocol HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure IDL Interface Definition Language ISO International Organization for Standardization JWSDP Java Web Service Developer Pack NAICS North American Industry Classification System

8 8 ORB Object Request Broker RPC Remote Procedure Call SMTP Simple Mail Transfer Protocol SOAP Simple Object Access Protocol TCP/IP Transfer Control Protocol/Internet Protocol UDDI Universal Description, Discovery and Integration W3C World Wide Web Consortium WSDL Web Service Description Language XML Extensible Markup Language

9 9 RESUMO A crescente demanda na utilização da Internet para a comunicação entre empresas fez surgir uma nova modalidade de comércio eletrônico, denominada Business-to-business (B2B), na qual as empresas integram suas aplicações com o intuito de intercambiar as informações, possibilitando a realização dos processos de negócio. A tecnologia de Web Services surgiu com a promessa de permitir que aplicações desenvolvidas em plataformas e linguagens de programação distintas possam se integrar, garantindo a interoperabilidade entre as aplicações, o que é interessante quando se fala em comunicação entre aplicações de empresas distintas. O objetivo deste trabalho é realizar um estudo da tecnologia de Web Services analisando a sua utilização na modalidade de comércio eletrônico Business-tobusiness, realizando um estudo teórico dos conceitos relacionados ao tema e testes práticos da integração de aplicações desenvolvidas em linguagens distintas.

10 10 1. INTRODUÇÃO A Internet tem sido utilizada principalmente para o relacionamento entre pessoas e para o comércio eletrônico, em que as pessoas passaram a se relacionar com as empresas surgindo esta nova modalidade de comércio. Nos últimos anos, é notável também uma crescente utilização da Internet para a troca de informações entre empresas, as quais são tidas como parceiras comerciais, buscando a integração de suas aplicações para a manutenção desta forma de comunicação. Da parceria entre empresas surgiu a modalidade de comércio eletrônico denominada Business-to-business (B2B), definindo o comércio entre empresas realizado através da troca de informações pela Internet. Várias tecnologias surgiram para aprimorar e permitir mais facilidade na comunicação entre as aplicações das empresas, dentre elas o padrão RMI, o CORBA e a tecnologia de Web Services. A tecnologia de Web Services traz a promessa de permitir e facilitar a comunicação entre aplicações desenvolvidas em linguagens de programação e plataformas distintas, prometendo também possibilitar interoperabilidade entre tais aplicações, o que é interessante quando se fala em comunicação entre aplicações de empresas distintas. Com base neste cenário, em que é crescente a demanda pela integração de aplicações dado o surgimento desta nova modalidade de comércio eletrônico, pensou-se em desenvolver um estudo da tecnologia de Web Services e sua relação com o Business-to-business, uma vez que foi notado que é um assunto pouco discutido. O objetivo deste trabalho é estudar a tecnologia de Web Services, buscando levantar suas características, fazendo um breve estudo das demais tecnologias a fim de possibilitar um

11 11 melhor entendimento. É parte também deste trabalho o estudo das características da modalidade comércio eletrônico Business-to-business, buscando principalmente relacionála com a tecnologia de Web Services, fazendo um levantamento teórico e a implementação de um exemplo prático nesta avaliação. Este trabalho está estruturado da seguinte forma: a seção 2 apresenta um levantamento das características das aplicações distribuídas, mencionando os modelos e as tecnologias existentes, buscando maior destaque das características da tecnologia de Web Services, sobretudo da API JAX-RPC, que integra o JWSDP, descrevendo os passos básicos para a criação de uma aplicação Servidora e uma aplicação Cliente. Exibe também um levantamento a respeito do Business-to-business, buscando relacioná-lo com a tecnologia de Web Services. A seção 3 contém a relação do material empregado e descreve os métodos utilizados no desenvolvimento do trabalho. A seção 4 mostra os resultados e uma discussão a respeito do que foi encontrado na literatura e dos testes práticos realizados, quando possível, fazendo uma relação entre os mesmos. A seção 5 expõe as considerações finais, descrevendo as conclusões a respeito do estudo realizado, apontando a utilização em trabalhos futuros.

12 12 2. REVISÃO DE LITERATURA 2.1. Sistemas Distribuídos Um sistema distribuído pode ser definido como um conjunto de computadores interconectados em rede com o objetivo principal de compartilhar recursos de hardware e software. Para Casetti (1993) um sistema distribuído constitui-se de processadores autônomos conectados através de um subsistema de comunicação, que cooperam-se através de troca de mensagens. Uma das vantagens advindas da utilização de um sistema distribuído é o compartilhamento de recursos. Assim, os recursos mantidos por uma estação servidora poderão ser utilizados por estações clientes, que solicitam os recursos através de uma rede de comunicação. Como proteção à ocorrência de falhas, sistemas distribuídos podem ser implantados com grande vantagem sobre os sistemas centralizados. A redundância de recursos de hardware e de software pode imprimir mais confiabilidade ao sistema como um todo: caso partes do sistema venham a falhar, o restante do sistema é capaz de continuar o processamento, ao contrário de um sistema centralizado em que uma falha comprometeria todo o sistema. Por fim, como um sistema distribuído está disseminado em uma rede, sua abrangência é uma grande vantagem sobre um sistema centralizado, uma vez que pode atingir grandes distâncias geográficas. Tanenbaum (1992) menciona a capacidade de crescimento incremental dos sistemas distribuídos. A escalabilidade permite que novas unidades processadoras possam ser adicionadas, visando aumentar o poder de processamento do conjunto, sem que sejam

13 13 necessárias alterações na configuração do sistema e interrupções no funcionamento no momento das alterações. Um dos modelos de sistemas distribuídos mais difundidos e citados na literatura é o modelo Cliente/Servidor. A seção apresenta o conceito e descreve o funcionamento deste modelo Modelo Cliente/Servidor Segundo Riccioni (2000), o modelo Cliente/Servidor de computação distribuída é um modelo de gerenciamento de informação que divide o processamento entre um computador que requer um serviço e outro que devolve o serviço. Como em sistemas distribuídos não existe região de memória compartilhada, os processos se comunicam através de mecanismos de troca de mensagens. A programação de socket e a chamada de procedimento remoto (RPC Remote Procedure Call) são mecanismos utilizados nas trocas de mensagens. A Figura 1 ilustra a transmissão de mensagens no modelo Cliente/Servidor. Cliente Servidor solicitação resposta Figura 1 - Estrutura do modelo Cliente/Servidor adaptada de Horstmann (2003). Na estrutura apresentada na Figura 1, os retângulos identificados como Cliente e Servidor representam as aplicações Cliente e Servidor, respectivamente, dentro do modelo

14 14 Cliente/Servidor. De uma maneira simplificada, o Cliente envia uma mensagem de solicitação para o Servidor, que realiza o processamento e retorna uma mensagem de resposta para o Cliente. Com o advento do paradigma de orientação a objetos, foram idealizados objetos colaborativos localizados em ambientes remotos, capazes de interagir através de mecanismos de troca de mensagens. Com isso, surgiram os padrões RMI (Remote Method Invocation Invocação de Método Remoto) e CORBA (Common Object Request Broker Architecture Arquitetura de Agentes de Requisição de Objetos Comum). Esses padrões serão discutidos nas seções 2.2 e RMI O padrão RMI foi uma iniciativa da empresa Sun Microsystems. Escrito na linguagem de programação Java, esse padrão possibilita a comunicação entre objetos residentes em máquinas virtuais java (JVM Java Virtual Machine), que podem estar localizadas em computadores distintos ou não. Com o RMI, a invocação de métodos de um objeto remoto parece simples para o desenvolvedor. Os detalhes de comunicação ficam ocultos. Assim, o desenvolvedor tem a impressão de que está realizando a chamada de métodos de um objeto local. Ao invocar um método sobre um objeto remoto, o cliente RMI atua, na realidade, sobre um objeto local que se faz passar pelo objeto remoto. Esse objeto local é chamado stub. O stub age como um proxy do objeto remoto e esconde do cliente o uso dos serviços providos pelos protocolos de transporte. Por serem gerados por um compilador chamado rmic, os desenvolvedores de um programa RMI não têm que se preocupar em codificar os stubs (ALBUQUERQUE, 2001). Os serviços oferecidos pelo Servidor são descritos através de um arquivo Java que implementa uma interface. A interface contém a assinatura dos métodos disponibilizados pelo Servidor. Desta forma, o Cliente descobre os métodos analizando a interface do Serviço.

15 15 Apesar de escrito em Java, uma linguagem prometida para ser quase perfeita em termos de portabilidade, como leciona Riccioni (2000), o RMI é limitado exatamente em sistemas heterogêneos no tocante à interação com objetos desenvolvidos em outras linguagens. Ao contrário disto, o padrão CORBA promete possibilitar a integração entre aplicações heterogêneas. O padrão CORBA será discutido na seção seguinte CORBA Conforme citado por Horstmann (2003), o padrão CORBA permite a comunicação entre objetos escritos em diferentes linguagens de programação. (...) Ele define um mecanismo comum para troca de dados e descoberta de serviços. A especificação CORBA tem sido implementada por diversas linguagens de programação. Os programas Cliente e Servidor podem ser desenvolvidos em linguagens de programação distintas, como Java e C++, por exemplo. A especificação CORBA define um Agente de Requisição de Objetos (ORB Object Request Broker) que é responsável por intermediar a comunicação entre objetos remotos. O ORB é responsável pela localização do objeto ao qual se destina a requisição, assim como o envio dos parâmetros da requisição no formato aceito por este objeto. (...) Também é função do ORB, o retorno de parâmetros de saída da requisição para o cliente, se assim houver (RICCIONI, 2000). A Figura 2 apresenta a estrutura da comunicação do padrão CORBA. Cliente Servidor ORB Rede ORB Figura 2 - Estrutura de comunicação do padrão CORBA, modificada de Riccioni (2000). A estrutura de comunicação apresentada na Figura 2 pode ser entendida da seguinte forma: primeiramente o Cliente obtém uma referência ao objeto remoto, através do ORB, e então

16 16 faz a invocação de um método do objeto remoto. Em seguida, O ORB converte os parâmetros do método em um formato independente de plataforma, e envia-os através da rede ao ORB do Servidor. O ORB do Servidor recebe os parâmetros e decodifica-os, repassando a chamada do método ao Servidor. Após o processamento da chamada, o Servidor envia a resposta com os parâmetros ao ORB, que faz a codificação e envia ao ORB do Cliente. Por fim, o ORB do Cliente decodifica os parâmetros de saída e repassa-os ao Cliente. A padronização do protocolo de comunicação e do formato das mensagens em um sistema distribuído é um ponto importante para a interação entre objetos distribuídos, principalmente na interação entre objetos heterogêneos. O formato e o modo de transmissão das mensagens devem possibilitar que o objeto do Cliente possa enviar as mensagens de forma que o objeto do Servidor possa recebê-las e processá-las. A definição do formato das mensagens e dados para a comunicação entre ORB s é papel do Protocolo Inter-ORB Geral (GIOP). A forma de transmissão das mensagens numa rede TCP/IP é papel do Protocolo Inter-ORB Internet (IIOP). A descrição do objeto Servidor, que atenderá às requisições dos objetos Clientes, está contida em um documento que apresenta a assinatura dos métodos disponibilizados pelo objeto Servidor e os tipos de dados que podem ser enviados e recebidos através das mensagens. A linguagem utilizada para desenvolvimento deste documento é a linguagem de definição de interface (IDL Interface Definition Language). Um documento IDL é bem semelhante a uma interface definida na linguagem de programação Java, e possui a extensão.idl. No tocante à interação entre aplicações comerciais na Internet, visando a integração de parceiros comerciais, uma nova tecnologia surgiu buscando proporcionar maior interoperabilidade entre as aplicações. A tecnologia de Web Services têm recebido muitos incentivos por parte de grandes empresas como Microsoft e IBM. Na seção 2.4 será apresentada a tecnologia de Web Services.

17 Web Service Um Web Service representa uma aplicação auto-descritiva que é capaz de responder a solicitações de outras aplicações, independentemente da linguagem e da plataforma em que estas foram desenvolvidas, fazendo uso de tecnologias padrão, tais como os protocolos da Internet, como HTTP, e a linguagem XML. Além da capacidade de responder a solicitações, um Web Service também pode fazer solicitações a outros Web Services, exercendo assim o papel de aplicação cliente ou consumidora. Conceitualmente, a estrutura de um Web Service pode ser representada na forma de uma pilha. De acorco com Hendricks (2002), a pilha é formada por 4 camadas. A tabela 1 apresenta as camadas associando-as às respectivas tecnologias. Tabela 1: Pilha Básica de Web Services disponível em Hendricks (2002). Publicação e Descoberta do Serviço UDDI (Service Publication/Discovery) Descrição do Serviço (Service WSDL Description) Troca de Mensagens XML SOAP (XML SOAP Messaging) Rede de Transporte (Transport Network) HTTP, SMTP, FTP, HTTPS over TCP/IP Um Web Service pode ter seus dados publicados em um registro de negócios, tais como o registro UDDI (Universal Description, Discovery and Integration Descrição, Descoberta e Integração Universais). A especificação UDDI padroniza um modelo de repositório de registro de Web Services públicos e dos negócios que os representam. Através do registro clientes e parceiros de negócios podem integrar suas aplicações buscando as descrições dos Web Services registrados. Além da especificação UDDI, mencionada por Hendricks (2002), a especificação ebxml também padroniza um modelo de repositório. Mais abrangente do que a especificação UDDI, ela é dirigida a registros de negócios, cujas empresas podem possuir Web Services implementados. A especificação UDDI será apresentada com maior profundidade na seção

18 18 Um diferencial importante dos Web Services sobre as demais tecnologias de sistemas distribuídos é a forma de descrição. A descrição de um Web Service apresenta os métodos disponibilizados, os parâmetros de entrada e saída e a localização e o nome do serviço. Para a descrição é utilizado um documento escrito na Linguagem de Descrição de Web Services (WSDL Web Services Description Language). Este documento é um documento XML cujo esquema segue as regras da WSDL. A WSDL será discutida com mais detalhes na seção As mensagens trocadas entre o Web Service e os Clientes são convertidas nos formatos definidos pelo protocolo escolhido para a comunicação. Dentre os protocolos está o protocolo SOAP (Simple Object Access Protocol Protocolo Simples de Acesso ao Objeto), o qual acondiciona a mensagem em um documento XML. O protocolo SOAP pode ser utilizado no mecanismo de troca de mensagens baseado em RPC ou baseado em troca de documentos. Por fim, as mensagens são transportadas fazendo uso de um dos protocolos de Internet, como por exemplo, HTTP, SMTP etc. Segundo Hendricks (2002), o mais utilizado é o protocolo HTTP (Hypertext Transfer Protocol Protocolo de Transferência de Hipertexto). O uso destes protocolos, e principalmente do HTTP, é devido ao fato de que os mesmos geralmente são utilizados por várias aplicações e, além disso, comumente estão habilitados nos firewalls, o que facilita a utilização da tecnologia de Web Services. Neste trabalho, o Web Service desenvolvido utiliza a API JAX-RPC, integrante do JWSDP, a qual utiliza o protocolo SOAP para troca de mensagens e o protocolo HTTP para o transporte WSDL A sigla WSDL é utilizada para referenciar o documento que descreve um Web Service. Este documento, que é um documento XML, tem por finalidade apresentar os detalhes do Web Service. Ao contrário do que é utilizado nos padrões RMI e CORBA, o documento WSDL é mais complexo devido aos detalhes que especifica, como endereço real do serviço, definição da estrutura das mensagens de solicitação e resposta de cada uma das operações

19 19 disponibilizadas pelo Web Service etc. A sua estrutura é constituída de 5 elementos básicos: types, message, porttype, binding e service (TODD, 2003). A escrita de um documento WSDL pode ser uma tarefa bastante complexa, a depender da quantidade de operações disponibilizadas pelo Web Service, dos parâmetros de entrada e saída, e dos tipos de dados utilizados nas mensagens. Normalmente, os aplicativos que possibilitam o desenvolvimento de Web Services disponibilizam ferramentas capazes de gerar este documento com base na interface desenvolvida e na localização e no nome que referencia o serviço. A Figura 3 apresenta um exemplo de um documento WSDL.

20 20 Figura 3 Exemplo de um documento WSDL. O documento apresentado na Figura 3 foi gerado com o aplicativo wscompile, o qual integra a API JAX-RPC. Para isso, foram utilizados como base um arquivo XML de configuração e o arquivo de interface do serviço compilado. O documento representa a descrição do Web Service denominado Hello, o qual possui apenas uma operação denominada sayhello, que recebe um parâmetro do tipo String e retorna uma String como resposta. 1. <?xml version="1.0" encoding="utf-8"?> 2. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:foo" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="hello" targetnamespace="urn:foo"> 3. <types /> 4. <message name="helloif_sayhello"> 5. <part name="string_1" type="xsd:string" /> 6. </message> 7. <message name="helloif_sayhelloresponse"> 8. <part name="result" type="xsd:string" /> 9. </message> 10. <porttype name="helloif"> 11. <operation name="sayhello" parameterorder="string_1"> 12. <input message="tns:helloif_sayhello" /> 13. <output message="tns:helloif_sayhelloresponse" /> 14. </operation> 15. </porttype> 16. <binding name="helloifbinding" type="tns:helloif"> 17. <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" /> 18. <operation name="sayhello"> 19. <soap:operation soapaction="" /> 20. <input> 21. <soap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:foo" /> 22. </input> 23. <output> 24. <soap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="urn:foo" /> 25. </output> 26. </operation> 27. </binding> 28. <service name="hello"> 29. <port name="helloifport" binding="tns:helloifbinding"> 30. <soap:address location="http://localhost:8080/hello/hello" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" /> 31. </port> 32. </service> 33. </definitions>

21 21 De acordo com W3C (2001), o elemento raiz do documento WSDL é o elemento definitions. O elemento types contém as definições dos tipos de dados que serão enviados e recebidos através das mensagens processadas pelo Web Service. Este elemento é especificado quando é preciso utilizar tipos de dados complexos, definidos pelo desenvolvedor. Quando são utilizados somente tipos de dados padronizados pelo W3C, este elemento não precisa ser especificado. No exemplo apresentado na Figura 4, o elemento types não contém valor declarado, o que indica que os dados contidos nas mensagens de solicitação e de resposta conterão somente valores padrão definidos. O elemento message define, para cada mensagem, qual o tipo de dado de cada parâmetro ou retorno. Para cada operação disponibilizada pelo Web Service, devem ser criados dois elementos message, um para a mensagem de requisição e outro para a respectiva mensagem de resposta. O tipo de dado pode ser um valor padrão ou qualquer tipo definido no elemento types. No exemplo da Figura 3, o elemento message cujo atributo name contém o valor HelloIF_sayHello representa a mensagem de solicitação do método sayhello(string nome). O sub-elemento part define o tipo de dado do parâmetro e a ordem em que aparecerá, que neste caso é o primeiro parâmetro de entrada, e é do tipo String. O valor String_1 do atributo name do elemento part denota o tipo de dado e a ordem do parâmetro. O valor xsd:string do atributo type do elemento part define que o tipo de dado do parâmetro é o tipo string definido no namespace O elemento message cujo atributo name contém o valor HelloIF_sayHelloResponse define a mensagem de resposta do método sayhello(string nome). O valor do atributo name do sub-elemento part agora contém o valor result, o que completa o sentido de que a mensagem é de resposta, conduzindo o resultado da operação processada pelo método do Web Service. O valor xsd:string do atributo type do elemento part define que o tipo de dado da resposta é o tipo string definido no namespace

22 22 O elemento porttype descreve os métodos que serão disponibilizados pelo Web Service. A finalidade básica deste elemento é indicar, para cada método do Web Service, qual elemento message definirá o formato da mensagem de solicitação e qual definirá o formato da mensagem de resposta. O sub-elemento operation indica a operação que está sendo definida. O sub-elemento input, do elemento operation, referencia o elemento message que descreverá o formato da mensagem de solicitação, e o sub-elemento output referencia o elemento message que descreverá o formato da mensagem de resposta. O elemento binding apresenta a informação do protocolo que será utilizado no transporte das mensagens. Pelo menos um elemento binding é requerido. De acordo com WSDL (2001), a linguagem WSDL é extensível a ponto de permitir a adoção de outros formatos de mensagem e protocolos de rede, além de SOAP 1.1, HTTP GET/POST e MIME, por exemplo. O protocolo SOAP é mais utilizado com o protocolo HTTP. No entanto, podem ser utilizados vários outros protocolos, como SMTP, FTP etc. A API JAX-RPC adota o protocolo SOAP como padrão para definição do formato das mensagens e HTTP para o transporte. No documento da Figura 4, o protocolo de transporte é indicado pelo atributo transport do sub-elemento soap:binding, que contém o valor De acordo com W3c (2002), o SOAP pode utilizar mensagens orientadas a documento ou orientadas a procedimentos (RPC), o que é definido através do atributo style do elemento soap:binding, sendo que o valores podem ser rpc ou document. O valor é opcional, mas, quando não indicado, será considerado o valor document. De acordo com Todd (2003), o elemento service contém o endereço real do Web Service. Assim, para cada elemento binding haverá a indicação de um endereço real através do elemento service UDDI W3C (2002) afirma que a tarefa de publicação e descrição de Web Services é essencial dentro da arquitetura básica de Web Services. Neste contexto, o padrão UDDI merece destaque por ser o mais utilizado. Oasis (2004) declara que o objetivo da especificação é

23 23 definir um conjunto de serviços com suporte à descrição e descoberta de negócios, organizações, e outros fornecedores de Web Services, dos Web Services que eles disponibilizam e das interfaces técnicas que podem ser utilizadas para acessar estes Serviços. A estrutura de armazenamento objetiva facilitar a localização das informações. De acordo com Todd (2003), UDDI permite realizar buscas por negócios e serviços de diferentes maneiras, tais como: localização de negócios por tipo de negócio (Yellow Pages Páginas Amarelas); localização de negócios por nomes, endereços, entre outras informações (White Pages Páginas Brancas); e localização de informações sobre os serviços que um negócio oferece (Green Pages Páginas Verdes). Ainda segundo Todd (2003), UDDI define não somente uma estrutura para organização de informações, mas também um XML Schema para definição da estrutura de armazenamento, uma API com métodos que permitem publicar serviços e métodos para acessar serviços, uma especificação para replicação de informações entre registros e uma especificação para operadores de registro definindo, dentre outras, questões como segurança. As informações que são submetidas a um registro UDDI são armazenadas na forma de um documento XML, o qual segue o XML Schema descrito pela especificação. De acordo com Chappell (2002), o XML Schema define os seguintes elementos básicos: businessentity: é o elemento que contém as informações que definem um determinado negócio. Dentre estas, estão informações de contato e nome do negócio. Este elemento contém também sub-elementos que armazenam informações referentes aos serviços oferecidos pelo negócio. businessservice: é o elemento que contém a definição de um determinado serviço, contendo informações como nome, descrição e mais informações, como ponto de acesso, por exemplo, armazenadas em seus sub-elementos. bindingtemplate: este elemento contém a informação do endereço real do serviço, a qual está armazenada no sub-elemento accesspoint.

24 24 tmodel: este elemento é um dos sub-elementos do elemento bindingtemplate, que representa uma especificação técnica dentro do contexto de um registro UDDI. A informação contida neste elemento poderia auxiliar companhias a determinar se um Web Service é compatível com seus requisitos de negócio. categorybag: este elemento contém informações de categorização para o serviço. Dentre as várias categorizações citadas estão a NAICS North American Industry Classification System Sistema de Classificação da Indústria Norte Americana e ISO 3166, que é um sistema de classificação geográfica padronizado pela International Organization for Standardization Organização de Padronização Internacional. publisherassertion: este elemento contém informação sobre relacionamento de elementos businessentity. As APIs para publicação e descoberta de serviços, definidas pela especificação UDDI, permitem que empresas possam publicar informações sobre seus negócios e serviços, e que clientes e parceiros possam localizar estas informações. A API de consulta referencia um URL de um determinado registro de negócios e não necessita de acesso autenticado para sua utilização. Ao contrário, a API de publicação utiliza o protocolo HTTPS e requer que o negócio utilize um nome de usuário e uma senha para as operações de inserção, alteração e remoção de informações. No pacote de APIs Java para desenvolvimento de Web Services JWSDP (Java Web Service Developer Pack), a API JAX-R permite a manipulação de registros XML, permitindo a realização de operações de gerenciamento e consulta. A API JAX-RPC permite a construção de Web Services e clientes que usam chamadas de procedimento remoto (RPC) e XML. A versão mais recente do JWSDP é a versão 2.0, a qual apresenta a API JAX-WS em substituição à API JAX-RPC. O JWSDP será apresentado em mais detalhes na seção

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

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

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

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

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

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

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. 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

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

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

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

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

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

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

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

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

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

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

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

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

LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML

LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML Palmas 2005.2 LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML Trabalho apresentado

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

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

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

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

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

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

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

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

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

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

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

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

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

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

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

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

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

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 Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

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

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

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

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

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

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

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Documento apresentado para discussão II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Rio de Janeiro, 21 a 25 de agosto de 2006 PID - Projeto de Interoperabilidade

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

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Gerenciamento baseado na Web Prof. João Henrique Kleinschmidt Gerenciamento baseado na Web Web browser Acesso ubíquo Interface Web vs Gerenciamento baseado

Leia mais

Computação Distribuída, Web Service - um estudo de caso

Computação Distribuída, Web Service - um estudo de caso CENTRO UNIVERSITÁRIO VILA VELHA CURSO DE CIÊNCIA DA COMPUTAÇÃO Diogo Francisco Sales da Silva Flávio Rodrigo Lovatti Computação Distribuída, Web Service - um estudo de caso VILA VELHA 2009 Diogo Francisco

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

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

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

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

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

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

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

A Figura... mostra a arquitetura técnica de serviços na Web

A Figura... mostra a arquitetura técnica de serviços na Web Este capítulo proporciona uma visão técnica simplificada de um sistema UDDI. A arquitetura técnica de UDDI consiste de três partes: O Modelo de Informação UDDI Um esquema XML para descrever negócios e

Leia mais

5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica

5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica 5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica! " " $ % &' (' $ ) * ' +,-$. / ) $0)( 5.1. Princípio de Organização 1* 2 " &)') $ $ *..*$ EveryWare: Uma Plataforma

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

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 SUMÁRIO LISTA DE FIGURAS LISTA DE TABELAS LISTA DE SIGLAS E ABREVIATURAS Pág. CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25 2.1 A tecnologia de orientação a objetos 25 2.1.1 Projeto de software

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

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

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

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

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

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

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

Desenvolvimento de Aplicações Web

Desenvolvimento de Aplicações Web Desenvolvimento de Aplicações Web André Tavares da Silva andre.silva@udesc.br Método de Avaliação Serão realizadas duas provas teóricas e dois trabalhos práticos. MF = 0,1*E + 0,2*P 1 + 0,2*T 1 + 0,2*P

Leia mais

3 Propostas de Travessias de Firewalls/NAT

3 Propostas de Travessias de Firewalls/NAT 3 Propostas de Travessias de Firewalls/NAT Este capítulo irá apresentar as propostas deste trabalho para que aplicações que utilizem CORBA como plataforma de comunicação possam atravessar firewalls/nat.

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Objetos Distribuídos. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Objetos Distribuídos Graça Bressan Graça Bressan/LARC 2000 1 Objetos São entidades de software que encapsulam dados, ou atributos, e código e que são acessados através de funções ou métodos.

Leia mais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Invocação de Métodos Remotos RMI (Remote Method Invocation) Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente

Leia mais

ANDERSON LIBERATO DA SILVA

ANDERSON LIBERATO DA SILVA FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO ANDERSON LIBERATO DA SILVA IMPLEMENTAÇÃO DE WEB SERVICE EM PLATAFORMA JAVA LADO

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA Uma ferramenta de apoio ao desenvolvimento de Web Services Andrés Ignácio Martinez Menéndez

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

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

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 5 Servidores de Aplicação

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível

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 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

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

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

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

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

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

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

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações Universidade de São Paulo Escola Politécnica Programa de Educação Continuada em Engenharia PROGRAMA DE MBA em Gestão e Engenharia do Produto O Produto Internet e suas Aplicações Tecnologias de Informação

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

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais