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

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

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

Transcrição

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

2 ii FRANCISCO DE ASSIS DOS SANTOS JUNIOR Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente Trabalho apresentado ao curso de Sistemas de Informação do Centro Universitário Luterano de Palmas como requisito Parcial da disciplina de Estágio, orientado pela professora Madianita Bogo. Palmas 2004

3 iii FRANCISCO DE ASSIS DOS SANTOS JUNIOR Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente Trabalho apresentado ao curso de Sistemas de Informação do Centro Universitário Luterano de Palmas como requisito Parcial da disciplina de Estágio, orientado pela professora Madianita Bogo. Aprovado em Dezembro de BANCA EXAMINADORA Profª. Msc. Madianita Bogo Centro Universitário Luterano de Palmas Profº. Msc. Eduardo Leal Centro Universitário Luterano de Palmas Profº. Jackson Gomes de Souza Centro Universitário Luterano de Palmas

4 iv SUMÁRIO LISTA DE FIGURAS... vi LISTA DE TABELAS... vii LISTA DE ABREVIATURAS... viii RESUMO... ix ABSTRACT...x 1. INTRODUÇÃO REVISÃO DE LITERATURA Aplicações Distribuídas RPC Web Services Vantagens na utilização de Web Services Desvantagens na utilização de Web Services XML XML em Web Services XML-RPC HTTP SOAP Vantagens e Desvantagens do SOAP WSDL Elemento <types> Elemento <message> Elemento <porttype> Elemento <binding> Elemento <Service> UDDI JWSDP A Java API for XML-based RPC (JAX-RPC) API s SAAJ e JAXR Considerações sobre Ferramentas Utilizadas Banco de Dados Comparativo entre o Microsoft Access 2000 e o SQL Server JavaServer Pages (JSP) MATERIAl E MÉTODOS Material Métodos RESULTADOS E DISCUSSÃO Aplicação Original Banco de dados...49

5 v Descrição do Banco de dados Cliente Implementado Informações Gerais CONCLUSÕES Considerações Finais Trabalhos Futuros REFERÊNCIAS BIBLIOGRÁFICAS...59 ANEXOS...61 ANEXO I: Código do arquivo inserirequipamento.jsp...62 ANEXO II: classe HelpImpl.java...63 ANEXO III: classe HelpIF.java...72 ANEXO IV: classe Connect.java...83

6 vi LISTA DE FIGURAS Figura 1: Modelo cliente-servidor retirado de (CARDOSO,2004) Figura 2: Funcionamento básico de uma RPC (TANENBAUM, 1992)...14 Figura 3: Aplicação de Web Services BASIURA(2003) Figura 4: Arquitetura genérica de um RPC (IST,2004)...23 Figura 5: Estrutura de um documento WSDL, baseada em (HENDRICKS, 2002)...29 Figura 6: Documento WSDL: elemento types Figura 7: Documento WSDL: elemento message...30 Figura 8: Documento WSDL: elemento porttype...31 Figura 9: Documento WSDL: elemento binding HENDRICKS (2002)...32 Figura 10: Documento WSDL: elemento service...32 Figura 12: Unificação das tabelas Solicitacao e ManutencaoEq...49 Figura 13: Banco de dados atual do HelpNet...51 Figura 14: Tela inicial para o programa Cliente...52 Figura 15: Tela de funcionalidades disponíveis ao usuário...53 Figura 16: Trecho do código do arquivo Connect.java...54 Figura 17: Trecho do código do arquivo inserirequipamento.jsp...54 Figura 18: Inserção de equipamentos...55

7 vii LISTA DE TABELAS Tabela 1: comparativo entre: Access 2000 e SQL Server 2000 (MSSQLCITY,2004).41 Tabela 2: capacidade de armazenamento (MSSQLCITY,2004)...42

8 viii LISTA DE ABREVIATURAS CORBA HTTP HTTP-GET HTTP-POST JWSDP RMI RPC SGBD SOAP UDDI URI URL WSDL WWW XML Common Object Request Broker Architecture Hyper Text Transfer Protocol Hyper Text Transfer Protocol GET Hyper Text Transfer Protocol POST Java Web Service Developer Pack Remote Method Invocation Remote Procedure Call Sistemas de Gerenciamento de Banco de Dados Simple Object Access Protocol Universal Description, Discover and Integration Uniform Resource Identifier Uniform Resource Locators Web Service Description Language World Wide Web Extensible Markup Language

9 ix RESUMO A utilização de Web Service é uma maneira simples e robusta de realizar a comunicação entre aplicativos através da Internet utilizando os padrões SOAP, XML, UDDI, WSDL e HTTP. Este trabalho realiza estudo do pacote JWSDP, para o entendimento da aplicação HelpNet desenvolvida em Java que disponibiliza serviços Web. Após a análise do aplicativo, foram feitas algumas melhorias no banco de dados migrando do banco de dados Microsoft Access para o banco de dados SQL Server 2000 e feitas algumas alterações no programa servidor para a adequação do novo banco de dados. O trabalho também apresenta um cliente desenvolvido em JSP que consome os serviços disponibilizados pelo novo HelpNet.

10 x ABSTRACT The use of Web Service is applicatory a simple and robust way to carry through the communication between through the Internet using standards SOAP, XML, UDDI, WSDL and HTTP. This work carries through study of package JWSDP, for the agreement of the HelpNet application developed in Java that disponibiliza Web. After the analysis of the applicatory one, had been made some improvements in the data base migration of the data base Microsoft Access for the data base SQL Server 2000 and made some alterations in the serving program for the adequacy of the new data base. The work also presents a customer developed in JSP that consumes the services disponibilizados for the new HelpNet.

11 11 1. INTRODUÇÃO Web Services é uma tecnologia para implementação de aplicações distribuídas que permitem a interoperabilidade entre ambientes heterogêneos através da integração de diversas aplicações (KURNIAWAN,2002). A interoperabilidade obtida com a construção de Web Services é fruto da utilização de padrões existentes, tais como: SOAP, XML, UDDI, WSDL e HTTP, que serão apresentados no decorrer do trabalho. Assim, os Web Services são considerados por alguns autores (BASIURA, KURNIAWAN) como um modelo de aplicação distribuída fracamente acoplado que utiliza mecanismos de transporte conhecidos, tais como: HTTP, FTP e outros para a comunicação entre aplicações através de mensagens codificadas em XML. Dentro deste contexto, existem várias ferramentas de desenvolvimento de Web Services. Este trabalho optou por utilizar o JWSDP (Java Web Service Developer Pack) por ser um pacote específico para o desenvolvimento de Web Services em Java que está disponível gratuitamente podendo ser obtido gratuitamente através da Internet. Este pacote permite a construção, realização de testes e distribuição de Web Services. O objetivo do estágio é fazer um estudo sobre Web Services e o JWSDP para realizar melhorias no aplicativo HelpNet. Dentro deste contexto, existe um Web Service que foi implementado utilizando a linguagem de programação Java juntamente com um banco de dados criado através da ferramenta Microsoft Access Devido esta aplicação não estar disponível através da Web, optou-se por realizar melhorias de forma que atendesse as necessidades encontradas,

12 12 tais como: acesso através da Internet, controle de concorrência, funções definidas para o usuário, views, relatórios de logs, tamanho da base de dados e outros. Este documento apresenta o resultado da pesquisa bibliográfica e informações sobre as alterações realizadas no aplicativo HelpNet e a implementação do cliente, sendo organizado da seguinte maneira: a seção REVISÃO DE LITERATURA apresenta informações sobre as tecnologias importantes para a compreensão dos Web Services: XML, SOAP, WSDL, UDDI e JWSDP. Além dos tópicos específicos de Web Services há uma seção que trata os bancos de dados utilizados e outra seção sobre JSP, que foi a linguagem de programação usada; MATERIAL E MÉTODOS descreve quais softwares utilizados, dentre eles o pacote JWSDP, e metodologias usadas na realização do trabalho; RESULTADOS E DISCUSSÃO mostra o aplicativo HelpNet atual, as alterações feitas no programa servidor seguido do resultado da migração do banco de dados e o desenvolvimento do cliente em JSP com algumas informações gerais. Já CONSIDERAÇÕES FINAIS apresentam considerações sobre o trabalho realizado, sugestão de melhorias na aplicação e sugestão de trabalhos futuros relacionados à Web Services. As REFERÊNCIAS BIBLIOGRÁFICAS contêm descrições de livros, artigos e páginas na Internet referentes aos temas: Web Services, JWSDP, Microsoft SQL Server e JSP.

13 13 2. REVISÃO DE LITERATURA 2.1. Aplicações Distribuídas Aplicações distribuídas são programas que podem ser executados em microcomputadores distintos e são capazes de trocar informações a partir de uma rede de comunicação como, por exemplo, a Internet.(CARDOSO,2004). Estes programas são desenvolvidos a partir de uma arquitetura chamada de Cliente-Servidor, sendo que o cliente poderá ser um usuário de sistema ou um processo e o servidor é o conjunto do hardware e o software que oferecem o serviço para o cliente. A Figura 1 demonstra o modelo da aplicação distribuída conforme a arquitetura cliente-servidor. Micro-Cliente Software Cliente Micro-Servidor Software Servidor Figura 1: Modelo cliente-servidor retirado de (CARDOSO,2004). Na Figura 1 o Micro-Cliente é o Cliente da aplicação que está fazendo uma requisição de serviços ao Servidor denomidado de Micro-Servidor. O Servidor recebe a requisição feita pelo Cliente e logo em seguida envia uma requilição de resposta para o Cliente. Uma forma de comunicação entre as aplicações distribuidas é a utilização de mecanismos RPC (Remote Procedure Call), que será visto na próxima seção.

14 RPC Chamadas a procedimentos remotos (RPCs) são mecanismos permitem que as funções (procedimentos) sejam chamados remotamente, de forma transparente para o usuário/desenvolvedor, seguindo o modelo cliente-servidor (TANENBAUM, 1992). Dentro deste conceito, os stubs são mecanismos que realizam chamadas a um servidor, tratando e convertendo dados de forma que possam ser representados externamente. Ele é o programa responsável pelo envio da mensagem ao servidor, solicitando um serviço. Já os skeletons (ties) são responsáveis por receber a mensagem de requisição de um stub (cliente), transformá-la em uma chamada de requisição local dentro do servidor para que a mensagem seja tratada localmente e devolvida para a aplicação que originou a requisição. Dessa forma, a comunicação através de uma RPC começa quando as aplicações cliente e servidor trocam informações através dos stub cliente e skeleton no servidor, conforme mostra a Figura 2. Cliente Servidor 1 6 Stub Cliente Skeleton Servidor 9 Transp. Transp. Kernel Kernel 8 Figura 2: Funcionamento básico de uma RPC (TANENBAUM, 1992). 3 4 Conforme mostrada na Figura 2, uma chamada remota a procedimento é realizada através dos seguintes passos (TANENBAUM, 1992): 1. o procedimento do cliente chama o stub do cliente de maneira usual; 2. o stub do cliente constrói uma mensagem (empacota os parâmetros) e envia uma interrupção ao kernel; 3. o kernel do cliente envia uma mensagem ao kernel remoto (do servidor);

15 15 4. o kernel remoto entrega a mensagem ao stub do servidor; 5. o stub do servidor desempacota os parâmetros constantes da mensagem e chama o método da aplicação servidor ; 6. o servidor realiza o seu trabalho e retorna o resultado para um buffer dentro do seu stub; 7. o stub do servidor empacota tais resultados em uma mensagem e emite envia uma interrupção ao kernel; 8. o kernel remoto envia a mensagem para o kernel do cliente; 9. o kernel do cliente entrega a mensagem ao stub do cliente; 10. o stub do cliente desempacota os resultados e os fornece a aplicação cliente, como retorno do método chamado. A transferência de dados entre os programas cliente e servidor, geralmente é feito ponto-aponto utilizando os protocolos UDP ou TCP. A comunicação é feita de forma transparente o é código gerado automaticamente pelo compilador do mecanismo utilizado, que compatibiliza o formato de dados nas diversas plataformas existentes, linguagens e compiladores Web Services Devido à popularização da Internet e ao crescente avanço tecnológico, a troca de informações entre aplicações disponíveis na Web está se tornando uma necessidade, principalmente no ramo de negócios. Assim, cada vez mais surgem ferramentas de desenvolvimento, permitindo que serviços ou aplicativos se comuniquem utilizando a Web como transporte. Com esse crescimento surge a necessidade de se oferecer aplicações especiais, como gerenciamento de transações B2B 1 (Business-to-Business), informações de vôo em tempo real, sistema de armazenamento de documento XML, catálogos de endereços 1 B2B Significa empresas que realizam negócios com outras empresas eletronicamente através da Internet.

16 16 compartilhados, rastreamento de encomendas usando a disponibilização de serviços distribuídos (DAUM, 2002). Uma das maneiras de implementar e disponibilizar esses serviços é através de Web Service, que são construídos a partir da utilização de ferramentas de desenvolvimento, tais como.net e Java. Estas tecnologias permitem a construção de aplicações a partir da utilização de padrões especificados pelo W3C (XML, SOAP, UDDI, WSDL e HTTP), que permitem a integração entre aplicações, mesmo havendo heterogeneidade, como diferentes tipos de hardware, sistemas operacionais, arquitetura de rede, linguagens de programação, protocolos de comunicação, e diferentes formas de representação de dados (MONTEZ, 2003). Assim, BASIURA (2003), afirma que o conceito de Web Services pode ser dividido em partes: lógica de aplicação um Web Service apresenta alguma lógica de aplicação ou código, podendo fazer cálculos, consultas à banco de dados ou qualquer outra atividade que um programa de computador pode fazer. acessível a programas - enquanto a maioria dos sites Web de hoje são acessados por humanos, usando um navegador Web, os Web Services serão acessados por programas de computadores, ou seja, um Web Service será acessado sem haver intervenção humana para acessar o serviço; protocolo-padrão da Web - o conceito de Web Services se baseia em um conjunto de protocolos e linguagens padrão da Web, tais como: HTTP, XML, SOAP, WSDL e UDDI; independente de plataforma - os Web Services podem ser implementados em diferentes plataformas. Desta forma, um Web Service pode ser acessado por qualquer programa, aplicação ou serviço desenvolvido em qualquer plataforma, conforme pode ser verificado na Figura 3.

17 17 Navegador Web HTML Aplicação Windows Aplicação Web SOAP SOAP Web Service HelpNet Ulbra-to SOAP Web Service HelpNet Canoas SOAP Web Service HelpNet Ji-Paraná SOAP Web Service HelpNet Itumbiara Figura 3: Aplicação de Web Services BASIURA(2003). A Figura 3 apresenta a interação entre Web Services. A partir dela, pode-se verificar que um programa pode ser uma aplicação Web, uma aplicação para Windows, ou qualquer tipo de aplicação. A aplicação pode usar Web Services internos à organização ou externos, via Web Services fornecidos por parceiros. As mensagens trocadas entre Web Services, internos e externos, são codificadas através do SOAP. Como em toda tecnologia, os Web Services possuem vantagens e desvantagens em sua utilização. A próxima seção irá apresentar estas particularidades Vantagens na utilização de Web Services Esta seção irá mostrar as vantagens na utilização de Web Services para a construção de aplicações distribuídas. Existem várias vantagens na construção de aplicações distribuídas utilizando Web Services, quando é feita uma breve comparação em relação aos demais mecanismos de comunicação, tais como: fornecem uma base para o baixo grau de acoplamento necessário em sistemas de distribuição de serviços, pois o atraso para troca de mensagens entre máquinas é alto.

18 18 reutilização de código, permitindo baixo custo no desenvolvimento de B2B, por utilizar funcionalidades que já foram implementadas em outras aplicações; a diversidade de componentes utilizados na implementação de aplicações não afeta a interoperabilidade, sistema operacional, linguagem de programação ou arquitetura de hardware e software; a diversidade de linguagens de programação não afeta a interoperabilidade, pois os padrões utilizados (HTTP, WSDL, UDDI e XML) são os mesmos em todas as linguagens; no futuro próximo tende a ser uma padronização dos mecanismos de interoperação, utilizar padrões de larga aceitação, como XML; Como pode se perceber, a utilização de Web Services para construir aplicações distribuídas é bastante interessante, uma vez que esta tecnologia independe de linguagem de programação, sistema operacional, arquitetura de hardware ou software o que certamente proporciona mais facilidade para o desenvolvedor de aplicações baseadas em Web Services. A partir da publicação de um Web Service outras aplicações podem realizar um vínculo e utilizá-lo para implementação de serviços que atendam às necessidades da empresa, tais como: checagem de cartão de crédito e CPF, acompanhamento em tempo real de encomendas, acompanhamento on-line de vôo. No entanto, quando são desenvolvidas aplicações utilizando Web Services, existem algumas desvantagens que devem ser consideradas quando comparadas aos mecanismos de RMI, CORBA,.Net e outros. Assim, a próxima seção apresenta estas desvantagens Desvantagens na utilização de Web Services Ao implementar Web Services algumas desvantagens podem ser percebidas. Esta seção apresenta informações referentes às desvantagens na escolha deste mecanismo de

19 19 comunicação quando comparadas a demais tecnologias existentes (RMI, CORBA,.NET Remoting). Transmissão de dados: o uso do XML pode adicionar dados desnecessários, como espaços em branco e caracteres usados para marcação; ainda, por não utilizar um protocolo orientado a conexão, a cada solicitação enviada pelo cliente é necessário estabelecer uma conexão, enviar a mensagem e desconectar; isso pode, por exemplo, causar sobrecarga do servidor (XML, 2003); Descoberta do Web Service: o servidor precisa informar ao cliente o endereço do serviço (URL da WSDL) (WSDL, 2003), ou seja um Web Service ao ser criado deve ser registrado em um UDDI para que outros Web Services possam utilizá-lo; Disponibilidade: como a resposta é enviada sobre o protocolo HTTP, podem acontecer os mesmos problemas que ocorrem com os web sites; o HTTP não garante a resposta/entrega de uma mensagem, por não ser orientado a conexão (KURNIAWAN, 2002); Formato dos dados: o cliente precisa interpretar XML (serialização e desserialização), XML Schema e SOAP (além da WSDL) (JWSDP, 2004), pois todas as mensagens trocadas entre o cliente e o serviço são formatadas utilizando o XML Schema; Falta de padronização: como Web Services não é um padrão de implementação, e sim uma arquitetura, várias empresas podem criar as suas próprias extensões ou implementações específicas (JWSDP, 2004). Após a criação do Web Service suas extensões devem ser compatíveis com a versão inicial para que os clientes possam continuar utilizando o Web Service sem problemas de compatibilidade de versão ou atualização; Diferenças na interface pública: a mudança constante da interface pública pode fazer com que os clientes não consigam usar o serviço (JWSDP, 2004). A partir da publicação do Web Service em um registro UDDI, os clientes são implementados utilizando a URL do serviço publicado. Quando a interface pública é alterada, o código do cliente precisa ser reestruturado.

20 20 Portanto, ainda existe muito a ser pesquisado sobre a tecnologia de Web Services. Constantemente surgem padrões que ainda não estão totalmente formalizados. Porém, os Web Services são um modelo de arquitetura de implementação de aplicações distribuídas viável, uma vez que utiliza padrões estudados, publicados e com larga aceitação pelos desenvolvedores. Assim esta tecnologia proporciona o desenvolvimento de aplicações distribuídas utilizando cinco padrões, que podem ser descritos da seguinte forma: XML descreve e estrutura informações; HTTP, protocolo para transporte de mensagens; SOAP, protocolo para vínculo dos serviços; UDDI, protocolo para publicação ou localização de serviço Web; e WSDL, que utiliza XML para descrever serviços Web. Esses padrões são essenciais na construção de Web Services e serão apresentados com mais detalhes nas seções seguintes XML XML (Extensible Markup Language) é um padrão, criado pela W3C para representar dados, que possibilita descrever, armazenar, intercambiar e manipular dados estruturados (XML, 2003). Este padrão é considerado como uma linguagem de marcação de dados que facilita as declarações precisas de conteúdo e resultados, possibilitando o surgimento de novas gerações de aplicações de manipulação e visualização de dados via Web. Um documento XML possui dados descritos em um Unicode 2, que é utilizado para a implementação de Web Service por disponibilizar um meio para a troca de informações referentes a interfaces, tipos de parâmetros e resultados. Isso permite a codificação de toda comunicação entre um cliente e um servidor (ADI, 2004). Para Todd (2003), o XML oferece um formato de dados que representa as seguintes características: sintaxe não complexa: semelhante ao HTML; 2 Unicode É um padrão para representação de caracteres que utiliza 16 bits podendo representar até caracteres únicos.

21 21 legível pelas pessoas: facilmente compreensível por programadores; flexível: o mesmo arquivo poderá ser utilizado por outros aplicativos; portável: aceito por outras linguagens de programação tais como: Java, JSP, ASP e.net; extensível: pode ser trabalhada em conjunto com outros padrões; genérica: não se prende a uma linguagem ou plataforma; gratuita: existência de software para manipulação simples e free. Portanto, a partir dos conceitos apresentados, percebe-se que o XML consegue oferecer uma forma específica de modelar dados estruturados em um formato texto. Estes dados são compatíveis com um formato particular, como faturas, documentos de texto, catálogos de endereços e parâmetros de configuração. Dessa maneira, a próxima seção, apresenta a correlação entre XML e Web Services XML em Web Services Na implementação de Web Services, o padrão XML é utilizado para a representação de dados nas mensagens SOAP e no arquivo WSDL, que é gerado no momento de compilação do servidor (JWSDP, 2004). XML é utilizada na construção de Web Services para a codificação das mensagens a serem trocadas entre o cliente e o servidor. Utilizando a ferramenta JWSP para construção dos Web Services, esta linguagem será utilizada em 4 arquivos (config-interface.xml, web.xml, config.xml e jaxrpc-ri.xml) que são necessários para o processo de compilação dos programas cliente e servidor e no arquivo gerado no momento de compilação do programa servidor, conhecido por WSDL.

22 22 A vantagem da utilização do protocolo XML para construção de Web Services deve-se ao fato da mesma permitir a utilização de marcações a partir de XSL 3 para a formatação dos elementos, possibilitando assim a visualização em qualquer browser na Internet. A maioria dos padrões para construção de Web Services são baseados em XML como, por exemplo, a codificação de dados feita pelo SOAP, a descrição do Web Service pela WSDL e a estrutura do registro feito pelo UDDI. Assim, para que possa existir a comunicação a partir das especificações XML há um padrão denominado XML-RPC, que é apresentado na próxima seção XML-RPC As RPCs (chamadas a procedimentos remotos) são um conjunto de regras utilizadas na construção de aplicações distribuídas, em que as funções (procedimentos) podem ser chamadas remotamente, de forma transparente para o usuário a partir do modelo clienteservidor (TANENBAUM, 1992). O modelo RPC é baseado na necessidade de se executar um componente de uma aplicação em qualquer local da rede. RPCs utilizam uma construção tradicional de programação, a chamada a procedimentos, a qual é estendida de um único sistema para uma rede de sistemas (RPC,1998). Desta maneira, a Figura 4 apresenta a arquitetura genérica de uma RPC. 3 XSL - EXtensible Stylesheet Language é um para formatação de dados que permite manipular dados XML através de folhas de estilo. Utilizando o XSL é possível definir diferentes tipos de apresentação para um documento XML sem ser obrigatoriamente o HTML.

23 23 Figura 4: Arquitetura genérica de um RPC (IST,2004). Conforme mostra a Figura 4, a comunicação entre as aplicações é iniciada quando existe a troca de informações entre o cliente e o servidor. As RPCs, através dos stubs e skeletons (ties), permitem a comunicação entre o cliente e o servidor através de um protocolo de transporte, que pode ser: HTTP, SMS, FTP, entre outros. Conclui-se, então, que o mecanismo de RPC é baseado na comunicação entre stubs e skeletons, sendo que o stub envia uma solicitação através de uma mensagem para o servidor que, através do (tie), retorna uma resposta através de um processo de comunicação transparente para os desenvolvedores. Para BASIURA (2003), o XML-RPC suporta apenas alguns tipos de dados, tais como: 4-byte signed integer (inteiro com sinal, de 4 bytes, representado pela tag <i4> ou tag <int>; valores booleanos (representado pela tag <boolean>); strings (representadas pela tag <string>); números em ponto flutuante com sinal, de dupla precisão (<double>); datas-padrão internacional ISO 8601, como, por exemplo, T12:12:21 (<datatime.iso8601>); base-64 encoded binary data (representados pela tag <base64>).

24 24 Dentro deste contexto, o Xml-RPC é um protocolo que utiliza o HTTP como protocolo de transporte e XML como formato de codificação. O objetivo deste protocolo é permitir chamadas de método remoto e respostas entre dois pontos. Este protocolo é importante para implementação de Web Services, pois independe de ferramenta de desenvolvimento de aplicações distribuídas ou plataformas utilizadas. Para que os Web Services possam trocar mensagens, é necessário ter um protocolo que se responsabiliza pelo transporte de dados. A próxima seção mostra o protocolo HTTP como protocolo padrão para o transporte de mensagens dentro da arquitetura de Web Services HTTP HTTP (Hyper Text Transfer Protocol) é o protocolo que permite aos servidores Web e browsers trocar dados pela Web. Este protocolo utiliza conexões TCP confiáveis por padrão, na porta TCP 80 (KURNIAWAN, 2002). Dentro deste conceito, um cliente HTTP realiza uma conexão TCP com um servidor e envia uma solicitação HTTP, podendo ser GET ou POST: Método GET - este método é utilizado para recuperar dados dos servidores a partir de parâmetros passados na URL (Universal Resource Location), que é um endereço único para identificação de um computador na Internet (BASIURA, 2003). Método POST - Este método é utilizado para transmitir informações para o servidor Web (BASIURA, 2003). Neste contexto, o HTTP é um protocolo bastante utilizado na Internet e utiliza a porta 80 como porta de serviços. Devidor a grande parte das páginas disponibilizadas na web usar este protocolo para acesso a páginas Web, este serviço está disponível na maioria dos servidores. As mensagens textuais utilizadas pelo Web Service transportadas pelo HTTP são codificadas através do SOAP. Assim este padrão será apresentado na próxima seção.

25 SOAP O SOAP (Simple Object Access Protocol) surgiu em 1998 através de um grupo de empresas como a Microsoft, a DevelopMentor e a User Land Software. A intenção original do protocolo consistia, simplesmente, em definir um mecanismo para a transmissão de documentos XML que contivessem comandos capazes de disparar operações ou respostas em sistemas remotos, ou RPC (Web Services, 2002). Atualmente, o SOAP é um padrão adotado pela W3C, um órgão de padronização da Web. O SOAP é um protocolo que proporciona a codificação de dados complexos, mensagens, chamada remota de método e comunicação de erro em um formato legível por qualquer analisador XML (BASIURA, 2003). O objetivo deste protocolo é permitir um método padronizado de troca de informações textuais entre clientes e aplicações executando na Internet. Para isto este padrão codifica dados em um formato XML, o que possibilita a qualquer sistema realizar a comunicação com outra aplicação. Uma mensagem que utiliza o SOAP é composta por: envelope, cabeçalho, corpo e fault. envelope: elemento principal ou raiz no documento XML que representa uma mensagem SOAP; cabeçalho (Header): elemento opcional que permite apresentar informações mais detalhadas sobre a carga que está sendo transportada pelo corpo da mensagem; corpo (body): elemento que guarda a essência das chamadas de métodos remotos. É o local em que as informações sobre as chamadas de método e seus argumentos relacionados são codificadas, a resposta a uma chamada de método é colocada e as informações de erro são armazenadas; fault: elemento responsável por armazenar as falhas na troca de mensagens.

26 26 Uma mensagem codificada em SOAP é um documento XML que é transportado através da Internet, utilizando protocolos para transporte de mensagens tais como: FTP, JMS, HTTP e outros. No entanto, ainda que possa utilizar diversos protocolos, normalmente é utilizado o HTTP como padrão para comunicação, devido à praticidade com que os pacotes HTTP trafegam dados na web atravessando firewalls e proxys. Neste contexto, existem várias vantagens e desvantagens na construção de Web Services utilizando o protocolo SOAP como padrão para transmissão de mensagens conforme apresenta a próxima seção Vantagens e Desvantagens do SOAP O SOAP é um protocolo utilizado pelos Web Services para a transmissão de mensagens entre as aplicações. Este padrão possui as seguintes vantagens: atravessar firewalls com facilidade, pois utiliza o protocolo HTTP que trabalha na porta 80 que está geralmente liberada devido ser a porta para acesso à páginas na Internet; os dados do SOAP são estruturados usando XML que é considerada por alguns autores como um padrão para representação de dados. Isto é interessante, pois possibilitará a interoperabilidade entre as aplicações; o SOAP pode ser usado, potencialmente, em combinação com vários protocolos de transporte, tais como: HTTP, SMTP e JMS; o SOAP mapeia satisfatoriamente para o padrão de solicitação/resposta HTTP e HTTP Extension Framework; o SOAP é considerado por HENDRICKS (2002) como um protocolo razoavelmente superficial pois contém menos recursos do que outros protocolos de comunicação distribuídos, o que o torna menos complexo; existe suporte para o SOAP, por parte de vários fornecedores, incluindo a Microsoft, a IBM e a SUN.

27 27 Para a construção de aplicações distribuídas utilizando o protocolo SOAP, Hendricks (2002) define algumas desvantagens que devem ser observadas, tais como: falta de interoperabilidade entre toolkits do SOAP, embora o SOAP tenha um amplo suporte, ainda existem problemas de incompatibilidades entre diferentes implementações do SOAP; mecanismos de segurança são imaturos: o SOAP não define um mecanismo para a autenticação de uma mensagem antes que esta seja processada. Também não define um mecanismo para a criptografia do conteúdo de uma mensagem SOAP, o que evitaria que outras aplicações tivessem acesso indesejato, indevido ao conteúdo da mensagem; não existe garantia quanto à entrega da mensagem: quando uma mensagem estiver sendo transferida, se o sistema falhar, uma aplicação que utilize SOAP não saberá como reenviar a mensagem. não existem publicações nem assinaturas: um cliente SOAP não pode enviar uma solicitação a vários servidores, sem enviar a solicitação a todos os servidores. Diante das colocações realizadas, podem ser verificadas várias vantagens e desvantagens na construção de Web Services, portanto cabe ao desenvolvedor aproveitá-las de forma positiva no desenvolvimento de serviços web. Logo, as aplicações cliente podem interagir com os Web Services somente se conhecerem os métodos disponíveis e os tipos de dados utilizados através do acesso a descrição do serviço publicado (WSDL, 2003). Assim, a próxima seção trata sobre a linguagem utilizada para a descrição de Web Services que é conhecida por WSDL (Web Service Description Language - Linguagem de Descrição do Web Services).

28 WSDL A WSDL é uma linguagem, baseada em XML, que tem a finalidade de descrever Web Services (BASIURA, 2003). Foi criada a partir de um trabalho conjunto das empresas IBM, Microsoft e Ariba para representar as funcionalidades de um Web Service, através da definição de como será o serviço, do local em que será encontrado e de como chamá-lo (HENDRICKS, 2002). A WSDL funciona em conjunto com o SOAP e a UDDI para habilitar os Web Services a interagir com outros Web Services, aplicações e dispositivos através da Internet (BASIURA, 2003). O UDDI permite publicar e localizar um Web Service, enquanto o SOAP proporciona informações de transporte e a WSDL descreve o mesmo. Assim, um documento WSDL representa a interface externa de um serviço Web que, além de descrever a interface apresentada, também contém a localização do serviço (HENDRICKS, 2002). O serviço descrito pela WSDL está registrado em um local conhecido pelo desenvolvedor, permitindo que o cliente possa acessá-lo de forma confiável, o que de certa forma acarreta na independência de local. Logo, o serviço poderá ser movido para outro local de acordo com as necessidades comerciais e de distribuição. Portanto, a WSDL é um documento no formato XML, em que são descritas as funções de um Web Service conforme mostra a Figura 5.

29 29 <definitions> <types> [XML Schema uma descrição dos tipos de dados utilizados] </types> <message> [Descrição da mensagem] </message> <porttype> <operation> [Referência de entrada e saída] <operation> </porttype> <binding> [Descrição da mensagem] </binding> <Service> <port> [Referência atual da localização do serviço] </port> </Service> </definitions> Figura 5: Estrutura de um documento WSDL, baseada em (HENDRICKS, 2002). A Figura 5 mostra um documento WSDL que consiste em cinco estruturas básicas: types, message, porttype, binding e Service. Estes elementos são apresentados nas próximas seções Elemento <types> O elemento types possui as definições de quaisquer tipos de dados que serão passados entre o cliente e o servidor (Web Service) (TODD, 2003). A Figura 6 apresenta um exemplo de representação deste elemento.

30 30 <types> <schema xmlns = targetnamespace = bookns > <complextype name = Book > <sequence> <element name = id type = xsd:int /> <element name = autor nillable = true type = xsd:string /> <element name = titulo nillable = true type = xsd:string /> <element name = preco type = xsd:double /> </sequence> </complextype> <element name= Book nillable = true type = tns1:book > </schema> </ types> Figura 6: Documento WSDL: elemento types. A Figura 6 apresenta como o elemento types é apresentado dentro de um documento WSDL. Dentro desta figura pode ser verificado o elemento types que possui a definição do elemento element: id, autor, título e preço e o tipo de dados: string, int, double e o atributo type. A próxima seção apresenta um outro elemento existente em um documento WSDL, denominado message. Este elemento é responsável pela declaração dos tipos de dados Elemento <message> O elemento <message> define formatos abstratos para os dados que são enviados ou recebidos pelos Web Services (WSDL, 2001). A Figura 7 mostra um exemplo deste elemento. <wsdl:message name = getbookbyidresponse > <wsdl:part name = return type = tns1:book /> </wsdl:message> <wsdl:message name = getbookbyidrequest /> <wsdl:part name = in0 type = xsd:int /> </wsdl:message> Figura 7: Documento WSDL: elemento message.

31 31 Como pode ser verificado na Figura 7 é apresentado o elemento message (message name), há duas mensagens definidas para o Web Service bookservice, uma é para a solicitação (getbookbyidrequest) e outra para a resposta (getbookbyidresponse). O parâmetro de solicitação é um int e a resposta é um Book Elemento <porttype> O elemento <porttype> define os vários métodos que estão disponíveis para aplicações clientes. Este elemento é uma coleção de operações (BASIURA, 2003). Assim, a Figura 8 mostra a representação deste elemento. <wsdl:porttype name = BookRetriever > <wsdl:operation name = getbookbyid parameterorder = in0 > <wsdl:input message = intf:getbookbyidrequest /> <wsdl:output message = intf:getbookbyidresponse /> </wsdl:operation> </wsdl:porttype> Figura 8: Documento WSDL: elemento porttype. A Figura 8 mostra o elemento porttype. Nesta figura é possível observar uma coleção composta por 2 operações. A operação de entrada (intf:getbookbyidrequest) e a operação de saída (intf:getbookbyidresponse) da operação denominada (getbookbyid) Elemento <binding> O elemento binding descreve o mecanismo usado por um serviço, para se comunicar com um cliente (HENDRICKS, 2002). Este elemento possui várias características tais como: binding name (nome do serviço), binding name type (utilizado para ligar o elemento binding ao elemento porttype), soap:binding (extensão da estrutura principal da WSDL) e operation name (há uma operação para cada um dos métodos e nome de métodos utilizados para nomear as operações) conforme mostra a Figura 9.

32 32 <binding name= AddressBookBinding type = AddressBook > <soap:binding style= rpc transport = <operation name = getaddress > <soap: operation soapaction = urn:addressbook /> <input> <soap:body encodingstyle= namespace= urn:addressbook use= encoded /> </input> <output> <soap:body encodingstyle= namespace= urn:addressbook use= encoded /> </output> <fault> <soap:fault encodingstyle = namespace= urn:addressbook use= encoded /> </fault> </operation> </binding> Figura 9: Documento WSDL: elemento binding HENDRICKS (2002). A Figura 9, apresentada por HENDRICKS (2002) mostra o elemento binding composto pelas características tais como: binding name (AddressBookBinding) contendo o nome do Web Service e operation name (getaddress) com as operações de entrada e saída Elemento <Service> O elemento service é o último elemento no arquivo WSDL. Ele define a URL real do Web Service, sendo acessado, ou seja, este elemento contém uma coleção de portas e pontos finais de um serviço publicado (BASIURA, 2003). Uma porta fornece informações de endereço ou um URI, conforme mostra a Figura 10. <wsdl:service name = BookRetrieverService > <wsdl:port name= bookservice binding= intf:bookservicesoapbinding > <wsdlsoap:addess location = </wsdl:port> </wsdl:service> Figura 10: Documento WSDL: elemento service.

33 33 A Figura 10 mostra o elemento service com os parâmetros service name e port name. Nesta figura é possível observar o serviço: BookRetrieverService cuja nome da porta é bookservice e está localizado no endereço: Assim, um documento WSDL fornece todas informações necessárias para o acesso e utilização de Web Services, sendo que estas são descritas em um documento XML. Dentro deste documento XML está contido um conjunto de definições de descrevem o Web Service, tais como as operações de entrada e saída, os parâmetros utilizados, o endereço de localização do serviço. Para localizar e publicar Web Services atualmente o padrão utilizado é o UDDI (Universal Description, Discovery, and Integration), que é um registro central o qual os desenvolvedores disponibilizam a URL e a WSDL de um determinado serviço. Este padrão será abordado na próxima seção UDDI O UDDI é um registro central de Web Services que, atualmente, é disponibilizado por duas empresas Microsoft e IBM, que define o modelo das informações relacionadas às descrições de negócio e do serviço (UDDI, 2002). Este registro contém algumas especificações que descrevem como um registro armazena dados, e como ele pode ser acessado. Este registro é composto por um conjunto de registros baseados na Internet, que disponibilizam informações sobre negócios, entidades, para aplicações que desejar obter informações sobre os serviços Web publicados. Assim, o UDDI é um banco de dados independente de plataforma que contém informações sobre a localização e categoria das empresas e Web Services (BASIURA, 2003). Essa característica permite localizar parceiros comerciais ou fornecedores e também localizar e utilizar Web Services.

34 34 Para HENDRICKS (2002), no UDDI existem quatro especificações que são as seguintes: estrutura de dados define o tipo de dados que será armazenado no UDDI. Esta estrutura será baseada em XML podendo ser descrita por meio de XML Schema, o que garante a neutralidade em relação a plataforma e a linguagem de programação; API do programador informa como será o acesso a um registro UDDI. As apis dentro do UDDI podem ser de dois tipos: funções de publicação e funções de pesquisa. As primeiras são utilizadas para criar e atualizar entradas existentes nos registros, e as últimas são de leitura que permitem que as entradas existentes sejam consultadas de maneira programática; especificação de replicação contém as descrições sobre a maneira como os registros trocam informações entre si; especificação do operador define as políticas de segurança e de gerenciamento de dados para a implementação e execução de aplicação em um registro UDDI. Dentro da especificação estrutura de dados no registro UDDI, os dados são estruturados de maneira semelhante a um catálogo telefônico, ou seja, eles são divididos em white pages (páginas brancas), yellow pages (páginas amarelas) e green pages (páginas verdes). páginas brancas contêm nomes, endereços, números de telefone e outras informações sobre os negócios; páginas amarelas contêm listagens comerciais baseadas nos tipos de negócios armazenados nas páginas brancas; páginas verdes indicam os serviços oferecidos por cada negócio, incluindo todas as informações técnicas envolvidas na interação com o serviço, ou com a sua utilização, como parâmetros, valores da extremidade etc. Portanto, o UDDI é um registro central de serviços Web que está disponível publicamente para os consumidores de serviços envolvendo a Internet. Além de publicar a descrição de seu serviço Web, também poderá ser utilizado para publicar informações relacionadas ao negócio, como o nome dos seus negócios, os diferentes serviços Web por eles oferecidos e

35 35 outras aplicações. Sendo assim, o UDDI possivelmente facilita a busca de um determinado Web Service, uma vez que o serviço estará disponível em um único local. Sendo assim, para a construção deste Web Service existem várias ferramentas de desenvolvimento, uma delas é o JWSDP, que é o foco desse trabalho e será apresentado na próxima seção JWSDP O JWSDP (Java Web Service Developer Pack Pacote de Desenvolvimento de Web Service em Java) é um pacote desenvolvido pela SUN Microsystems constituído por um conjunto de aplicações que permitem construir, testar e distribuir aplicativos XML, Web Services e aplicações Web (JWSDP, 2004). O pacote é constituído pelas APIs, JAXR, JAX-RPC e SAAJ que são APIs relacionadas ao desenvolvimento de Web Services. Esse pacote reúne as tecnologias necessárias para desenvolvimento e distribuição de Web Services em todo o ciclo de desenvolvimento, está disponibilizado gratuitamente na Internet e por ser uma tecnologia relativamente nova deve ser estuda mais profundamente na construção de Web Service complexos. As próximas seções descrevam as APIs oferecidas pelo JWSDP para a construção de Web Services que são relevantes para a compreensão do trabalho. A API JAX-RPC, que foi utilizada na implementação da comunicação remota e as API s SAAJ e JAXR, que também oferecem serviços para a comunicação remota de Web Services A Java API for XML-based RPC (JAX-RPC) Segundo HENDRICKS (2002), esta API possui duas estruturas modulares que permitem aceitar futuros protocolos da XML, que são as seguintes: uma API para chamar serviços; e requisitos para a implementação de um sistema de tempo de execução para o fornecimento de serviços.

36 36 As aplicações que utilizam esta API para chamar serviços, são conhecidas como clientes do serviço JAX-RPC. Os serviços fornecidos pelo sistema de tempo de execução são conhecidos como serviços JAX-RPC. Para Todd (2003), um dos benefícios dessa API é que não há requisitos específicos para que o procedimento remoto invocado seja um procedimento remoto baseado em Java. Assim, as aplicações podem ser implementadas em uma plataforma completamente diferente, como Microsoft.NET. A API JAX-RPC é responsável por auxiliar a construção de Web Service, baseando-se no modelo de comunicação RPC permitindo a geração de infra-estrutura de comunicação entre as aplicações cliente e servidor. O desenvolvimento de serviços utilizando o JAX-RPC é semelhante ao desenvolvimento de aplicações que utilizam o RMI, ou seja, JAX-RPC é RMI sobre SOAP. Logo, deve suportar e analisar se é possível a execução de chamadas remotas de SOAP sobre o protocolo HTTP. Esta API possui um alto nível de abstração sobre o envelope SOAP, ou seja, o documento é gerado automaticamente pela API, não precisando ser manipulado (JWSDP, 2004). O seu desenvolvimento é semelhante a RMI (simples e baseado em geração e código). Diante dos conceitos apresentados, a Figura 11 apresenta a arquitetura da API Jax-RPC, mostrando o processo de comunicação entre o cliente e o servidor. Web Container -Tomcat Cliente Stub WSDL Descrição do WS Servidor Tie JAX - RPC API Cliente JAX-RPC WSDL JAX - RPC API Servidor JAX-RPC Protocolo de Mensagem - SOAP Protocolo de Transporte - HTTP Figura 11: Arquitetura da API JAX-RPC retirada de (IST,2004).

37 37 Na Figura 11 pode ser verificado que quando um serviço encontra-se publicado no TOMCAT 4, é disponibilizada a sua WSDL, ou seja, a descrição do serviço para que o cliente possa acessar o mesmo. Dentro da WSDL o cliente encontrará a definição de como será o serviço, o local em que será encontrado e como chamá-lo. Para realizar a comunicação entre o cliente e o serviço disponibilizado, os programas stubs e skeletons utilizam a API JAX-RPC. Assim, a comunicação será realizada a partir do momento em que um determinado serviço é publicado em um Web Container, dentro do Tomcat, com o endereço da WSDL. Para que um cliente possa utilizar um Web Service é necessário criar um vínculo com o serviço desejado através do SOAP sobre o protocolo de transporte HTTP. A partir do momento que a infra-estrutura do Web Service for criada, os programas Stubs e Skeletons ficam responsáveis pela comunicação entre o cliente e o serviço. Resumindo, um cliente descobre um determinado Web Service. Através do Stub, que se comunica através do SOAP sobre HTTP, realiza a solicitação de um serviço ao Skeleton, que passará o pedido para a aplicação servidora e depois que receber a resposta retorna para o Stub. Com a API Jax-RPC, que é responsável pela comunicação entre o cliente e o servidor, serão tratados os parâmetros utilizados pelos métodos no programa servidor. Dessa forma, o cliente poderá invocar um método remoto de forma transparente, como se fosse local. Dessa maneira, a arquitetura desta API é considerada por alguns autores como a API principal do pacote JWSDP. Em seguida, serão descritas as outras APIs do JWSDP para desenvolvimento de Web Services: SAAJ (SOAP with attachaments API for Java) e JAXR (API for XML Registries. 4 TOMCAT servidor Web que disponibiliza paginas.jsp estática ou dinâmicas.(

38 API s SAAJ e JAXR A SAAJ (SAAJ - SOAP with attachaments API for Java) é uma API que oferece um conjunto de funcionalidades para manipulação de envelopes SOAP que possibilita transportá-los sobre HTTP, SMTP e outros protocolos que permite a comunicação entre um cliente e um serviço disponível através do Web Services (JWSDP, 2004). Todd (2003) afirma que esta API fornece funcionalidades para processar as mensagens SOAP que estão envolvidas nas invocações de Web Sercive e que essas APIs são utilizadas extensamente dentro de implementações baseadas em Java. Dentro desta API javax.xml.rpc: existem os pacotes javax.xml.soap, javax.xml.messaging e api javax.xml.soap é responsável pelo tratamento das mensagens SOAP; api.javax.xml.messaging é responsável pela codificação das mensagens; api.javax.xml.rpc é responsável pela comunicação. Portanto, o SAAJ é a API básica para enviar mensagens. A intenção é que ela seja utilizada em implementações JARX-RPC, fazendo com que o processo de criação de mensagens SOAP seja mais detalhado, enviando chamadas e resposta RPC. Já a API JAXR (JAXR - API for XML Registries) é responsável por oferecer uma forma de acesso a registros de negócios na Internet, que podem ser baseados em padrões abertos (ebxml) ou especificações de consórcios de empresas UDDI (HENDRICKS, 2002). O ebxml é um padrão de registro de aplicações voltado para o comércio eletrônico e o UDDI é um padrão criado para registro de Web Services, constituído por uma coleção de diretórios contendo informações sobre negócios e serviços. A API JAXR permite acessar diferentes sistemas de registro de serviços baseados em XML, tais como: ebxml e o UDDI. Esta API consegue mapear UDDI para ebxml o que permite a inclusão e pesquisa de organizações e serviços. Assim, os registros armazenados (UDDI) são acessados através desta API utilizando a linguagem Java.

39 39 Esta API é composta por uma arquitetura baseada no cliente, que é responsável por permitir que usuários possam acessar os registros armazenados, e no provider, que implementa diversas interfaces definidas pela especificação UDDI com o objetivo de permitir que os clientes possam acessar os registros. Portanto, a API SAAJ é uma API que fornece funcionalidade de processar as mensagens SOAP, a API JAX-RPC fornece às aplicações Java a capacidade de fazer chamadas de procedimento remoto utilizando protocolos de mensagens e a API JAXR interage com os registros para publicação dos serviços Considerações sobre Ferramentas Utilizadas Nesta seção são apresentadas todas as ferramentas utilizadas para a implementação do trabalho além do JWSDP. As ferramentas básicas para o desenvolvimento da aplicação foram: Microsoft Access 2000, SQL Server 2000 e o JWSDP. A primeira ferramenta foi utilizada na primeira versão da aplicação HelpNet, a segunda para a migração dos dados e um controle maior sobre a base de dados e a última para a construção do Web Service. Assim, esta seção irá apresentar apenas informações gerais sobre estas ferramentas para apenas facilitar a compreensão e não informações detalhadas Banco de Dados Existem várias ferramentas para construção de banco de dados, tais como: Mysql, Paradox, Microsoft Access, Microsoft SQL e outros. Porém este trabalho irá enfatizar apenas as comparações entre as ferramentas Microsoft Access 2000 e Microsoft SQL Server 2000 pois foram os objetos de estudo deste trabalho. A ferramenta Microsoft Access 2000 foi utilizada na primeira versão do software para a construção da base de dados da aplicação que controla os equipamentos de informática. Na versão atual, o Access foi substituído pelo SQL Server visando melhorar a segurança e integridade dos dados.

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

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

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

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

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

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

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

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

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

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

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

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

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

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

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

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

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

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

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

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

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

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

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental

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

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS CONTEÚDO HARDWARE - 2 AULAS SISTEMA OPERACIONAL - 2 AULAS INFORMÁTICA Prof.: MARCIO HOLLWEG mhollweg@terra.com.br APLICATIVOS OFFICE - 3 AULAS INTERNET - 1 AULA REDE - 2 AULA SEGURANÇA - 1 AULA BANCO DE

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

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

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

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

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos

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

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

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

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

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação

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

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

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

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

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 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

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

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar Primeiro Técnico Protocolos de Internet (família TCP/IP e WWW) Prof. Cesar 1 TCP - Transmission Control Protocol Esse protocolo tem como principal objetivo realizar a comunicação entre aplicações de dois

Leia mais

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira Wireshark Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Camada de Aplicação Introdução HTTP (Hypertext Transfer Protocol) 2 Introdução Camada de Aplicação Suporta os protocolos

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

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. Todos os Direitos

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

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

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc. Endereços IP Endereços IP IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.) precisam ter endereços. Graças

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

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Rede de Computadores (REC)

Rede de Computadores (REC) Rede de Computadores (REC) Aula 04 Camada de Aplicação Prof. Jackson Mallmann dcc2jm@joinville.udesc.br Exemplos de requisição via telnet. iniciar / executar / cmd (Windows) telnet endereço telnet 192.168.1.3

Leia mais