Uma Aplicação da Chamada Remota de Métodos para Ajax em PHP

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

Download "Uma Aplicação da Chamada Remota de Métodos para Ajax em PHP"

Transcrição

1 Uma Aplicação da Chamada Remota de Métodos para Ajax em PHP Felipe Butcher Camargo Departamento de Ciência da Computação Pontifícia Universidade Católica Belo Horizonte, Minas Gerais Abstract Devido ao grande crescimento da utilização da Internet tanto por parte de grandes corporações quanto por usuários que utilizam o computador eventualmente, surgem algumas necessidades no que se refere à praticidade, usabilidade e portabilidade das aplicações Web. Um nome recente e muito importante no mundo da Internet é o Ajax (Asynchronous JavaScript and XML), metodologia de desenvolvimento que tem alavancado o desenvolvimento de sites mais inteligentes e ampliado a possibilidade da criação de sistemas Web com muito mais recursos e inovações inusitadas. Este trabalho apresenta uma metodologia mais consistente e, de certa forma, mais acadêmica para o desenvolvimento Web utilizando Ajax, além de uma ferramenta para facilitar a aplicação da mesma em sistemas simples ou complexos. I. INTRODUÇÃO O termo Ajax (Asynchronous JavaScript and XML) foi proposto em fevereiro de 2005 [1]. Nesta época, a idéia de trazer dados do servidor sem ter que atualizar a página a cada interação entre o computador do usuário e o servidor já vinha sendo utilizada, porém sem um termo que definisse o que era feito. Com o Ajax, a transferência de dados entre cliente e servidor não é feita da maneira tradicional pelo navegador, mas sim implementada pelo Javascript, linguagem de programação que roda encapsulada no navegador e permite que se execute scripts em uma página Web comum. Em uma página Web tradicional, o servidor retorna o conteúdo da página requisitada pelo cliente, o navegador simplesmente exibe o conteúdo na tela, substituindo o conteúdo anterior, mesmo que grande parte dele seja igual. Algumas páginas utilizam processamento no servidor através de linguagens de programação Web como por exemplo PHP [12] ou ASP [13]. Para este tipo de tecnologia, o servidor possui um interpretador que permite a execução de programas escritos utilizando estas linguagens e que geram dinamicamente os conteúdos. Com este tipo de tecnologia é possível criar aplicações Web que acessam bancos de dados e que podem ser utilizadas por vários clientes ao mesmo tempo, como fóruns, bate-papo, comércio eletrônico, entre outros. Uma página construída utilizando Ajax funciona de maneira diferente, a requisição não é feita pelo navegador, mas sim por um programa escrito em Javascript rodando dentro do navegador, como representado na Figura 1.1. Explicando melhor, o usuário possui em seu navegador uma interface e um programa Javascript. O programa Javascript possui diversos componentes, entre eles, o que merece ênfase neste momento, é o componente responsável por enviar mensagens ao servidor e receber a resposta. As mensagens enviadas consistem em uma URL formada pelo nome do servidor que hospeda a aplicação e um conjunto de variáveis que serão recebidas pelo programa servidor e tratadas da maneira adequada. O retorno será enviado da mesma maneira como se envia um conteúdo HTML porém receberá somente o conteúdo necessário naquele momento. Por exemplo, se o usuário deseja saber o nome do autor de determinado livro, o programa Ajax requisitará somente o nome do autor, e não mais uma página inteira com o nome do autor contido. O Ajax pode ser utilizado juntamente com alguma linguagem de programação de servidor, assim é possível desenvolver um sistema que possua um programa rodando no servidor e outro programa rodando no navegador do cliente, permitindo obter muito mais interatividade. Os dois programas deverão se comunicar de maneira a formar um sistema somente. Fig. 1. Comparativo entre metodologia tradicional e Ajax (GARRETT, 2005) Para ilustrar, vejamos um exemplo. Em uma busca de

2 biblioteca, o usuário precisa encontrar um livro sobre XML. O usuário quer um livro em português e somente lembra o nome do autor. A página de busca já foi carregada, somente uma vez, com toda a sua interface que contém textos, botões e figuras. Uma tabela exibirá os prováveis resultados para o usuário, esta também já está montada, porém com os campos em branco. Um campo de texto permite que o usuário digite o nome do autor, outro permite que o usuário informe o assunto e, em outro, o idioma. Um botão definido para buscar executa um comando Javascript, comando tal que monta a URL com os parâmetros, e faz a chamada ao servidor. O servidor receberá a requisição, que traz o nome do autor, o idioma e o assunto desejados, monta a SQL conveniente e faz a consulta ao banco. O resultado da pesquisa trará o nome do livro, a editora, o ano de publicação, sua situação (se está alugado ou não), entre outros dados. Com estes dados deverá ser montado um texto com os nomes das variáveis e seus valores, de preferência em XML. Este texto será retornado ao cliente. De posse dos dados, o Javascript identifica as variáveis e utiliza seus valores para preencher os campos da tabela que já estava montada. Este processo está representado na Figura 1.2. Toda esta operação necessitou de apenas alguns bytes para a requisição e para o retorno, onde foram, os parâmetros de pesquisa na ida e os dados do livro encontrados na volta, ao invés de retornar novamente toda a página com centenas de linhas HTML e imagens. Fig. 2. Exemplo de Aplicação do Ajax Outro exemplo clássico da utilização do Ajax é o Google Maps [15], no qual o usuário clica no mapa e arrasta para movê-lo para outra localização próxima. Ao arrastar a imagem do mapa, o Ajax vai recuperando do servidor as partes do mapa próximas ao local onde o usuário esta navegando. Assim o usuário não precisa esperar muito tempo até que o mapa seja carregado, pois são carregadas somente as partes que ele deseja visualizar. Mais um bom exemplo é o Google Suggest [17], no qual o Google vai mostrando sugestões à medida em que o usuário vai digitando sua pesquisa. Ao digitar o início de uma palavra, são recuperadas palavras com o mesmo início digitado de acordo com as pesquisas mais procuradas no Google, isso ajuda o usuário a encontrar exatamente o que está procurando. II. MOTIVAÇÃO Depois de analisar e testar alguns frameworks, verificou-se que ainda falta a aplicação de uma metodologia bem definida ao assunto. A idéia do trabalho é aplicar a chamada remota de métodos no Ajax, de maneira que se possa chamar métodos no servidor de maneira transparente através do Javascript. Os frameworks atuais implementam a comunicação evitando com que o desenvolvedor tenha que desenvolver códigos complexos que variam de navegador para navegador. Porém, as requisições são feitas passando-se parâmetros para a URL chamada a qual possui um programa servidor, o desenvolvedor precisa tratar a requisição com seus parâmetros definindo a saída. O programador, sabendo o que os métodos no servidor fazem, teria mais facilidade em simplesmente chamar os métodos e tratar seus retornos no próprio cliente. Um dos frameworks, O Google Web Toolkit [16], permite que você escreva programas em Java que serão automaticamente traduzidos em arquivos HTML e Javascript, facilitando o trabalho do programador, porém não implementa um suporte para o lado do servidor. O framework mais utilizado atualmente e também o que mais cresce é o prototype [9]. O prototype vem sendo largamente utilizado na produção de páginas Ajax em todo o mundo, tanto por desenvolvedores iniciantes quanto para experientes. Isso se deve ao fato de o framework ser de uso fácil, completamente flexível e possuir uma compatibilidade muito boa com outros frameworks, expandindo suas capacidades de produção. O motivo que leva os programadores iniciantes em Ajax a utilizar o prototype é a sua facilidade de programação, com apenas 2 linhas de código se consegue fazer uma requisição ao servidor e exibir o resultado. Existem também vários outros frameworks e plugins desenvolvidos sobre o prototype e que possuem total compatibilidade um com o outro e permitem que o programador utilize em sua página efeitos como drag and drop, autocomplete ou fade, de maneira extremamente fácil, sem tornar o site sobre-carregado e sem a utilização de flash. Tais recursos permitem um aprimoramento da usabilidade do sistema, o que antes só era conseguido em sistemas desktop. Podemos citar como exemplo o JsWindows (permite a exibição de janelas Javascript internas ao navegador) e o script.aculo.us [18] (com milhares de recursos), ambos são plugins do prototype. Um problema a ser enfrentado para se desenvolver este trabalho seria o fato de um programa PHP ter o tempo de vida somente do momento em que o servidor recebe a requisição até a hora em que o resultado é retornado. Isto pode ser contornado utilizando-se a memória do servidor através das variáveis de seção, as quais permanecem ativas enquanto o usuário não fechar o navegador, com isto podemos fazer com que tenhamos um programa rodando no servidor, gravando os objetos serializados em variáveis de seção. A. Objetivo Principal Para conseguir implementar a comunicação adequada para se desenvolver um sistema em Ajax, o programador precisa realizar uma série de procedimentos como, por exemplo, diferentes implementações que diferentes navegadores necessitam, montagem de uma estrutura do conteúdo de retorno (geralmente XML) para que as variáveis possam ser reconhecidas pelo cliente, entre outros. O objetivo principal do trabalho é o

3 desenvolvimento de um framework que faça todo este trabalho repetitivo e desgastante que um programador precisa realizar para desenvolver uma aplicação em Ajax. Acredita-se que ter transparente em Javascript todo o acesso ao sistema tornará mais intuitivo e simples o desenvolvimento de um sistema Web em Ajax. O desenvolvedor poderia então, utilizar a UML normalmente enquanto define a estrutura do sistema, desenvolvendo as classes de persistência e a comunicação com o banco de dados. Após esta etapa, o framework irá gerar os códigos de comunicação entre cliente e servidor, e o desenvolvedor irá trabalhar diretamente no Javascript fazendo as chamadas dos métodos no servidor através de eventos disparados no HTML, ficando livre para desenvolver ou aplicar o design do site em HTML. B. Proposta Para fazermos a aplicação da solução de chamada remota de métodos em Ajax, é necessária a geração de componentes que implementam a comunicação entre cliente e servidor, estes são chamados em computação distribuída de Stub e Skeleton. A idéia é o desenvolvimento de uma ferramenta, encarregado de gerar tais componentes. A ferramenta desenvolvida trabalha sobre as tecnologias PHP5, que já possui implementação com orientação a objetos, e Javascript, o qual possuíra as interfaces para a chamada de métodos PHP no servidor. Inicialmente, o desenvolvedor implementa as classes PHP que representam as entidades persistentes, a ferramenta trabalha sobre estas classes, gerando os códigos do Skeleton no servidor (PHP) e os códigos Javascript que farão a interface. O desenvolvedor com as classes prontas, insere as classes no sistema para serem tratadas, logo após deverá indicar ao sistema quais objetos e métodos no servidor poderão ser chamados pelo cliente. O framework então lerá todos os códigos indicados, tratando possíveis heranças e outros que poderão gerar alguma particularidade no funcionamento do Stub. Após este passo o desenvolvedor terá em mãos todos os componentes necessários para o funcionamento de sua aplicação. Agora é só desenhar a interface (HTML) e programar o cliente. No programa do cliente o programador já poderá chamar os métodos do servidor que foram indicados para comunicação. III. TRABALHOS RELACIONADOS O desenvolvimento em Ajax vem ganhando vários adeptos atualmente principalmente devido à sua grande amplitude de aplicação. O Ajax pode ser utilizado para uma grande variedade de aplicações, além de tornar possível a transformação de vários tipos de sistemas desktop em sistemas Web. Foram estudados alguns trabalhos a respeito do assunto, demonstrando a variedade de possibilidades de aplicação do Ajax. A. Construindo Aplicações com Ajax À medida que a Internet foi evoluindo, com o tempo foi tornando-se mais amigável com o usuário e permitindo-se construir sites cada vez mais interativos. Com o tempo foram surgindo novas tecnologias que permitem que os sites se tornem cada vez mais programáveis, como por exemplo, o Javascript, o flash, o PHP e o ASP entre outros. Entretanto, softwares Web continuavam, mesmo com essas tecnologias, com algumas limitações como baixa performance e falta de interatividade, especialmente quando comparados com softwares desktop [5]. Agora, os desenvolvedores possuem nas mãos uma nova ferramenta, que possibilita tornar os softwares Web mais parecidos com os softwares desktop. Esta ferramenta se chama Ajax (Asynchronous JavaScript e XML). Além de se parecer mais com softwares desktop, sites construídos com Ajax desenvolvem performance melhor do que sites tradicionais, isso porque o funcionamento do Ajax permite recuperar informação do servidor e exibir esta informação na tela sem que a página seja recarregada, através de uma chamada feita pelo Javascript. Por exemplo, o Google Maps, permite que o usuário clique no mapa e arraste-o para visualizar partes do mapa que antes não estavam sendo exibidas na tela, diferente, por exemplo do Terra Mapas [19] onde, quando o usuário deseja ver um pedaço logo abaixo no mapa, é necessário recarregar a página com a parte do mapa desejada. Todos os navegadores atuais suportam o Ajax, como ele usa apenas o Javascript como tecnologia necessária no navegadores para funcionar. Apesar de tudo, o Ajax ainda precisa desenvolver alguns conceitos que estão defasados, como complexidade de desenvolvimento e segurança. Ajax oferece melhorias de performance e interatividade ao desenvolvimento Web, alguns conceitos que antes só eram possíveis em softwares desktop agora também podem ser implementados via Web, permitindo-se construir sites com melhor usabilidade e ferramentas mais poderosas como editores de texto e programas de tratamento de imagens. B. Segurança Os sistemas Web podem se tornar inseguros devido ao grande número de tecnologias novas sendo usadas e também ao fato de que às vezes programadores utilizam essas novas tecnologias de maneira incorreta produzindo brechas de segurança em seus sistemas. Além disso, quando tratamos de sistemas Web, deixamos todo o código residente no navegador à disposição do usuário [3]. O número de vulnerabilidades em sistemas Web ultrapassou o número de vulnerabilidades de todos os outros tipos de aplicativos. Lembrando que cada vez mais os sistemas estão sendo implementados para Web. O Ajax, por ainda ser pouco conhecido e pela falta de experiência de programadores neste estilo, cria a possibilidade de vulnerabilidade nos sistemas criados com este método. Por exemplo, certa vez um garoto de 14 anos descobriu por acaso um sério bug no Gmail. Ao enviar um código Javascript de outro mail para o seu Gmail, o código foi executado no seu navegador ao visualizar o conteúdo da mensagem. Algumas entidades como a Web Application Security Project estão colaborando com este cenário através da criação de

4 frameworks e ferramentas. De qualquer maneira ainda faltam muitas melhorias neste processo. Segundo Mark Curphey, a Internet é diferente, os códigos não são compilados e estão espalhados entre servidores e clientes. A melhor ferramenta de teste é o próprio homem, porém ferramentas automáticas ajudam os homens a ficarem na frente nesta corrida. C. O uso do Ajax em sistemas geográficos Outra aplicação do Ajax são os Sistemas de Informação Geográfica como o Google Maps [6]. Um Sistema de Informação Geográfica (SIG ou GIS - Geographic Information System, do acrônimo inglês) é um sistema de hardware, software, informação espacial e procedimentos computacionais, que permite e facilita a análise, gestão ou representação do espaço e dos fenômenos que nele ocorrem. O artigo apresenta como resultado um framework eficiente para integração de Sistemas de Informação Geográfica com o Ajax. A idéia do framework é integrar diferentes aplicações em diferentes plataformas, utilizando o Javascript com Web Services e XML, aumentando assim a performance de aplicações Web de informação geográfica. Explicando melhor, o framework permite que navegadores leiam dados de servidores de informações geográficas e exibam a informação ao usuário de forma transparente e rápida, através do Ajax. A leitura desses dados é feita da seguinte maneira: o navegador requisita a informação a um servidor Web, este servidor, através de uma aplicação JSP, recupera a informação do servidor GIS e a retorna para o navegador do cliente. A utilização do Ajax permite ainda a criação de ferramentas diversas e com utilidades até então possíveis somente em programas locais como, por exemplo editores de imagens [2]. D. Arquitetura Alguns frameworks existentes conquistaram reconhecimento e se tornaram grandes contribuições para o desenvolvimento Ajax. A necessidade de tais ferramentas é muito significativa, uma vez que o desenvolvimento em Ajax requer a execução de uma grande quantidade de trabalho repetitivo e complicado para se obter um aplicativo consistente e seguro. Três dos grandes frameworks existentes atualmente são o Google Web Toolkit, o Echo2 e o Backbase [7]. O Google Web Toolkit (GWT) foi desenvolvido devido ao fato dos programadores do Google estarem levando muito tempo para desenvolver suas aplicações e tornando-as muito complicadas. Profissionais do Google pensaram então em criar uma aplicação para ajudar seus desenvolvedores a utilizar padrões para a programação Ajax e facilitar técnicas repetitivas. O GWT é uma aplicação Java que torna mais fácil o desenvolvimento orientado a objetos. A idéia inicial do GWT é programar em Java para gerar automaticamente os códigos Javascript. O código gerado pelo GWT faz com que a maioria do processamento seja executado no lado Cliente, fazendo com que o tráfego com o servidor diminua, porém as aplicações ficam mais pesadas no navegador do cliente. O Echo2 permite ao desenvolvedor programar suas aplicações seguindo o paradigma orientado a objetos. A ferramenta consiste numa aplicação servidor em J2EE e uma aplicação cliente em Javascript. A interação clienteservidor fica invisível ao programador. O sistema baseia-se na atualização de estado entre cliente e servidor. O Backbase é um software proprietário, bem completo e que já possui grandes clientes como a Ferrari, seu framework foi um dos primeiros frameworks comerciais para Ajax. O Backbase utiliza uma linguagem de interface própria chamada de BXML. O lado servidor do framework é desenvolvido em JSF. As mudanças de estado no cliente são enviadas ao servidor em determinados eventos. A Microsoft também criou um framework com o intuito de quebrar a complexidade de sistemas Ajax [11]. O Atlas se apresentou um bom framework, porém possui algumas limitações, com ele só é possível desenvolver na linguagem servidora da Microsoft, o ASP, além de só funcionar em plataforma Windows [4]. E. Chamada Assíncrona de Métodos Remotos Java RMI é a implementação de chamada remota de métodos em Java. Este modelo permite que um programa cliente obtenha referência para um objeto remoto e faça chamadas aos métodos deste objeto. Existe em Java RMI uma limitação no que se refere ao fato de não ser possível fazer chamadas remotas de maneira assíncrona. O conceito de chamadas assíncronas define que o programa cliente prossiga na sua execução após realizar uma chamada a um método remoto. Isso evita que o programa fique ocioso enquanto aguarda o resultado de uma chamada. A noção de sistemas distribuídos tem se firmado cada vez mais como o padrão de plataforma de desenvolvimento de software [8]. A programação distribuída, através de chamada remota de métodos, caracteriza uma solução mais organizada para o desenvolvimento de aplicações distribuídas do que todos as soluções utilizadas até hoje com os frameworks e ferramentas existentes para Ajax. Seria interessante fazer essa aproximação, tornar o desenvolvimento em Ajax semelhante à metodologia utilizada em chamada remota de métodos, para tornar mais ainda orientado a objetos e organizado. Isso facilitaria a análise e modelagem UML dos sistemas em Ajax. F. JSON-RPC-Java Uma ferramenta recentemente criada implementa algo bem parecido com o objetivo deste trabalho, porém para um sistema servidor em Java. A ferramenta possibilita a chamada remota de métodos de uma aplicação em Java rodando no servidor através de Javascript rodando em um navegador. Além disso, possibilita o mapeamento de objetos através de reflexão [10]. Segundo a documentação do projeto, o mesmo apresenta uma limitação, a ferramenta não dá suporte a referência circular. Tanto o PHP quanto o Javascript possibilitam referência circular, além disso a metodologia utilizada em Ajax também

5 possibilita a utilização de referência circular em transporte de objetos serializados. Outra limitação a ser vencida neste projeto é o fato de o tempo de vida de um programa PHP ser diferente de um aplicativo Java. Um programa PHP se inicia quando é feita a requisição e termina quando o mesmo retorna o conteúdo para o cliente. Isso pode ser contornado utilizando-se variáveis de sessão, variáveis que permanecem existentes na memória do servidor entre uma requisição e outra. Os objetos criados devem ser serializados e armazenados nestas variáveis. A serialização em PHP dá suporte a composição e até mesmo a referência circular. IV. METODOLOGIA Como foi visto anteriormente, nosso objetivo é otimizar a programação em Ajax, diminuindo a complexidade e facilitando trabalhos complexos que o Ajax exige. Para isso precisamos alcançar uma estruturação metódica padrão que facilite o uso para desenvolvedores acostumados com os padrões de orientação por objeto. A. Desenvolvimento A idéia do trabalho é que o desenvolvedor possa chamar os métodos dos objetos no servidor de maneira transparente através do Ajax. No framework prototype, por exemplo, o desenvolvedor faz a chamada através de uma URL, passando como parâmetro os nomes das variáveis e seus valores, no servidor, é necessário implementar este tratamento, receber as variáveis e montar o resultado, assim como se monta uma página com o PHP, o resultado então é trazido para o Javascript que pode tratá-lo e exibi-lo na tela ou realizar qualquer outra ação com ele. A metodologia utilizada em chamada remota de métodos trata os métodos do servidor como se estes estivessem implementados no próprio cliente. Em Java RMI o desenvolvedor obtém uma referência para um objeto remoto através de um lookup apontando para a máquina servidor. O Java RMI, além disso possui um gerador dos componentes de comunicação entre cliente e servidor. Após gerados estes componentes (Stub no cliente, Skeleton no servidor), o cliente pode acessar os objetos do servidor de maneira transparente, isto facilita o desenvolvimento já que o desenvolvedor não precisa se preocupar com a implementação da comunicação, apenas deve conhecer os objetos do servidor e como estes se comportam. A idéia do trabalho é exatamente a mesma idéia de Java RMI. A ferramenta proposta realiza a leitura de todo o código devidamente orientado a objetos implementado no servidor, e gera o código de obtenção de referência e chamada de métodos dos objetos. Além disso gera o código Javascript com as interfaces para a chamada dos métodos no servidor. O desenvolvedor, ciente do funcionamento das classes no servidor, faz as chamadas dos métodos remotos passando como parâmetro variáveis do Javascript, que podem ser, por exemplo, variáveis de formulários HTML, e recebe seus resultados como retorno normal das funções, podendo utilizá-los da maneira correta, exibindo-os na tela em campos de formulários, ou inserindo códigos HTML retornados pelas funções no HTML já presente na página naquele momento. Outra vantagem da ferramenta apresentada neste trabalho é a implementação automática de soluções para os problemas do Ajax já bem conhecidos por programadores como, por exemplo, o funcionamento do botão voltar, que geralmente é ativado no navegador quando o endereço do site muda, o que não acontece quando se trabalha com Ajax, ou ainda a não indexação completa por mecanismos de pesquisa como o Google. B. Estrutura de Programação A ferramenta desenvolvida é capaz de gerar automaticamente os componentes de comunicação necessários para o funcionamento do sistema. O referido sistema foi desenvolvido em PHP (servidor) e Javascript (cliente).assim como um sistema RMI tradicional, o sistema desenvolvido com a solução sugerida neste trabalho possui os seguintes componentes: Programa Cliente Stub Skeleton Programa Servidor Os componentes citados acima estão representados na Figura 3.1. Fig. 3. Estrutura de um programa RMI O programa cliente é nada mais do que uma página HTML contendo links que farão chamadas às funções de objetos declarados no Servidor. Fazendo uma analogia a Java, este componente seria a interface com o usuário final do sistema, assim como um jframe com botões e caixas de texto. O Stub é o componente responsável pela comunicação com o Skeleton e é desenvolvido em Javascript. O mesmo é capaz de receber uma requisição de acesso a um objeto qualquer, enviá-la ao Skeleton, receber o objeto serializado com os métodos e gerar dinamicamente o objeto correspondente em Javascript O Skeleton por sua vez, recebe a requisição de acesso ao objeto e localiza o mesmo no programa servidor. Após localizado o objeto, o Skeleton recupera o objeto que está gravado em variável de sessão, serializa o objeto e retorna o mesmo ao Stub. O programa servidor pode ser qualquer tipo de sistema orientado a objetos e implementado em PHP5, o qual da suporte à orientação por objetos.

6 Note que em Java RMI os objetos remotos não podem ser criados por clientes tradicionalmente, porém existe uma ferramenta que torna isso possível, o Java 2 Remote Object Activation [20]. Tendo em vista que esta possibilidade não seria uma desvantagem, e sim uma vantagem, a ferramenta criada possibilita a criação de objetos remotos pelo cliente. V. SOLUÇÃO Como solução para o problema apresentado neste trabalho, foi desenvolvida uma ferramenta, a qual iremos chamar de phpajaxrmi. A ferramenta desenvolvida é composta basicamente por dois módulos: O Stub e o Skeleton. O Stub, como foi dito, cria objetos Javascript dinamicamente de acordo com a resposta do servidor à requisição de acesso ao objeto feita. Para isso, usamos uma propriedade dos objetos Javascript, chamada prototype, que permite que métodos e atributos sejam adicionados a objetos em tempo de execução. Isto significa que temos uma classe padrão, chamada de RemoteObject, dentro do Stub. Um objeto dessa classe será instanciado para cada objeto remoto que for criado no Javascript, no construtor desta classe passaremos o nome da classe e um id de registro do objeto caso ele já exista no servidor, caso contrário será instanciado um novo objeto remoto. A comunicação entre Stub e Skeleton e feita basicamente por requisições http e objetos serializados em XML. Ou seja, o Stub envia uma requisição via URL, passando parâmetros encapsulados na mesma, e recebe os Objetos serializados, os traduz e cria os objetos propriamente ditos. Note que os métodos farão apenas requisições e não possuirão a implementação, que ficará no servidor, assim como Java RMI. O Skeleton possui uma Classe chamada Object, que receberá como parâmetro em seu construtor, o nome da classe e o id do registro (null para novo objeto). O Object então procura em um banco de registros para ver se já existe um objeto registrado com aquele id (assim como o rmiregistry do Java), caso exista, recupera o objeto e o envia serializado como resposta para o Stub. Este envio é feito via conteúdo XML. Para que isto seja possível foi implementado um componente que guarda registros de objetos, chamado de ObjectRegistry. Além disso, para objetos requisitados que não estiverem no registro, são utilizadas as funções do PHP: getdeclaredclasses, que retorna os nomes de todas as classes declaradas no sistema; getclassmethods, que retorna os métodos de uma classe ou de um objeto; e a função getclassvars, que retorna todas as variáveis da classe. A estrutura citada está representada no diagrama da Figura 4.1. A. Especificação da Ferramenta A ferramenta desenvoldida foi totalmente construída utilizando as tecnologias PHP e Javascript. Todos os outros componentes foram construídos sobre essas tecnologias. A justificativa para a utilização do Javascript se deve ao fato de ser a linguagem de programação baseada em navegador mais utilizada no mundo, além de permitir orientação por objetos. Já a utilização do PHP se deve ao fato de ser uma linguagem de Fig. 4. Estrutura de uma aplicação criada através da solução aqui apresentada programação Web bastante popular atualmente e de não possuir uma ferramenta que atenda bem no contexto aqui apresentado. Devido a uma particularidade do PHP, o tempo de vida de um programa escrito nesta linguagem é curto, o programa inicia quando a requisição é feita e, após a conclusão da geração do HTML, termina. Para contornar este problema, foram utilizadas as variáveis de sessão, variáveis que permanecem residentes na memória do servidor enquanto o cliente estiver com seu navegador ativo. Tecnicamente, os objetos são serializados e então armazenados na memória do servidor. Quando o cliente requisitar novamente acesso ao objeto, o mesmo é recuperado da memória e então é restaurado, recuperando seu estado de existência anterior (objeto instanciado). Para a geração dos componentes, foram utilizadas, além do StubSkeletonGenerator, uma classe para realizar a compactação e descompactação dos arquivos, outra para realizar a leitura dos diretórios recursivamente e atribuir permissões aos arquivos. Estes componentes compõem o núcleo da aplicação e realizam a tarefa mais importante de todo o contexto, os mesmos estão representados na Figura 4.2. Fig. 5. B. Exemplo de Utilização Estrutura do gerador de componentes Como exemplo de aplicação do phpajaxrmi, utilizamos uma aplicação para fazer consultas a um banco de dados mysql. A aplicação funciona basicamente da seguinte maneira: a interface possui um campo de texto no qual o usuário entrará uma consulta SQL. O servidor possui uma classe Banco

7 responsável por manter a conexão com o banco de dados e realizar as requisições ao mesmo. Além disso a interface possui uma tabela na qual os resultados das consultas são exibidos. Na mesma tabela existe a opção de alterar ou excluir um registro, caso o mesmo pertença somente a uma tabela do banco. Para utilizar o phpajaxrmi, o usuário precisa compactar o diretório contendo suas classes PHP em um arquivo único, o qual é inserido no programa, conforme a Figura 4.3. O phpajaxrmi então executa as seguintes tarefas: Descompacta o arquivo no servidor que hospeda o phpajaxrmi; Monta a estrutura de diretórios sobre a qual funcionará a aplicação depois da geração; Lê cada classe, tratando linha por linha e buscando os nomes e tipos das variáveis, os nomes dos métodos e seus tipos de retorno e seus parâmetros; Imprime um arquivo Javascript para cada classe PHP, com todos as variáveis, métodos e parâmetros encontrados nas classes PHP, porém com códigos diferentes, códigos estes que farão a chamada no servidor, converterão os objetos retornados de PHP para Javascript e retornarão os mesmos, estes arquivos farão o papel das interfaces de chamada dos objetos remotos; Copia os componentes necessários para o funcionamento da aplicação, são eles: - Skeleton, componente previamente gerado que receberá as requisições e fará o controle e execução dos objetos remotos; - PHPUnserialize [14], componente responsável por traduzir objetos php serializados em objetos Javascript; - Prototype, framework Javascript responsável por executar a parte mais baixo nível da comunicação com o servidor, trata as diferenças entre os diferentes navegadores; Finalmente, compacta toda a estrutura gerada em um arquivo e disponibiliza o mesmo para o usuário. Fig. 6. Tela do phpajaxrmi Com a estrutura da aplicação em mãos, o usuário pode agora desenvolver sua aplicação. Considerando que o usuário tenha inserido a classe Banco em seu arquivo inicial, sendo assim o usuário agora possui a interface Banco, em Javascript, a qual fará referência ao objeto remoto no servidor. Para concluir o desenvolvimento da aplicação, o usuário agora precisa construir a interface que deverá conter um campo de texto para a entrada do comando SQL, um botão para executar a chamada e uma tabela para exibir os resultados da SQL executada. O usuário, além disso deverá instanciar um objeto Banco no corpo da página que contém a aplicação, ao chamar o construtor, é feita uma requisição ao servidor solicitando a execução do construtor no servidor, um objeto remoto será instanciado. Ao botão deverá ser atribuído um evento que deve ser executado quando se clicar no mesmo, este evento deverá chamar um método do objeto remoto que receberá como parâmetro a SQL contida no campo texto informada pelo usuário. Este método retornará uma matriz com os resultados do SQL, está matriz, contida em um objeto PHP, será convertida em uma matriz Javascript, que então será inserida na tabela linha a linha. Durante a implementação deste sistema utilizando o phpajaxrmi, o desenvolvedor economizou milhares de linhas de código. Além disso, depois de gerado o código, já ficou bem claro o que seria necessário fazer para concluir a aplicação desejada, isto se deve ao fato de o desenvolvedor não precisar se preocupar com centenas de questões pertinentes ao problema e poder manter seu foco somente na estrutura dos objetos que efetivamente fazem parte da aplicação. VI. CONCLUSÃO O desenvolvimento Web vem ganhando espaço na área de tecnologia e vem cada vez mais se tornando uma necessidade para o desenvolvimento e crescimento da tecnologia da informação. À medida que uma nova tendência como esta cresce, é necessário que se disponha de uma plataforma capaz de sustentar ou até acelerar este crescimento, de maneira que precisamos de novas tecnologias e soluções para que se torne possível sustentar todo esse crescimento e toda essa quantidade e velocidade de informação. O desenvolvimento Web também tem se tornado muito popular, devido ao fato de seu baixo custo operacional. Qualquer computador atualmente conectado à rede é capaz de rodar aplicativos Web sem qualquer problema de compatibilidade. Toda esta popularização e crescimento fazem necessário o desenvolvimento de novas soluções que tornem mais ágil e inteligente a produção de sistemas Web. Além disso, também vem crescendo o número de profissionais que trabalha nesta área. O trabalho tem o objetivo de tornar conhecida esta necessidade da produção mais organizada e padronizada na Web, já que o desenvolvimento Web possui centenas de tecnologias e possibilidades diferentes, necessitando assim de padronização e agilidade. O trabalho apresenta uma solução que pode tornar o desenvolvimento Web mais correto. A ferramenta apresentada possibilita ao desenvolvedor maior agilidade, padronização e o

8 protege de erros difíceis de se detectar, já que se possui grande parte da implementação resolvida automaticamente. Além da organização, utlizando o phpajaxrmi o desenvolvedor é capaz de desenvolver aplicações mais robustas, atingindo contextos mais profissionais, possibilitando inclusive a modelagem de sistemas corporativos com maior consistência. REFERENCES [1] Jesse James Garrett, Ajax: A New Approach to Web Applications, Adaptive Path, [2] Thiago Silva Borges, Jackson Gomes de Souza, Um Protótipo de Editor de Imagens via Web, Sistemas de Informação - Centro Universitário Luterano de Palmas, 2005 [3] Mike Andrews, The State of Web Security, IEEE Computer Society, IEEE Security & Privacy, 2006 [4] Keith Smith, Simplifying Ajax-Style Web Development, Microsoft, 2006 [5] Linda Dailey Paulson, Building Rich Web Applications with Ajax, IEEE Computer Society, 2005 [6] Ahmet Sayar, Marlon Pierce, Geoffrey Fox, Integrating AJAX Approach into GIS Visualization Web Services, Microsoft, 2006 [7] Ali Mesbah, Arie van Deursen, An Architectural Style for Ajax, Faculty of Electrical Engineering, Mathematics and Computer Science - Delft University of Technology, 2006 [8] Marco Túlio de Oliveira Valente, Wendell Figueiredo Taveira, Mariza Andrade da Silva Bigonha, Roberto da Silva Bigonha, Chamada Assíncrona de Métodos Remotos em Java, Departamento de Ciência da Computação, PUC-MG - Instituto de Ciências Exatas, 2002 [9] Prototype JavaScript Framework [10] JavaScript to Java AJAX communications library [11] Atlas Framework [12] Hypertext Preprocessor [13] Active Server Pages [14] Unserialize PHP with Javascript Unserialize.html, [15] Google Maps [16] Google Web Toolkit [17] Google Suggest [18] script.aculo.us [19] Terra Mapas [20] Java 2 Remote Object Activation

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

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 PARA INTERNET RICA RICH INTERNET APPLICATIONS

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o que é uma Aplicação Rica para Internet Contextualizar tais aplicações na Web e os desafios

Leia mais

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa ACESSE Informações corporativas a partir de qualquer ponto de Internet baseado na configuração

Leia mais

World Wide Web e Aplicações

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

Leia mais

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

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

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

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

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

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

Nome N Série: Ferramentas

Nome N Série: Ferramentas Nome N Série: Ferramentas Competências: Identificar e utilizar técnicas de modelagem de dados; Habilidades: Utilizar ferramentas de apoio ao desenvolvimento de software; Bases Tecnológicas: Metodologias

Leia mais

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

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

Engenharia de Software Aplicações de Internet

Engenharia de Software Aplicações de Internet Engenharia de Software Aplicações de Internet Eduardo Santos eduardo.edusantos@gmail.com eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Histórico Por que existe a Internet? Por que existe

Leia mais

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

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

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa Adobe Flex Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa O que é Flex? Estrutura de Código aberto para a criação de aplicativos Web Utiliza o runtime do Adobe

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

AULA 1 PHP O QUE É APACHE FRIENDS

AULA 1 PHP O QUE É APACHE FRIENDS O QUE É PHP Se você já programa PHP, aconselho que pule para o capítulo 7 desse livro. Pois até esse capitulo iremos abordar algoritmos em PHP até a construção de uma classe com seus métodos e atributos

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

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

GerNFe 1.0 Sistema de Gerenciador de Notas Fiscais Eletrônicas

GerNFe 1.0 Sistema de Gerenciador de Notas Fiscais Eletrônicas GerNFe 1.0 Manual do usuário Página 1/13 GerNFe 1.0 Sistema de Gerenciador de Notas Fiscais Eletrônicas O programa GerNFe 1.0 tem como objetivo armazenar em local seguro e de maneira prática para pesquisa,

Leia mais

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação. alyssonfm@lcc.ufcg.edu.br Universidade Federal de Campina Grande Departamento de Sistemas e Computação Ciência da Computação alyssonfm@lcc.ufcg.edu.br Maio - 2010 Agenda GWT Vantagens Desvantagens Exemplificação de códigos GWT

Leia mais

Resumo de TCC Desenvolvimento de um sistema ERP com foco nas tecnologias de software livre / código aberto

Resumo de TCC Desenvolvimento de um sistema ERP com foco nas tecnologias de software livre / código aberto UFSC - Universidade Federal de Santa Catarina CTC Centro Tecnológico INE Departamento de Informática e Estatística INE5631 Projetos I Prof. Renato Cislaghi Resumo de TCC Desenvolvimento de um sistema ERP

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

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

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

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 12 2007 2012 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Manual Operacional AVA (Ambiente Virtual de Aprendizagem)

Manual Operacional AVA (Ambiente Virtual de Aprendizagem) Manual Operacional AVA (Ambiente Virtual de Aprendizagem) ead.clinicajulioperes.com.br Sumário navegável Como acesso o ambiente?... Como assisto aos vídeos?... Como preencher meu perfil?...

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

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

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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

Leia mais

Estamos muito felizes por compartilhar com você este novo serviço educacional do Centro Universitário de Patos de Minas.

Estamos muito felizes por compartilhar com você este novo serviço educacional do Centro Universitário de Patos de Minas. PALAVRA DO COORDENADOR Estimado, aluno(a): Seja muito bem-vindo aos Cursos Livres do UNIPAM. Estamos muito felizes por compartilhar com você este novo serviço educacional do Centro Universitário de Patos

Leia mais

Publicação web. Será ativado um assistente de publicação que lhe guiará em todas as etapas a seguir apresentadas.

Publicação web. Será ativado um assistente de publicação que lhe guiará em todas as etapas a seguir apresentadas. Publicação web Pré requisitos: Lista de questões Formulário multimídia Este tutorial tem como objetivo, demonstrar de maneira ilustrativa, todos os passos e opções que devem ser seguidos para publicar

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

Introdução à Tecnologia Web

Introdução à Tecnologia Web Introdução à Tecnologia Web JavaScript Histórico e Características Índice 1 JAVASCRIPT... 2 1.1 Histórico... 2 1.2 Aplicações de JavaScript... 2 a) Interatividade... 2 b) Validação de formulários... 2

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

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

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5 Para entender bancos de dados, é útil ter em mente que os elementos de dados que os compõem são divididos em níveis hierárquicos. Esses elementos de dados lógicos constituem os conceitos de dados básicos

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

INTERNET -- NAVEGAÇÃO

INTERNET -- NAVEGAÇÃO Página 1 Acessando endereços simultaneamente Parte 2 Um recurso interessante e extremamente útil é o de abrir várias janelas ao mesmo tempo. Em cada janela você poderá acessar um endereço diferente na

Leia mais

Manual de referência do HP Web Jetadmin Database Connector Plug-in

Manual de referência do HP Web Jetadmin Database Connector Plug-in Manual de referência do HP Web Jetadmin Database Connector Plug-in Aviso sobre direitos autorais 2004 Copyright Hewlett-Packard Development Company, L.P. A reprodução, adaptação ou tradução sem permissão

Leia mais

SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA)

SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA) SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA) Alessandra Lubbe 1 Alexandre Evangelista 2 Jeandro Perceval 3 José Ramiro Pereira 4 Luiz Gustavo Mahlmann 5 RESUMO

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

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introduçã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 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Criação de Formulários no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Criação de Formulários no Google Drive Introdução...

Leia mais

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes

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

5 Detalhes da Implementação

5 Detalhes da Implementação Detalhes da Implementação 101 5 Detalhes da Implementação Neste capítulo descreveremos detalhes da implementação do Explorator que foi desenvolvido usando o paradigma MVC 45 e o paradigma de CoC 46 (Convention

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS PAULO ALBERTO BUGMANN ORIENTADOR: ALEXANDER ROBERTO VALDAMERI Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

Enviando Arquivos para a Neoband

Enviando Arquivos para a Neoband www.neoband.com.br (11) 21991200 suporte técnico - suporte@neoband.com.br atendimento gráfica - atend@neoband.com.br atendimento sinalização - atendbig@neoband.com.br 05/07/2011 Enviando Arquivos para

Leia mais

Zend. Framework. Flávio Gomes da Silva Lisboa. Novatec. Desenvolvendo em PHP 5 orientado a objetos com MVC

Zend. Framework. Flávio Gomes da Silva Lisboa. Novatec. Desenvolvendo em PHP 5 orientado a objetos com MVC Zend Framework Desenvolvendo em PHP 5 orientado a objetos com MVC Flávio Gomes da Silva Lisboa Novatec 1 Introdução CAPÍTULO O desenvolvimento de aplicações tornou-se uma atividade extremamente complexa

Leia mais

Informática básica Telecentro/Infocentro Acessa-SP

Informática básica Telecentro/Infocentro Acessa-SP Informática básica Telecentro/Infocentro Acessa-SP Aula de hoje: Periférico de entrada/saída, memória, vírus, Windows, barra tarefas. Prof: Lucas Aureo Guidastre Memória A memória RAM é um componente essencial

Leia mais

CSF Designer Intuition SOLUÇÕES DE OUTPUT FIS

CSF Designer Intuition SOLUÇÕES DE OUTPUT FIS SOLUÇÕES DE OUTPUT FIS O CSF Designer Intuition TM da FIS ajuda organizações que lidam com o cliente a criar, de forma instantânea e interativa, documentos comerciais respeitando as regulações vigentes,

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

Baidu Spark Browser. Documento de Especificação de Requisitos de Software

Baidu Spark Browser. Documento de Especificação de Requisitos de Software Baidu Spark Browser Documento de Especificação de Requisitos de Software Campus Party Brasil 2014 Desafio Baidu Quero um estágio na China Autor: Thiago Pinheiro Silva E-mail: eu@thiageek.com.br Índice

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

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

Conceitos Web. Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Notas de Aula Aula 13 1º Semestre - 2011. UNIJUÍ DETEC Ciência da Computação

Conceitos Web. Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Notas de Aula Aula 13 1º Semestre - 2011. UNIJUÍ DETEC Ciência da Computação UNIJUÍ DETEC Ciência da Computação Prof. Msc. Juliano Gomes Weber (jgw@unijui.edu.br) Conceitos Web Notas de Aula Aula 13 1º Semestre - 2011 Tecnologias Web jgw@unijui.edu.br Conceitos Básicos Sistema

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

Leia mais

MANUAL DE UTILIZAÇÃO DO MOODLE 2.6

MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO NTIC MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2014 NÚCLEO DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO NTIC MANUAL DE UTILIZAÇÃO DO MOODLE

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

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

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV

APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV APOSTILA DE LINGUAGEM DE PROGRAMAÇÃO IV CIÊNCIA DA COMPUTAÇÃO PROF. ERWIN ALEXANDER UHLMANN Universidade Guarulhos Página 1 Agradecimentos Agradeço a todos os alunos que com suas dúvidas me ajudaram a

Leia mais

NOVO COMPONENTE ASSINADOR ESEC

NOVO COMPONENTE ASSINADOR ESEC NOTAS FISCAIS DE SERVIÇO ELETRÔNICAS PREFEITURA DE JUIZ DE FORA COMPLEMENTO AO SUPORTE A ATENDIMENTO NÍVEL 1 1.0 Autor: Juiz de Fora, Fevereiro 2015. PÁGINA 1 DE 38 SUMÁRIO 1REQUISITOS MÍNIMOS CONFIGURAÇÕES

Leia mais

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

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

Leia mais

Guia de uso do Correio Eletrônico Versão 1.1

Guia de uso do Correio Eletrônico Versão 1.1 Guia de uso do Correio Eletrônico Versão 1.1 Índice Introdução ao Serviço de E-mail O que é um servidor de E-mail 3 Porque estamos migrando nosso serviço de correio eletrônico? 3 Vantagens de utilização

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Manual do Usuário 2013

Manual do Usuário 2013 Manual do Usuário 2013 MANUAL DO USUÁRIO 2013 Introdução Um ambiente virtual de aprendizagem é um programa para computador que permite que a sala de aula migre para a Internet. Simula muitos dos recursos

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

Usando Borland DELPHI para implementar aplicações CORBA

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

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

15. OLHA QUEM ESTÁ NA WEB!

15. OLHA QUEM ESTÁ NA WEB! 7 a e 8 a SÉRIES / ENSINO MÉDIO 15. OLHA QUEM ESTÁ NA WEB! Sua home page para publicar na Internet SOFTWARES NECESSÁRIOS: MICROSOFT WORD 2000 MICROSOFT PUBLISHER 2000 SOFTWARE OPCIONAL: INTERNET EXPLORER

Leia mais

Flex. MANUAL DE USO DA FERRAMENTA FLEX O Flex como gerenciador de conteúdo

Flex. MANUAL DE USO DA FERRAMENTA FLEX O Flex como gerenciador de conteúdo 2011 MANUAL DE USO DA FERRAMENTA FLEX O Flex como gerenciador de conteúdo Aprenda como é simples utilizar a ferramenta Flex como seu gerenciador de conteúdo online. Flex Desenvolvido pela ExpandWEB 31/01/2011

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

Informática Básica. Microsoft Word XP, 2003 e 2007

Informática Básica. Microsoft Word XP, 2003 e 2007 Informática Básica Microsoft Word XP, 2003 e 2007 Introdução O editor de textos Microsoft Word oferece um conjunto de recursos bastante completo, cobrindo todas as etapas de preparação, formatação e impressã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

Norton 360 Online Guia do Usuário

Norton 360 Online Guia do Usuário Guia do Usuário Norton 360 Online Guia do Usuário Documentação versão 1.0 Copyright 2007 Symantec Corporation. Todos os direitos reservados. O software licenciado e a documentação são considerados software

Leia mais

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Programação WEB. Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP Programação WEB Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula III Introdução PHP Introdução PHP PHP=Hypertext Pre-Processor Linguagem de script open

Leia mais

Cookies. Krishna Tateneni Jost Schenck Tradução: Lisiane Sztoltz

Cookies. Krishna Tateneni Jost Schenck Tradução: Lisiane Sztoltz Krishna Tateneni Jost Schenck Tradução: Lisiane Sztoltz 2 Conteúdo 1 Cookies 4 1.1 Política............................................ 4 1.2 Gerenciamento....................................... 5 3 1

Leia mais

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues zanonr@gmail.com. UNIVEM - Prof. Elvis Fusco

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues zanonr@gmail.com. UNIVEM - Prof. Elvis Fusco II Semana TI Curso ASP.NET AJAX Raphael Zanon Rodrigues zanonr@gmail.com UNIVEM - Prof. Elvis Fusco Apresentação O que é o AJAX? AJAX e o desenvolvedor AJAX para ASP.NET AJAX prático O que é AJAX? AJAX

Leia mais

e-mails editores de e-mails Como configurar contas de nos principais Como configurar contas de e-mails nos principais editores de e-mails

e-mails editores de e-mails Como configurar contas de nos principais Como configurar contas de e-mails nos principais editores de e-mails Como configurar contas de e-mails nos principais editores de e-mails Podemos acessar nossos e-mails pelo webmail, que é um endereço na internet. Os domínios que hospedam com a W3alpha, acessam os e-mails

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