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

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

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

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

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

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

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

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

Leia mais

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

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

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

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

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

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

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

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

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

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

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

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

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

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,

Leia mais

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3 ÍNDICE Sobre o módulo de CRM... 2 1 Definindo a Campanha... 3 1.1 Incluir uma campanha... 3 1.2 Alterar uma campanha... 4 1.3 Excluir... 4 1.4 Procurar... 4 2 Definindo os clientes para a campanha... 4

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

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

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

Trecho retirando do Manual do esocial Versão 1.1

Trecho retirando do Manual do esocial Versão 1.1 Trecho retirando do Manual do esocial Versão 1.1 A rotina de acesso direto ao XML do S-1000, o usuário pode encontrar na opção de cadastro de Empresas do SIP. Sempre que o usuário localizar a figura ao

Leia mais

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

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede Prestashop 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 Instruções iniciais 4 4.2 Instalaçã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 Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

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

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

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

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

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

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

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

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

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

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede Magento 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 Instruções iniciais 4 4.2 Instalação

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

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

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

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item Sites da web. Servidor WEB Desenvolvedores de sites que querem aprender ou testar ASP, ou mesmo profissionais que precisam desenvolver páginas ASP ou ASP.Net, não precisam necessariamente ter um servidor na web com

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

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

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

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

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade do Sistema Índice Página 1. Como acessar o sistema 1.1 Requisitos mínimos e compatibilidade 03 2. Como configurar o Sistema 2.1 Painel de Controle 2.2 Informando o nome da Comissária 2.3 Escolhendo a Cor

Leia mais

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR 1 Índice: 01- Acesso ao WEBMAIL 02- Enviar uma mensagem 03- Anexar um arquivo em uma mensagem 04- Ler/Abrir uma mensagem 05- Responder uma mensagem

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

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

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

Configurando o DDNS Management System

Configurando o DDNS Management System Configurando o DDNS Management System Solução 1: Com o desenvolvimento de sistemas de vigilância, cada vez mais usuários querem usar a conexão ADSL para realizar vigilância de vídeo através da rede. Porém

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

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

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

EAI Manual do Administrador

EAI Manual do Administrador EAI Manual do Administrador 1 Definição de Host Application O que é um Host Application? Significa Aplicativo Hospedeiro, é o nome dado ao ambiente EAI que estará executando no seu computador ou em um

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

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

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

SCPIWeb. SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 )

SCPIWeb. SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 ) 2010 SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 ) SCPIWebCotacao Aplicação Web para Cotação de Preços via Internet Resumo de Instruções

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

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

Instalando software MÉDICO Online no servidor

Instalando software MÉDICO Online no servidor Instalando software MÉDICO Online no servidor A máquina denominada Servidora é a que armazenará o banco de dados do software (arquivo responsável pelas informações inseridas), compartilhando com as demais

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

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

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema. O que é o projeto O PROINFODATA - programa de coleta de dados do projeto ProInfo/MEC de inclusão digital nas escolas públicas brasileiras tem como objetivo acompanhar o estado de funcionamento dos laboratórios

Leia mais

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

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede Prestashop 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 Instruções iniciais 4 4.2 Instalação

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

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

Leia mais

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...

Leia mais

MANUAL DO PVP SUMÁRIO

MANUAL DO PVP SUMÁRIO Manual PVP - Professores SUMÁRIO 1 INTRODUÇÃO... 6 2 ACESSANDO O PVP... 8 3 TELA PRINCIPAL... 10 3.1 USUÁRIO... 10 3.2 INICIAL/PARAR... 10 3.3 RELATÓRIO... 10 3.4 INSTITUIÇÕES... 11 3.5 CONFIGURAR... 11

Leia mais

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet. 1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

MANUAL PORTAL CLIENTE AVANÇO

MANUAL PORTAL CLIENTE AVANÇO MANUAL PORTAL CLIENTE AVANÇO [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email] MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA Material Desenvolvido para Suporte Avanço Autor:

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

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

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

Leia mais

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI ESTE MATERIAL TEM UM OBJETIVO DE COMPLEMENTAR OS ASSUNTOS ABORDADOS DENTRO DE SALA DE AULA, TORNANDO-SE UM GUIA PARA UTILIZAÇÃO DA FERRAMENTA

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: iuri@scripthome.cjb.net Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

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

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

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

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS Servidor: O servidor é todo computador no qual um banco de dados ou um programa (aplicação) está instalado e será COMPARTILHADO para outros computadores,

Leia mais

Manual de implantação

Manual de implantação Manual de implantação O BioPass ID é um serviço online baseado em nuvem que fornece uma poderosa tecnologia multibiométrica (reconhecimento de impressões digitais e face) para os desenvolvedores de qualquer

Leia mais

Sistema de Chamados Protega

Sistema de Chamados Protega SUMÁRIO 1. INTRODUÇÃO... 3 2. REALIZANDO ACESSO AO SISTEMA DE CHAMADOS... 4 2.1 DETALHES DA PÁGINA INICIAL... 5 3. ABERTURA DE CHAMADO... 6 3.1 DESTACANDO CAMPOS DO FORMULÁRIO... 6 3.2 CAMPOS OBRIGATÓRIOS:...

Leia mais

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã...

ÍNDICE. 1. Introdução...2. 2. O que é o Sistema Mo Porã...2. 3. Como acessar o Site Mo Porã...3. 4. Cadastro do Sistema Mo Porã... ÍNDICE 1. Introdução...2 2. O que é o Sistema Mo Porã...2 3. Como acessar o Site Mo Porã...3 4. Cadastro do Sistema Mo Porã...4 5. Navegando no Site Mo Porã...6 5. 1 Manual de ajuda do sistema Mo Porã...7

Leia mais