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

Potenciais de Aplicação da Metodologia AJAX

Potenciais de Aplicação da Metodologia AJAX SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 Potenciais de Aplicação da Metodologia AJAX Bruno Simões Kleverson Pereira Marcos Santos Eduardo Barrere Associação Educacional Dom Bosco - AEDB RESUMO

Leia mais

World Wide Web e Aplicações

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

Leia mais

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

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

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

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

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

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva Universidade Federal de Juiz de Fora UFJF-MG Campo Universitário Bairro Marmelos Juiz de Fora MG Brasil

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

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

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

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

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

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

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

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

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

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

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

Frameworks para Desenvolvimento em PHP Elton Luís Minetto

Frameworks para Desenvolvimento em PHP Elton Luís Minetto Frameworks para Desenvolvimento em PHP Elton Luís Minetto Novatec capítulo 1 Introdução Uma das grandes vantagens do PHP é sua facilidade de aprendizado. Ao ler poucas páginas de tutoriais ou de algum

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

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

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

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

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet.

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. TERMINOLOGIA Navegador ou Browser Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. Os Browsers se comunicam com servidores

Leia mais

Módulo 11 A Web e seus aplicativos

Módulo 11 A Web e seus aplicativos Módulo 11 A Web e seus aplicativos Até a década de 90, a internet era utilizada por acadêmicos, pesquisadores e estudantes universitários para a transferência de arquivos e o envio de correios eletrônicos.

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

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

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

Automação do Processo de Instalação de Softwares

Automação do Processo de Instalação de Softwares Automação do Processo de Instalação de Softwares Aislan Nogueira Diogo Avelino João Rafael Azevedo Milene Moreira Companhia Siderúrgica Nacional - CSN RESUMO Este artigo tem como finalidade apresentar

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

Considerando-se a especificação de requisitos de um software, é INCORRETO afirmar que esse documento

Considerando-se a especificação de requisitos de um software, é INCORRETO afirmar que esse documento QUESTÕES DE TI QUESTÃO 16 Considerando-se o número de pontos de função para a estimativa do tamanho de um software, é INCORRETO afirmar que, na contagem de pontos, leva-se em consideração A) as compilações

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 23 http://www.ic.uff.br/~bianca/introinfo/ Aula 23-07/12/2007 1 Histórico da Internet Início dos anos 60 Um professor do MIT (J.C.R. Licklider) propõe a idéia de uma Rede

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 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

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

19/05/2009. Módulo 1

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

Leia mais

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

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

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

Ferramentas Web para controle e supervisão: o que está por vir

Ferramentas Web para controle e supervisão: o que está por vir Artigos Técnicos Ferramentas Web para controle e supervisão: o que está por vir Marcelo Salvador, Diretor de Negócios da Elipse Software Ltda. Já faz algum tempo que ouvimos falar do controle e supervisão

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

Desenvolvendo Aplicações Web com NetBeans

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

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

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

Leia mais

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

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

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

7 Utilização do Mobile Social Gateway

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

Leia mais

FERRAMENTAS PARA DESENVOLVIMENTO EM C#

FERRAMENTAS PARA DESENVOLVIMENTO EM C# FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wyllian@unipar.br Resumo. Este artigo

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 em três camadas com PHP 5, MVC e AJAX

Desenvolvimento em três camadas com PHP 5, MVC e AJAX Desenvolvimento em três camadas com PHP 5, MVC e AJAX Almir Neto almirneto@gmail.com Otávio Calaça otaviocx@gmail.com http://phpendo.blogspot.com CoNaPHP CONISLI 2008 http://www.conaphp.com.br/ São Paulo,

Leia mais

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

Leia mais

Digifort Mobile Manual Version 1.0 Rev. A

Digifort Mobile Manual Version 1.0 Rev. A Digifort Mobile Manual Version 1.0 Rev. A 2 Digifort Mobile - Versão 1.0 Índice Parte I Bem vindo ao Manual do Digifort Mobile 1.0 5 1 Screen... Shots 5 2 A quem... se destina este manual 5 3 Como utilizar...

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

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

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

vgf Violin Gerenciador de Franquias

vgf Violin Gerenciador de Franquias vgf Violin Gerenciador de Franquias Violin Gerenciador de Franquias vgf Violin Gerenciador de Franquias Visão Geral Bem-vindo ao Violin Gerenciador de Franquias, uma poderosa aplicação vertical que dá

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

Cogent DataHub v7.0. A próxima geração em soluções para troca de dados em tempo real

Cogent DataHub v7.0. A próxima geração em soluções para troca de dados em tempo real Cogent DataHub v7.0 A próxima geração em soluções para troca de dados em tempo real Cogent é reconhecida como uma líder no segmento de soluções de middleware no domínio do tempo real. E, com a introduçã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

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

Instalação de Moodle 1

Instalação de Moodle 1 Instalação de Moodle (local em Windows XP) 1. Introdução...2 2. Instalação de XAMPP...3 3. Instalação de Moodle...9 3.1. Download de Moodle...9 3.2. Criar uma Base de Dados...10 3.3. Instalação de Moodle...11

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Violin Tours Management

Violin Tours Management vtm Violin Tours Management Violin Tours Management tm vviolin Tours Management Visão Geral Bem-vindo ao Violin Tours Management, uma aplicação completa para que você automatize canais de relacionamento,

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

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

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

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

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

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

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

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

MODELO SPI (SINGLE PAGE INTERFACE) PARA DESENVOLVIMENTO DE APLICAÇÕES WEB

MODELO SPI (SINGLE PAGE INTERFACE) PARA DESENVOLVIMENTO DE APLICAÇÕES WEB MODELO SPI (SINGLE PAGE INTERFACE) PARA DESENVOLVIMENTO DE APLICAÇÕES WEB Thiago Nery Teixeira Universidade Federal de Juiz de Fora Instituto de Ciências Exatas Departamento de Ciência da Computação Bacharelado

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

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

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

UNIVERSIDADE FEDERAL DE SANTA CATARINA. Informatização de farmácias publicas utilizando software livre.

UNIVERSIDADE FEDERAL DE SANTA CATARINA. Informatização de farmácias publicas utilizando software livre. UNIVERSIDADE FEDERAL DE SANTA CATARINA Informatização de farmácias publicas utilizando software livre. MURILO NUNES ELIAS FLORIANÓPOLIS SC 2007/2 UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE

Leia mais

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec Construindo Aplicações Web com PHPe MySQL André Milani Novatec Capítulo 1 Bem-vindo ao PHP Seja bem-vindo ao PHP! O primeiro capítulo deste livro aborda como obter, instalar e configurar corretamente o

Leia mais

Adriano Reine Bueno Rafael Barros Silva

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

Leia mais

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

Professor: Macêdo Firmino Disciplina: Redes de Computadores II

Professor: Macêdo Firmino Disciplina: Redes de Computadores II Professor: Macêdo Firmino Disciplina: Redes de Computadores II Na aula de hoje iremos conhecermos e relembrarmos duas ferramentas do Windows, chamadas de ipconfig e nslookup. Além disso, iremos discutirmos

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

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger www.elizabete.com.br

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger www.elizabete.com.br IntroduçãoàTecnologiaWeb TiposdeSites ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br TiposdeSites Índice 1 Sites... 2 2 Tipos de Sites... 2 a) Site

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

Impressão e Fotolito Oficina Gráfica da EDITORA VIENA. Todos os direitos reservados pela EDITORA VIENA LTDA

Impressão e Fotolito Oficina Gráfica da EDITORA VIENA. Todos os direitos reservados pela EDITORA VIENA LTDA Autores Karina de Oliveira Wellington da Silva Rehder Consultores em Informática Editora Viena Rua Regente Feijó, 621 - Centro - Santa Cruz do Rio Pardo - SP CEP 18.900-000 Central de Atendimento (0XX14)

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Manual de Utilização Google Grupos Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução... 3 Página

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

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

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

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

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID Alessandro Teixeira de Andrade¹; Geazy Menezes² UFGD/FACET Caixa Postal 533,

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Ambiente Web É o ambiente formado

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

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

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Ambiente Web É o ambiente

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

1 http://www.google.com

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

Leia mais

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