C++ Instituto de Matemática Universidade Federal da Bahia Campus de Ondina Av. Ademar de Barros, Ondina Salvador, BA

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

Download "C++ Instituto de Matemática Universidade Federal da Bahia Campus de Ondina Av. Ademar de Barros, Ondina 40170-110 Salvador, BA"

Transcrição

1 T++, um Mecanismo de Execução para Aplicações Web em C++ Antonio Soares de Azevedo Terceiro 1, Christina von Flach Garcia Chavez 1 1 Departamento de Ciência da Computação, Instituto de Matemática Universidade Federal da Bahia Campus de Ondina Av. Ademar de Barros, Ondina Salvador, BA {terceiro,flach}@im.ufba.br Abstract. C++ is a general purpose programming language widely used for developing large and efficient applications. Despite its usefulness in the development of a broad range of applications, there is no established platform for developing web applications in C++. This work presents T++, a execution engine for web applications written in C++, discussing issues on its implementation and and on its use on web based information systems development. Resumo. C++ é uma linguagem de programação de propósito geral largamente utilizada no desenvolvimento de aplicações de grande porte e eficientes. Apesar da sua utilidade no desenvolvimento de uma ampla gama de aplicações, ainda não há um mecanismo consolidado para desenvolvimento de aplicações web com C++. Este trabalho apresenta T++, um mecanismo de execução de aplicações web em C++, discutindo questões relativas à sua implementação e sua utilização do desenvolvimento de sistemas de informação para o ambiente web. Palavras-chave: C++, web, ferramenta. Categoria: Monografia. 1. Introdução A crescente demanda por aplicações web vem fazendo com que haja uma forte tendência de migração de aplicações do ambiente desktop para a web. Esses dois ambientes são bastante diferentes, e atualmente convivem nas estações de trabalho. As aplicações desktop, que também podem ser denominadas de aplicações convencionais (embora é eminente que em breve aplicações web sejam consideradas tão convencionais quanto estas), executadas no computador do usuário, não necessitam de acesso a nenhuma rede (exceto quando utilizar a rede se faz necessário para realização da atividade fim do software). Uma aplicação desktop consiste na execução de um software pela estação de trabalho do usuário. Atualizações de versão necessitam de acesso a cada estação de trabalho que possui o software instalado. Já o ambiente web, baseado no Internet, utiliza um modelo distribuído de aplicação. Através de um navegador, o usuário envia requisições a um computador servidor web, eventualmente contendo dados, o servidor processa essa requisição e devolve ao usuário o conteúdo resultante. Uma aplicação web pode se caracterizar como uma seqüência previamente prevista, eventualmente não-única, de requisições de um cliente a um servidor. Atualizações de versão necessitam apenas de atualização do software no servidor.

2 Para viabilizar a geração de respostas pelo servidor em função das requisições do usuário, são utilizados mecanismos de execução de software. Estes mecanismos atuam como extensões de um servidor web, mapeando requisições do usuário à execução de trechos de código específicos, que geram como saída o conteúdo da resposta. Existem atualmente mecanismos baseados em linguagens de programação de uso geral conhecidas, como Java [8], e mecanismos desenvolvidos exclusivamente para este fim, que implicam no surgimento de novas linguagens de programação específicas para o ambiente web. Um exemplo desta última categoria é o PHP [3]. É natural que a existência de um mecanismo de execução de aplicações web baseado numa linguagem de programação de uso geral facilite a migração para a web de aplicações originalmente projetadas para um ambiente desktop, que tenham sido desenvolvidas nesta linguagem. Embora uma imensa parte das atuais aplicações desktop seja desenvolvida em C++, não existe um mecanismo de execução de aplicações web em C++ consolidado na comunidade desenvolvedora de software, o que impossibilita a adaptação dessas aplicações em para o ambiente web e também o desenvolvimento de novas aplicações web em C++. Nesse trabalho é proposto um mecanismo de execução de aplicações web em C++, que possibilita a escrita de documentos em geral páginas HTML com código C++ embutido. Esses documentos são traduzidas em componentes C++, e estes componentes têm seu código executado quando um usuário faz uma requisição ao documento correspondente. Assim, os documentos podem conter, além de conteúdo estático, código C++ que gerará a outra parte do conteúdo de forma dinâmica. 2. Conceitos Neste trabalho, convergem dois grandes temas, de extrema importância na atualidade: Aplicações web e Engenharia de Software. Assim, essa seção é dedicado à introdução de conceitos importantes de ambos os temas Aplicações web Com a popularização da internet, a web cresceu e hoje agrega um conjunto muito grande se serviços largamente utilizados. Esses serviços suportam diversas atividades, que incluem compras on-line, submissão de trabalhos para conferências, utilização de aplicações científicas, internet banking e muitos outros. Outro fenômeno perceptível é a forte tendência de substituição da plataforma desktop pela plataforma web. Essa tendência gerou bastante pesquisa e desenvolvimento na área de plataformas para desenvolvimento de aplicações web O protocolo HTTP O protocolo HTTP [2] é a base da World Wide Web, utilizado para toda a transferência de conteúdo. O HTTP é baseado nos conceitos de requisição e resposta, elementos que encapsulam toda a comunicação entre o cliente e o servidor Agente de usuário (User agent) Um agente de usuário é uma aplicação que implementa o lado cliente do protocolo HTTP: o envio de requisições HTTP e a interpretação de respostas HTTP. Além disso, agentes de usuário em geral implementam a interpretação e visualização de hipertexto

3 Figura 1: a arquitetura geral da plataforma web. (HTML e suas variantes: HTML 1, 2, 3, 4 e XHTML ), assim como de diversos formatos de arquivo gráficos Servidor web Um servidor web é uma aplicação que implementa o lado servidor do protocolo HTTP: é capaz de interpretar requisições dos clientes, mapeá-las para recursos locais ao servidor, e gerar respostas HTTP ao cliente Conceito e Arquitetura de uma Aplicação web A figura 1 demonstra a arquitetura geral da plataforma aplicação web. A plataforma web é um caso específico de uma aplicação cliente/servidor: Os usuários finais (número 1 na figura) utilizam um agente de usuário em suas estações locais, e solicitam via HTTP um recurso localizado em um servidor remoto. Esse recurso pode ser um documento de hipertexto, uma imagem ou qualquer outro tipo de documento. A comunicação entre cliente e servidor se dá através da infra-estrutura de rede da internet (némero 2 na figura 1), através do protocolo HTTP. Uma aplicação web difere de um website comum pelo fato de que na primeira uma parte do conteúdo é gerada dinamicamente através de software específico (número 5 na figura 1) acoplado a um servidor web (número 3 na figura 1). Já no caso de um website convencional, o servidor web utiliza arquivos conteúdo estático para responder as requisições dos usuários. Uma aplicação web é, portanto, caracterizada pela utilização de um mecanismo de software como extensão do servidor web para geração dinâmica de conteúdo [7] em resposta às requisições do usuário Engenharia de Software: Reusabilidade Em paralelo à explosão da web, a Engenharia de software sofreu o impacto de uma mudança de paradigma sem igual. Ao mesmo tempo em que a técnica possibilitava um aumento crescente do número de aplicações web disponíveis, surgiu a necessidade de disponibilizar na web sistemas de informação já existentes e projetados para a arquitetura desktop na plataforma web, o que aumenta consideravelmente a acessibilidade e o número de usuários em potencial das aplicações. Isso levanta uma questão muito importante: a da reusabilidade em aplicações

4 web. Se essas aplicações já existem, faz-se necessário um método que viabilize reaproveitá-las em parte nesse processo de adaptação. Muito da pesquisa contemporânea em Engenharia de Software investiga o reuso, isto é, metodologias, técnicas e ferramentas para viabilizar o reaproveitamento de código. Mais do que isso, busca-se também o reuso de decisões de projeto, e mesmo de arquiteturas de software. Nesse contexto, o uso de padrões vem ser tornado mais usual a cada dia. Um padrão é a abstração de uma forma concreta que se repete em contextos específicos não-arbitrários. [10, 17] Para contornar decisões de composição arquitetural de software, foi criado o conceito de padrões arquiteturais, que definem uma série de alternativas para a composição de aplicações e suas estruturas de funcionamento. Também o conceito de padrões de projeto [14, 16] tem muita importância no projeto orientado a objetos de sistemas de informação: ao identificar problemas recorrentes em diversos contextos e catalogar possíveis soluções para os mesmos, alcança-se uma série de vantagens: Ganha-se tempo de projeto, pois pode-se identificar soluções de projeto previamente utilizadas e testadas. Unifica-se a linguagem, tornando muito mais fácil a comunicação das decisões do projeto, dado um vocabulário comum de padrões. Além do uso de padrões e mesmo em função do seu uso também se desenvolveu o conceito de desenvolvimento de aplicações em camadas. O objetivo fundamental do desenvolvimento em camadas é dividir uma aplicação em grupos de funcionalidades mais gerais, de forma que, diminuindo-se o acoplamento entre esse grupos (camadas), cada grupo possa ser substituído por outro similar que implemente a mesma funcionalidade e a mesma interface, com pouco ou nenhum impacto nas demais. Um exemplo clássico de modelo de desenvolvimento em camadas é separar uma aplicação em 3 camadas: uma de acesso à informação, uma de lógica de negócio, e uma de interface com o usuário. Dessa forma, a aplicação é desenvolvida de forma que possa-se variar, por exemplo, a camada de interface de usuário de um sistema de janelas para uma aplicação web, sem que seja necessária nenhuma reimplementação das outras camadas. Figura 2: um exemplo de arquitetura de 3 camadas e substituição de uma delas.

5 A arquitetura em 3 camadas tem uma importância fundamental no contexto atual da Engenharia de Software, pois mostrou a viabilidade de se desenvolver sistemas de informação de forma independente da forma com que o usuário terá contato com a aplicação, e possibilitando que esse contato se dê de diversas formas. A figura 2 esquematiza um exemplo de arquitetura de 3 camadas: uma camada superior conhece apenas a camada inferior. Exemplifica também a possibilidade de substituição de uma implementação de uma camada por outra. Assim, podemos notar que numa arquitetura em 3 camadas pode-se aproveitar toda a lógica de negócio e acesso à informação para migrar uma aplicação desktop, por exemplo, para o ambiente web. 3. Descrição da abordagem Para atacar o problema de suportar o uso de C++ no desenvolvimento de aplicações web, foi então desenvolvido um mecanismo chamado T++ [5]. T++ é um projeto de software livre, licenciado sob a licença pública GNU [6]. Todo o código fonte está disponível no sítio web oficial do projeto [5], hospedado pelo Sourceforge.net [4], um repositório de projetos de software livre que abriga diversos projetos importantes na comunidade. O T++ compreende um mecanismo de execução, que funciona acoplado a um servidor web e proporciona a execução das aplicações web; e uma linguagem, que atua como interface de programação entre o T++ e o desenvolvedor de aplicações. A seguir, a seção 3.1 descreve outros mecanismos para aplicações web. As seções 3.2, 3.3 e 3.4 descrevem o desenvolvimento do mecanismo de execução. A seção 3.5 descreve a linguagem do ponto de vista do desenvolvedor de aplicações Trabalhos relacionados O C++ Servlet Environment [18] é um mecanismo para o desenvolvimento de aplicações web baseado em Servlets. Um séria desvantagem dos Servlets componentes précompilados, executados no servidor web para resposta às requisições em aplicações web é que o desenvolvedor precisa ou ter acesso interativo ao servidor web ou ter acesso a um compilador que suporte a geração de binários para a plataforma do servidor. Mas o O C++ Servlet Environment também provê suporte a páginas com código embutido, o que resolve esse problema. A arquitetura desse mecanismo também é questionável: por exemplo, o suporte a acesso bancos de dados é um componente central, o que contradiz a filosofia dos sistemas UNIX de que as ferramentas devem servir a propósitos pontuais e definidos, e que para obter resultados mais elaborados deve-se combinar diversas delas. O Uno Servlets [11] é um mecanismo de Servlet s baseados na arquitetura de componentes Uno, desenvolvida a princípio como plataforma para a suíte de escritórios OpenOffice.org. Esse mecanismo, por ser baseado em Servlets, compartilha das já citadas desvantagens associadas a essa arquitetura. o Cobra [19] também implementa o conceito de container de objetos para aplicações web, de uma forma semelhante às anteriores. E compartilha os problemas já citados acima. Além desses trabalhos, diversas plataformas de desenvolvimento proprietárias possuem extensões para desenvolvimento de aplicações web com C++. Por não ser este seu foco principal, e por estarem inseridas em ferramentas maiores, essas extensões tornam o desenvolvimento web extremamente dependentes de suas plataformas originais. O T++ não requer que o desenvolvedor tenha acesso interativo ao servidor web, nem o uso de nenhum compilador pelo desenvolvedor (pois a compilação dos objetos é

6 realizada nos bastidores pelos servidor web). Assim, os requisitos para o desenvolvimento de aplicações com o T++ se resumem a um ambiente de programação (ou editor de texto) e alguma forma de acesso ao sistema de arquivos do servidor (por exemplo, uma diretório compartilhado através da rede) Requisitos Sendo uma ferramenta para o desenvolvimento de aplicações web com C++, o T++ deve suportar a integração de construções de C++ com os documentos das aplicações web. Especificamente, o T++ precisa refletir a arquitetura demonstrada na figura 3. Figura 3: a arquitetura do T++. O funcionamento de um mecanismo como o T++ é como se segue, ilustrado pela figura 3. O usuário, utilizando um agente de usuário, envia uma requisição HTTP ao servidor web por um determinado documento. (1). O servidor web recebe essa requisição, e, identificando que ela diz respeito a um documento T++, repassa a requisição para o mecanismo T++ (2). O mecanismo T++, então, mapeia esse documento para um objeto na memória (3), e: o reconstrói caso necessário (4), transfere o processamento da requisição para esse objeto (5), captura o conteúdo gerado pelo objeto (6), e o envia de volta ao usuário como resposta à sua requisição (7). A interface do desenvolvedor de sistemas com o T++ é através do desenvolvimento dos documentos T++. Tais documentos possibilitam a inserção de código C++ e HTML, de forma a suportar a geração dinâmica de conteúdo. Esses documentos servem de base para a construção dos objetos que são responsáveis por responder as requisições: cada documento é traduzido para uma classe, e uma instância dessa classe responderá a requisições pelo documento original Projeto A figura 4 mostra um diagrama de classes UML [15] resumido do T++, realçando os elementos mais importantes, tanto classes quantos seus membros. Esse projeto orientado a objetos [9] viabilizou uma estrutura bastante flexível ao T++. Como destacado na figura 4, foi possível fazer um projeto dividido em duas camadas: uma de implementação interna do T++, e outra específica para o acoplamento com o servidor web. O uso de alguns padrões de projeto [14, 16] facilitou essa separação em camadas. A figura 5 mostra o diagrama de seqüência que representa a resposta a um requisição pelo T++. Ao receber uma requisição, o Gateway solicita a um Loader que carregue o objeto documento correspondente ao nome de arquivo do documento requisitado.

7 Figura 4: diagrama de classes do T++. Caso esse objeto já tenha sido construído anteriormente, ou esteja atualizado, o Loader simplesmente devolve o objeto ao Gateway, que usa-o para repassar a requisição. Caso contrário se o objeto está desatualizado o Loader solicita ao Compiler a compilação do documento. O objeto é considerado estar desatualizado quando: (i) o documento correspondente ainda não tiver sido acessado ; ou (ii) o documento correspondente tiver sido alterado após a última requisição a ele (o documento original é mais recente do que o objeto em memória) Implementação O T++ foi naturalmente implementado em C++, sobre uma plataforma livre, e foi testado em sistemas GNU/Linux. Como servidor web, foi escolhido o servidor Apache [1], por ser altamente estável, largamente utilizado e facilmente extensível. Apesar disso, como foi mostrado na seção 3.3, o projeto do T++ permite que extensões equivalentes para outros servidores web sejam desenvolvidas com facilidade, embora esse não seja o foco do projeto Questões técnicas enfrentadas C++, ao contrário de outras linguagens, é compilada para código nativo, e não possui nenhuma camada de portabilidade como uma máquina virtual. Restrições relativas a essas e outras características específicas do C++ levaram à necessidade de desenvolvimento de soluções para contornar essas dificuldades, que foram bastante exploradas em [12, 13].

8 Figura 5: diagrama de seqüência da resposta a uma requisição no T Desenvolvimento de aplicações web com T++ Uma aplicação T++ consiste de um ou mais documentos T++. Um documento T++ é um arquivo texto com conteúdo estático em geral, HTML combinado com código C++, e consiste de um ou mais blocos. Um bloco é um trecho de código envolto por delimitadores especiais [20]. Quando um documento T++ é traduzido numa classe C++, cada tipo de bloco é usado na construção de uma parte desta classe. A linguagem T++ provê diversos tipos de blocos, incluindo: Blocos de comandos, delimitados por <% e %>. Estes blocos contêm comandos C++, a serem executados quando o documento for requisitado. Blocos de geração de saída, delimitados por <%= e %>. Estes blocos devem contem uma expressão C++, que será calculada e escrita na saída no lugar do bloco. Blocos de definição de membros, delimitados por <%! e %>. Estes blocos são usados para definir membros (métodos e atributos) da classe que representa o documento. Blocos de declarações externas, delimitados por <%# e %>. Estes blocos contêm declarações C++, em geral declaração de tipos ou diretivas do pré-processador, como #include ou #define. Blocos de comentário, delimitados por <%-- e --%>. Estes blocos contêm comentários, e seu conteúdo é ignorado. Blocos de conteúdo estático, contendo tudo não especificado acima. Seu conteúdo é simplesmente copiado para a saída. Como qualquer comando C++ pode estar num bloco de execução de comandos, um documento T++ pode realizar qualquer operação que pode ser realizada numa aplicação comum escrita em C++ comum, ou em qualquer outra linguagem de programação de propósito geral. A figura 6 mostra um documento T++ com seus elementos realçados, para demonstrar a aparência comum de um documento T Estudo de caso: contacts Como estudo de caso, uma aplicação de exemplo simples, contacts, será descrita. Para exemplificar o processo de desenvolvimento da aplicação, serão descritos a seguir alguns dos passos do ciclo de vida tradicional de desenvolvimento de uma aplicação com T++, utilizando a UML [15] para as fases de análise e projeto.

9 Figura 6: exemplo de código fonte de um documento T Descrição inicial contacts é um gerenciador pessoal de contatos. Ele oferece as funcionalidades de listar contatos, adicionar contato, editar contato e remover contato. Por simplicidade, cada contato terá duas informações: nome e Requisitos: Casos de uso A figura 7 mostra os casos de uso do contacts. Figura 7: Casos de Uso da aplicação de exemplo contacts. Caso de uso Listar Contatos Seqüência normal de eventos : 1. O usuário acesso a página inicial do contacts. 2. O contacts exibe a lista, com nome e , de todos os contatos gravados até o momento.

10 Caso de uso Remover Contato O usuário deve ter executado anteriormente o caso de uso Listar Con- Pré-condição: tatos. Seqüência normal de eventos : 1. O usuário seleciona um dos contatos e clica no símbolo de exclusão (uma lata de lixo). 2. O contacts remove o contato selecionado da lista, e volta a mostrar a lista de contatos. Caso de uso Adicionar Contato O usuário deve ter executado anteriormente o caso de uso Listar Con- Pré-condição: tatos. Seqüência normal de eventos : 1. O usuário clica no símbolo de Adicionar Contato. 2. O sistema exibe a tela de adição de contato, com campos para que sejam preenchidos o nome e o do novo contato. 3. O usuário preenche os campos, e clica em Salvar. 4. O contacts grava as informações do contato, e volta a mostrar a listagem de contatos. Sequência alternativa : 3. O usuário clica em Cancelar. 4. O contacts simplesmente volta a mostrar a listagem de contatos. Caso de uso Alterar Contato O usuário deve ter executado anteriormente o caso de uso Listar Con- Pré-condição: tatos. Seqüência normal de eventos : 1. O usuário seleciona um dos contatos e clica no símbolo de alteração (um lápis sobre uma folha de papel). 2. O sistema exibe a tela de alteração de contato, com campos para que sejam atualizado o nome e o do contato, preenchidos com os valores atuais. 3. O usuário atualiza os campos, e clica em Salvar. 4. O contacts grava as informações do contato, e volta a mostrar a listagem de contatos. Sequência alternativa : 3. O usuário clica em Cancelar. 4. O contacts simplesmente volta a mostrar a listagem de contatos.

11 4.3. Projeto A figura 8 mostra o projeto orientado a objetos do contacts. É importante notar que a arquitetura em 3 camadas destacadas na figura da aplicação possibilita a substituição de qualquer uma das camadas com pouco ou nenhum reflexo nas outras. Seria fácil, por exemplo, substituir a camada de interface de usuário por um sistema de janelas desktop e adaptar essa aplicação, originalmente projetada com a plataforma web como plataformaalvo, para uma plataforma desktop. Assim como seria possível fazer uma adaptação no sentido contrário, caso a aplicação tivesse sido projetada originalmente para um sistema desktop. Figura 8: Diagrama de classes da aplicação de exemplo contacts Implementação A implementação do contacts, além do implementação tradicional das duas camadas inferiores como seria feito em qualquer aplicação C++, envolve a implementação de alguns documentos T++: list.tpp: implementa o caso de uso Listar Contatos. remove.tpp:implementa o caso de uso Remover Contato. add.tpp:implementa o caso de uso Adicionar Contato. edit.tpp:implementa o caso de uso Alterar Contato. 5. Conclusões Como demonstrado na seção 4, o T++ viabiliza um ciclo de vida tradicional para o desenvolvimento de sistemas de informação. Esse estudo de caso demonstrou uma aplicação extremamente simples, mas pode-se extrapolar essa experiência para perceber que uma aplicação de maior porte seria igualmente viável. Esse trabalho alcançou o seu objetivo, o de desenvolver uma plataforma que suportasse o desenvolvimento e a execução de aplicações web com a linguagem C++. Viabiliza, assim, tanto a criação de novas aplicações web como a adaptação de aplicações escritas em C++ originalmente projetadas para um ambiente desktop Contribuições Esse trabalho representa uma proposta à comunidade desenvolvedora de software de plataforma para desenvolvimento de aplicações web com C++. Decisões de projeto tomadas

12 no desenvolvimento do T++ podem servir como base para idéias de novos projetos, ou ajudar nas definições de outros projetos. Além disso, a divulgação do T++ certamente será um estímulo à utilização do C++, uma linguagem de programação de propósito geral com recursos extremamente poderosos. As questões levantadas na implementação do T++ [12, 13] são bastante interessantes por si só, e reuni-las foi realmente desafiador. O conhecimento resultante pode ser utilizado no projeto de outras aplicações não-convencionais que tenham requisitos parecidos. A abordagem utilizada para o carregamento dinâmico pode ser utilizada em sistemas de carregamento de plugins sob demanda, arquitetura de componentes que utilizem carregamento dinâmico, e assim por diante. O estudo sobre alocação de objetos C++ em memória compartilhada embase o projeto e a implementação de sistemas de componentes diferentes que compartilham memória ou componentes compartilhados em memória por aplicações diferentes Divulgação A título de divulgação, foram alcançados resultados muito significativos nesse projeto. Forma publicados trabalhos relacionados em conferências de âmbito nacional [20] e internacional [12, 13] Trabalhos futuros O T++ é um projeto de software livre novo, e teve sua divulgação inicial começada a pouco. Espera-se que o T++ esteja permanentemente em evolução, e espera-se também a criação de uma comunidade de usuários e desenvolvedores em torno do T++. Inicialmente, são identificados como trabalhos futuros melhorias no funcionamento interno do mecanismo de execução, além de suporte a outras metodologias de desenvolvimento como, por exemplo, componentes distribuídos. Planeja-se também realizar estudos sobre a migração de aplicações convencionais desenvolvidas em C++ para a plataforma web com o T++. Referências [1] Apache HTTP Server version 1.3 Developer Resources. org/dev. Último acesso em 12 de Junho de [2] Hypertext Transfer Protocol Specification HTTP/1.1. ftp://ftp.rfc-editor. org/in-notes/rfc2616.txt. [3] PHP Hypertext Preprocessor. Último acesso em 12 de Junho de [4] SourceForge.net. Último acesso em 12 de Junho de [5] Sítio web do projeto T++. Último acesso em 12 de Junho de [6] The GNU General Public License. html. Último acesso em 12 de Junho de [7] The java webservices tutorial. 1/tutorial/doc/.

13 [8] The Source for Java Technology. Último acesso em 12 de Junho de [9] Scott W. Ambler. Análise e Projeto Orientado a Objeto. IBPI Press, Rio de Janeiro, [10] Brad Appleton. Patterns and Software: Essential Concepts and Terminology. http: // [11] Jörg Budischewski. Uno servlets: a framework for generating dynamic webcontent with c++. [12] Antonio Soares de Azevedo Terceiro. Issues on Building T++, a Tool for Web Application Development with C++. In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages ACM Press, [13] Antonio Soares de Azevedo Terceiro and Christina von Flach G. Chavez. Issues on Building T++: a Tool for Web Application Development with C++. In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages ACM Press, [14] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, MA, [15] Object Management Group. Unified modelling language. [16] Vince Huston. Huston Design Patterns. huston2/dp/patterns.html. Último acesso em 12 de Junho de [17] Dirk Riehle and Heinz Zullighoven. Understanding and Using Patterns in Software Development. Theory and Practice of Object Systems, 2(1):3 13, [18] Benjamin A. Schmit. The c/c++ servlet environment. at/ e /cse/. [19] Marcin Sokolowski, Ioan Cordos, and David Turner. Cobra - c++ objects container. [20] Antonio Soares de Azevedo Terceiro and Christina von Flach Garcia Chavez. The T++ Approach to Web Application Development. In Anais do Simpósio Brasileiro de Sistemas Multimídia e Web Workshop de Ferramentas e Aplicações, Salvador, Sociedade Brasileira de Computação.

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

COORDENAÇÃ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 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

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA FACILITADOR VIRTUAL DA APRENDIZAGEM EM QUÍMICA Campina Grande-

Leia mais

O Padrão Arquitetural Auto-Adaptável

O Padrão Arquitetural Auto-Adaptável MAC5715 - Tópicos Avançados em POO O Padrão Arquitetural Auto-Adaptável Raphael Y. de Camargo e Carlos Alexandre Queiroz 30 de outubro de 2003 1 Intenção O padrão auto-adaptável permite o desenvolvimento

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

MANUAL DA SECRETARIA

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

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB ISBN 978-85-61091-05-7 V EPCC Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB Lincoln Fernandes Paulino

Leia mais

Usando o Conference Manager do Microsoft Outlook

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

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento

* Técnicas Avançadas. Desenvolvimento de SOFTWARES. Sistemas de Gerenciamento de Conteúdo com Joomla e Magento * Técnicas Avançadas Desenvolvimento de SOFTWARES Sistemas de Gerenciamento de Conteúdo com Joomla e Magento * Tópicos Sistema de Gerenciamento de Conteúdo CMS. Fron-end Back-end Instalando Site e Lojas

Leia mais

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB 18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ

Leia mais

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS Instituição: UFRGS Autores: Ricardo Vieira, José Luis Machado e Álvaro Juscelino Lanner Área: Sistema de Informações Introdução. O trabalho aqui proposto

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

Leia mais

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB Adriano Schulter Moenster 1, Tiago Piperno Bonetti 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil adrmoenster@gmail.com,

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

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

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Fabrício Viero de Araújo, Gilse A. Morgental Falkembach Programa de Pós-graduação em Engenharia de Produção - PPGEP Universidade

Leia mais

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE Apresentação. O mais famoso tipo de arquitetura utilizada em redes de computadores

Leia mais

1. REGISTRO DE PROJETOS

1. 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 mais

CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO AMAZONAS - CIESA CENTRO DE PROCESSAMENTO DE DADOS CPD MANUAL DE UTILIZAÇÃO DO MOODLE 2.

CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO AMAZONAS - CIESA CENTRO DE PROCESSAMENTO DE DADOS CPD MANUAL DE UTILIZAÇÃO DO MOODLE 2. CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO AMAZONAS - CIESA CENTRO DE PROCESSAMENTO DE DADOS CPD MANUAL DE UTILIZAÇÃO DO MOODLE 2.8 PERFIL ALUNO Versão 1.0 2015 CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR

Leia mais

MOODLE NA PRÁTICA PEDAGÓGICA

MOODLE NA PRÁTICA PEDAGÓGICA Carmen Mathias Agosto - 2009 I. CADASTRO 1. Acessar o site de treinamento (teste): http://moodle_course.unifra.br/ 2. Faça o login, clicando em acesso no lado direito superior da tela: 3. Coloque seu nome

Leia mais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto

Leia mais

Tutorial Moodle Visão do Aluno

Tutorial Moodle Visão do Aluno Tutorial Moodle Visão do Aluno Conteúdo Apresentação...4...4 1Enviar Tarefa...5 2Fórum...6 2.1Participação no Fórum...6 2.2 Inserir Imagem no Fórum...7 2.3 Anexar Arquivo...8 3Modificar Perfil...9 4 Enviar

Leia mais

Gestão de projectos na Web

Gestão de projectos na Web Gestão de projectos na Web Relatório de desenho de alto nível Versão 1.0, 5 de Maio de 2003 Telmo Pedro Gomes Amaral (mee02013@fe.up.pt) (Grupo 15) Aplicações na Web Mestrado em Engenharia Electrotécnica

Leia mais

BUSCANDO UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR A GESTÃO DE PRODUÇÃO DO PBL-VE E DO PBL-VS

BUSCANDO UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR A GESTÃO DE PRODUÇÃO DO PBL-VE E DO PBL-VS 973 BUSCANDO UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR A GESTÃO DE PRODUÇÃO DO PBL-VE E DO PBL-VS Jéssica Magally de Jesus Santos 1 ; Gabriela Ribeiro Peixoto Rezende Pinto 2 1. Bolsista

Leia mais

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML O Desenvolvimento Web O desenvolvimento web é o termo utilizado para descrever atividade relacionada

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1 Índice 1. Introdução...3 1.1. O que é um Computador?... 3 1.2. Máquinas Multiníveis... 3 2 1. INTRODUÇÃO 1.1 O QUE É UM COMPUTADOR? Para estudarmos como um computador

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

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

MANUAL MOODLE - PROFESSORES

MANUAL MOODLE - PROFESSORES MANUAL MOODLE - PROFESSORES VERSÃO 2.5 Faculdades Projeção FACULDADE PROJEÇÃO Prof. Oswaldo Luiz Saenger Presidente Prof.ª Catarina Fontoura Costa Diretora Geral das Unidades Educacionais Prof. José Sérgio

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Tutorial 7 Fóruns no Moodle

Tutorial 7 Fóruns no Moodle Tutorial 7 Fóruns no Moodle O Fórum é uma atividade do Moodle que permite uma comunicação assíncrona entre os participantes de uma comunidade virtual. A comunicação assíncrona estabelecida em fóruns acontece

Leia mais

Especificação do Trabalho

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 mais

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo Tópicos abordados Surgimento da internet Expansão x Popularização da internet A World Wide Web e a Internet Funcionamento e personagens da

Leia mais

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD Salvador Bahia Março/2010 MANUAL DE UTILIZAÇÃO DO WEBMAIL Este manual contém a descrição das

Leia mais

agsou Conexão Semear Manual

agsou Conexão Semear Manual agsou Conexão Semear Manual Junho de 2009 Sumário Acesso...3 Balcão de Projetos...4 Meus Projetos Cadastrados...4 Cadastrar Projetos...4 Meus Projetos Já Contemplados...5 Padrinho Legal...5 Crianças Aguardando...5

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

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

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Guia do Usuário. idocs Content Server v.2.0-1 -

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

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços 1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

HTML Página 1. Índice

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

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

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

Manual de instalação, configuração e utilização do Enviador XML

Manual de instalação, configuração e utilização do Enviador XML Manual de instalação, configuração e utilização do Enviador XML 1. Conceitos e termos importantes XML Empresarial: é um sistema web (roda em um servidor remoto) de armazenamento e distribuição de documentos

Leia mais

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS 1 IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS Autor: Petrus Adriano Neto* petrusneto@yahoo.com.br RESUMO: A informatização das empresas é um caminho sem volta na

Leia mais

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente

Leia mais

MANUAL DE UTILIZAÇÃO DOMINIO ATENDIMENTO

MANUAL DE UTILIZAÇÃO DOMINIO ATENDIMENTO Rua Afonso Arrechea, 240, Santo Ant. do Sudoeste - PR Tel 46 3563-1518 Fax 46 3563-3780 contato@diferencialcontabil.cnt.br www.diferencialcontabil.cnt.br MANUAL DE UTILIZAÇÃO DOMINIO ATENDIMENTO VERSÃO

Leia mais

1.1. Aplicações de TVD dinâmicas

1.1. Aplicações de TVD dinâmicas 1 Introdução Uma aplicação de TV Digital (TVD) comumente é composta por um vídeo principal associado a outros objetos (aplicações, imagens, vídeos, textos etc.), que são transmitidos em conjunto possibilitando

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama

Manual do Desktop Sharing. Brad Hards Tradução: Marcus Gama Brad Hards Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 O protocolo do Buffer de Quadro Remoto (Buffer de Quadro Remoto) 6 3 Usando o Desktop Sharing 7 3.1 Gerenciando convites do Desktop Sharing........................

Leia mais

Índice. 5. Editar as seções de um curso 6. Estruturar o curso 7. Publicar o curso 8. Resumo do Fluxo de criação de um curso no educommons

Índice. 5. Editar as seções de um curso 6. Estruturar o curso 7. Publicar o curso 8. Resumo do Fluxo de criação de um curso no educommons Manual do Professor Índice 1. Selecionar a categoria na qual incluir o curso 2. Adicionar um curso novo 3. Importar o template do curso 4. Fazer upload de conteúdos do novo curso para a plataforma 4.1.

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Desenvolvimento de uma Etapa

Desenvolvimento de uma Etapa Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades

Leia mais

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC)

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC) Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC) André Luís Monteiro P. dos Santos 1, Fernando Cezar Borges 1, Leandro

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software

Leia mais

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

Leia mais

Diagrama lógico da rede da empresa Fácil Credito

Diagrama lógico da rede da empresa Fácil Credito Diagrama lógico da rede da empresa Fácil Credito Tabela de endereçamento da rede IP da rede: Mascara Broadcast 192.168.1.0 255.255.255.192 192.168.1.63 Distribuição de IP S na rede Hosts IP Configuração

Leia mais

agility made possible

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

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Universidade Federal do Espírito Santo Inteligência Artificial Agenda Semântica Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Vitória 2007/02 Agenda Semântica

Leia mais

Relatório referente ao período de 24 de abril de 2007 a 29 de maio de 2007.

Relatório referente ao período de 24 de abril de 2007 a 29 de maio de 2007. Relatório do GPES Relatório referente ao período de 24 de abril de 2007 a 29 de maio de 2007. Objetivo O objetivo desse relatório é expor alguns padrões de interface para Web que foram definidos pela Coleção

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

ESTUDO DE CASO: LeCS: Ensino a Distância

ESTUDO DE CASO: LeCS: Ensino a Distância ESTUDO DE CASO: LeCS: Ensino a Distância HERMOSILLA, Lígia Docente da Faculdade de Ciências Jurídicas e Gerenciais de Garça FAEG - Labienópolis - CEP 17400-000 Garça (SP) Brasil Telefone (14) 3407-8000

Leia mais

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova; Software Básico 2008.2 Trabalho Prático 1: programação de E/S, uso de sinais Prática de programação voltada a eventos Trabalho individual ou em dupla Data de entrega: 01/10/2008 1 O Objetivo Utilizando

Leia mais

Manual do Teclado de Satisfação Online WebOpinião

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

LINX POSTOS AUTOSYSTEM

LINX POSTOS AUTOSYSTEM LINX POSTOS AUTOSYSTEM Manual Sumário 1 INTRODUÇÃO AO POSTGRES...3 2 INSTALAÇÃO...3 2.1 Download...3 2.2 Instalação...4 3 CONFIGURAÇÃO...7 3.1 CIDR-ADDRESS...8 3.2 Biometria...9 4 LINHA DE COMANDO...10

Leia mais

Manual do usuário Sistema de Ordem de Serviço HMV/OS 5.0

Manual do usuário Sistema de Ordem de Serviço HMV/OS 5.0 Manual do usuário Sistema de Ordem de Serviço HMV/OS 5.0 DESENVOLVEDOR JORGE ALDRUEI FUNARI ALVES 1 Sistema de ordem de serviço HMV Apresentação HMV/OS 4.0 O sistema HMV/OS foi desenvolvido por Comtrate

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Sistema de Eleições Eletrônicas da UFRGS

Sistema de Eleições Eletrônicas da UFRGS Sistema de Eleições Eletrônicas da UFRGS Instituição: UFRGS Autores: José Luis Machado e Ricardo Vieira Área: Sistema de Informações Introdução Eleições são atividades rotineiras em qualquer IFES. Além

Leia mais

PREFEITURA MUNICIPAL DE BOM DESPACHO-MG PROCESSO SELETIVO SIMPLIFICADO - EDITAL 001/2009 CARGO: COORDENADOR DE INCLUSÃO DIGITAL CADERNO DE PROVAS

PREFEITURA MUNICIPAL DE BOM DESPACHO-MG PROCESSO SELETIVO SIMPLIFICADO - EDITAL 001/2009 CARGO: COORDENADOR DE INCLUSÃO DIGITAL CADERNO DE PROVAS CADERNO DE PROVAS 1 A prova terá a duração de duas horas, incluindo o tempo necessário para o preenchimento do gabarito. 2 Marque as respostas no caderno de provas, deixe para preencher o gabarito depois

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Tópicos Avançados II 5º período Professor: José Maurício S. Pinheiro AULA 3: Políticas e Declaração de

Leia mais

RESERVAR MANUAL SISTEMA DE RESERVAS DE SALAS INFORMATIZADAS

RESERVAR MANUAL SISTEMA DE RESERVAS DE SALAS INFORMATIZADAS RESERVAR MANUAL SISTEMA DE RESERVAS DE SALAS INFORMATIZADAS Faculdades Integradas do Brasil www.unibrasil.com.br 1 Sumário 1 INTRODUÇÃO...3 2 ÁREA DE ACESSO PÚBLICO...4 2.1 VISUALIZAÇÃO E NAVEGAÇÃO POR

Leia mais

Introduçã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 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 mais

Como usar as Instruções de Embarque avançadas em PDF

Como usar as Instruções de Embarque avançadas em PDF Como usar as Instruções de Embarque avançadas em PDF Etapa 1: Receber o PDF...2 Entre em contato com a Hapag-Lloyd para se inscrever para este serviço...2 O PDF pré-preenchido vem por e-mail...2 Abra o

Leia mais

Programação Web Prof. Wladimir

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

Leia mais

Manual de Publicação Wordpress

Manual de Publicação Wordpress Fundação Universidade Federal de Mato Grosso do Sul Manual de Publicação Wordpress Núcleo de Tecnologia da Informação - UFMS Maurílio Mussi Montanha 2014 Sumário 1 Introdução... 3 2 ACESSO À INTERFACE

Leia mais

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário

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

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES Manual de Procedimentos 2004 SUMÁRIO 1. INTRODUÇÃO...3 2. OBJETIVOS...3 3. ÂMBITO DE APLICAÇÃO...3

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

Leia mais

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS Aluno: Ricardo Gomes Leal Costa Orientadora: Noemi de la Rocque Rodriguez Introdução A biblioteca DALua [1], fruto do projeto anterior, tem por objetivo oferecer

Leia mais

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 agosto de 2007 As informações contidas neste documento, incluíndo quaisquer URLs e outras possíveis referências a

Leia mais

Manual do Módulo de PC Online

Manual do Módulo de PC Online do Módulo de PC Online Agilis Conteúdo Introdução... 4 Acesso à Funcionalidade... 5 1. Internet Explorer 6.x... 7 2. Internet Explorer 7.x... 9 3. Netscape Navigator 7.x... 10 4. Netscape Navigator 7.2x...

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados 01) Defina com suas próprias palavras: a) Banco de Dados b) Sistema Gerenciador de Banco de Dados c) Sistema de Banco de

Leia mais

MULTIACERVO Implementações da versão 20-1

MULTIACERVO Implementações da versão 20-1 Data: Janeiro / 2015 Recurso pop-up O pop-up é um recurso que abre uma nova janela sem sair da tela original. Isto é interessante pois permite complementar uma informação e permanecer no ponto original,

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Bancos de Dados III Acesso Cliente Servidor Arquiteturas Rogério Costa rogcosta@inf.puc-rio.br 1 Requisitos de Sistemas Grande competitividade no mercado TI deve apoiar a empresa atendendo com agilidade.

Leia mais

Manual do Aluno para o Curso do SEER à Distância

Manual do Aluno para o Curso do SEER à Distância Manual do Aluno para o Curso do SEER à Distância Elaborado por: Alexandre Faria de Oliveira Consultor TI / Monitor Colaborador: Dr.Miguel Ángel Márdero Arellano Coordenador SEER - IBICT Brasília, 2011

Leia mais

Manual do Sistema de Almoxarifado P á g i n a 2. Manual do Sistema de Almoxarifado Geral. Núcleo de Tecnologia da Informação

Manual do Sistema de Almoxarifado P á g i n a 2. Manual do Sistema de Almoxarifado Geral. Núcleo de Tecnologia da Informação Divisão de Almoxarifado DIAX/CGM/PRAD Manual do Sistema de Almoxarifado Geral Versão On-Line Núcleo de Tecnologia da Informação Universidade Federal de Mato Grosso do Sul Manual do Sistema de Almoxarifado

Leia mais

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

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais