1. INTRODUÇÃO. 1.1 Contextualização e Motivação

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

Download "1. INTRODUÇÃO. 1.1 Contextualização e Motivação"

Transcrição

1 1. INTRODUÇÃO Neste capítulo é apresentado, primeiramente, a contextualização que envolve o conjunto de circunstâncias para a elaboração do trabalho e a motivação de realizá-lo. Segundo, para um melhor entendimento do trabalho, são apresentados os objetivos. 1.1 Contextualização e Motivação Um dos objetivos da Engenharia de Software é construir sistemas extensíveis e de qualidade. Além disso, a busca da redução de custos e do aumento da produtividade na construção de software é constante. No entanto, com o passar do tempo, a complexidade do software produzido tem aumentado em escala, dificultando ainda mais esses objetivos. Em certas ocasiões para desenvolver um projeto, desenvolvedores aplicam muito tempo na atividade de programação, que poderia ser aplicado em outras atividades do projeto. Então surge a necessidade de pessoas estudarem a geração automática de código, com o objetivo de ajudar os programadores de software.

2 Em aplicações web, uma atividade que necessita de geração automática de código é o desenvolvimento de interfaces gráficas. Os desenvolvedores, levam muito tempo na implementação delas. Então surge a necessidade de desenvolver ferramentas para esse propósito. Neste contexto, uma ferramenta que ajuda bastante na geração de interfaces gráficas, é a UML (Unified Modeling Language). Uma linguagem para padronizar modelagem de software, com visualização gráfica. Um dos diagramas UML que é mais utilizado, é o diagrama de classes, que podem representar todas as classes de um sistema e com isto representar as informações que são utilizadas na geração de interfaces gráficas. A responsabilidade pelo trabalho de padronização associado ao UML foi entregue ao consórcio OMG (Object Management Group), que reúne, virtualmente todas as grandes empresas da indústria mundial de computação e centenas de empresas pequenas (Object Management Group, 2009). Existem ferramentas que geram automaticamente interfaces gráficas, que utilizam o paradigma MDA (Model Driven Architecture). Por meio da utilização do MDA, constrói-se código rapidamente de forma consistente, bem-arquitetada e autônomo de plataforma, utilizando modelos. Para utilizar o MDA precisa-se definir um processo de software que guie os desenvolvedores na preparação e geração dos modelos MDA. Um processo de software pode ser visto como um conjunto de atividades e resultados associados que levam à confecção de um produto de software. Além disso, um processo MDA requer uma seleção de metamodelos e regras de mapeamentos para geração da cadeia de modelos que levam até o código da aplicação (MARINHO, 2009). É uma ferramenta poderosa, mas quem a utiliza, fica muito preso a seus modelos, tendo que seguir suas regras. Então surge a necessidade de desenvolver uma ferramenta de 2

3 geração automática de interfaces gráficas sem muitas complicações, não sendo necessário a invenção de um novo modelo ou diagrama. O código gerado será apenas o conteúdo e a informação, a arte sendo feita à parte. 1.2 Objetivos O objetivo do trabalho é desenvolver uma ferramenta para geração automática de interfaces gráficas, a partir de diagramas de classes UML. A partir do diagrama de classes UML, que representa o domínio da aplicação, será criado um novo diagrama, representando a organização da informação obtida. Esse novo diagrama seguirá uma arquitetura pré-definida de interfaces. A interface gerada deverá ser extensível e configurável, aceitando plugins e folhas de estilo. Foi realizado um estudo sobre um gerador de código já construído e foi acrescentado ferramentas nele para chegar ao objetivo principal que é a geração automática de interfaces gráficas. 3

4 2 Referencial Teórico Neste capítulo são apresentadas todas as informações necessárias para complementar o entendimento da metodologia e da solução proposta neste trabalho. Algumas tecnologias são apresentadas. O JSF (JavaServer Faces), utilizada para facilitar o desenvolvimento de páginas web. O ICEfaces e o RichFaces, componentes JSF que utilizam Ajax, tornando páginas mais dinâmicas e interativas. O Greenbox e o Velocity, em conjunto, utilizados na geração automática de código. 2.1 Tecnologia Ajax Ajax (Asynchronous JavaScript and XML) é uma tecnologia de desenvolvimento web para criar softwares de interação. A tecnologia usa combinações do HTML (HyperText Markup Language), XML (Extensible Markup Language) e CSS (Cascading Style Sheets) para apresentar as informações, trocando dados assincronamente com o servidor web. Ou seja, enquanto o usuário está visualizando ou utilizando algo em algum site, são feitas inúmeras requisições ao servidor sem prévio aviso (VIEIRA, 2009).

5 Fazendo com que a exibição do site se torne uma visualização em tempo real. Apenas partes do site, que estão sendo requisitadas por algum usuário, são carregados no navegador. Isso se difere de modelos convencionais, em que quando o usuário, manda requisições ao servidor, a página é toda carregada, sem necessidade de carregá-la totalmente. 2.2 MVC MVC (Model View Controller) é um modelo de arquitetura de software. É utilizada por algumas tecnologias de desenvolvimento de páginas web, como JavaServer Faces (seção 2.3), e seus componentes ICEFaces e RichFaces (seção e 2.4.2). É separada em três camadas para melhor organização de uma aplicação. Ocorre a separação entre os dados (Model), e o layout (View). Então alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout. A camada View inclui elementos de exibição de clientes (arquivos HTML, XML), é a camada de interface com o usuário e é usada para receber a entrada de dados e apresentar o resultado. A camada Model, é o coração da aplicação. Modela os dados e o comportamento por trás do processo de negócios, se preocupa apenas com o armazenamento, manipulação e geração de dados e é um encapsulamento de dados e de comportamento independente da apresentação. A camada Control, determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de apresentação e lógica (MACORATTI, 2009). 5

6 2.3 Java Server Faces Este framework é o resultado de um projeto apoiado pela Sun Microsystem e teve sua primeira versão apresentada em setembro de 2002 (GEARYHORSTMANN, 2005). O JavaServer Faces atua principalmente nas camadas de Visão e Controle do modelo MVC (FOWLER, 2003), e tem como principal objetivo facilitar o trabalho dos desenvolvedores na construção das páginas dos sistemas web. Para isso, disponibiliza aos usuários uma biblioteca de componentes prontos para serem utilizados. Além disso, possui um modelo de programação dirigido a eventos, tentando se aproximar das aplicações desktops. Alguns utilitários compõem esse framework para seu funcionamento, são eles : 1) Ciclo de Vida das Requisições JSF : é o caminho percorrido por uma requisição JSF, desde a sua criação, com a realização de um evento, até a renderização da página a ser exibida para o usuário. 2) FacesServlet: recebe todas as requisições do cliente, prepara, determina a operação na aplicação que será executada e redireciona de volta a resposta; 3) Action Handlers e Event Listeners: são os manipuladores dos eventos disparados na interface. Eles são os responsáveis por invocar a execução das implementações que representam cada evento; 6

7 4)View ID: É uma árvore de informações de todos os componentes de uma página que instanciou uma requisição. 5) FacesContext: Este objeto é o responsável por armazenar as View ID e todas as informações necessárias para o framework JSF gerenciar os componentes de uma página; 6) Component Tree: a representação hierárquica dos componentes da interface gráfica de usuário. Cada página renderizada pelo JSF é representada em uma árvore composta por componentes; 7) Converters: cada componente de uma interface gráfica de usuário pode possuir um conversor de tipos. Eles auxiliam na tradução de tipos complexos para String (e vice-versa ). 8) Validators: os componentes de uma interface gráfica de usuário também possuem validações específicas. O valor associado ao componente é validado de acordo com a configuração do mesmo. 9) Renderers: são responsáveis pela exibição do conjunto dos componentes na resposta do servidor ao cliente, e pela tradução dos mesmos componentes para o controlador no momento na requisição do 7

8 cliente. 10) Backing Beans: São classes as quais contêm parte ou todas as informações dos valores de uma página (GEARY;HORSTANN, 2005). É a representação do formulário HTML na forma de um objeto Java. 11)Faces-Config.xml: Este é o principal arquivo de configuração do framework JSF, no qual se deve definir todos os backing beans e as regras de navegação das páginas que serão utilizadas na aplicação. Para um melhor entendimento de uma requisição JSF, a Figura 1 mostra uma visão geral do seu funcionamento. Figura 1 Visão geral de uma requisição JSF. 8

9 Cada requisição JSF, passa pelo FacesServlet, responsável por determinar e preparar as operações de uma requisição. Os Action Handlers e Event Listeners são os responsáveis por invocar a execução das implementações que representam cada evento. Um evento pode ser ações de botões, por exemplo. É montado um Component Tree, uma árvore de componentes de uma GUI (Interface Gráfica do Usuário). Uma GUI pode possuir Converters, Validators e Renderers. Eles são responsáveis pela conversão de tipos, validação de campos e exibição dos componentes JSF de uma GUI, respectivamente. 2.4 Rich Internet Applications RIA (Rich Internet Applications) é mais um passo no processo evolutivo da Internet. Essas aplicações se parecem com as aplicações desktop, fazendo com que o seu uso seja mais facilitado, oferecendo uma interface mais rica aos usuários. (LOOSLEY, 2006). RIA é a revolução das aplicações web, é mais que tecnologia é um conceito. É o uso da Internet e das tecnologias disponíveis para criar uma experiência de uso de aplicação mais intuitiva e eficiente para o usuário. É uma nova forma de pensar e desenvolver sistemas web. É a combinação da interatividade e funcionalidade do desktop com a abrangência e flexibilidade da web (BRIDEE, 2007). Em aplicações RIA, tudo que é interface deve ser processado no cliente e o que for lógica do negócio deve ser processado no servidor (BRIDEE, 2007). 9

10 Os usuários que interagem com a aplicação, obtêm uma reação imediata da aplicação, quando são solicitados novos dados. Não há necessidade de renderizar a página totalmente. Os dados da aplicação são atualizados sem que a tela fique em branco. A aplicação utiliza alguns controles de interface de usuário mais modernos como menu, menu em árvore, painel de abas, entre outros elementos gráficos de interface que não são utilizados em aplicações web tradicionais. Permite o uso de operações comuns em aplicações desktop, como Drag & Drop, redimensionar, uso de animações, entre outras (BRIDEE, 2007) Tecnologia ICEfaces É um dos RIA mais populares entre as empresas de desenvolvimento de software. O framework ICEfaces (ICESOFT, 2006) pertence à empresa Rich Web Company que tem como principal foco desenvolver soluções para tornar as aplicações para a web mais ricas em funcionalidades. Esta empresa tem papel importante no mercado mundial de desenvolvimento de componentes que utilizam a tecnologia AJAX. Excedendo sessenta e cinco mil desenvolvedores em mais de trinta e seis cidades no mundo (ICESOFT, 2009). A Figura 2 representa a integração das tecnologias JSF e AJAX utilizada pela biblioteca ICEfaces. 10

11 Figura 2 - Integração das tecnologias JSF e AJAX utilizada pela biblioteca ICEfaces. Fonte: (ICESOFT, 2006). Esta biblioteca integra a parte de JavaScript no browser do cliente com as camadas de Visão e Controle do modelo MVC do servidor por meio de um módulo ICEfaces chamado de Ajax Bridge. As principais classes da arquitetura ICEfaces são : 1 Persistent Faces Servlet: Todas as requisições iniciais advindas de arquivos *.iceface são encaminhadas para a classe PersistentFacesServlet. Esta fica responsável por repassar a requisição ao servidor que executará todas as etapas do ciclo de vida de uma requisição JSF. 11

12 2 Blocking Servlet: Depois de a página ser renderizada pela primeira vez, todas as requisições do browser passam pelo AJAX Bridge do cliente e são encaminhadas para AJAX Blocking Bridge Servlet. Esta classe tem a função de repassar a requisição caso esta seja um submit diretamente ao servidor; caso contrário, a requisição deve ser encaminhada ao AJAX Bridge do servidor. 3 D2D View Handler: Classe responsável por estabelecer a renderização direta com o DOM (Document Object Model). O DOM permite uma maneira comum de se acessar e alterar objetos HTML via Javascript. Com isto, navegadores que suportam o DOM, não terão problemas em mostrar os componentes ICEFaces. A classe possui entre outras atividades: a inicialização de um objeto da classe DOM Response Writer e a invocação de um objeto da classe D2DParser na primeira vez em que uma página é renderizada a fim de que seja feito o parser da árvore de componentes JSF. 4 D2D Parser: Cada vez que uma nova página é renderizada um objeto da classe D2D Parser é chamado para que execute o parser do arquivo e construa a árvore de componentes JSF. 5 D2D RenderKit: A principal função dessa classe é renderizar a árvore de componentes dentro do DOM. 12

13 6 DOM Response Writer: Esta classe é responsável por escrever a árvore de componentes no DOM e encaminhar essas alterações ao DOM Updater. 7 DOM Serializer: A principal função desta classe é a de serializar o objeto DOM para as páginas na primeira vez que é renderizada. 8 DOM Updater: A classe DOM Updater é responsável por capturar o objeto DOM atualizado e enviar esta instância para o AJAX Bridge localizado no browser do cliente para que seja renderizado. Enquanto a tela com a árvore de componentes não for repassada ao AJAX Bridge do browser, o DOM Updater bloqueia qualquer requisição advinda da classe DOM Response Writer. 9 Client-side AJAX Bridge: Esta característica é implementada utilizando-se JavaScript e carregada automaticamente quando o browser renderiza uma página. As principais funções do Client-side AJAX Bridge são: repassar requisições (submit ou Partial submit) para a classe AJAX Bridge Blocking Servlet e receber objetos DOM atualizados para serem renderizados para o usuário. 13

14 10 Server-side AJAX Bridge: Já as classes que pertencem ao módulo AJAX Bridge que ficam no servidor fazem parte da biblioteca ICEfaces e portanto são desenvolvidas em Java. As principais atividades desenvolvidas por este módulo são: receber as requisições do Client-side AJAX Bridge, como por exemplo, submit e partial submit, que devem ser repassados à aplicação JSF; e obter objetos DOM atualizados que devem ser enviados para o AJAX Bridge do cliente Ajax4jsf O framework Ajax4jsf é um projeto patrocinado pela empresa Exadel (EXADEL, 2006) sediada na cidade de Concord, Califórnia. O diferencial do Ajax4JSF é a facilidade de desenvolvimento de sistemas devido à total integração desse framework com a IDE (Integrated Development Enviroment), chamada de Exadel Studio. Exadel também desenvolveu uma biblioteca de componentes JSF que utilizam a tecnologia AJAX, chamada de RichFaces (EXADEL, 2006), a qual é uma extensão do framework Ajax4jsf. Na Figura 3 representa os principais elementos que pertencem ao framework Ajax4jsf : 14

15 Figura 3 Representação dos principais elementos da biblioteca Ajax4jsf. Fonte: [EXADEL, 2009]. 1) Ajax Filter : Este tipo de filtro tem como principal função a de receber as requisições e, de acordo com o tipo, encaminhá-las para serem executadas de maneira correta. Caso seja uma requisição JSF, o Ajax Filter deve reconstruir toda a página que deve ser exibida ao usuário; caso seja uma requisição AJAX somente devem ser atualizados os componentes desejados pelo desenvolvedor. 15

16 2) Ajax Container: É uma interface que contém quais partes da página JSF devem ser renderizadas após a execução de uma requisição. 3) Ajax4jsf JavaScript Engine: Este é o responsável por administrar quais campos da página JSF do cliente deverão sofrer modificações quando uma requisição é executada. 4) Skinability: Esta é uma característica desta biblioteca, que permite que algumas características gráficas sejam definidas com o uso de parâmetros do sistema; com isso o usuário pode definir a cor de fundo, o estilo e a fonte das letras, entre outros atributos, durante a execução do programa. 5) Ajax Action Components: Existem basicamente três componentes que podem enviar requisições AJAX a partir do browser do cliente: AjaxCommandButton, AjaxCommandLink e AjaxSupport. Uma falha encontrada na versão utilizada do Ajax4Jsf é que este framework não está ainda totalmente integrado aos diversos browsers (principalmente Internet Explorer e Mozilla Firefox) considerando que no exemplo desenvolvido os componentes ficam perfeitamente alinhados em um browser, enquanto em outro acontece o desalinhamento. 16

17 2.5 UML A UML (Unified Modeling Language) é, atualmente, a linguagem para documentação e modelagem de software mais difundida entre os desenvolvedores. Através dos modelos e diagramas encontrados na UML, pode-se obter diferentes visões de um software. O diagrama mais utilizado entre os desenvolvedores e analistas é o diagrama de classes. Esse diagrama é muito útil para um sistema, pois define todas classes que necessita possuir e é a base para a construção dos outro diagramas. As classes correspondentes em um determinado diagrama de classes, podem conter relações como: herança, associações, por exemplo. Isto possui características semelhantes ao modelo relacional em banco de dados, em que as tabelas mantêm relações com outras tabelas. Em alguns sistemas, às vezes fica mais fácil, criarmos apenas classes representando as entidades do sistema, para ficar mais simples quando for modelar as relações entre classes nos diagramas. No MVC essas classes representam a camada Model. A UML é uma linguagem padrão para especificar, visualizar, documentar e construir artefatos de um sistema e pode ser utilizada com todos os processos ao longo do ciclo de desenvolvimento e através de diferentes tecnologias de implementação. Ela representa uma coleção das melhores experiências na área de modelagem de sistemas orientado a objetos, as quais tem obtido sucesso na modelagem de grandes e complexos sistemas (Furlan, 1998). 17

18 Segundo (Furlan, 1998), a UML pode ser usada para: a) mostrar as fronteiras de um sistema e suas funções principais utilizando atores e casa de uso; b) ilustrar a realização de casos de uso com diagramas de interação; c) representar uma estrutura estática de um sistema utilizando diagramas de classes; d) modelar o comportamento de objetos com diagramas de transição de estado; e) revelar a arquitetura de implementação física com diagramas de componentes e de implantação; 2.6 Linguagens de descrição de dados Nesta seção é apresentada uma visão geral das linguagens XML e XMI utilizadas para descrever os diagramas de classes UML do projeto Extensible Markup Language A Extensive Markup Language (XML) é uma linguagem de marcação de dados (meta markup language) que provê um formato para descrever dados estruturados. Isso facilita declarações mais precisas do conteúdo e resultados mais significativos de busca através de múltiplas plataformas. 18

19 A XML também permite o surgimento de uma nova geração de aplicações de manipulação e visualização de dados via internet. A XML não é uma simples linguagem de marcação pré-definida, mas sim uma metalinguagem uma linguagem que descreve outras linguagens que permite definir sua própria marcação (Laurent, 1999). De acordo com (Laurent, 1999), alguns pontos fortes da XML são: a) Manutenção: a XML é fácil de manter. Ela contém somente idéias e marcações. Folhas de estilos e links vêm em separado, e não escondidas no documento. Cada um pode ser alterado separadamente quando for preciso com fácil acesso e fáceis mudanças; b) Permite a definição de suas próprias tags conforme a necessidade do usuário; c) Adaptação: a XML é a linguagem mãe de outras linguagens. Marcações personalizadas podem ser criadas para qualquer necessidade; d) Aplicações padronizadas para XML possibilitam que diferentes aplicativos trabalhem em conjunto trocando informações, proporcionando maior interoperabilidade; XML Metadata Interchange O XMI (XML Metadata Interchange) é uma linguagem baseada em XML e seu principal objetivo é facilitar o intercâmbio de metadados. Com ele conseguimos descrever informações entre ferramentas de 19

20 modelagem baseadas em UML. XMI baseia-se na tecnologia Meta Object Facility (MOF), que foi adotada pelo Object Management Group (OMG) para a definição de metadados. Como a UML também é baseada na MOF, a XMI se apresenta como um formato de intercâmbio para a UML. A XMI é usada para a troca de dados de modelos entre diferentes ferramentas de desenvolvedores e utiliza a sintaxe XML para descrever os dados. Ela também possibilita a troca de modelos entre ferramentas UML, mas para isso elas precisam saber como importar XMI e misturar partes importadas em um modelo existente. Esta tecnologia pode ser usada como uma etapa intermediária, se falando de geração de definições da XMI a partir da UML ( Daum e Metter, 2002 ). Segundo (Groose, 2002), alguns benefícios imediatos ao uso do XMI, são eles: a) XMI define uma padrão de representação de objetos em XML, viabilizando ainda mais o intercâmbio de definições de modelos e modelos entre ferramentas específicas; b) XMI especifica como criar Schemas a partir de modelos; c) XMI permite a evolução do grau de detalhismo de sua aplicação; d)xmi permite evoluir documentos previamente criados, diminuindo o grau de abstração; e) XMI permite lidar com XML sem se tornar um mestre em XML, porém o desenvolvedor pode se sentir a vontade para melhorar o que foi desenvolvido com o auxílio do XMI utilizando o conhecimento que tiver sobre XML; 20

21 2.7 Tecnologia Velocity O Velocity é uma ferramenta de desenvolvimento de templates desenvolvido em Java. Templates são arquivos com extensão.vm, que através da sintaxe Velocity embutida dentro desses arquivos, consegue-se gerar qualquer tipo de arquivo, em qualquer linguagem desejada. A tecnologia Velocity possui algumas diretivas que podem compor esses templates, com o objetivo de gerar qualquer tipo de arquivos. Para melhor explicar como o template é, a Figura 4 mostra um exemplo de um template. <!-- imprimir nomes de hoteis de lavras cadastrados <!-- imprimir nomes dos hotéis <HTML> <HEAD> <TITLE>EXEMPLO TEMPLATE VELOCITY</TITLE> </HEAD> <BODY> <TABLE> <tr> #foreach($name in $listnomeshoteis) <td>name : $name </td> #end </tr> </TABLE> </BODY> </HTML> Figura 4 : templateexample.vm 21

22 Nesta figura é apresentado um arquivo HTML com código do Velocity. Uma diretiva importante da linguagem Velocity, é o #foreach, usado para percorrer elementos de um array. Todas diretivas dessa linguagem, começam com #. Em toda linguagem de programação, para representarmos uma variável, utilizamos alguma letra ou caracter sublinhado. Neste caso, na linguagem Velocity, é utilizado o $. Notamos que inserimos sintaxe do Velocity, dentro de um arquivo HTML. Isso pode ser feito dentro de qualquer tipo de arquivo. Isto quer dizer que é possível gerar qualquer tipo de arquivo com a tecnologia Velocity Neste exemplo, a partir de um arquivo Java, podemos imprimir todos nomes de hotéis de um array preenchidos neste arquivo abaixo apresentado na Figura 5. 22

23 public class CadastroHoteis { ArrayList hoteis = newarraylist(arrays.aslist(new String[] { })); "Pinguin", "Califórnia", "Otton" VelocityContext context = new VelocityContext(); public void processamento(){ velocity.init(); context.put("listnomeshoteis", hoteis); Template template = velocity.gettemplate(); template.merge(context, output); } Figura 5 CadastroHoteis.java A Figura 5, apresenta uma classe Java contendo métodos correspondentes às variáveis que estão sendo acessadas através do Velocity da Figura 4. Foi criado nesta classe, um array chamado hoteis e inicializamos ele com três nomes. Criamos um objeto da classe VelocityContext, chamado context, para realizar a passagem de informações da classe java para o template. No método processamento, inicilazamos o velocity com o método init(). Com o método put(), colocamos o contexto do array hotéis em listnomeshoteis para ser acessado no template da Figura 4 com este nome. Depois selecionamos um determinado template que será utilizado, que será aquele da Figura 4. Posteriormente o método merge() é 23

24 utilizado para colocar esse contexto em um arquivo qualquer de saída output, pode ser um arquivo JSP ou texto por exemplo. Neste caso nosso arquivo de saída será HTML, pois queremos gerar um arquivo HTML. Quando esse arquivo for gerado, ficará da sequinte forma : <HTML> <HEAD> <TITLE>EXEMPLO TEMPLATE VELOCITY</TITLE> </HEAD> <BODY> <TABLE> <tr> <td>name : Pinguin </td> <td>name : Califórnia </td> <td>name : Otton </td> </tr> </TABLE> </BODY> </HTML> Figura 6 : exemplo.html Aquele código HTML da Figura 4 que possuía diretivas Velocity, agora possui somente código HTML. Os nomes dos hotéis foram processados do arquivo CadastroHoteis.java e acessados nesse arquivo exemplo.html da Figura 6. O Velocity consegue atribuir objetos Java dentro de qualquer tipo de 24

25 arquivos. É com isto que conseguimos gerar qualquer tipo de arquivo. 2.8 Geradores de código A geração automática de código define a capacidade de gerar automaticamente um software funcional ou compilável diretamente de uma especificação de projeto. A geração automática do código, integral ou parcial, fornece as seguintes vantagens: redução do tempo de desenvolvimento, pois minimiza a necessidade de codificação manual, e aumento da confiabilidade do código gerado, o qual foi produzido por uma ferramenta depurada e testada (Fisher, 1990) Greenbox O Greenbox é um framework de geração de códigos, baseado em Velocity e técnicas de Metamodel, permitindo ler modelos estáticos como banco de dados e XMI e gerar códigos para qualquer linguagem. Abaixo, segue a Figura 7, correspondente ao sistema Greenbox. 25

26 Figura 7 Sistema Greenbox Esse sistema funciona de maneira simples. Com arquivos XMI, ou schemas de banco de dados, que são as entradas desse sistema, o Greenbox consegue processar esses dados juntos com templates Velocity e assim, gerar o código em qualquer linguagem desejada. 26

27 3. Metodologia Neste capítulo são apresentados os passos para o desenvolvimento do projeto. Primeiramente é abordado o estudo do gerador de código e das tecnologias utilizadas, e o motivo de escolhê-las. Em seguida, é analisada a estrutura de pacotes utilizada para a modelagem das classes. Posteriormente, é analisado como deve ser as relações entre as classes da aplicação. Em seguida, é analisado as interfaces gráficas geradas. Depois, é analisada uma interface utilitária para a escolha dos templates e locais de geração dos arquivos. Posteriormente, é apresentado o desenvolvimento dos templates responsáveis pela geração das interfaces gráficas e de outros arquivos. 3.1 Gerador de Código Foi estudado um gerador de código implementado anteriormente por um grupo de desenvolvedores. Esse gerador já consegue fazer o parser do arquivo XMI obtido por alguma ferramenta de diagramas UML escolhida pelo usuário. Com isso, nomes das classes, o caminho de pacotes pertencentes a cada classe, associações, herança, nomes e tipos de atributos de classes já são obtidos.

28 Foi utilizado o framework Greenbox como uma ferramenta do gerador de código. Foram acrescentadas ao gerador classes utilitárias para a ajuda na geração de código, tanto da interface pré-definida, quanto para gerar as interfaces gráficas e os outros arquivos, como os backing beans. Foi feito um estudo sobre este gerador, para ser utilizado para a construção dos templates responsáveis par atingir o objetivo do projeto. 3.2 Tecnologias Utilizadas Na construção das interfaces gráficas foi utilizado o framework ICEfaces. Ele é uma ferramenta utilizada por muitas empresas no mundo inteiro. É fácil de utilizar e possui muitas ferramentas que servirão bem para o nosso projeto. Na construção dos templates foi utlizado a ferramenta Velocity. O Greenbox foi utilizado para auziliar na geraçao automática de código. 3.3 Estrutura de Pacotes Todas classes e diagrama de classes criadas por algum usuário, deverão ser modeladas em algum software de gerenciamento UML. Este software deverá conter uma ferramenta para exportar o arquivo XMI 28

29 correspondente de cada aplicação modelada. Foi inventada, uma estrutura de pacotes hierárquico, para organizar a criação dessas classes. A Figura 8 mostra a estrutura de pacotes escolhida, modelada no software Poseidon. Figura 8 Estrutura de pacotes 29

30 na Figura 9. A representação hierárquica dessa estrutura de pacotes está ilustrada Figura 9 Representação estrutura de pacotes. O pacote entity engloba todas entidades da aplicação. Essas classes são o modelo de domínio da aplicação. Neste exemplo, possuímos as entidades: Estagiário, Professor e User. O pacote view é criado para representar as telas que serão geradas. Dentro do pacote view, temos as pranchetas, abas, cartões e selos. Neste caso, temos a prancheta empresa e faculdade. A prancheta empresa, possui as abas estagiário e funcionário. A prancheta faculdade, possui a aba professor. A aba estagiário, possui o cartão NewEstagiario. A aba funcionário, possui os cartões NewUser e NewUsers. A aba professor, possui o cartão NewProfessor. Cada cartão corresponde a 30

31 cada classe criada. Os selos correspondem ao conteúdo de cada cartão. Cada usuário deve utilizar essa estrutura de pacotes para obter as interfaces gráficas desejadas. 3.4 Relações entre as classes Na modelagem do diagrama de classes, cada classe deve possuir uma relação direcionada com as entidades correspondentes. Pois as entidades não tem nada a ver com as interfaces geradas. São as interfaces que representam as entidades. 3.5 Conteúdo de cada cartão O conteúdo de cada cartão vai depender do tipo de relação entre a sua classe e as outras classes do diagrama de classes UML modelado. Na Figura 10, ocorre uma relação direcionada um para um entre a classe X e a entidade Y. 31

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

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

5 Detalhes da Implementação

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

Leia mais

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

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

Leia mais

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

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

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

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

Leia mais

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC Felipe Moreira Decol Claro 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipe4258@hotmail.com, kessia@unipar.br

Leia mais

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

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

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

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

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

Leia mais

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

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

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

Leia mais

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

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

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL Manoel Theodoro Fagundes Cunha Sergio Scheer Universidade Federal do Paraná, Setor de Tecnologia, Centro de Estudos de Engenharia

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

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

Leia mais

Introdução à Tecnologia Web

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

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2010

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

Leia mais

SISTEMA GERENCIAL TRATORPLAN

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

Leia mais

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

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

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES Aluno: André Luis Becker Orientador: Prof. Everaldo Artur Grahl. Mestre Orientador, FURB Roteiro da Apresentação Introdução;

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

WWW - World Wide Web

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

Leia mais

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

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

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

Leia mais

Orientada a serviços: JAX-WS SOAP API

Orientada a serviços: JAX-WS SOAP API Orientadaa apresentação: uma aplicação webde apresentação orientada gera páginas webinterativascom vários tipos de linguagem de marcação (HTML, XML, e assim por diante) e conteúdo dinâmico em resposta

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 Sistemas Web na JEE OBJETIVO DO MÓDULO Arquitetura Web em aplicações JEE Conceitos iniciais Desenvolvimento Web Aplicações web tornam-se mais e mais importantes Mais e mais

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

4 Desenvolvimento da ferramenta

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

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

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

Leia mais

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento PHP Profissional APRENDA A DESENVOLVER SISTEMAS PROFISSIONAIS ORIENTADOS A OBJETOS COM PADRÕES DE PROJETO Alexandre Altair de Melo Mauricio G. F. Nascimento Novatec Sumário Agradecimentos...13 Sobre os

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

Leia mais

Desenvolvimento de Sites. Subtítulo

Desenvolvimento de Sites. Subtítulo Desenvolvimento de Sites Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras

Leia mais

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB Marcelo Rodrigo da Silva Ribeiro 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil marcelo.rodrigo@live.com,

Leia mais

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

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 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

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

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

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

Leia mais

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Tutorial JUDE ( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Ferramenta CASE UML Índice Introdução... 2 Download e Instalação... 2 Apresentação da Ferramenta... 2 Salvando o Projeto...

Leia mais

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Aula 1 Desenvolvimento Web Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Plano de Aula Ementa Avaliação Ementa Noções sobre Internet. HTML

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

SAPENS - Sistema Automático de Páginas de Ensino

SAPENS - Sistema Automático de Páginas de Ensino SAPENS - Sistema Automático de Páginas de Ensino Eduardo Kokubo kokubo@inf.univali.br Fabiane Barreto Vavassori, MSc fabiane@inf.univali.br Universidade do Vale do Itajaí - UNIVALI Centro de Ensino Superior

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Engenharia de Software na Prática Hélio Engholm Jr.

Engenharia de Software na Prática Hélio Engholm Jr. Engenharia de Software na Prática Hélio Engholm Jr. Novatec Sumário Agradecimentos... 17 Sobre o autor... 18 Prefácio... 19 Capítulo 1 Desenvolvimento de software para o valor de negócios... 20 1.1 Qualidade

Leia mais

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

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

Leia mais

Desenvolvendo Aplicações Web com NetBeans

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

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1

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

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DIEGO LUIZ MARAFON

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DIEGO LUIZ MARAFON UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DIEGO LUIZ MARAFON INTEGRAÇÃO JAVASERVER FACES E AJAX ESTUDO DA INTEGRAÇÃO ENTRE AS TECNOLOGIAS

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Justificativa do uso da Linguagem XML no Projeto RIVED

Justificativa do uso da Linguagem XML no Projeto RIVED Justificativa do uso da Linguagem XML no Projeto RIVED Índice Introdução... 1 Sobre a linguagem XML... 2 O que é XML (extensible Markup Language)?... 2 Características da Linguagem...3 Sobre o seu uso...

Leia mais

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP VitorFariasCoreia INFORMAÇÃOECOMUNICAÇÃO Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos

Leia mais

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS

Leia mais

Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula

Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula Aula 1 Capítulo 1 - Introdução ao Dreamweaver CS6 Aula 2 Continuação do Capítulo 1 - Introdução ao Dreamweaver CS6 Aula 3 Capítulo 2 - Site do Dreamweaver

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

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

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

19/05/2009. Módulo 1

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

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

World Wide Web e Aplicações

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

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS 1/38 DOCUMENTO DE REQUISITOS GED Gerenciamento Eletrônico de Documentos Versão 1.1 Identificação do Projeto CLIENTE: NOME DO CLIENTE TIPO DO SISTEMA OU PROJETO Participantes Função Email Abilio Patrocinador

Leia mais

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

Leia mais

Codificar Sistemas Tecnológicos

Codificar Sistemas Tecnológicos Codificar Sistemas Tecnológicos Especificação dos Requisitos do Software Sistema de gestão para a Empresa Cliente SlimSys Autor: Equipe Codificar Belo Horizonte MG Especificação dos Requisitos do Software

Leia mais

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados:

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados: Relatório do GPES Relatório referente à instalação dos programas e plugins que estarão sendo utilizados durante o desenvolvimento dos exemplos e exercícios, sendo esses demonstrados nos próximos relatórios.

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

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

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

Coleção - Análises de email marketing em clientes de email

Coleção - Análises de email marketing em clientes de email Coleção - Análises de email marketing em clientes de email Thunderbird e Terra Nesta terceira edição da Coletânea de Análises de Email Marketing em Clientes de Email, apresentamos os estudos do webmail

Leia mais