para persistência de objetos na Google App Engine
|
|
- Alexandra Barata Cordeiro
- 8 Há anos
- Visualizações:
Transcrição
1 capa_ Usando JSON para persistência de objetos na Google App Engine A criação de aplicações de larga escala com dados distribuídos exige que repensemos nossos modelos de persistência de objetos. Ambientes de computação em nuvem simplificam a vida do desenvolvedor ao permitir que se crie uma aplicação distribuída usando-se as mesmas técnicas e bibliotecas de uma aplicação web normal. Dessa forma, o desenvolvedor pode se concentrar em criar a lógica de negócio, enquanto questões de escalabilidade, distribuição de dados e balanceamento de carga são resolvidas de forma automática pela infraestrutura inteligente usada nesses ambientes. A Google App Engine, por exemplo, permite a criação de uma aplicação distribuída em Java usando Servlets, JSP, mapeamento objeto relacional em JPA ou JDO, e qualquer framework web tradicional. Apesar dessas facilidades, o desenvolvedor pode ser pego de surpresa com os custos (valores cobrados) associados ao volume de operações de leitura e gravação de objetos, dependendo da complexidade da aplicação e do número de usuários. Este artigo apresenta uma técnica alternativa para a persistência de objetos, que pode ser combinada com qualquer framework ou mecanismo tradicional de persistência de objetos. Para evitar a explosão no número de tabelas que está normalmente associada ao uso de mapeamento objeto-relacional, apenas objetos essenciais serão persistidos diretamente, os demais são embutidos em campos textuais no formato JSON, sendo convertidos com a biblioteca Gson. Baixando o projeto O projeto-exemplo para a ferramenta Eclipse está disponível no site da revista MundoJ, e já inclui a estrutura necessária para funcionamento. Entretanto, é preciso que o plugin para desenvolvimento com Google App Engine esteja instalado. Esse plugin e suas instruções para instalação podem ser encontrados no endereço appengine/docs/java/tools/eclipse. Para importar o projeto-exemplo, abra o Eclipse e vá em File -> New Project -> Import -> Existing Project sinto Workspace. Selecione a opção Archive File e escolha o arquivo zip baixado do site da revista. Basta clicar em Finish para concluir a operação. Qualquer aplicação sendo desenvolvida para a Google App Engine pode ser executada localmente para depuração, já que o plugin da Google inclui um sistema local de banco de dados e servidor web que funcionam com a mesma API da infraestrutura de produção. Para tanto, basta clicar com o botão direito do mouse sobre o nome do projeto e escolher a opção Debug As -> Web Application. Caso você queira executar a aplicação na nuvem da App Engine você precisa ter uma conta Google (gmail, por exemplo), e criar uma aplicação hospedeira através do site Ao criar sua aplicação, o nome escolhido para ela deve ser inserido no local correspondente no arquivo appengine-web.xml (como ilustrado na Listagem 1), contido na pasta web/web-inf/ do projeto. Isso irá informar ao plugin onde ele deve instalar a aplicação na infraestrutura da Google. Listagem 1. Configuração da aplicação para o envio à Google App Engine. / 6
2 Erick Baptista Passos Doutor em Computação pela UFF e programador Java desde É professor do IFPI e CTO da Sertão Games, onde atua no desenvolvimento de jogos e frameworks, destacando-se o Cangaço Wargame, um jogo de estratégia em turnos para Facebook. Luan Pontes luan@infoway-pi.com.br Estudante de Análise e Desenvolvimento de Sistemas no IFPI e desenvolvedor júnior da Infoway, onde cria soluções tecnológicas para a área de saúde. Apaixonado por empreendedorismo e tecnologias de desenvolvimento web. A criação de aplicações para milhões de usuários, com grandes quantidades de dados, envolve muitos desafios. Ambientes em nuvem, como a Google App Engine, simplificam o trabalho do desenvolvedor, mas a persistência de objetos nos bancos de dados distribuídos desses ambientes exige cuidados para se evitar um alto custo com operações de leitura e gravação. Este artigo mostra uma técnica para guardar parte da estrutura de objetos de uma aplicação como campos textuais no formato JSON <?xml version= 1.0 encoding= utf-8?> <appengine-web-app xmlns= > <application>nome-da-sua-aplicação </application> <version>1</version> </appengine-web-app> Descrição da aplicação-exemplo Para explicar a técnica de persistência com JSON, foi criada uma aplicação de compras bastante simples. O usuário pode ver a lista de produtos e adicioná-los ao carrinho de compras. Ao finalizar a compra, ela será persistida e o usuário pode ver a lista ou os detalhes de compras já feitas. Existe também uma tela para a criação dos produtos, para que o banco de dados possa ser inicialmente povoado. A tela de listagem de produtos exibe todos os produtos cadastrados na aplicação, e inclui um pouco de código em Javascript para manter o carrinho de compras, criado à medida que o usuário clica nos produtos. Quando o usuário clica em fechar com- O que é computação em nuvem? Muito se fala do termo computação em nuvem e o quanto isso está revolucionando a criação de aplicações e serviços, mas muito pouco do que se fala realmente ajuda a se entender o que o termo significa. Tradicionalmente, infraestrutura para computação em data-centers é disponibilizada através de máquinas (físicas ou virtuais), e computação em nuvem é uma evolução desse tipo de serviço. Existem dois níveis de abstração para os serviços de computação em nuvem: máquinas e APIs. Nuvens de máquinas, como a Amazon EC2 e a Heroku, permitem que um time crie máquinas virtuais para hospedar seus sistemas. Ferramentas de cópia e backup ajudam o time de TI, mas pouco afetam o dia a dia da equipe de desenvolvimento, já que distribuição de carga e dados ainda são tarefas realizadas pelo programador da aplicação. A principal vantagem desses serviços em relação a data-centers tradicionais é que a cobrança é feita de forma proporcional à carga utilizada. Nuvens disponibilizadas sob a forma de uma API, como a Google App Engine, são uma forma mais moderna e interessante desse tipo de serviço. Nesse caso, o programador não precisa se preocupar com a instalação e manutenção de máquinas, nem mesmo dos sistemas de banco de dados e servidores web, tudo está previamente embutido no serviço. O que é disponibilizado para a equipe é uma API, incluindo formas de persistência, que permite que se escreva a aplicação sem se preocupar diretamente com questões de distribuição de carga. 7 \
3 pra, os identificadores dos produtos incluídos no carrinho são enviados à aplicação, que irá registrar a compra incluindo um item para cada produto escolhido. Figura 1. Listagem de produtos e carrinho de compras. A listagem de compras permite que o usuário veja aquelas já realizadas, inclusive podendo clicar em uma compra para ver os detalhes como os produtos adquiridos. Nas próximas seções do artigo, mostraremos como foi feito o mapeamento objeto-relacional tradicional para os objetos principais, e a forma alternativa em JSON para os itens de uma compra. No final, será feita uma comparação do número de operações de leitura e gravação associadas às duas técnicas, mostrando como o uso de campos textuais em JSON ajuda a reduzir os custos. Figura 2. Lista de compras já efetuadas. O usuário pode clicar na compra para visualizar os produtos comprados. Mapeamento objeto-relacional Foram mapeadas de forma tradicional apenas as classes Compra e Produto, sem mapear nenhuma das relações bidirecionais indicadas no diagrama da figura 3. Os itens de cada compra serão mantidos em um campo textual em JSON ligado à classe Compra. Figura 3. Diagrama de classes da aplicação usada como exemplo. O mapeamento foi feito com a ferramenta JDO, uma das formas de persistência existentes na App Engine. O mapeamento com JDO é similar ao JPA (também disponível na App Engine), podendo ser feito com anotações como ilustrado a seguir em um trecho de código da classe Produto. Observe que apenas as anotações da classe e da chave primária são obrigatórias. Por convenção, todos os atributos não anotados serão persistidos. Listagem 2. Classe public class Produto private Long id; private BigDecimal preco; private String descricao; // métodos get e set Para quem já está acostumado a trabalhar com uma ferramenta de mapeamento objeto-relacional como hibernate, a utilização de JPA ou JDO na App Engine não é muito diferente, bastando ser observados os cuidados em relação ao modelo de propagação de transações e grupos de objetos (uma gravação pode demorar a ser propagada entre os servidores da aplicação, mas até lá as leituras são consistentes com a versão anterior dos objetos envolvidos). O projeto de exemplo também inclui uma classe utilitária (JDOUtil), que simplifica a persistência de objetos com JDO implementando alguns métodos genéricos. Essa classe é usada ao longo do projeto sempre que for necessário se fazer gravação, leitura ou busca de objetos. Persistindo objetos em texto no formato JSON O problema de se usar diretamente apenas o mapeamento objeto-relacional se manifesta quando observamos que cada objeto da classe Compra está associado a certo número de objetos da classe ItemCompra, que estão por sua vez associados a um objeto da classe Produto cada. Uma leitura de um objeto da classe Compra para a tela de detalhes, por exemplo, exige a recuperação no banco de dados dos objetos da classe ItemCompra e Produto associados. Claro que isso é feito automaticamente pela ferramenta de mapeamento objeto-relacional, mas o fato é que as operações de FETCH e JOIN são efetivamente realizadas, o que acarreta em mais processamento no banco de dados, além de cada recuperação de objeto ser contabilizadas para posterior cobrança pela Google. A solução é não se persistir a coleção de objetos da classe ItemCompra diretamente, evitando explicitamente que essa coleção seja salva pelo JDO. Para poder guardar esses objetos para posterior recuperação, cria-se um atributo privado do tipo Text (campo textual no banco de dados da App Engine), convertendo essa coleção para o formato JSON (javascript object notation). As listagens de código a seguir mostram os detalhes dessa solução. Listagem 3. Classe Compra, contendo o atributo de texto que irá guardar a coleção de objetos ItemCompra. / 8
4 (que não será persistida diretamente pelo JDO). Observe que o atributo com a coleção de itens é marcado para não ser persistido diretamente pelo JDO com public class Compra private Long id; private BigDecimal private List<ItemCompra> itens = new ArrayList<ItemCompra>(); private Text itensjson; // métodos get e set Automatizando a conversão com Gson Para fazer a conversão da coleção de objetos ItemCompra em String e vice-versa, iremos usar a biblioteca Gson, da própria Google. Isso é feito através de um objeto da classe também chamada Gson, que possui dois métodos importantes (e suas diversas variações): String tojson(object object); esse método converte uma estrutura de objetos para o formato textual JSON. T fromjson(string jsontext, Class<T> type); esse método converte um texto no formato JSON, povoando uma estrutura de objetos, iniciada pelo objeto da classe indicada por type. Na classe Compra, foram criados dois métodos (savejson e loadjson), que devem ser chamados sempre que se for salvar ou carregar um objeto no banco de dados, respectivamente. A listagem de código a seguir mostra a implementação do método savejson: Listagem 4. Implementação dos métodos savejson e loadjson na classe Compra. Esse métodos devem ser chamados antes de se salvar/atualizar, e após recuperar, um objeto dessa classe no banco de dados, public class Compra { // atributos, getters e setters omitidos public void savejson() { Gson gson = new Gson(); itensjson = new Text(gson.toJson(itens)); public void loadjson() { Gson gson = new Gson(); Type tipo = new TypeToken<List<ItemCompra>>() {.gettype(); itens = new Text(gson.fromJson(itensJson. getvalue(), tipo)); Observe que no método savejson passamos a String com a estrutura convertida em JSON para o construtor da classe Text, que cria o campo textual para ser efetivamente persistido no banco de dados. No caso do projeto em questão, será convertida toda a coleção dos objetos da classe Item, inclusive os dados dos produtos associados, como o exemplo a seguir, que mostra o resultado da conversão de uma colação com dois objetos Item, cada um de um produto diferente: [{ produto :{ descricao : Blusa, preco : ,{ produto :{ descricao : Sapato, pre co :150.00] O método loadjson funciona de forma análoga, apenas invertendo a operação. Nesse caso, também precisamos especificar o tipo (classe e genérico) da coleção que estamos recuperando do formato textual. Nessa solução, é preciso que se chame o método savejson explicitamente antes de se persistir/atualizar qualquer objeto de uma classe que faça uso de um campo textual em JSON. De forma análoga, é preciso se chamar loadjson sempre após a recuperação de cada um desses objetos. Essa chamada a esses métodos pode ser automatizada com o uso de padrões de projeto como o DAO (onde uma classe lida com a responsabilidade de persistência dos objetos do modelo), ou o Active Record (onde a própria classe cuida de lidar com esses detalhes). Deixamos a aplicação desses padrões para o leitor, já que existe muita bibliografia sobre esse assunto disponível. Um detalhe importante é que a biblioteca Gson não permite a conversão de estruturas de objetos que possuam referências cíclicas, o que resultaria em um loop infinito. Uma solução para esse problema é que se desfaçam as referências cíclicas/bidirecionais antes da conversão para JSON, podendo ser restauradas após essa operação e após cada recuperação a partir do texto/json. Número de operações de leitura e gravação A grande vantagem dessa técnica é a redução no número de objetos recuperados e gravados diretamente no banco de dados. Para ilustrar essa vantagem, vamos fazer uma análise do número de operações associadas à exibição de detalhes de uma compra. Como exemplo, vamos considerar uma compra típica com quatro itens. Essa compra, envolve de fato nove objetos, sendo um da própria classe Compra, quatro da classe ItemCompra, e os quatro objetos Produto associados aos itens. Uma operação de leitura para exibição dos detalhes dessa compra efetivamente consiste de nove operações de recuperação de objetos no banco de dados (fetch). Observe que não estamos falando de desempenho, que poderia ser melhorado com o uso 9 \
5 de operações em lote (com hibernate, por exemplo, é comum buscarmos coleções com uma única leitura em lote), mas sim no fato de que nove objetos são eventualmente recuperados do banco. Essa recuperação sempre envolve o uso de junções entre tabelas de dados, que resultam num uso de muita memória e processamento. Justamente por implicar num alto custo de memória e processamento, as fornecedoras de infraestrutura, como a Google App Engine, cobram pelas operações individuais de Fetch em função do número de objetos recuperados (e não pelo tamanho dos dados em bytes, ou número de buscas select realizadas, por exemplo). Com a técnica apresentada neste artigo, a recuperação de uma compra com quatro itens é feita com a recuperação direta de apenas UM (1) objeto. Só é necessário buscar o objeto da classe Compra, e a chamada ao método loadjson converte o campo textual recuperando a coleção de objetos ItemCompra e os dados dos produtos associados. A tabela a seguir mostra um comparativo do número de operações realizadas pela técnica de mapeamento objeto-relacional tradicional e o uso de campos textuais em JSON. Uso da técnica no Cangaço Wargame Durante o desenvolvimento do Cangaço Wargame, inicialmente todo o modelo de objetos era mapeado diretamente para o sistema de persistência da Google App Engine (foram testados tanto JPA como JDO). O número de classes no pacote de model do Cangaço Wargame não é tão grande (cerca de 30 classes), mas como as partidas envolvem turnos e muitos movimentos, uma partida envolve a criação e persistência de muitos objetos de diversas classes. Durante alguns testes de escala, percebemos que em algumas partes do sistema o número de objetos recuperados ou atualizados/criados no banco de dados era bastante grande. Quando fizemos a projeção desses números em relação à expectativa da quantidade de jogadores, vimos que somente essas operações iriam gerar custos muito altos na conta mensal com a Google. TÉCNICA NÚMERO REAL DE OBJETOS FETCHES por busca EM 1000 buscas MOR Tradicional JSON Tabela 1. Comparação no número de operações de leitura (fetch) de objetos em banco de dados entre as técnicas tradicionais e o uso de JSON para objetos da classe Compra com quatro itens associados. Quanto mais complexa for a estrutura de objetos do sistema, maior será essa diferença no número de operações, e consequentemente maior será a economia em número de leituras e gravações (e o custo associado). Na experiência da Sertão Games, que será relatada a seguir, essa diferença chega a 100 vezes menos operações, o que permitiu a viabilidade e baixo custo no uso da Google App Engine. É importante observar que certas operações, como atualização de um objeto, envolvem tanto operações de leitura quanto gravação, o que encarece ainda mais o custo das mesmas. Como um agravante, a App Engine também contabiliza de forma separada gravações de campos indexados. Por todos esses motivos combinados, a técnica apresentada neste artigo se mostra bastante interessante para aplicações de grande escala. Figura 4. Uma partida do Cangaço Wargame. Cada personagem e célula do mapa correspondem a um objeto persistente, com seus atributos associados. Ao cogitar as alternativas para resolver esse problema, chegamos a pensar em hospedar o jogo inicialmente numa máquina em nossa própria infraestrutura, abrindo mão de todas as vantagens de escala e manutenção da aplicação em nuvem. Felizmente surgiu a ideia de persistir apenas os objetos principais (Jogador e Partida) diretamente no sistema de persistência, codificando os objetos de todas as demais classes, como campos textuais dentro dos objetos principais dessas duas classes. Dessa forma, todos os objetos que compõem uma Partida (mapa, personagens, movimentos etc.) são persistidos como um grande campo textual em JSON. Mas quando recuperados do sistema de dados, esses objetos podem ser usados normalmente como POJOs. Essa solução foi tão simples que pôde ser implementada em cerca de 2 horas apenas, não necessitando nenhuma mudança nos vários módulos do jogo, apenas na classe DAO que cuida da persistência dos objetos do modelo. Para ilustrar a eficácia dessa solução, no Cangaço Wargame já foram realizadas mais de 50 mil partidas, / 10
6 cada uma envolvendo dois jogadores, desde o seu lançamento (o que corresponde a mais de 5 milhões de objetos e um número muitas vezes maior de operações de leitura e gravação). Mesmo com esses números, o custo mensal nunca ultrapassou a casa dos U$ 10,00. Atualmente, os campos textuais em JSON ocupam 75% do espaço relativo aos objetos da classe Partida, e 45% no caso da classe Jogador. O que ainda pode ser feito A ferramenta Gson apresenta muitas opções interessantes para outras situações. No Cangaço Wargame, também usamos a conversão de objetos para JSON se atualizar às telas de uma partida sempre que é feito um movimento. A tela do jogo é toda implementada em Javascript/HTML4, e a realização de uma ação/movimento modifica os objetos persistidos, cuja estrutura é convertida em JSON para ser enviada ao cliente no browser. Existem várias opções interessantes, como a possiblidade de se converter apenas parte dos objetos, entre outras. Considerações finais A criação de aplicações em APIs de computação em nuvem é hoje uma realidade bem-vinda, o que simplifica muito o desenvolvimento de soluções distribuídas altamente escaláveis. Entretanto, existem alguns detalhes que o desenvolvedor só percebe à medida em que vai criando suas aplicações nesse tipo de ambiente. Os modelos de persistência de dados são um desses detalhes complexos, que podem parecer simples (por usarem as mesmas APIs de mapeamento objeto-relacional que já usamos em aplicações web tradicionais, como JPA e JDO), mas escondem complexidades e caveats que podem atrapalhar o desenvolvedor inexperiente. Neste artigo, abordamos uma dessas questões: o alto custo associado a operações de leitura e gravação de muitos objetos em uma aplicação distribuída na Google App Engine. Esses custos são inerentes a toda infraestrutura desse tipo, porque garantir a distribuição de alterações em transações entre data-centers espalhados pelo mundo custa muito em termos de transferência de dados para o fornecedor de infraestrutura (nesse caso a Google). A técnica aqui mostrada evita que se realizem muitas operações de leitura e gravação em objetos distintos, simplificando também o número de classes persistidas no banco de dados, e não infringe nenhum regulamento associado ao serviço da Google App Engine. É importante ressaltar que a técnica apresentada também possui alguns pontos negativos. O principal é que os objetos persistidos com JSON em campos textuais fica inacessível para queries, então se perde a capacidade de fazer buscas complexas que envolvam dados desses objetos. Por esse motivo, no Cangaço Wargame optamos por manter uma cópia de alguns poucos atributos de forma redundante, e não normalizada, diretamente em colunas nas tabelas persistidas, permitindo a busca. Outra desvantagem que pode aparecer em algumas situações-exemplo é a perda de sincronia entre cópias de objetos que foram persistidos em JSON com seus originais em uma tabela. Essa situação ocorre com os objetos da classe Produto na aplicação-exemplo, onde o objeto produto persistido em JSON junto a um ItemCompra é uma cópia do objeto original. Caso o original seja atualizado na tabela, a cópia contida na compra fica com dados desatualizados. Nem sempre isso é uma desvantagem, já que nesse caso é também interessante manter os dados originais do momento da compra, como preço, por exemplo. Esse tipo de situação de cópias redundantes não é tão frequente quanto a anterior, e também é sempre possível se atualizar os dados buscando o objeto original através do seu ID, que também fica guardado em JSON. /para saber mais Diversos artigos sobre computação em nuvem, e especialmente sobre Google App Engine, já foram publicados na MundoJ. Sugerimos os seguintes como leitura complementar: > Java no Google App Engine Edição 43 > Uma introdução ao Google App Engine com GWT Edição 47 > Aspectos arquiteturais na adoção de Cloud Computing Edição 47 > Introdução ao Cloud Computing Edição 47 No site da Sertão Games ( sempre compartilhamos ideias e ferramentas que criamos para solucionar os problemas encontrados no desenvolvimento dos nossos jogos. /referências > Documentação da Google App Engine. google.com/appengine/ > Google Gson: biblioteca para conversão Java-JSON. > JSON. Javascript object notation \
Especificação do Trabalho
Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,
Leia maisUnidade 8: Padrão MVC e DAO Prof. Daniel Caetano
Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores
Leia maisManual das planilhas de Obras v2.5
Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo
Leia maisBem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.
Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Você deve ter bons conhecimentos de estoque, UM e administração de posições
Leia maisPrimeiros passos das Planilhas de Obra v2.6
Primeiros passos das Planilhas de Obra v2.6 Instalação, configuração e primeiros passos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Preparar inicialização das
Leia maisALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API
ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagobalduino77@gmail.com
Leia maisFigura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?
Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade
Leia maisSimulador CCNA Exame de Certificação da CISCO
Simulador CCNA Exame de Certificação da CISCO Índice 1 Informações Básicas... 1 1.1 Sair da aplicação... 1 1.2 Testar aplicação... 1 1.3 Licenciando a aplicação... 1 1.4 Aceitar as condições de uso da
Leia maisSimulador PMP - 4º Edição Exame de Certificação do PMI
Simulador PMP - 4º Edição Exame de Certificação do PMI WWW.ASASSOFTWARES.COM.BR Índice 1 Informações Básicas... 1 1.1 Sair da aplicação... 1 1.2 Testar aplicação... 1 1.3 Licenciando a aplicação... 1 1.4
Leia maisWEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira
WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Novo projeto com NetBeans A partir de hoje, vamos trabalhar com projetos no NetBeans
Leia maisUsando o do-file editor Automatizando o Stata
Usando o do-file editor Automatizando o Stata 1 O QUE É O EDITOR DE DO-FILE O Stata vem com um editor de texto integrado, o do-file editor (editor de do-files, em português), que pode ser usado para executar
Leia maisApostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice
2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisCobrança Bancária. Contas / Manutenção.
Cobrança Bancária Este tutorial objetiva auxiliar os usuários na configuração do sistema para que a emissão de cobrança bancária dos títulos a receber seja feita. Os processos a seguir consistem na geração
Leia maisO Princípio da Complementaridade e o papel do observador na Mecânica Quântica
O Princípio da Complementaridade e o papel do observador na Mecânica Quântica A U L A 3 Metas da aula Descrever a experiência de interferência por uma fenda dupla com elétrons, na qual a trajetória destes
Leia maisNOTA FISCAL DE SERVIÇO ELETRÔNICA (NFS-e) Manual de Utilização Envio de arquivos RPS. Versão 2.1
NOTA FISCAL DE SERVIÇO ELETRÔNICA (NFS-e) Manual de Utilização Envio de arquivos RPS Versão 2.1 SUMÁRIO SUMÁRIO... 2 1. INTRODUÇÃO... 3 2. LAYOUT DO ARQUIVO... 4 3. TRANSMITINDO O ARQUIVO... 5 4. CONSULTANDO
Leia maisBR DOT COM SISPON: MANUAL DO USUÁRIO
BR DOT COM SISPON: MANUAL DO USUÁRIO BAURU 2015 2 BR DOT COM SISPON: MANUAL DO USUÁRIO Manual do usuário apresentado para auxiliar no uso do sistema SisPon. BAURU 2015 3 SUMÁRIO 1 Instalação... 5 1.1 Sispon...
Leia maisMAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Leia maisREGISTRO DE PROJETOS
REGISTRO DE PROJETOS 1. REGISTRO DE PROJETOS Esta aplicação tem o objetivo de realizar o Registro de Projetos da Instituição. É possível, incluir, alterar ou excluir essas informações. 1.1. Acessando a
Leia maisCOMO COMEÇAR 2016 se organizando?
COMO COMEÇAR 2016 se organizando? Como começar 2016 se organizando? Conheça estratégias simples para iniciar o novo ano com o pé direito Você sabia que, de acordo com o Sebrae, os principais motivos que
Leia mais1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?
Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença:
Leia maisBSI Letramento Digital Prof. André Di Thommazo. Organização pessoal
Organização pessoal Os cursos de graduação exigem que os alunos cursem diversas disciplinas ao mesmo tempo e em alguns semestres a carga horária é grande. Em geral o aluno de ensino a distância tem outras
Leia maisAcessando o SVN. Soluções em Vendas Ninfa 2
Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,
Leia maisAPOSTILA DE INTEGRAÇÃO CONTROLLER
APOSTILA DE INTEGRAÇÃO CONTROLLER A integração de dados do Controller com a contabilidade, seja com o sistema Contábil ou com qualquer outro sistema, é feita através de lotes. Os lançamentos seguem a estrutura
Leia maisSIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS
SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SANTA MARIA FATECIENS 2008 Este manual tem por finalidade apresentar as especificações detalhadas da aplicação de Cadastro de Funcionários,
Leia maisProjudi Módulo de Correição. Tutorial Juiz Corregedor
Projudi Módulo Tutorial Juiz Corregedor Antes de mais nada, recomendamos que para a utilização do sistema Projudi você não utilize o navegador Internet Explorer, e sim os navegadores Chrome e Firefox 2
Leia maisMÓDULO DE MATRICULA UNASUS
MÓDULO DE MATRICULA UNASUS Guia de Instalação e Configuração (Moodle 2.x) Resumo Este documento lista o fluxo para aquisição do modulo de matricula, geração de chaves para acesso ao webservice do Arouca
Leia maisUnidade 5: Sistemas de Representação
Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação
Leia maisCriando uma agenda simples com NetBeans 6.5
Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de
Leia maisComo fazer um jogo usando o editor de apresentação
Instituto Federal de Educação, Ciência e Tecnologia Sergipe IFS Campus Glória Curso Integrado em Agropecuária Professora: Jamille Silva Madureira Disciplina: Informática Como fazer um jogo usando o editor
Leia maisCURSO BÁSICO DE CRIAÇÃO DE SITES MÓDULO 2 AULA 1
Agora você vai aprender como criar um site de comércio eletrônico para que sua mãe possa vender os produtos para as amigas dela usando seu site. Vamos arregaçar as mangas e começar a trabalhar. Lembra
Leia maisGoogle App Engine. André Gustavo Duarte de Almeida. Computação Ubíqua e Nuvens. Natal, 24 de maio de 2012 andregustavoo@gmail.com
Google App Engine Natal, 24 de maio de 2012 andregustavoo@gmail.com Sumário Introdução Instalação Aplicação Exemplo Implantação Conclusão Introdução Google App Engine developers.google.com/appaengine Permite
Leia maisBem-vindo ao tópico sobre administração de listas de preços.
Bem-vindo ao tópico sobre administração de listas de preços. Nesse tópico, você aprenderá a administrar listas de preços no SAP Business One. Sua empresa atualiza múltiplas listas de preços para fornecer
Leia maisDELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR
DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR Fortaleza - CE Introdução ao ambiente de desenvolvimento delphi e preparação da interface basíca O ambiente delphi foi criado pela Borland Software
Leia maisInstalação do Sirius sem estações. O primeiro passo é instalar o Firebird 1.5, ele se encontra no CD de instalação do Sirius na pasta Firebird.
Instalação do Sirius sem estações 1. Instalando o Firebird...1 2. Instalando o Sirius...7 3. Configurações do Sirius:...11 Configuração dos arquivos do Sirius e Firebird...12 Firebird:...12 Sirius:...13
Leia maisGerenciamento de Projetos Modulo II Clico de Vida e Organização
Gerenciamento de Projetos Modulo II Clico de Vida e Organização Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos
Leia maisUM CAMINHO SIMPLES PARA UMA NUVEM PRIVADA
UM CAMINHO SIMPLES PARA UMA NUVEM PRIVADA Julho de 2015 Com nuvens privadas de fácil uso concebidas para executar aplicativos corporativos essenciais para os negócios, as principais organizações se beneficiam
Leia maisO Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.
Nome do Software: Gerenciador de Projetos Versão do Software: Gerenciador de Projetos 1.0.0 1. Visão Geral Este Manual de Utilização do Programa Gerenciador de Projetos via Web, tem por finalidade facilitar
Leia maisConceitos Básicos de Rede. Um manual para empresas com até 75 computadores
Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos
Leia maisUsando o Conference Manager do Microsoft Outlook
Usando o Conference Manager do Microsoft Outlook Maio de 2012 Conteúdo Capítulo 1: Usando o Conference Manager do Microsoft Outlook... 5 Introdução ao Conference Manager do Microsoft Outlook... 5 Instalando
Leia maisNOVIDADES DO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples
Leia mais1. REGISTRO DE PROJETOS
1. REGISTRO DE PROJETOS Nesta aplicação será feito o registro dos projetos/ ações de extensão, informando os dados iniciais do projeto, as classificações cabíveis, os participantes, a definição da região
Leia maisFerramenta de Gestão de Web Site e Solution Backsite News Letter
News Letter E solution (Plug in) O plug in News Letter é uma ferramenta que fornece a capacidade de envio de e mails em massa, através de grupos de usuários ou listas selecionadas. A grande vantagem além
Leia maisHTML Página 1. Índice
PARTE - 1 HTML Página 1 Índice HTML A HISTÓRIA... 2 O COMEÇO E A INTEROPERABILIADE... 3 Primeira Página... 4 Entendendo seu código... 5 Abrindo o código fonte da sua página... 6 Comentários na página...
Leia maisUNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual
UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA Manual do Moodle- Sala virtual UNIFAP MACAPÁ-AP 2012 S U M Á R I O 1 Tela de Login...3 2 Tela Meus
Leia maisCADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário
CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:
Leia maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
Leia maisSquidCacheAux para BrazilFW
SquidCacheAux para BrazilFW ÍNDICE Índice Pág. 1 O que é o SquidCacheAux Pág. 2 SquidCacheAux e a inicialização do sistema Pág. 2 SquidCacheAux e a finalização do sistema Pág. 2 Tela principal do SquidCacheaux
Leia maisDWR DIRECTED WEB REMOTING
DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar
Leia maisagility made possible
RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility
Leia maisMantis. Solicitando suporte. Manual do Cliente
Mantis Solicitando suporte Manual do Cliente Telefones: 3355-1594, 3350-6917, 4053 9165 - WWW.intelidata.inf.br Página 1 2012 Sumário USANDO O MANTIS PARA SOLICITAR SUPORTE... 3 Tela de Login... 3 Minha
Leia maisAuditando e criando relatório de análise de vulnerabilidades com Nessus
Auditando e criando relatório de análise de vulnerabilidades com Nessus Ciência Hacker 8 de novembro de 2015 Deixe um comentário Nessus é uma das ferramentas mais recomendadas para fazer análise de vulnerabilidade,
Leia maisPrática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Leia maisDesenvolvimento 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 maisCurso em Sistema de Editoração Eletrônica de Revistas (SEER) - Tutorial Editores/Editores de Seção
Curso em Sistema de Editoração Eletrônica de Revistas (SEER) - Tutorial Editores/Editores de Seção AGOSTO 2015 Curso em Sistema de Editoração Eletrônica de Revistas (SEER) Agosto 2015 Editor / Editor de
Leia maisCOMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE
www.agenciaatos.com.br COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE APLICAÇÃO DA CONSULTORIA EM VENDAS ONLINE É assim que os resultados são gerados. No entanto, é
Leia maisMANUAL DO PEP ATUALIZADO EM 13-08-2014 PROPOSTA ELETRÔNICA DE PREÇOS REFERENTE A VERSÃO DO PEP: 2.0.0.25
MANUAL DO PEP ATUALIZADO EM 13-08-2014 PROPOSTA ELETRÔNICA DE PREÇOS REFERENTE A VERSÃO DO PEP: 2.0.0.25 1 Sumário 1.Objetivo...03 2.Suporte...03 3.Como instalar...03 4.Usando o PEP...09 2 1. Objetivo:
Leia maisMODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,
Leia maisGuia Prático ORGANIZAÇÃO FINANCEIRA PARA BANCAR A FACULDADE
Guia Prático ORGANIZAÇÃO FINANCEIRA PARA BANCAR A FACULDADE ÍNDICE 1 Introdução 2 Qual a importância da educação financeira para estudantes? 3 Comece definindo onde é possível economizar 4 Poupar é muito
Leia maisGuia do Usuário. idocs Content Server v.2.0-1 -
Guia do Usuário idocs Content Server v.2.0-1 - 2013 BBPaper_Ds - 2 - Sumário Introdução... 4 Inicializando a aplicação... 6 Ambiente... 7 Alterando o ambiente... 8 Senhas... 10 Alterando senhas... 10 Elementos
Leia maisCarrera Pessoal 2015. Guia de uso
Carrera Pessoal 2015 Guia de uso Bem vindo ao Carrera Pessoal 2015, o gerenciador financeiro ideal. Utilizando o Carrera Pessoal você poderá administrar com facilidade as suas finanças e/ou da sua família.
Leia maisDo Word 2007 para o Office 365 para empresas
Do Word 2007 para o Office 365 para empresas Faça a migração O Microsoft Word 2013 para área de trabalho está diferente das versões anteriores. Assim, veja a seguir uma visão geral dos novos recursos e
Leia maisCATÁLOGO DE APLICAÇÕES Conferência com Coletores (WEB)
CATÁLOGO DE APLICAÇÕES Conferência com Coletores (WEB) Considerações iniciais Esse documento representa o investimento total para desenvolvimento do projeto em questão. Observe atentamente os requerimentos
Leia maisCoisas. negócio. que se você NÃO estiver fazendo na nuvem, provavelmente está perdendo. por Maurício Cascão, CEO Mandic.
5 Coisas que se você NÃO estiver fazendo na nuvem, provavelmente está perdendo negócio. por Maurício Cascão, CEO Mandic. CLOUD SOLUTIONS 5 { / } Coisas { / } que se você NÃO estiver fazendo na nuvem, provavelmente
Leia maisSistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery
Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários
Leia maisBem-vindo ao tópico Múltiplas filiais.
Bem-vindo ao tópico Múltiplas filiais. 1 Ao final deste tópico, você estará apto a: Explicar as opções disponibilizadas com o recurso Múltiplas filiais. Definir as configurações necessárias para trabalhar
Leia maisLASERTECK SOFTECK FC MANUAL DO USUÁRIO
LASERTECK SOFTECK FC MANUAL DO USUÁRIO 2015 SUMÁRIO 1 INTRODUÇÃO... 3 2 REQUISITOS DO SISTEMA... 3 3 INSTALAÇÃO... 3 4 O QUE MUDOU... 3 5 COMO COMEÇAR... 4 6 FORMULÁRIOS DE CADASTRO... 5 7 CADASTRO DE
Leia maisPrática 19 e 20 Características de um bom jogo
Prática 19 e 20 Características de um bom jogo 1. Objetivos Estudar os elementos essenciais no desenvolvimento de jogos Desenvolver um jogo em Flash 2. Recursos Necessários Computador com o programa Macromedia
Leia maisPortal do Projeto Tempo de Ser
Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5
Leia maisGuia do Usuário ProAnalir 2013. Introdução... 2. Liberação das licenças... 3
Área Universidade Prosoft Autor Valquíria Coelho Criação 26/02/2013 Publicação - 28/02/2013 Distribuição Franqueadora, Franquias e Clientes. Guia do Usuário ProAnalir 2013 Conteúdo: Introdução... 2 Liberação
Leia maisCapítulo 04: Persistência com SQLite
Capítulo 04: Persistência com SQLite Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio
Leia maisTanto na visão semanal como diária você tem a sua disposição algumas opções uteis que facilitarão seu dia a dia.
Agenda A agenda é o coração de qualquer clinica estética, já que trata-se de uma peça fundamental para organizar seu trabalho diário. Entretanto, dentro de FLOWww a agenda ganha um destaque ainda mais
Leia maisManual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP. http://eweb.ipportalegre.pt. ged@ipportalegre.
Manual de Utilizador Caderno Recursos da Unidade Curricular Gabinete de Ensino à Distância do IPP http://eweb.ipportalegre.pt ged@ipportalegre.pt Índice RECURSOS... 1 ADICIONAR E CONFIGURAR RECURSOS...
Leia maisExercícios Teóricos Resolvidos
Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar
Leia mais8 DE NOVEMBRO DE 2015
Auditando e criando relatório de análise de vulnerabilidades com Nessus 8 DE NOVEMBRO DE 2015 Nessus é uma das ferramentas mais recomendadas para fazer análise de vulnerabilidade, devido apresentar uma
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisGravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA Escola Técnica Estadual de Avaré ETE-AVARÉ CURSO DE TÉCNICO EM INFORMÁTICA NÚCLEO DE APOIO Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina
Leia maisInventário WMS. SCM Concept www.scmconcept.com.br (47) 3029-1626
Inventário WMS Sumário Inventário WMS... 5 Seleção... 5 Parâmetro... 6 Impressão... 8 Relatório... 8 Manutenção Inventário... 10 Filtro... 11 Busca e Pesquisa... 13 Coordenadas... 16 Identificador de Endereços...
Leia maisBoletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema
Boletim Eletrônico de Recolhimento Manual do Sistema Versão 1.2 Junho / 2013 Sumário 1. Introdução... - 3-2. O Sistema BOLETIM ELETRÔNICO DE RECOLHIMENTO... - 3-3. Pré-requisitos... - 3-4. Primeiro Acesso...
Leia maisCOORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0
COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2015 SUMÁRIO 1. O MOODLE 3 2. Acesso à Plataforma 3 2.1. Cadastrar-se em uma disciplina 4 2.2. Página Inicial do Curso 5 3.
Leia maisÍndice 1. APRESENTAÇÃO... 1 2. CONCEITOS BÁSICOS... 2 3. SAGE ALERTA NCM... 3 4. NCM PORTAL DE RELACIONAMENTO... 12 1.1. O que é NCM... 2 2.1.
Sage Alerta NCM Índice 1. APRESENTAÇÃO... 1 2. CONCEITOS BÁSICOS... 2 1.1. O que é NCM... 2 3. SAGE ALERTA NCM... 3 2.1. 2.2. 2.3. 2.4. Cadastro NCM... 3 Destino NCM... 5 NCMs Monitoradas... 6 Painel de
Leia maisManual do Teclado de Satisfação Online WebOpinião
Manual do Teclado de Satisfação Online WebOpinião Versão 1.2.3 27 de novembro de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação
Leia maisTUTORIAL PARA UTILIZAÇÃO DA PLATAFORMA LMS
TUTORIAL PARA UTILIZAÇÃO DA PLATAFORMA LMS Neste documento você encontrará um conjunto de orientações de como navegar na plataforma do MBA Gestão Empreendedora. Siga as instruções com atenção e salve este
Leia maisLED BACKUP. Para realizar Backups e Transmitir arquivos para Ledware, basta acessar o Menu Gerenciamento, Efetuar / Recuperar Backup:
LED BACKUP Para realizar Backups e Transmitir arquivos para Ledware, basta acessar o Menu Gerenciamento, Efetuar / Recuperar Backup: Em seguida abrirá a Tela para Efetuar / Recuperar Backup: MÉTODOS DE
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados
Leia maisDisciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013
Disciplina: Redes de Comunicação Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. João Oliveira Turma: 10º 13ª Setembro 2013 INTRODUÇÃO Este trabalho apresenta os principais
Leia maisJORNADA DE COMPRA. O que é e sua importância para a estratégia de Marketing Digital VECTOR
O que é e sua importância para a estratégia de Marketing Digital 1 2 3 4 Já falamos muitas vezes sobre produção de conteúdo ser a base de uma estratégia de marketing digital de resultados para a sua empresa.
Leia maisSISTEMA OPERACIONAL - MAC
Manual do Usuário SISTEMA OPERACIONAL - MAC Copyright GVT 2015 Versão 1.0.0 www.gvtcloud.com.br 1 1 Cloud... 3 1.1 Instalação do Cloud... 4 2 Configurações de preferências... 8 2.1 Geral... 10 2.2 Pastas...
Leia maisEducação Patrimonial Centro de Memória
Educação Patrimonial Centro de Memória O que é história? Para que serve? Ambas perguntas são aparentemente simples, mas carregam uma grande complexidade. É sobre isso que falarei agora. A primeira questão
Leia maisManual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica
Manual de Rotinas para Usuários Advogados da União Procuradoria da União no Estado do Ceará PU/CE SAPIENS Sistema da AGU de Inteligência Jurídica Versão 1.0 2015 1 INTRODUÇÃO 3 1.1 O QUE É O SAPIENS? 3
Leia maisIntrodução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web
Introdução a JavaServer Pages Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web JavaServer Pages Problemas com Servlets: É improdutivo para gerar todo o conteúdo
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO TÓPICOS AVANÇADOS EM SISTEMAS INTEGRADOS E DISTRIBUÍDOS II RELATÓRIO TÉCNICO ADORILSON BEZERRA DE ARAÚJO ANDRÉ GUSTAVO
Leia maisMANUAL DA SECRETARIA
MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisManual de Utilização do PDV Klavix
Manual de Utilização do PDV Klavix Página 1/20 Instalando a partir do CD Se você recebeu um CD de instalação, rode o programa Instalador que se encontra no raiz do seu CD. Ele vai criar a pasta c:\loureiro
Leia mais1. Introdução. Avaliação de Usabilidade Página 1
1. Introdução Avaliação de Usabilidade Página 1 Os procedimentos da Avaliação Heurística correspondem às quatro fases abaixo e no final é apresentado como resultado, uma lista de problemas de usabilidade,
Leia maisMINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP/CENTRO DE RECURSOS COMPUTACIONAIS SAU - SERVIÇO DE ATENDIMENTO AO USUÁRIO
MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP/CENTRO DE RECURSOS COMPUTACIONAIS SAU - SERVIÇO DE ATENDIMENTO AO USUÁRIO MANUAL DO USUÁRIO Perfil Self-Service Gestão Livre de Parque de Informática
Leia mais