Entendendo e Desenvolvendo Restful WebServices no Framework X-Gov. Autor: Mauricio Cirelli

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

Download "Entendendo e Desenvolvendo Restful WebServices no Framework X-Gov. Autor: Mauricio Cirelli"

Transcrição

1 Entendendo e Desenvolvendo Restful WebServices no Framework X-Gov 1. Introdução Autor: Mauricio Cirelli Neste documento abordaremos a estrutura da arquitetura REST (Representational State Transfer) no desenvolvimento de serviços web. Estudaremos seus funcionamentos e postulados para, então, desenvolvermos uma aplicação de WebService utilizando C# Mais adiante, iremos comparar a estrutura com a arquitetura SOAP (Simple Object Access Protocol). Criaremos um exemplo de serviço web baseado em REST e discutiremos métodos de consumo desta aplicação e sua publicação. Por fim veremos como aplicar os conceitos abordados dentro do cross-media e, mais especificamente, para o projeto X-GOV. 1.1 Histórico do REST O termo originou-se em 2000, a partir da tese de doutorado de Roy Fielding, um dos principais autores da especificação do protocolo HTTP (Hypertext Transfer Protocol), utilizado na comunicação Web. Os sistemas baseados em REST são denominados RESTful e devem seguir os princípios descritos por Fielding em sua tese: "Architectural Styles and the Design of Network-based Software Architectures". 1.2 Princípios do REST Fielding postula que o protocolo HTTP possui recursos suficientes para executar todas as transações Web comuns: inserção, atualização, exclusão e recuperação de informações, utilizando apenas seus métodos (verbs) nativos e o endereço da requisição (URI: Uniform Resource Identifier): O protocolo HTTP Nota: URL (Uniform Resource Locator) é um tipo de URI O protocolo HTTP foi criado para garantir a comunicação no ambiente Web. É graças a ele que conseguimos acessar um site. Porém, até 2000, quando Fielding definiu a arquitetura REST, esta era praticamente a única função do HTTP: receber informação de um servidor localizado através de uma URL ou enviar uma informação ao mesmo. Estas atividades fazem uso de apenas 2 verbos do HTTP: GET e POST. O HTTP foi definido contendo 8 verbos: Nota: Atualmente o HTTP possui muitos outros verbos, porém são menos utilizados e muitos não são aceitos na maioria dos navegadores. OPTIONS: Uma requisição do tipo OPTIONS retornará os métodos HTTP disponíveis no servidor em questão. Na arquitetura REST, em termos de WebServices, OPTIONS nos possibilita saber quais WebMethods (serviços, funções) estão disponíveis em determinada URI. HEAD: Requisições HEAD retornam o cabeçalho da resposta HTTP. Este cabeçalho contém informações como: Content-Type: tipo de dados que o servidor aceita, como XML, JSON, texto puro. Status: indica se a requisição foi bem sucedida ou não, indicando com 200 OK em caso afirmativo ou com outro número e descrição de erro. Date: data e hora da requisição.

2 Server: tipo de web Server, como Internet Information Services (IIS), Apache, entre outros. Content-Lenght: tamanho da resposta (quantidade de caracteres). Há outras informações menos relevantes no cabeçalho de uma requisição HTTP que não serão tratadas neste documento. GET: Requisições do tipo GET retornam todo tipo de informação relacionada aos parâmetros fornecidos. Dentro do ambiente de WebServices, este tipo de solicitação é muito usada para fazer consultas a banco de dados. Além de retornar estas informações, o método GET também retorna o cabeçalho da requisição, assim como o método HEAD. POST: Este tipo de requisição pode ser utilizada para atualizar uma informação armazenada em uma URI ou para inserir novas informações, dependendo dos parâmetros fornecidos. POST apenas envia uma quantidade de parâmetros de dados para o servidor, sendo ele o responsável por interpretar e utilizar estes parâmetros da maneira que quiser. Na arquitetura REST, Fielding define que devemos utilizar o método POST apenas para inserir novas informações. PUT: O método PUT, ao contrário do POST, envia obrigatoriamente uma nova página (ou atualiza uma se os parâmetros indicarem que já existe uma página onde se está desejando colocar uma nova). Apesar de soarem muito similares, POST e PUT são bastante diferentes. PUT criará ou atualizará uma página que conterá os dados passados pelo URI. POST passa os dados pelo URI para o servidor, que se encarrega de fazer o que quiser com eles. Fielding define o uso do PUT como de atualização de dados, na arquitetura REST. DELETE: Este método exclui a página indicada por determinada URI. TRACE: Rastreia a solicitação, sendo possível, para o solicitante, saber o que acontece com seus dados enviados conforme eles trafegam pela rede até chegar ao servidor de destino. É especialmente importante quando sabemos que nossa informação passará por diversos servidores intermediários, sendo, assim, passíveis de modificações indesejadas. CONNECT: Muda a rota da solicitação atual. Muito utilizada em conjunto com proxys e túneis TCP/IP para conexões seguras (SSL). Cada requisição gera uma resposta do servidor. Esta resposta vem codificada em elementos chamados status-code, que são números acompanhados por uma palavra, seguindo a regra: 1xx Informational: A principal é 100 Continue, que indica que o client deveria continuar sua requisição. Esta classe de status-code é apenas utilizada para a comunicação Server-client, não sendo de grande utilidade para nosso propósito; 2xx Successful: Indica que a requisição foi feita sem problemas. Utilizaremos, principalmente, os codes 200 OK e 201 Created, sendo o primeiro utilizado em solicitações GET, DELETE e PUT normalmente e o segundo em solicitações do tipo POST.

3 3xx Redirection: Classe de status-code criada para indicar se uma solicitação deve ser redirecionada para ser concluída. Isto pode ocorrer devido a uma mudança (moved) de URI ou utilização de servidores Proxy. 4xx Client Error: Indica que houve um erro durante a solicitação causada pelo cliente. Este erro pode ser: 404 Not Found, 403 Forbidden, 409 Conflict, entre outros. Estes 3 serão os mais utilizados em serviços web RESTful. O primeiro indica que a URI não pôde ser encontrada, o segundo que o método utilizado não é permitido e o último que a solicitação já existe. 409 Conflict normalmente ocorre quando tentamos usar o método POST com o mesmo Request Body mais de uma vez. 2. REST e SOAP (na visão de WebService) Como podemos observar, o protocolo HTTP está sendo muito pouco utilizado, tendo capacidade para executar qualquer tipo de requisição. Isto torna desnecessária a criação de novas arquiteturas para a troca de informações na Web (como o SOAP), as quais tornam a conexão mais carregada de cabeçalhos e informações sobre os pacotes de respostas e requisições que estão trafegando. Falando sobre WebServices, no caso do SOAP, a informação é transmitida através de um documento XML. Junto com este documento, trafegam inúmeros outros documentos de especificações, como WS- Notification, WS-Transfer, entre muitos outros WS- (conhecidos como WS-*) que, juntos, formam a especificação WSDL (WebService Description Language), um documento contento todas as definições de metadados utilizados nas requisições. Tudo isto para tornar a arquitetura multiplataforma e garantir a interoperabilidade entre os sistemas. Quando pensamos que o HTTP é um protocolo universalmente aceito e entendido por qualquer sistema, navegador, framework ou servidor, percebemos o quanto é desnecessário trafegar tamanha quantidade de informação. O principal trunfo do SOAP em relação ao REST é sua portabilidade dentro de diversos protocolos. É possível fazer uma requisição SMTP ou FTP, por exemplo, utilizando SOAP. Como o REST é definido e estruturado a partir dos verbos HTTP, ele apenas atua sobre este protocolo de comunicação. Porém, vale ressaltar que REST é uma arquitetura de projeto, portanto, pode ser utilizada para qualquer tipo de aplicação que não seja necessariamente um WebService, enquanto SOAP foi desenvolvido especificamente para este propósito. 3. Mudança de Paradigma: Uma aplicação RESTful exige uma certa mudança no modo de estruturar um projeto. É semelhante ao processo que sofremos quando passamos de uma lógica estruturada para uma orientada a objetos. Até hoje, costumávamos construir nossos WebServices nos baseando em quais métodos eles possuiriam (quais verbos eles atenderiam). A partir disto, criávamos uma estrutura que recebia as definições dos métodos através do WSDL e chamávamos estes métodos em nossas aplicações. Quando pensamos em REST, não estamos pensando nos métodos que nosso serviço web terá, pois estes métodos já estão definidos: são os 8 verbos do HTTP. Temos, então, que nos focar em como utilizar estes 8 verbos para atender nossas necessidades. Exemplo: O HTTP não possui um verbo BuscarContasCorrentes. Se estivéssemos pensando em SOAP, a resposta mais óbvia para este problema seria: Vamos declarar um WebMethod chamado BuscarContasCorrentes e defini-lo. A partir daí, o WSDL se encarrega de fazer nosso verbo ser entendido por todos os clients. Em REST não temos esta liberdade, pois não utilizamos um WSDL. Se pensarmos que temos o verbo GET do HTTP e um URI que podemos definir, já temos todas as

4 ferramentas necessárias para resolver o problema de listar as contas correntes de nosso banco. Poderíamos implementar, então, a seguinte requisição: GET De acordo com a especificação HTTP, esta requisição nos retornará todo o conteúdo da URI pedida, a qual armazena as contas correntes do banco. Ainda no exemplo do banco, se quiséssemos criar uma nova conta corrente, por definição, devemos utilizar o verbo POST (embora PUT também seja possível), com uma requisição do tipo: POST Request Body (corpo da requisição): cliente = NomeDoCliente; (...) Esta requisição criará uma nova página com os dados do novo cliente, passados dentro do Request Body. Neste exemplo, a solução parecia óbvia. Imediatamente imaginaríamos os verbos PUT e DELETE entrando em ação para atualizar ou remover os dados de uma determinada conta. O importante aqui é perceber que com os 8 verbos do HTTP, podemos traduzir qualquer tipo de problema que enfrentamos, sem ter que criar novas interfaces, novos métodos e novas especificações. 4. Limbo: REST é Stateless, pois HTTP é Stateless: Imaginemos a seguinte situação: realizamos uma requisição passando algumas informações. Estas são enviadas para a página definida pelo URI que digitamos. Então nosso servidor nos responde dizendo que recebeu estas informações. Estas informações não poderão mais ser requisitadas. Na verdade, elas não serão armazenadas em cache, ou algum tipo de memória do qual possamos recuperá-las ou tratá-las. Ao receber estas informações, o servidor deverá estar programado para armazená-las em uma base de dados ou session de usuário, por exemplo. Caso contrário, elas serão perdidas, indo para o limbo. Isto acontece devido à característica Stateless do HTTP e, por conseqüência, do REST. Este será nosso intuito quando começarmos a codificar nosso WebService. A priori receberemos as requisições e as passaremos a um banco de dados, retornado ao usuário os resultados ou mensagens do servidor. 5. Estruturando uma aplicação RESTful: A partir de agora começaremos a discutir os procedimentos para modelar uma aplicação RESTful já voltando os exemplos para o desenvolvimento do WebService. Ao final, teremos um exemplo de WebService funcional baseado em REST. O primeiro passo para criar uma aplicação RESTful é definir quais são os problemas que nossa aplicação terá de resolver e tentar modelá-los de forma a usar as definições de GET, POST, PUT e DELETE (os principais verbos do HTTP na arquitetura REST) já discutidas. Nosso produto final será um WebService que recebe mensagens (pode ser de um blog, por exemplo) as quais contém: Texto da Mensagem: string Nome do Usuário: string

5 Data: string ID: string (para facilitar trataremos o ID como string, ao invés de int). Definimos então uma classe Mensagem: public class Mensagem public string ID, Data, Texto, Nome; Como nossas solicitações deverão retornar alguma mensagem mais compreensível para o usuário, vamos criar uma nova classe que contenha a mensagem em si e uma string de resposta com relação a operação: public class TextoMensagem public string resposta; public Mensagem msg = new Mensagem(); Nossa aplicação deverá realizar buscas por ID e por nome, listar todas as mensagens, gravar novas mensagens, atualizar mensagens e apagar mensagens. Iremos implementar todos este métodos, a fim de exemplificar toda a tecnlogia de REST incorporada ao Windows Comunication Foundation (WCF) do.net Framework 3.5, utilizando os dados na forma XML e na forma JSON. Tendo definido os métodos que nosso WebService possuirá, devemos abstraí-los utilizando os verbos do HTTP. Desta forma, definimos: Busca Por ID: GET Busca por Nome: GET Listar mensagens: GET Gravar Mensagem: POST Atualizar Mensagem: PUT Apagar Mensagem: DELETE Algumas observações antes de prosseguirmos. Como podem perseber, nossas URIs coincidem em alguns momentos. A diferenciação quanto ao método a ser empregado se dará através de análise do verbo de solicitação. O uso de id e nome indica que estas URIs serão dinâmicas, ou seja, seu conteúdo dependerá dos valores digitados nestes espaços. Se quisermos buscar a mensagem cujo ID é 14, deveremos realizar uma solicitação do tipo GET sobre Veremos como construir estas URIs e analisá-las em breve. 6. Windows Comunication Foundation (WCF) REST StarterKit:

6 Dentro do framework.net 3.5, com Service Pack 1, é possível instalar certos templates de projetos. Um deles é o WCF REST StarterKit, que possui diversos exemplos, templates e uma nova biblioteca, todos desenvolvidos especialmente para desenvolver RESTful WebServices. Devemos ressaltar que algo semelhante existe dentro da plataforma JAVA. O NetBeans IDE 6.5 possui alguns modelos de serviços RESTful que podem ser remodelados. Neste documento, utilizaremos em nossos próximos passos o Visual Studio 2008 SP1, com.net Framework 3.5 SP1 e construiremos nossa aplicação a partir do modelo WCF REST Singleton Service, contido no WCF REST StarterKit. Você pode obtê-lo aqui: Siga o Instalation Guide para obter sucesso na instalação do StarterKit. Você precisará compilar um projeto após extrair os arquivos (Web.sln) para criar a nova dll Microsoft.ServiceModel.Web. 7. Iniciando o Projeto Crie um novo projeto baseado no template WCF REST Singleton Service a partir do Visual Studio Alguns arquivos densamente comentados, repletos de TO DO s, serão adicionados. Para nosso propósito, você pode apagar todos estes códigos, substtuindo pelos códigos passados ao longo dos procedimentos descritos por aqui. Em nossos exemplos, o nome da aplicação foi definido como RESTStarterKit1. Primeiramente, vamos definir nossos serviços, suas URIs, quais verbos HTTP serão utilizados em cada caso e que tipo de reposta JSON ou XML receberemos. Vamos primeiramente utilizar o VS2008 Refactoring Tool para renomear todas as aparições de Service1 para Service, e de IService1 para IService, inclusive o nome do arquivo Service1.svc criado automaticamente. Expanda o arquivo Service.svc, para editarmos Service.base.svc.cs: using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.ServiceModel.Activation; using System.Linq; using System.Net; using Microsoft.ServiceModel.Web;

7 namespace RESTStarterKit1 #region Service Contracts (Uri Templates e WebMethods) [ServiceContract] public interface IService Isto define nossa interface. A tag ServiceContract indica que os métodos descritos dentro desta interface fazem parte de um serviço, devendo seguir um contrato, ou seja, devendo seguir as propriedades descritas. Continuando: #region XML APIs [WebGet(UriTemplate = "xml/mensagem/id")] Mensagem XMLGetMensagemByID(string id); [WebGet(UriTemplate = "xml/mensagens/nome")] Mensagem[] XMLGetMensagemByNome(string nome); [WebGet(UriTemplate = "xml/mensagens")] Mensagem[] XMLGetMensagens(); [WebInvoke(Method = "DELETE", UriTemplate = "xml/mensagem/id")] string XMLDeleteMensagem(string id); [WebInvoke(Method = "POST", UriTemplate = "xml/mensagens")] TextoMensagem XMLPOSTMensagem(/*Mensagem msg*/); [WebInvoke(Method = "PUT", UriTemplate = "xml/mensagem/id")] TextoMensagem XMLUpdateMensagem(Mensagem msg, string id); #endregion Esta região cria os métodos que trabalharão com respostas em XML. XML é o formato de dados padrão da linguagem, portanto não foi preciso especificá-lo. Cada OperationContract indica um novo WebMethod. Estes WebMethods serão chamados sempre que as situações descritas pelo WebGET ou WebInvoke acontecerem. WebGet é utilizado sempre que a solicitação é do tipo GET. Para os demais métodos utilizamos o atributo WebInvoke, especificando o verbo HTTP que será utilizado. As URI Templates são os modelos de URI que o usuário deverá requisitar, em conjunto com o tipo de solicitação, para se utilizar dos serviços. Este esquema permite um entendimento e uma estruturação perfeitamente análogos ao que realizamos na seção 5. Com um procedimento análogo e continuando a definição de nossa interface, definiremos os métodos que retornarão strings no formato JSON: #region JSON APIs [WebGet(UriTemplate = "json/mensagem/id", ResponseFormat = WebMessageFormat.Json)] Mensagem JSONGetMensagemByID(string id); [WebGet(UriTemplate = "json/mensagens/nome", ResponseFormat = WebMessageFormat.Json)] Mensagem[] JSONGetMensagemByNome(string nome); [WebGet(UriTemplate = "json/mensagens", ResponseFormat = WebMessageFormat.Json)] Mensagem[] JSONGetMensagens();

8 [WebInvoke(Method = "DELETE", UriTemplate = "json/mensagem/id", ResponseFormat = WebMessageFormat.Json)] string JSONDeleteMensagem(string id); [WebInvoke(Method = "POST", UriTemplate = "json/mensagens", ResponseFormat = WebMessageFormat.Json)] TextoMensagem JSONPOSTMensagem(/*Mensagem msg*/); [WebInvoke(Method = "PUT", UriTemplate = "json/mensagem/id", ResponseFormat = WebMessageFormat.Json)] TextoMensagem JSONUpdateMensagem(Mensagem msg, string id); #endregion #endregion Ao acrescentar o atributo ResponseFormat do WebGet e WebInvoke, podemos definí-lo como WebMessageFormat.JSON ou WebMessageFormat.XML (padrão). Com isto terminamos de definir nossa interface para os serviços disponíveis. 7.1 Definindo os Métodos da Interface A interface, por definição, apenas molda um protótipo dos métodos. Agora devemos definir os métodos no arquivo Service.svc.cs. Novamente teremos métodos para XML e métodos análogos para JSON. namespace RESTStarterKit1 [ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single)] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class Service : IService #region XML Services public Mensagem XMLGetMensagemByID(string id) return metodo.getmensagembyid(id); public Mensagem[] XMLGetMensagemByNome(string nome) return metodo.getmensagembynome(nome); public Mensagem[] XMLGetMensagens() return metodo.getmensagens(); public string XMLDeleteMensagem(string id) return metodo.deletemensagem(id, "XML"); public TextoMensagem XMLPOSTMensagem() Mensagem msg = new Mensagem(); msg.nome = HttpContext.Current.Request.Form["nome"];

9 msg.texto = HttpContext.Current.Request.Form["texto"]; msg.data = DateTime.Now.ToString(); return metodo.postmensagem(msg, "XML"); public TextoMensagem XMLUpdateMensagem(Mensagem msg, string id) texto = HttpContext.Current.Request.Form["texto"]; return metodo.updatemensagem(texto, id, "XML"); #endregion A classe methods define as funções de banco de dados. Ela foi criada a fim de reaproveitar o código, visto que os WebMethods para XML e JSON são exatamente iguais, diferenciando-se apenas pelo atributo ResponseFormat discutido na seção anterior. O trecho acima define as funções para XML. A seguir as funções para JSON e então exibiremos a classe methods sem entrar em detalhes. Como verão é apenas um conjunto de métodos de conexão a um banco de dados SQL Server que realizam algumas queries SQL. Foge do intuito deste documento discutir as bibliotecas e métodos de conexão do ADO.NET. Todos os fontes poderão ser encontrados no Apêndice. #region JSON Services public Mensagem JSONGetMensagemByID(string id) return metodo.getmensagembyid(id); public Mensagem[] JSONGetMensagemByNome(string nome) return metodo.getmensagembynome(nome); public Mensagem[] JSONGetMensagens() return metodo.getmensagens(); public string JSONDeleteMensagem(string id) return metodo.deletemensagem(id, "JSON"); public TextoMensagem JSONPOSTMensagem() Mensagem msg = new Mensagem(); msg.nome = HttpContext.Current.Request.Form["nome"]; msg.texto = HttpContext.Current.Request.Form["texto"]; msg.data = DateTime.Now.ToString(); return metodo.postmensagem(msg, "JSON"); public TextoMensagem JSONUpdateMensagem(Mensagem msg, string id) texto = HttpContext.Current.Request.Form["texto"];

10 return metodo.updatemensagem(texto, id, "JSON"); #endregion É válido um comentário a respeito da classe HttpContext utilizada nos métodos POST. Esta classe é utilizada para interpretar e realizar requisições HTTP. Em nosso caso, a utilizamos para receber os dados contidos no Request Body da requisição POST (nome e texto) para montar nosso objeto do tipo Mensagem e passá-lo para a função que realiza cadastros no banco de dados. Seus principais atributos e métodos são: HttpContext.Current: possui os atributos HttpContext.Current.Request.QueryString[] e HttpContext.Current.Request.Form[] os quais recebem os valores de variáveis definidas no Request Body de solicitações GET e POST respectivamente. De acordo com a especificação do verbo GET, não devemos enviar dados com este método. Isto é função dos verbos POST e PUT, muito embora seja possível este tipo de requisição. Com isso definimos as operações a serem realizadas a partir da chamada de cada WebMethod, quando uma dada requisição é feita a uma das URIs definidas na seção anterior, finalizando a criação de nosso RESTful WebService. 8. Publicando o WebService no IIS (Internet Information Services): Podemos utilizar a ferramenta Publish do Visual Studio 2008 para publicar os arquivos necessários para a execução dos serviços em uma pasta que esteja configurada no IIS para receber chamadas. Certifiquese de que as configurações de autenticação e de alias da pasta compartilhada na web estejam corretas. Seu WebService deverá estar acessível através do endereço onde RESTWS é o alias definido no IIS para a pasta que contém os arquivos publicados. Os ISS 6.0 e 7.0 não aceitam os métodos PUT e DELETE por padrão. É necessário ativá-los. Para isto, é necessário instalar um novo componente do Windows chamado WebDAV, localizado dentro do componente IIS/Serviço Web em Adicionar ou Remover Componentes do Windows.

11 Além disto, é necessário configurar o IIS para que os arquivos.svc aceitem requisições PUT e DELETE. Na pasta do diretório virtual criado para seu WebService, vá em Propriedades, na aba Diretório Virtual Configurações. Uma lista de extensões de arquivo será aberta. Encontre a extensão.svc e adicione os métodos PUT e DELETE. 9. Consumindo o WebService através de uma página HTML/JavaScript. Esta é, talvez, a parte mais complicada do processo. Com o Visual Studio e WebServices do tipo SOAP, bastaria adicionar uma WebReference ao projeto para ter acesso aos WebMethods e utilizá-los como funções internas ao projeto. Com RESTful WebServices isto não é possível. Devemos criar um client (no caso, uma Web-Page) capaz de realizar chamadas HTTP a partir de diferentes métodos (os 4 definidos pelo nosso projeto: DELETE, GET, POST, PUT). Se você é familiarizado com o desenvolvimento Web, rapidamente perceberá um grande problema: Forms HTML não são capazes de realizar solicitações do tipo DELETE e PUT. Há uma grande discussão dentro da comunidade de desenvolvedores a respeito do release do HTML 5, o qual deverá trazer estas funcionalidades. Enquanto isto não é possível, temos aqui um grande problema. A nova maneira de escrever JavaScript, conhecido como AJAX (Asynchronous Javascript And XML), faz uso de objetos de conexão HTTP nativos dos principais navegadores para realizar transações dentro do protocolo. Desta maneira torna-se possível especificar as URIs de destino, os verbos HTTP utilizados na chamada e os parâmetros do Request Body. Com AJAX também é possível receber os dados em JSON ou XML (sendo mais comum o XML) e tratá-los, expondo-os, por exemplo, com tags HTML em uma página. 9.1 O código AJAX Primeiramente iremos considerar que tanto o WebService quanto a web-page consumidora estão hospedados em um mesmo domínio. Discutiremos os motivos desta separação de casos na próxima seção. Os fontes completos desta etapa estão disponíveis no Apêndice. Vamos nos reter a discutir alguns trechos de código e aspectos importantes do consumo de RESTful WebServices. Para realizar uma requisição por JavaScript (AJAX), devemos instanciar um objeto do tipo XmlHttpRequest. Este objeto é diferente em alguns navegadores, portanto, devemos detectar qual navegador estamos trabalhando e instanciá-lo de acordo. Para isso, usamos a função GetXmlHttpObject(); function GetXmlHttpObject() xmlhttp = null; try // Firefox, Opera 8.0+, Safari xmlhttp = new XMLHttpRequest(); catch (e) // Internet Explorer try

12 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); catch (e) xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); return xmlhttp; function XMLListarBtn_Click () method = "GET"; url = xmlhttp = GetXmlHttpObject(); if (xmlhttp == null) alert("seu navegador não suporta AJAX."); return; xmlhttp.open(method, url, true); xmlhttp.onreadystatechange = XMLListarMsgs; xmlhttp.send(null); Então, adicionamos uma função ao botão XMLListarBtn em seu evento de onclick. Esta função utiliza o objeto XmlHttpRequest devidamente selecionado e realiza a requisição. No caso, do tipo GET. Cada mudança de estado na requisição (0: Não-Iniciada, 1: Aberta, 2: Enviada, 3: Recebendo, 4: Concluída) gera um evento. Estes eventos são tratados pela função explicitada no atributo onreadystatechange: function XMLListarMsgs () if (xmlhttp.readystate == 1) //diz que a requisicao está sendo carregada (...) //quando a request estiver concluída e a resposta for 200 OK if (xmlhttp.readystate == 4 && xmlhttp.status == 200) //mostra pagina (...) //se a request estiver concluida e a pagina nao for encontrada if (xmlhttp.readystate == 4 && xmlhttp.status == 404) //Not-Found (...) O atributo status recebe o valor do estado da requisição, tratados na Introdução (seção 1.2.1). Para mais detalhes sobre a leitura das respostas às requisições utilizando JavaScript, consulte os fontes comentados no Apêndice. 9.2 Cross-Domain Policy: Um problema para o AJAX Até agora consideramos que client e service estão localizados dentro do mesmo servidor (domínio). Em nossos projetos, dificilmente encontraremos esta situação.

13 Normalmente desenvolveremos clients para consumir WebServices de terceiros, localizados em outros domínios. Da mesma maneira, poderíamos desenvolver serviços que seriam consumidos por outros desenvolvedores que não residem sob mesmo servidor que nós. A Cross-Domain Policy proíbe o uso de JavaScript para se comunicar diretamente com servidores remotos. Ou seja, não é possível realizar requisições HTTP utilizando o objeto XmlHttpRequest do AJAX para outros domínios. Para realizar tais requisições através de uma aplicação Web baseada em AJAX, devemos utilizar um servidor proxy. Este servidor recebe requisições HTTP e as encaminha para seus destinos finais, atuando como mediador na comunicação client-server. Uma aplicação deste tipo teria que ser escrita utilizando alguma linguagem server-sided como C#, Java ou PHP, por exemplo. Isto nos faz refletir em duas possibilidades: 1. Utilizar Web-Client baseado em AJAX com Proxy Server ver Anexo A; 2. Criar uma Web-Page utilizando linguagem server-sided; Na primeira opção temos a possibilidade de criar diversos clients diferentes e centralizar as requisições no servidor proxy, facilitando a manutenção do sistema. Outro ponto importante é que a renderização das páginas ocorre apenas no lado do client, poupando trabalho do servidor, que fica designado apenas para remeter as requisições ao WebService. Desta forma poderíamos ter diversos clients independentes e um único servidor proxy, todos localizados no mesmo domínio, onde o trabalho do servidor é de apenas repassar requisições e respostas. Para a segunda opção, cada client deveria atuar como servidor, para rodar a aplicação. Esta opção exige, além de clientes-servidores, que estas máquinas sejam capazes de renderizar todo o conteúdo das Web- Pages consumidoras e, ao mesmo tempo, realizar as requisições HTTP necessárias ao Web-Service. Isto gera uma grande quantidade de tráfego na rede, tornando as aplicações mais lentas. Existem bibliotecas Java e C# capazes de interpretar e realizar requisições HTTP de todos os tipos. Além disto, o PHP possui uma classe que utiliza métodos do CURL para realizar estas requisições. CURL é um programa de console freeware escrito em C capaz de realizar quaisquer tipos de requisição HTTP. Requisição no lado do Servidor Outra maneira de fugir do problema criado pela Cross-Domain Policy é realizar a requisição HTTP no lado do servidor. Utilizando C#, isto pode ser feito com as classes HttpWebRequest e HttpWebResponse, da seguinte maneira: /*** Cria HTTP Request para serv.baseurl ***/ HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.contenttype = "application/x-www-form-urlencoded"; request.method = method; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responsestream = response.getresponsestream(); StreamReader responsereader = new StreamReader(responseStream); return responsereader.readtoend();

14 O parâmetro url é uma string e define a URI com a qual a requisição deve ser feita. O retorno deste método é uma string, que pode ser um documento XML ou JSON, conforme discutido nas sessões anteriores. O verbo http é definido no parâmetro method em formato de string: GET, POST, PUT ou DELETE, por exemplo. 10. Aplicação ao projeto X-GOV e ao conceito de Cross-Media Durante estas nove seções, discutimos a teoria envolvida na arquitetura REST, os conceitos do protocolo HTTP, como criar uma aplicação RESTful de WebService e como consumí-la. Nesta seção, iremos discutir como esta tecnologia pode ser utilizada no conceito de cross-media, especificamente com relação ao projeto X-GOV. No ambiente de cross-media, aplicações de celular, televisão digital interativa e Web sites convivem juntas. São meios de comunicação muito diferentes, residindo sob plataformas de desenvolvimento distintas e com poucas coisas em comum. Uma delas, é a principal função: transmitir informações. A interligação destas informações através das diferentes mídias existentes é a essência do cross-media. Torna-se necessário, então, que encontremos no meio de tantas diferenças algumas intersseções para explorar dentro das nossas necessidades. Uma aplicação independente de plataforma que se comunica através de um protocolo padrão e entendido por todas as mídias seria excelente. Esta é a deixa para a atuação dos WebServices em mídia cruzada. WebServices, tanto SOAP como RESTful, são portáveis, multiplataforma e se comunicam através de protocolos padrões. Um WebService pode ser acessado tanto por uma aplicação Web (ou Web-Mobile) como vimos anteriormente, quanto por uma aplicação de Televisão Digital, provendo interoperabilidade entre as mídias. O Projeto X-GOV pretende utilizar as diversas mídias, de forma interligada, para desenvolver um framework baseado em serviços de governo, capaz de facilitar o desenvolvimento de aplicações governamentais. Os diversos módulos do framework devem ser comunicar, acessar bancos de dados, interoperar entre as diferentes mídias e devolver informações ao desenvolvedor. Uma boa maneira de resolver todos estes problemas de comunicação interna é por meio de WebServices. Já discutimos anteriormente as vantagens do REST sobre o SOAP (ver seção 2), considerando apenas o protocolo HTTP. Como esta comunicação interna dos módulos do framework e, futuramente, das aplicações governamentais desenvolvidas a partir dele, exige grande agilidade e compactação dos dados transferidos, os RESTful WebServices aparecem como solução melhor que os SOAP. 11. Conclusão Após este estudo, podemos concluir que o projeto X-GOV pode utilizar os WebServices como meio de comunicação interna pois: a) São portáveis e multiplataforma; b) Utilizam protocolos padrões, reconhecidos pelas diferentes mídias; c) Garantem a comunicação cross-mídia;

15 d) São aplicações Web de fácil manutenção, desenvolvimento e uso; e) Podem realizar tarefas em diversos bancos de dados. Além disto, podemos dizer que as aplicações RESTful são mais eficientes que as aplicações SOAP para o projeto pois: a) Não empacotam grandes quantidades de informação; b) Utilizam métodos padrões de um protocolo padrão (HTTP) ao invés de métodos específicos para cada aplicação; c) Podem ser consumidos a partir de simples chamadas HTTP, não sendo necessário importar as classes e métodos do WebService, como feito em SOAP, para a aplicação cliente. d) Dentro do projeto, podem realizar as mesmas tarefas que as aplicações SOAP. Descrição do padrão: Anexo A: Aplicação do Proxy Pattern ao Projeto XGOV O Proxy Design Pattern faz com que clients de uma determinada aplicação se comuniquem com um representante desta aplicação, chamado Proxy, ao invés de se comunicarem diretamente com ela. Desta maneira, é mais fácil restringir o acesso à aplicação e garantir a consistência dos dados trafegados. Contexto: Um client necessita acessar serviços de outro componente, localizado em outra máquina, e uma conexão direta pode ser possível tecnicamente, mas não é a melhor alternativa. Problema: Normalmente não é apropriado acessar um componente diretamente, pois se faz necessário codificar a conexão diretamente no client, o que permite acesso sem restrições ao serviço. Isto gera ineficiência e insegurança ao sistema. Uma solução para este problema deve satisfazer ao máximo as seguintes exigências: Solução: a) O acesso ao componente deve ser em tempo-real, de baixo custo e seguro para ambas as partes; b) O acesso deve ser claro e transparente para o cliente. Ele deve saber para onde está sendo redirecionado e quais etapas do processo estão sendo executadas. O client não deve ter que alterar o comportamento e sintaxe de suas requisições; Faça com que o client se comunique com um representante da aplicação original, ao invés de se comunicar diretamente à ela. Este representante deve oferecer uma interface igual ou semelhante à original, porém pode agregar procedimentos antes e após a requisição, como autenticação, e garantir apenas a leitura dos dados, não permitindo alterações ou gravações diretamente. Implantação: 1. Identifique todas as tarefas que o serviço original provê. Agregue estas tarefas ao Proxy. 2. Se possível, introduza uma classe abstrata que especifica partes comuns entre a interface do Proxy e da aplicação original. Procure fazer as interfaces o mais idênticas possível, para que o client continue pensando que está trabalhando diretamente na aplicação final.

16 3. Programe as funções extras do Proxy, como autenticação e validação de dados. 4. Remova dos clients e da aplicação original todas as funções que agora residem no client. 5. Faça a comunicação entre o Proxy e o original. Esta comunicação pode ser feita através de um socket, ponteiro, referência, porta, endereço, entre outros. 6. Remova todas as ligações diretas entre os clients e a aplicação final, substituindo-as por conexões análogas entre o client e o Proxy e entre a aplicação e o Proxy. Conseqüências: O uso de proxies torna a aplicação menos eficiente devido aos redirecionamentos. Normalmente este problema é compensado pela agilidade adquirida nos processos agregados ao Proxy, que antes residiam no client ou na aplicação original. Outro problema é o uso descontrolado de armazenamento e carregamento de informações em runtime. Isto torna a aplicação lenta e passível de problemas, conforme a aplicação cresce ou exige uma transferência de dados constante e volumosa. Os benefícios do uso de proxies são, essencialmente, a redução de custo do sistema e a eficiência gerada pelas funções agregadas ao Proxy. Além disto, um Proxy retira dos clients informações perigosas de localização do servidor dos componentes, na medida em que se torna mais parecido com a aplicação original. Uso do Proxy Pattern no projeto X-GOV O conjunto de componentes de módulos que o framework X-GOV disponibilizará depende de um grande fluxo de informação interna ao sistema, além de ter de gerir as informações que são requisitadas pelas diferentes mídias quando usadas pelos cidadãos. Toda esta comunicação deverá ser autenticada, para evitar fraudes ao sistema e garantir a segurança das informações contidas. Além disto, muitos usuários e diversas aplicações do framework farão uso de um mesmo conjunto de ferramentas e dados do sistema, o que torna a utilização de serviços web bastante plausível. Todos estes serviços farão a comunicação framework base de dados, framework framework e framework usuário. Este contexto se encaixa perfeitamente ao contexto apresentado pelo Proxy Pattern. Como é necessário esconder dos clients a localização do sistema e diversos métodos internos, autenticar usuários, gerir os dados fornecidos e tratar dos dados apresentados, uma comunicação direta client serviços se torna arriscada e inapropriada. Em muitos casos, a tecnologia empregada como no caso do REST e AJAX impede o acesso direto. Para resolver este problema, podemos adotar um ou mais servidores Proxy. Estes servidores fariam a mediação entre os clients, que podem ser dispositivos do usuário, webservices ou módulos do framework X-GOV, e os servidores de dados ou serviços. Desta forma, centralizamos as chamadas em determinados servidores, que serão responsáveis por garantir a autenticação dos usuários e fazer uma conexão segura com os serviços internos do sistema.

17 Referências Bibliográficas Sites: Wikipedia: realizando buscas por HTTP, REST e Status-Code. W3C: para tutoriais e exemplos AJAX. Vídeos: Getting Started with REST Starter Kit, por Aaron Skonnard. Disponíveis no site da MSDN; WCF: Developing RESTful Services, realizado no PDC 2008, por Steve Maine e Rob Bagby; Artigos: A Guide to Designing and Building RESTful Web Services with WCF 3.5, por Aaron Skonnard. Disponível em: Architectural Styles and the Design of Network-based Software Architectures, Roy Fielding, capítulo 5 Livros: PATTERN-ORIENTED SOFTWARE ARCHITECTURE Vol1. Pág: 263 a 275.

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

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

Arquitetura da Aplicação Web (Comunicação Cliente/Servidor)

Arquitetura da Aplicação Web (Comunicação Cliente/Servidor) Desenvolvimento de Sistemas Web Arquitetura da Aplicação Web (Comunicação Cliente/Servidor) Prof. Mauro Lopes 1-31 25 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando

Leia mais

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

AJAX no GASweb. Mas e afinal, para que usamos o AJAX? Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente

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

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

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

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

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

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

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 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introduçã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

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

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

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

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

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

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

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

Leia mais

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

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS Manual de Instalação Tempro Software StavTISS Sumário 1. INTRODUÇÃO... 2 2. REQUISITOS DO SISTEMA... 3 3. INSTALAÇÃO... 4 4.

Leia mais

Laboratório de Redes de Computadores e Sistemas Operacionais

Laboratório de Redes de Computadores e Sistemas Operacionais Laboratório de Redes de Computadores e Sistemas Operacionais Serviços de Servidor TCP/IP Fabricio Breve Internet Information Services (IIS) Conjunto de serviços baseados em TCP/IP executados em um mesmo

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

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

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

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

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

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

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

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

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

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos. Wireshark Lab: HTTP Versão 1.1 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark. Tendo molhado os nossos pés com o Wireshark no laboratório

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. HTTP O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. O que é o protocolo HTTP? Hyper Text Transfer

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET

CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET Para utilizar um banco de dados com um aplicativo ASP.NET, é necessário criar uma conexão de banco de dados no Macromedia Dreamweaver MX.

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

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

Cadastro de Orçamento Utilizando Tablet Android

Cadastro de Orçamento Utilizando Tablet Android Cadastro de Orçamento Utilizando Tablet Android Instalação, configuração e manual 1 Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS

Leia mais

O sistema operacional recomendado deve ser o Windows 2003, Windows 2000 ou Windows XP (nessa ordem de recomendação).

O sistema operacional recomendado deve ser o Windows 2003, Windows 2000 ou Windows XP (nessa ordem de recomendação). Módulo Nota Fiscal Eletrônica Sispetro Roteiro de Instalação Módulo Autenticador NFE Pré-Requisitos O sistema operacional recomendado deve ser o Windows 2003, Windows 2000 ou Windows XP (nessa ordem de

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

7 Utilização do Mobile Social Gateway

7 Utilização do Mobile Social Gateway 7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,

Leia mais

19/05/2009. Módulo 1

19/05/2009. Módulo 1 ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma

Leia mais

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior Web das Coisas WoT Software: APIs para IoT Prof. João Bosco Teixeira Junior WoT Um novo paradigma para desenvolvimento de aplicações inspirado na ideia do IOT; Utiliza protocolos e padrões amplamente aceitos

Leia mais

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 1 CDI - Curso de Webdesign - Prof. Paulo Trentin Objetivos para esta aula Debater sobre

Leia mais

2013 GVDASA Sistemas Administração dos Portais

2013 GVDASA Sistemas Administração dos Portais 2013 GVDASA Sistemas Administração dos Portais 2013 GVDASA Sistemas Administração dos Portais AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software.

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software. 1 - Sumário 1 - Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 4 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc. Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL Prof. MSc. Hugo Souza Na última aula falamos um pouco sobre as ferramentas

Leia mais

Manual de Instalação, Administração e Uso do Sistema Elétric

Manual de Instalação, Administração e Uso do Sistema Elétric Manual de Instalação, Administração e Uso do Sistema Elétric Versão 1.0 Autores Bruna Cirqueira Mariane Dantas Milton Alves Robson Prioli Nova Odessa, 10 de Setembro de 2013 Sumário Apoio 1. Licença deste

Leia mais

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS]

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] 2011 [MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] Destinado a usuários que desejam vender conteúdo premium, disponível em sites de membros, através da plataforma Hotmart. Versão do documento: 1.0, 11/04/2011.

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

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Internet A Internet é um conjunto de redes de computadores de domínio público interligadas pelo mundo inteiro, que tem

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

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

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais ASP.NET > WebService herman_arais@yahoo.com.br Introdução Um WebService é um componente, ou unidade lógica de aplicação, acessível através de protocolos padrões de Internet. Como componentes, esses serviços

Leia mais

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede VirtueMart v1.0 Manual de Instalação do Módulo estamos todos ligados ÍNDICE 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Permissões 4 4.2 Instalação

Leia mais

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento PHP Profissional APRENDA A DESENVOLVER SISTEMAS PROFISSIONAIS ORIENTADOS A OBJETOS COM PADRÕES DE PROJETO Alexandre Altair de Melo Mauricio G. F. Nascimento Novatec Sumário Agradecimentos...13 Sobre os

Leia mais

ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP

ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP CURITIBA 2006 ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP Trabalho apresentado para a disciplina de REDES,

Leia mais

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Sérgio Oliveira Campos Contrato N : 2008/000514 Sumário 1 Introdução 1 2 Bibliotecas Utilizadas 2 2.1 Reconhecimento de Texto

Leia mais

1. Introdução. 2. Funcionamento básico dos componentes do Neteye

1. Introdução. 2. Funcionamento básico dos componentes do Neteye 1. Introdução Esse guia foi criado com o propósito de ajudar na instalação do Neteye. Para ajuda na utilização do Software, solicitamos que consulte os manuais da Console [http://www.neteye.com.br/help/doku.php?id=ajuda]

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia Criando e consumindo Web service REST com PHP e JSON Palestrante: Weiberlan Garcia Weiberlan Garcia Consultor de Software Livre, trabalha na empresa Ambiente Livre Tecnologia. Desempenha funções de análise,

Leia mais

PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda

PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda PROGRAMAÇÃO PARA INTERNET Introdução à AJAX Fonte: Raul Paradeda INTRODUÇÃO Para entender o que é o AJAX é necessário ter o prévio conhecimento de: HTML / XHTML; Javascript; CSS; XML. INTRODUÇÃO Ao pesquisar

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

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

Instalando o WordPress em localhost

Instalando o WordPress em localhost Instalando o WordPress em localhost WordPress sem Mistério LEE ARAUJO htto://wordpresssemmisterio.com.br Sumário Instalando o WordPress em Localhost... 2 O Servidor web... 3 Iniciando o servidor... 6 Criação

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

Millennium ECO 2.0 (beta)

Millennium ECO 2.0 (beta) MILLENNIUM NETWORK Millennium ECO 2.0 (beta) Documentação Técnica (draft) 10/2013 Este documento contém as instruções para a utilização da biblioteca Millenium_Eco que se presta à comunicação de aplicativos

Leia mais

Instalando, configurando e utilizando a Área de trabalho remota via Web

Instalando, configurando e utilizando a Área de trabalho remota via Web Página 1 de 14 Mapa do Site Brasil Home Worldwide Procurar no Microsoft.com por: Ir Home TechNet USA MS Brasil Desenvolvedores Sharepedia TopIT Fale Conosco Meu TechNet Pesquisa rápida TechNet Boletins

Leia mais

O protocolo HTTP. O que é o protocolo HTTP?

O protocolo HTTP. O que é o protocolo HTTP? O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. IIS - HTTP 1 O que é o protocolo HTTP? Hyper

Leia mais

Configurando o IIS no Server 2003

Configurando o IIS no Server 2003 2003 Ser ver Enterprise Objetivo Ao término, você será capaz de: 1. Instalar e configurar um site usando o IIS 6.0 Configurando o IIS no Server 2003 Instalando e configurando o IIS 6.0 O IIS 6 é o aplicativo

Leia mais

Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: Marcus Gama

Manual do Remote Desktop Connection. Brad Hards Urs Wolfer Tradução: Marcus Gama Manual do Remote Desktop Connection Brad Hards Urs Wolfer Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 O protocolo do Buffer de Quadro Remoto (Buffer de Quadro Remoto) 6 3 Usando o Remote Desktop

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

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

Arquivos de Instalação... 4. Instalação JDK... 7. Instalação Apache Tomcat... 8. Configurando Tomcat... 9

Arquivos de Instalação... 4. Instalação JDK... 7. Instalação Apache Tomcat... 8. Configurando Tomcat... 9 Instalando e Atualizando a Solução... 3 Arquivos de Instalação... 4 Instalação do Servidor de Aplicação... 7 Instalação JDK... 7 Instalação Apache Tomcat... 8 Configurando Tomcat... 9 Configurando Banco

Leia mais

Aula 14 Serviços Internet (Servidor Web Apache)

Aula 14 Serviços Internet (Servidor Web Apache) CST Redes de Computadores Disciplina: Serviços de Rede Professor: Jéferson Mendonça de Limas Aula 14 Serviços Internet (Servidor Web Apache) Roteiro de Aula Conceitos Básicos Funcionamento de Servidores

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

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

1 Sumário... 2. 2 O Easy Chat... 3. 3 Conceitos... 3. 3.1 Perfil... 3. 3.2 Categoria... 3. 4 Instalação... 5. 5 O Aplicativo... 7 5.1 HTML...

1 Sumário... 2. 2 O Easy Chat... 3. 3 Conceitos... 3. 3.1 Perfil... 3. 3.2 Categoria... 3. 4 Instalação... 5. 5 O Aplicativo... 7 5.1 HTML... 1 Sumário 1 Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 3 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

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

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede OpenCart v1.0 Manual de Instalação do Módulo estamos todos ligados ÍNDICE 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 vqmod 4 4.2 Instalação e ativação

Leia mais

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20

Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20 Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...

Leia mais

Instalando o Internet Information Services no Windows XP

Instalando o Internet Information Services no Windows XP Internet Information Services - IIS Se você migrou recentemente do Windows 95 ou 98 para o novo sitema operacional da Microsoft Windows XP, e utilizava antes o Personal Web Server, deve ter notado que

Leia mais

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP VitorFariasCoreia INFORMAÇÃOECOMUNICAÇÃO Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos

Leia mais

Características do PHP. Começando a programar

Características do PHP. Começando a programar PHP Introdução Olá pessoal. Desculpe o atraso na publicação da aula. Pude perceber pelas respostas (poucas) ao fórum que a realização da atividade do módulo I foi relativamente tranquila. Assistam ao vídeo

Leia mais

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede VirtueMart v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Permissões 4 4.2 Instalação e ativação

Leia mais

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

Configurando opções do servidor de páginas e do servidor ftp.

Configurando opções do servidor de páginas e do servidor ftp. Configurando opções do servidor de páginas e do servidor ftp. Após ter criado um diretório virtual, quer seja de http ou de ftp, você pode configurar uma série de opções para este diretório. As configurações

Leia mais

Manual de Integração Redirecionamento. Versão 1.3

Manual de Integração Redirecionamento. Versão 1.3 Manual de Integração Redirecionamento Versão 1.3 Janeiro de 2012 Histórico de versões Data Versão Descrição Responsável 28/10/11 1.0 Criação do documento Erivelton Oliveira 19/12/11 1.1 Adição dos campos

Leia mais

Instalação, configuração e manual

Instalação, configuração e manual Cardápio Moura Instalação, configuração e manual Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS no WINDOWS 8... 15 Windows 7...

Leia mais

Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões

Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões Regras de exclusão são grupos de condições que o Kaspersky Endpoint Security utiliza para omitir um objeto durante uma varredura (scan)

Leia mais