SILVIO COSTA MOREIRA UTILIZAÇÃO DO STRUTS FRAMEWORK NO DESENVOLVIMENTO DE UM GERENCIADOR DE EVENTOS

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

Download "SILVIO COSTA MOREIRA UTILIZAÇÃO DO STRUTS FRAMEWORK NO DESENVOLVIMENTO DE UM GERENCIADOR DE EVENTOS"

Transcrição

1 SILVIO COSTA MOREIRA UTILIZAÇÃO DO STRUTS FRAMEWORK NO DESENVOLVIMENTO DE UM GERENCIADOR DE EVENTOS Palmas 2006

2 i SILVIO COSTA MOREIRA UTILIZAÇÃO DO STRUTS FRAMEWORK NO DESENVOLVIMENTO DE UM GERENCIADOR DE EVENTOS Monografia apresentada como requisito parcial para a obtenção de notas nas disciplinas de Trabalho de Conclusão de Curso em Sistemas de Informação I e II do curso de Sistemas de Informação, orientado pelo Profº. Fernando Luiz de Oliveira Palmas 2006

3 ii SILVIO COSTA MOREIRA UTILIZAÇÃO DO STRUTS FRAMEWORK NO DESENVOLVIMENTO DE UM GERENCIADOR DE EVENTOS Monografia apresentada como requisito parcial para a obtenção de notas nas disciplinas de Trabalho de Conclusão de Curso em Sistemas de Informação I e II do curso de Sistemas de Informação, orientado pelo Profº. Fernando Luiz de Oliveira Aprovada em Julho de 2006 BANCA EXAMINADORA Profº. M.Sc. Fernando Luiz de Oliveira Centro Universitário Luterano de Palmas Prof. M.Sc. Fabiano Fagundes Centro Universitário Luterano de Palmas Profª. Cristina D Ornellas Filipakis Centro Universitário Luterano de Palmas Palmas 2006

4 iii AGRADECIMENTOS À Deus por te me dado a vida, a minha familia; aos meus pais: Salomão Barbosa Moreira e Raimunda Ires costa Moreira por ter me dado oportunidade de chegar até aqui; aos meus irmãos: Viviane Costa Moreira, Fabiane Costa Moreira, Saulo Costa Moreira, Alinne Costa Moreira e Lidianne Costa Moreira; aos meus sobrinhos: Isabella, Samuel, Emanuel, João Paulo e Gabriel, por terem me dado espiração para buscar novos horizontes; aos meus tios, primos, cunhados. Aos professores que no decorrer deste curso me transmitiram conhecimento, ao professor Fernando Luiz de Oliveira que me orientou na conclusão desse trabalho. Enfim, colegas de sala que se tornaram parte da minha vida, aos funcionários da biblioteca do CEULP/ULBRA-TO que me ajudaram a encontrar bibliografias necessarias para o desenvolvimento deste trabalho.

5 iv SUMÁRIO LISTA DE FIGURAS...V LISTA DE TABELAS... VI 1 INTRODUÇÃO REVISÃO DE LITERATURA PADRÕES DE PROJETOS Vantagens de Usar Padrões de Projetos ARQUITETURA MVC ARQUITETURA MODELO FRAMEWORKS STRUTS FRAMEWORK Componentes do Struts Frameworks do Struts MATERIAIS E MÉTODOS LOCAL E PERÍODO MATERIAIS Fontes Bibliográficas Hardware Software Instalação e Configuração das Ferramentas Utilizadas METODOLOGIA RESULTADOS E DISCUSSÃO VISÃO GERAL DO SISTEMA DE GERENCIAMENTO DE EVENTOS DIAGRAMA DE CLASSE DO SISTEMA ARQUITETURA DO SISTEMA Camada Visão Camada Modelo Camada Controle CONSIDERAÇÕES SOBRE A UTILIZAÇÃO DO STRUTS FRAMEWORK CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS...62 ANEXOS...63

6 v LISTA DE FIGURAS Figura 1: Funcionamento do MVC (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Figura 2: Diagrama de funcionamento do Modelo 2 Modificada (SPIELMAN, 2002) Figura 3: Mapeamento de uma requisição no struts-config.xml Figura 4: Código Java que define uma ação Figura 5:Formulário de cadastro Figura 6: Classe Java que estende o componente ActionForm Figura 7: Configuração de um ActionForm no struts-config.xml Figura 8: Implementação da camada controle (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Figura 9: Inserção de páginas Figura 10: Arquivo de configuração tiles-defs.xml Figura 11: Configuração do Tile no struts-config.xml Figura 12: Inserções de páginas dentro de uma outra Figura 13: Criação de regras de validação no arquivo validator.xml Figura 14: Estrutura de pastas do Struts Figura 15: Arquivo de configuração web.xml Figura 16: Exemplo de um arquivo.properties Figura 17: Configuração do arquivo de mensagens Figura 18: Diagrama de classes Figura 19: Diagrama de funcionamento do Struts Figura 20: Página de cadastro de evento Figura 21: Arquivo de definição de layout do framework Tiles Figura 22: Código do formulário de cadastro de evento Figura 23: Regras de Validação Figura 24: Arquivo de mensagens Figura 25: Classe Evento Figura 26: Arquivo de configuração struts-config.xml Figura 27: Classe java cadastrareventoaction.java... 57

7 vi LISTA DE TABELAS Tabela 1: Tecnologias Java e componentes utilizados na estrutura do Struts (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Tabela 2: Principais arquivos de configuração do Struts (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Tabela 3: Bibliotecas de tags oferecidas pelo Struts (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Tabela 4: Validações prontas oferecidas pelo Validator (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Tabela 5: Configurações dos elementos Tabela 6: Cronograma das atividades... 40

8 vii RESUMO O desenvolvimento de software orientado a objetos não é uma tarefa simples, pois requer experiências que são adquiridas através de prática e estudos. Com o intuito de amenizar esse trabalho foram desenvolvidos padrões de projeto (design patterns) que são soluções utilizadas, testadas e que possuem sua eficácia comprovada para resolver determinados problemas no processo de desenvolvimento de softwares. Existe uma variedade de padrões de projeto, cada um com a sua metodologia. A arquitetura de desenvolvimento MVC (Model-View-Controller) utiliza alguns padrões de projetos, tais como Observer, Composite View, Strategy, Factory Method e Decorator. Esses padrões são utilizados para implementar sua metodologia, assim como a arquitetura Modelo 2, que é uma variação do MVC, adaptado para ser utilizado na web. Alguns métodos/técnicas implementam ou utilizam estas arquiteturas, tal como o Structs Framework, que se caracteriza por ser um framework que auxilia a construção de aplicações web seguindo o paradigma da orientação a objetos. Este trabalho tem por objetivo apresentar os conceitos que envolvem esta tecnologia, apresentando seus benefícios através da implementação de um sistema gerenciador de eventos. Palavras-chaves: Padrões de Projeto, MVC, Modelo 2, Struts Framework

9 viii ABSTRACT The development of software oriented to objects it isn't a simple assignment, because to require experience that are acquired with practice and studies. With the intention of to decrease this work were developed design patterns that are used solutions, tested and that to possess your proven effectiveness to solve determined problems in the process of the development of the software. There are a variety of the design patterns, each one with your methodology. The architecture of development MVC (Model-Wiew Controller) it uses some design patterns, such as Observer, Composite View, Strategy, Factory Method e Decorator. Those patterns are used to implement your methodology, like this how the architecture Model 2, that it is a variation of the MVC, adapted to be utilized in the web. Some methods/techniques to implement or use these architectures, such as the Structs Framework, that if characterize for being a framework that aids the construction of applications of web followed the orientation paradigm to objects. This work has by objective to present the concepts that involve this technology, showing your benefit fhrough of the formation of the a manager system of the events. Keywords: design patterns, MVC (Model-Wiew Controller, Model 2, Struts framework

10 10 1 INTRODUÇÃO Padrões de projeto são soluções encontradas por projetistas experientes no processo de desenvolvimento de softwares orientado a objetos, que são submetidas a um processo de testes para comprovar sua eficácia na resolução de um determinado problema. Cada padrão de projeto apresenta uma metodologia, que orienta os projetistas a utilizarem técnicas testadas e aprovadas por um grupo de especialistas, evitando, assim, que se perca tempo na resolução de um determinado problema. A expansão do paradigma orientado a objeto impulsionou a utilização de padrões de projeto no processo de desenvolvimento de software, sendo que é indispensável a aplicação dos mesmos no desenvolvimento de projetos de grande porte (GAMMA, 2004). Existe uma variedade de padrões de projetos, como o Composite View, Strategy, Factory Method, Decorator, Façade, entre outros. A arquitetura MVC utiliza alguns desses padrões de projetos em sua implementação. Esta arquitetura divide o sistema em três camadas: Model (Modelo), View (Visão) e Controller (controle) (SPIELMAN, 2002). Desta forma, o MVC possibilita fazer a separação da interface do código que implementa a lógica de negócios da interface. A primeira camada (Visão) é a responsável por apresentar a interface gráfica do sistema. A segunda (Modelo) possui o objetivo de abrigar os dados fundamentais do sistema. Por fim, a terceira camada (Controle) é a responsável por gerenciar as ações do usuário. Tendo como base o MVC, surgiram algumas outras arquiteturas. Dentre essas arquiteturas se destaca o Modelo 2, criado pela Sun, que se caracteriza por oferecer uma metodologia similar ao MVC, mas com algumas modificações para o desenvolvimento de sistemas orientado a objetos no ambiente web em Java. Com a finalidade de dar suporte ao desenvolvimento de sistema web, usando as tecnologias servlet e Java Server Pages (JSP), e tendo como base a arquitetura Modelo 2, foram desenvolvidos vários frameworks: Struts, Spring, Java Server Faces, WebWork,

11 11 entre outros. Dentre estes frameworks, merece destaque o Struts, pois foi o primeiro framework a dar suporte a implementação do Modelo 2 e que, por isso, é o mais utilizado (ALUR, CRUPI, MALKS, 2001). Este framework oferece uma variedade de recursos de fácil utilização, possui uma grande quantidade de material disponível, o que facilita a sua compreensão e aprendizado. O Struts caracteriza-se por auxiliar a construção de sistemas web através do fornecimento de um conjunto de componentes (classes e interfaces) e frameworks que facilitam a implementação e acelera o processo de desenvolvimento. O presente trabalho tem a finalidade de apresentar os conceitos envolvendo o desenvolvimento de sistema web utilizando o Struts Framework, assim como apresentar os recursos oferecidos por essa ferramenta, demonstrando sua utilização através do desenvolvimento de um sistema gerenciador de eventos, implementado com o auxílio dessa ferramenta. Para tanto, este trabalho está estruturado da seguinte forma: no capítulo 2 são apresentados os conceitos referentes a padrões de projeto, arquitetura MVC, arquitetura Modelo 2, frameworks e a ferramenta Struts. No capítulo 3 são apresentados os materiais e métodos utilizados nos estudos da ferramenta e os recursos de hardware e software utilizados para desenvolver esse trabalho. O capítulo 4 apresenta os resultados obtidos com o estudo, assim como a utilização da ferramenta. E, por fim, no capítulo 5 são apresentadas as considerações finais acerca deste trabalho.

12 12 2 REVISÃO DE LITERATURA Para que os propósitos desse trabalho fossem atingidos, foram realizados pesquisas e estudos envolvendo os conceitos referentes à utilização de Struts Framework no desenvolvimento de sistemas web, usando as tecnologias servlet e JSP. Estes estudos são necessários para fornecer uma fundamentação teórica para uma melhor compreensão do objetivo desse trabalho, no que se refere à utilização de Struts Framework. 2.1 Padrões de Projetos Padrões de projetos é uma forma padrão de se relacionar um problema a uma possível solução dentro do processo de desenvolvimento de software. Permite documentar um problema que ocorre freqüentemente, assim como a sua solução, para que se possa fazer uso desses conhecimentos em projetos futuros. Um padrão de projeto é composto por quatro elementos que são: nome, problema, solução e conseqüência (GAMMA, 2004). O nome serve para identificar o padrão e, geralmente, são usadas uma, duas ou três palavras. Já o problema descreve quando aplicar o padrão, bem como sua explicação e seu contexto. A solução é a descrição de como aplicar um padrão. Por fim, as conseqüências são os resultados alcançados com a utilização do padrão: vantagens e desvantagens. Segundo ALUR, CRUPI & MALKS (2001), um padrão de projeto refere-se a uma idéia que foi útil para resolver um determinado problema prático e que, provavelmente, será útil em outros. Um padrão de projeto possui as seguintes características (ALUR, CRUPI, MALKS, 2001): são escritos em um formato estruturado; evitam a reinvenção de soluções; existem vários níveis de abstração;

13 13 sofrem melhoria contínua; são artefatos reutilizáveis; expressam a melhor prática para resolução de um problema. Um padrão de projeto é como uma receita, uma fórmula que descreve a melhor forma de solucionar um problema. Existe uma variedade de padrões de projetos, tais como (GAMMA, 2004): Abstratc Factory: fornece uma interface para a criação de família de objetos relacionados ou dependentes sem especificar suas classes concretas; Adapter: converte a interface de uma classe em outra interface esperada pelos clientes; Builder: separa uma abstração da sua implementação, de modo que as duas possam variar independentemente; Strategy: define uma família de algoritmos, encapsula cada um deles e os faz intercambiáveis; Decorator: atribui responsabilidade adicional a um objeto dinamicamente; Observer: define uma dependência um-para-muitos entre objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes são automaticamente notificados e atualizados; Além dos padrões de projetos citados acima, existem vários outros que apresentam uma metodologia de desenvolvimento de software orientado a objetos. Estes padrões podem ser utilizados diretamente, ou de forma indireta, através da utilização de uma arquitetura de desenvolvimento, que se baseia ou utiliza diversos tipos de padrões Vantagens de Usar Padrões de Projetos Padrões de projetos oferecem uma metodologia simples para implementação de um software, garantindo a qualidade do produto desenvolvido, pois têm a sua eficiência comprovada em projetos anteriores. Segundo GAMMA (2004), com a utilização de

14 14 padrões de projetos no desenvolvimento de software, os projetistas do mesmo tendem a obter várias vantagens, tais como: tornam mais fácil a reutilização de um projeto; ajudam a escolher alternativas de projetos que tornam um sistema reutilizável, evitando alternativas que comprometam a reutilização; melhoram a documentação e a manutenção de sistemas ao fornecer uma especificação explícita de interações de classes e objetos subjacentes; ajudam os projetista a obter um projeto mais rápido. Portanto, projetar software orientado a objetos seguindo uma metodologia de um padrão de projeto garante a qualidade e os requisitos que um software orientado a objetos tem que ter Arquitetura MVC A arquitetura MVC tem como estratégia de desenvolvimento a divisão de uma aplicação em três camadas: Model (Modelo), View (Visão) e Controller (Controle). Segundo Gamma (2004), antes do padrão MVC os projetos tendiam a agrupar essas camadas. No entanto, com o intuito de aumentar a flexibilidade e a reutilização dos sistemas, o MVC passou a separar essas camadas, separando a visão do modelo, oferecendo um protocolo para inserção/notificação (subscribe/notify) entre eles (GAMMA, 2004). Esse protocolo deve garantir que uma visão reflita o estado atual do modelo, ou seja, quando o modelo sofrer uma modificação, esse protocolo deve comunicar as alterações feitas para as visões que estão acessando o modelo. Ao utilizar essa arquitetura, os projetos tendem a oferecer uma maior confiabilidade permitindo o desenvolvimento de produtos reutilizável e de fácil manutenção. A Figura 1 apresenta o diagrama de funcionamento do MVC.

15 15 Modelo Alteração do estado Notificação Consulta do Estado Seleção da exibição Visão Controle Ações do Usuário Figura 1: Funcionamento do MVC (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Analisando a Figura 1, observa-se que todas as ações executadas pelo usuário são gerenciadas pela camada controle. Quando há uma alteração no modelo, o mesmo deve notificar as visões que estão conectadas a ela. Após a notificação, a camada visão deve consultar o modelo a fim de recuperar o estado atual do modelo. A seguir serão apresentados alguns detalhes de cada uma destas camadas: Visão: camada responsável por abrigar a interface gráfica da aplicação. Promove o acesso e modificação dos dados contidos na camada modelo. Possui as seguintes características: representa a camada de interface do usuário e recebe as entradas dos dados e exibe os resultados (GAMMA, 2004). Modelo: camada responsável por abrigar a lógica do negócio, os dados fundamentais da aplicação e as regras do negócio que controlam o acesso e modificações feitas nesses dados. Possui as seguintes características: modela os dados da aplicação e o comportamento por tráz do processo de negócio, controla o armazenamento dos dados e gerencia a criação de novos dados (GAMMA, 2004). Controle: camada responsável por atender as ações realizadas pelo usuário através da camada visão. É esta camada que recebe as requisições feitas pelo usuário, faz a interpretação dessa requisição para acessar a camada modelo e realizar as alterações.

16 Arquitetura Modelo 2 Para o desenvolvimento de aplicações web, tendo como base a linguagem de programação Java, os desenvolvedores têm a disposição duas tecnologias. A primeira refere-se ao servlet Java e a segunda ao Java Server Pages (JSP). Estas tecnologias possuem arquiteturas que orientam os desenvolvedores no processo de desenvolvimento. Segundo Husted, Dumoulin, Franciscus & Interfeldt (2004), na especificação 0.92 Servlet/JSP foram definidas duas arquiteturas de desenvolvimento: Modelo 1 e Modelo 2. A arquitetura Modelo 1 define a utilização da tecnologia JSP. Neste modelo o navegador acessa diretamente as páginas JSP, que por sua vez acessam as classes da camada modelo. O Modelo 1 promove a mistura de códigos provenientes da camada modelo com o código referente à interface gráfica da aplicação. É o modelo mais usado pelos desenvolvedores devido à facilidade na sua implementação (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004). Porém, as aplicações desenvolvidas conforme esse modelo são de difícil manutenção, reutilização e comprometem o trabalho em equipe, pois não há uma separação do código entre as camadas. Já a arquitetura Modelo 2 define a utilização das tecnologias servlet e JSP no desenvolvimento de aplicações web. Husted, Dumoulin, Franciscus & Interfeldt (2004), definem o Modelo 2 como uma arquitetura que usa os servlets e as páginas JSP juntos na mesma aplicação. Na arquitetura definida pelo Modelo 2 as páginas JSP ficam responsáveis por apresentar os dados aos usuários e os servlets têm a responsabilidade de acessar os dados e controlar o fluxo navegacional (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004). Na prática, o Modelo 2 é uma adequação do MVC para o desenvolvimento de aplicações web, pois não seria viável implementar uma aplicação web usando o protocolo de inserção/notificação que liga a camada modelo à camada visão definida no MVC em uma aplicação web, porque o protocolo utilizado na comunicação de dados em aplicações web é o HTTP (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004). Esse protocolo não estabelece uma conexão entre o cliente e o servidor. Sendo assim, seria difícil implementar o protocolo de inserção/notificação definido no MVC. A Figura 2 apresenta o diagrama de funcionamento do Modelo 2.

17 17 Figura 2: Diagrama de funcionamento do Modelo 2 Modificada (SPIELMAN, 2002) Como é mostrado na Figura 2, o servidor web direciona todas as requisições feitas pelo cliente para um servlet presente na camada controle que, por sua vez, é responsável por acessar as classes da camada modelo e apresentar a resposta a essa requisição através de uma página JSP contida na camada visão. Por ser assim, as aplicações desenvolvidas conforme definido pela arquitetura Modelo 2 facilitam a manutenção, reutilização e o trabalho em equipe. Porém são complexas de serem implementadas. A seção seguinte aborda os conceitos acerca de frameworks. 2.4 Frameworks Um frameworks é um conjunto de componentes (classes e interfaces) que trabalhão junto para solucionar um determinado problema de software. A principal finalidade de um framework é prover o seu reuso em outros projetos, diminuindo a complexidade na implementação de softwares. Segundo Gamma (2004), um frameworks dita a arquitetura de sua aplicação, ou seja, define a estrutura geral, sua divisão em classes e objetos e, conseqüentemente, as responsabilidades entre si, assim como a forma de colaborarem e o fluxo de controle. Lima (2006) identifica um framework pelas seguintes características: é composto por múltiplas classes ou componentes, cada um devendo prover uma abstração de um conceito particular; define como as abstrações trabalharam juntas para resolver um problema;

18 18 seus componentes são reusáveis; organiza padrões em alto nível. Existem vários frameworks disponíveis, como, por exemplo: Struts, WebWork, Spring, Vraptor Java Server Faces. Todos estes são baseados na arquitetura Modelo 2. Porém, existem outros mais específicos, que implementam apenas alguns padrões, ou outras arquiteturas, ou até mesmo que possuem outras finalidades. Dentre os frameworks citados, destaca-se o Struts, pois é o mais utilizado pelos projetistas de aplicações web Java devido a sua simplicidade, recursos oferecidos e a grande quantidade de material disponível na Internet ou em livros. Este framework é baseado nas tecnologias Servlet e JSP, e será abordado na próxima seção. 2.5 Struts Framework O Struts foi idealizado por Craig R. McClanahn e desenvolvido com a colaboração de um grupo de 30 desenvolvedores voluntários. Atualmente, a organização responsável por sua atualização é a Apache Software Foundation 1. Este framework é caracterizado por ser open-source (código aberto) e gratuito, ou seja, não se paga nenhuma taxa para sua aquisição e utilização, e tem como finalidade prover uma estrutura para o desenvolvimento de aplicações web, usando Servlet e JSP, baseado na arquitetura definida pelo Modelo 2. O Struts oferece um componente controlador chamado ActionServlet para controlar o fluxo navegacional da aplicação. O controlador é auxiliado por outros componentes, tais como ActionMappings, Action, ActionForm, ActionForward, entre outros, para acessar os dados, sejam eles provenientes de uma requisição HTTP ou de um Sistema de Gerenciamento de Bando de Dados (SGBD) na camada modelo. Outra característica é que disponibiliza bibliotecas de tags para apresentação, captação e manipulação de dados nas páginas JSP e frameworks que facilitam algumas tarefas de implementação como validação de dados e criação do layout das páginas. Utilizando o Struts, é possível desenvolver páginas internacionalizadas, ou seja, em vários idiomas, apenas criando e mantendo arquivos com extensão.properties, responsável por conter todos os textos, labels e mensagens apresentadas em uma página. 1 Maiores informações podem ser obtidas em:

19 19 O Struts disponibiliza os componentes necessários para implementação da camada controle e o integra com outras tecnologias, tais como Java Server Pages (JSP), bibliotecas de tags (Tag Libraries), JavaBeans, JDBC, entre outras; para prover a camada modelo e a visão. Estas tecnologias são usadas nas camadas dando suporte ao Struts, onde o JSP e as bibliotecas de tags são usados na camada visão para inserção e apresentação dos dados. Já o JavaBeans é utilizado na camada modelo para gerenciar os dados da aplicação. Portanto, para aplicar o Struts no desenvolvimento de uma aplicação web é necessário ter um mínimo de conhecimento dessas tecnologias. A Tabela 1 apresenta as camadas, assim como as tecnologias Java e componentes do Struts empregadas em cada uma delas na estrutura do Struts. Tabela 1: Tecnologias Java e componentes utilizados na estrutura do Struts (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Camada Visão Camada Controle Camada Modelo Componentes do Struts Tecnologias Extensões da tag JSP Java Server Pages e outros veículos de apresentação fornecidos pelos desenvolvedores ActionForwards Classes ActionForm ActionMappings ActionServlet Classes Action ActionErros MessageResources Varias classes utilitárias, como Commons-Digester e Commons-BeanUtils GenericDataSource JavaBeans e outros serviços de dados e APIs fornecidas pelos desenvolvedores Além dos componentes e tecnologias citados acima, o Struts utiliza vários arquivos de configurações: struts-config.xml, mensagem.properties, entre outros. A Tabela 2 apresenta alguns arquivos de configuração do Struts, assim como uma breve descrição de cada um.

20 20 Tabela 2: Principais arquivos de configuração do Struts (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Camada Visão Camada Controle Mensagem.properties Armazena as mensagens localizadas e labels para que possa ser utilizado o recurso de internacionalização Struts-config.xml Armazenam as configurações padrões para os objetos do Controlador, que inclui as ações do usuário, as alterações do estado e as consultas do estado suportadas pelo modelo Para exibição e manipulação dos dados em páginas JSP contidas na camada visão, o Struts disponibiliza bibliotecas de tags: struts-html.tld, struts-bean.tld, struts-logic.tld. A Tabela 3 apresenta as bibliotecas de tags oferecidas pelo Struts, assim como uma breve descrição. Tabela 3: Bibliotecas de tags oferecidas pelo Struts (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Biblioteca de tags Finalidade struts-html.tld Extensão da tag JSP para os formulários HTML struts-bean.tld Extensão da tag JSP para lidar com os javabeans struts-logic.tld Extensão da tag JSP para testar os valores das propriedades Além do conhecimento básico das tecnologias utilizadas pelo Struts, é necessário aprender os conceitos que envolvem os componentes, arquivos de configuração e bibliotecas de tags contidos no Struts para o desenvolvimento de aplicações web, que se baseiam nessa arquitetura. Estes componentes serão apresentados a seguir Componentes do Struts O Struts (versão 1.2.8) é composto pelos seguintes pacotes: org.apache.struts.action, org.apache.struts.actions, org.apache.struts.confg, org.apache.struts.plugins, org.apache.struts.resouces, org.apache.struts.taglib, org.apache.struts.titles, org.apache.struts.upload, org.apache.struts.util e org.apache.struts.validator. Estes, por sua vez, são compostos por componentes e frameworks que possuem funções específicas.

21 21 Dentro do pacote action, por exemplo, encontram-se os componentes: ActionServlet, ActionMappings, Action, ActionForward e ActionForm, que são os componentes fundamentais para o desenvolvimento de uma aplicação com Struts, pois fornece os recursos necessários para a implementação da camada controle. Os outros pacotes oferecem componentes e framework adicionais como: framework de validação e o de criação de layout, componente para fazer upload de arquivos, entre outros recursos. Esta seção visa fazer uma breve descrição dos componentes fornecidos para o desenvolvimento de uma aplicação web com o auxílio do Struts Framework Componentes da Camada Controle ActionServlet é o componente controlador do Struts e, através do auxílio de outros componentes, implementa a camada controle, estando presente no pacote org.apache.struts.action do Struts. Esse componente permite centralizar todas as requisições e as respostas a essas requisições em um único ponto. Portanto, todas requisições feitas por um cliente através de um browser são direciona para esse componente. Para atender uma requisição, o ActionServlet é auxiliado pelos componentes: ActionMapping, Action, ActionForm, ActionForward e ActionErros, tendo por base o arquivo de configuração struts-config.xml. Neste arquivo encontram-se as configurações de componentes e mapeamentos de todas as requisições, ou seja, os passos a ser seguido para atendê-las. A Figura 3 apresenta o mapeamento de uma requisição dentro do arquivo de configuração struts-config.xml. 1. <action-mappings> 2. <action path="/cadastrar" type="br.silvio.palmas.evento.cadastraraction" name="formulario" scope="request validate="true" > 3. <forward name="sucesso" path="/sucesso.jsp" redirect="false" /> 4. <forward name="erro" path="/erro.jsp" redirect="false" /> 5. <action-mappings> Figura 3: Mapeamento de uma requisição no struts-config.xml

22 22 A primeira linha (da Figura 3) é apresentada a tag que abriga os mapeamentos das requisições. Na segunda linha é apresentada a tag que define uma ação com as suas propriedades. Já nas linhas 3 e 4 são apresentadas as tags que definem qual página da camada visão será apresentada como resultado da ação e, por último, na linha 5 é apresentada a tag de fechamento do mapeamento. O componente Action tem como finalidade fazer a ligação entre as requisições e a lógica do negócio. O ActionServlet seleciona uma classe de ação apropriada para cada requisição que acesse a camada modelo, cria um exemplo (se necessário), e chama o método execute() (SPIELMAN, 2002). Uma classe de ação é uma classe Java que é subclasse do componente Action e tem a capacidade de acessar classes da camada modelo, responsáveis por buscar ou alterar os dados, geralmente em um Sistema de Gerenciamento de Banco de Dados (SGBD). O Action é mapeado no struts-config.xml, dentro de uma tag Action-Mappings onde está configurado o caminho da classe que executa a ação e a(s) página(s) que mostrará(ão) os resultados dessa ação. Na linha 2 (da Figura 3) é apresentada a tag que configura uma ação. A Figura 4 apresenta o código de uma classe Java que é subclasse do componente Action. 1. public final class CadastrarAction extends Action { 2. public ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 3 ActionErrors errors = new ActionErrors(); 4. DadoFormulario formulario = (DadoFormulario) form; 5. evento ev = new evento(); 6. if (ev.adicionar(formulario)) 7. return mapping.findforward("sucesso"); 8. else { 9. return mapping.findforward("erro"); 10 errors.add(actionerrors.global_error, new 11 ActionError("error.senhaAntiga")); } } } Figura 4: Código Java que define uma ação Na linha 1 (da Figura 4) é apresentada a criação de uma classe de ação. As linhas 2, 3, 4, 5, 6, 7 e 8 apresentam o código que executa uma ação e retornar um ActionForward,

23 23 que guarda o caminho de uma página JSP, ao ActionServlet para que ele apresente-a como resposta a requisição. Nas linhas 3 e 4 (da Figura 3) estão configuradas as páginas de resposta, dependendo do retorno da classe de ação. O componente ActionForm é responsável por recolher os dados contidos em um formulário e, se necessário, validá-los antes de ser executada uma ação. Esse componente auxilia a classe de ação na captação dos dados digitados pelo usuário para que os mesmos sejam inseridos, geralmente, em um banco de dados na camada modelo. A Figura 5 ilustra um formulário para cadastrar dados. Figura 5:Formulário de cadastro Para fazer a captação dos dados quando o formulário for submetido é necessário criar uma classe Java subclasse do componente ActionForm. Nessa classe são criados os atributos, métodos gets e sets correspondentes aos campos do formulário. A Figura 6 apresenta esta classe Java, a qual será responsável por receber os dados do formulário da Figura public class DadoFormulario extends ActionForm { 2. private String nome, cidade; 3. public String getnome() { 4. return nome; 5. } 6. public void setnome(string nome) { 7. this.nome = nome; 8. } 9. public String getcidade() { 10. return nome; 11.} 12.public void setcidade(string cidade) { 13. this.cidade = cidade; 14. } 15. } Figura 6: Classe Java que estende o componente ActionForm

24 24 A Figura 6 apresenta o código que define uma classe Java que é subclasse do componente ActionForm. Esta classe é instanciada pela classe de ação para fazer a captação dos dados inseridos em um formulário. Na linha 4 (da Figura 4) é apresentada a instanciação da classe definida na Figura 6. Além da classe responsável por receber os dados provenientes de um formulário, deve ser feita também uma configuração no arquivo struts-config.xml. A Figura 7 apresenta o código de configuração de um formulário. 1. <form-beans> 2. <form-bean name="formulario" type="pacote.dadoformulario" > 3. </form-beans> Figura 7: Configuração de um ActionForm no struts-config.xml Na linha 1 (da Figura 7) é apresentada a tag de abertura de um elemento formbeans. Esse elemento abriga a configuração de um ou mais formulários. A linha 3 apresenta a tag que configura a classe que estende o componente ActionForm, responsável por captar os dados inseridos em um formulário. O componente ActionForward é responsável por indicar o caminho das páginas JSP ao ActinServlet para que ele execute um RequestDispatcher.forward() ou HttpServletResponse.sendRedirect(), que são métodos utilizados para transferir o controle a um JSP ou um servlet que, geralmente, contém as respostas das requisições a serem mostradas ao usuário. Esse componente é executado pela classe de ação após a validação e execução da ação. O ActionForward é configurado no arquivo de configuração strutsconfig.xml. Nas linhas 3 e 4 da Figura 3 é apresenta a tag que configura o ActionForward. Já nas linhas 7 e 9 da Figura 4 é apresentada a execução do ActionForward dentro de uma classe de ação. Por fim, o componente ActionErro é responsável por abrigar mensagens de erros ocorrida no processo de validação dos dados na classe de ação. Essas mensagens podem ser impressas em uma página JSP e apresentada ao usuário através de tags específicas definidas pelas bibliotecas de tags contidas no Struts. O ActionErro é definido em uma classe de ação. Nas linhas 3 e 10 da Figura 4 são apresentados os códigos que implementam esse componente em uma classe de ação.

25 25 Todos os componentes apresentados nos parágrafos anteriores trabalhão junto dando suporte a implementação da camada controle. Cada componente tem uma função específica dentro deste contexto. A Figura 8 ilustra a interação destes componentes para a implementação da camada controle. Figura 8: Implementação da camada controle (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Cada requisição HTTP é direcionado para ActionServlet que aciona outros componentes para auxiliá-lo na apresentação da resposta HTTP a essa requisição. Quando o ActionServlet recebe uma requisição, por exemplo, a submissão de um formulário JSP com dados para ser inserido na camada modelo, ele aciona o componente Action para acessar a classe na camada modelo. Este, por sua vez, aciona o componente ActionForm para fazer o recolhimento dos dados para que sejam inseridos no modelo. O Action tem como retorno um ActionForward. O componente ActionForward é o componente responsável por guardar o caminho de uma página JSP, que será repassado ao ActionServlet para que ele apresente-a como resposta. Todos esses processos são definidos no arquivo de configuração struts-config.xml, dentro da tag action-mappings. O ActionMapping representa a informação para que o ActionServlet saiba sobre o mapeamento de uma requisição particular (SPIELMAN, 2002). Quando o ActionServlet recebe uma requisição, ele consulta o ActionMapping para saber quais os passos a serem seguidos para atender a essa requisição.

26 Componentes da camada Modelo Os componentes da camada modelo têm como finalidade manter o estado de uma aplicação. Para acessar e mudar os objetos da camada modelo, o Struts faz o uso das tecnologias Java para promover o acesso aos dados em um banco de dados como, JavaBeans, JDBC e todas as APIs disponíveis que tenha essa finalidade Componentes da camada Visão O Struts utiliza as tecnologias JSP para prover a camada visão e oferece as bibliotecas de tags contidas no pacote org.apache.struts.taglib. Essas tecnologias e componentes dão suporte a criação de interfaces gráficas de uma aplicação web, assim como a captação e apresentação dos dados inseridos pelo usuário. As bibliotecas de tags oferecidas pelo Struts não são de uso obrigatório, mas facilitam a apresentação e manipulação de dados em uma página JSP (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Configuração dos Componentes do Struts A configuração dos componentes do Struts é feita em arquivos XML. Os arquivos de configuração são: web.xml, struts-config.xml. Existem outros arquivos de configurações opcionais, para caso seja necessário utilizar alguns componentes ou framework adicionais do Struts, como: framework Tiles, que é usado para a construção de layout em páginas JSP; e o framework Validator, usado para fazer validações de dados enviados pelo usuário em páginas JSP. Todos os arquivos necessários para fazer a configuração dos componentes do Struts serão descritos na seção 3 deste trabalho Frameworks do Struts Além dos componentes citados nas seções acima, o Struts possui também os frameworks: Tiles e Validator. O primeiro é utilizado na construção do layout das páginas e o segundo é utilizado para validar os dados inseridos pelo usuário. Esses dois frameworks facilitam a implementação, diminuindo de forma sistemática a complexidade de criação do layout e da

27 27 validação de dados (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004). As seções seguintes apresentarão maiores detalhes acerca dos conceitos envolvidos por estes dois frameworks Framework Tiles A apresentação da informação em sistemas web é um dos requisitos importantes, pois é o responsável por fazer a interação com o usuário. Se essa apresentação não estiver bem definida pode comprometer a usabilidade do sistema. O Struts oferece o frameworks Tiles para auxiliar a criação do layout das páginas web. O framework Tiles é composto por componentes que proporcionam a criação do layout das páginas, permitindo a inserção de páginas dentro de outras, em locais específicos. A Figura 9 ilustra a inserção de páginas dentro de uma outra através do framework Tiles. Figura 9: Inserção de páginas Uma página é inserida dentro de outra através de tag definida pela biblioteca tags struts-tiles.tld, que deve estar configurada em um arquivo chamado tiles-defs.xml. Neste arquivo define-se a página que receberá as outras páginas. A Figura 10 apresenta o arquivo de configuração tiles-defs.xml.

28 28 1. <?xml version="1.0"?> 2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" " <!-- definição do Layout da página index.jsp --> 3. <tiles-definitions> 4. <definition name="abre.principal" path="/index.jsp"> 5. <put name="titulo" value="titulo da Página > 6. <put name="cabecalho" value="/cabecalho.jsp"/> 7. <put name="menu" value="/menu.jsp"/> 8. <put name="submenu" value="/submenu.jsp"/> 9. <put name="corpo" value="/corpo.jsp"/> 10. <put name="rodape" value="/rodape.jsp" /> 11. </definition> 12. <tiles-definitions> Figura 10: Arquivo de configuração tiles-defs.xml A linha 1 (da Figura 10) apresenta a definição da versão XML utilizada no arquivo. Já na linha 2 é especificado o DTD que regulamenta a criação de tags neste arquivo. Na linha 3 é apresentado a tag raiz do arquivo. A linha 4 apresenta a tag definition, que define a página que receberá as outras. As linhas 5, 6, 7, 8, 9 e 10 apresentam as tags que especificam o nome atribuído a cada uma das páginas, bem como a sua URL. Estas páginas podem ser inseridas na página referenciada na linha 4. A linha 11 apresenta a tag de fechamento da tag definition iniciada na linha 4 e na linha 12, fechamento da tag raiz do arquivo. Deve também ser feita uma configuração no arquivo struts-config.xml para utilizar o framework Tiles. A Figura 11 apresenta o código de configuração. <!-- abre a pagina principal da aplicação --> 1. <action path="/paginaprincipal" type="org.apache.struts.actions.forwardaction" parameter="abre.principal"/> <!-- Tiles Configuration --> 2. <plug-in classname="org.apache.struts.tiles.tilesplugin"> 3. <set-property property="definitions-config" value="/web-inf/tiles-defs.xml"/> Figura 11: Configuração do Tiles no struts-config.xml Na primeira linha (da Figura 11) é apresentada a tag action que possui a configuração da ação requisitada, e possui um parâmetro que identifica a página a ser

29 29 mostrada. Já na segunda linha é apresentada a tag que configura o framework Tiles e, por último, na linha 3, é apresentada a tag que indica o arquivo de configuração tiles-defs.xml. A Figura 12 apresenta o código de inserção das páginas definidas no arquivo de configuração tiles-defs.xml, dentro de uma página JSP, através das tags disponibilizadas pela biblioteca de tags struts-tiles.tld. 1. <%@ taglib uri="/web-inf/struts-tiles.tld" prefix="tiles" %> 2. <html> 3. <head> 4. <title><tiles:getasstring name="title"/></title> 5. </head> 6. <body > 7. <table border="0" cellpadding="0" cellspacing="0" width="740"> 8. <tr> 9. <td colspan="4"><tiles:insert attribute="cabecalho"/></td> 10. </tr> 11. <tr> 12. <td><tiles:insert attribute="menu"/></td> 13. <td><tiles:insert attribute="corpo"/></td> 14. <td><tiles:insert attribute="submenu"/></td> 15. </tr> 16. <tr> 17 <td colspan="4"><tiles:insert attribute="radape"/></td> 18. </tr> 19. </table> 20. </body> 21. </html> Figura 12: Inserções de páginas dentro de uma outra Na primeira linha (da Figura 12) é apresentada a tag que faz a referência à biblioteca de tags struts-tiles.tld. Já na linha 4 é apresentada a inserção de uma string através da tag <tiles:getasstring>, definida no arquivo de configuração tiles-defs.xml. Por fim, nas linhas 9, 12, 13, 14 e 17 são apresentadas as instruções para as inserções das páginas definidas no arquivo tiles-defs.xml, através da tag <titles: insert> Framework Validator Um sistema web recebe muitos dados inseridos pelos usuários. Para não receber dados inconsistentes, é necessário submetê-los a um processo de validação, onde são analisadas a consistências dos mesmos. Esse processo requer códigos que analisam item por item para

30 30 identificar se eles são validos ou não. Para diminuir a complexidade na validação dos dados, o Struts oferece um framework chamado Validator. O framewok Validator facilita a validação dos dados inseridos pelos usuários, diminuindo assim a sua complexidade, permitindo fazer a validação dos dados tanto do lado do cliente, como do lado do servidor. O framework Validator oferece os seguintes benefícios (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004): oferece validação do lado do cliente em JavaScript e validação no lado do servidor em arquivos XML ou em código Java; proporciona um único ponto de manutenção de código de validação; podem ser definidas validações através de expressões regulares ou em código Java; as validações compartilham o arquivo de mensagens.properties, onde é possível usar textos contidos nesse arquivo; existem ferramentas que oferecem uma interface gráfica para criação das validações. O Validator já possui algumas validações prontas, tais como: validação de , telefone, tipos de dados, entre outros. Essas validações estão dentro do arquivo de configuração validator-rules.xml. Se for necessário usar outras validações que não estão neste arquivo é possível criá-las. A Tabela 4 apresenta as validações contidas neste arquivo. Tabela 4: Validações prontas oferecidas pelo Validator (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004) Validação Finalidade Required Terá sucesso se o campo contiver qualquer caractere diferente de espaço em branco Mask Terá sucesso se o valor coincidir com a constante dada pelo atributo mask Range Terá sucesso se o valor estiver dentro dos valores definidos pelos atributos min e max ((value >= min) & (value <= max))) maxlength Terá sucesso se o comprimento do campo for menor ou igual ao atributo max minlength Terá sucesso se o comprimento do campo for maior ou igual ao atributo min byte, short, integer, long, float, double Terá sucesso se o valor puder ser convertido no primitivo correspondente Date Terá sucesso se o valor representar uma data válida. Um padrão poderá ser fornecido. creditcard Terá sucesso se o valor puder ser um número

31 31 válido de cartão de crédito. Terá sucesso se o valor puder ser um endereço de válido. Para fazer uso das validações contidas no validator-rules.xml é necessário criar regras de validações. As regras de validações são criadas no arquivo de configuração validator.xml. A Figura 13 apresenta a criação de regras de validação para um campo de um formulário no arquivo validator.xml. 1. <formset> 2. <form name="formulario"> 3. <field property="campo1" depends="required"> 4. <arg0 key="mensagemerro.campo1"/> 5. </field> 10. </formset> Figura 13: Criação de regras de validação no arquivo validator.xml A primeira linha (da Figura 13) apresenta a tag raiz do arquivo validator.xml. Já na segunda linha é apresentada abertura da tag dentro da qual se podem definir regras de validações para um determinado formulário. Na linha 3 é apresentada a tag que cria uma regra de validação para um determinado campo de um formulário. A linha 4 apresenta a tag que abriga a mensagem de validação que será apresentada ao usuário. Esta mensagem é definida no arquivo de mensagens.properties (arquivo responsável por abrigar mensagens que podem ser impressas nas páginas).

32 32 3 MATERIAIS E MÉTODOS Para o desenvolvimento desse trabalho foram utilizados diversos recursos bibliográficos, além de hardware e software que, aliados às orientações, permitiram a finalização do mesmo. 3.1 Local e Período Este trabalho foi desenvolvido durante o primeiro semestre de 2006, como parte da disciplina: Trabalho de Conclusão de Curso em Sistemas de Informação I e II. Os locais utilizados para sua elaboração foram os laboratórios de informática do curso de Sistemas de Informação, sendo que os mais utilizados foram os Laboratórios de Informática I e III, do Centro Universitário Luterano de Palmas. 3.2 Materiais Os recursos utilizados para o desenvolvimento deste trabalho foram disponibilizados pelo Curso de Sistemas de Informação do CEULP/ULBRA em seus laboratórios, tais como hardware e software licenciados. As demais ferramentas free foram adquiridas via Internet Fontes Bibliográficas Publicações Científicas;

33 33 Artigos; Site do STRUTS (STRUTS, 2006); Sites diversos Hardware Pentium III, 750 Mhz e 128 Mb de RAM (Disponível no laboratório); Pentium IV, 2.4 Ghz e 256 Mb de RAM (Disponível no laboratório); Software Microsoft Windows 2000 Professional; Microsoft Office 2000 Professional; Microsoft SQL Server 2000 Internet Explorer 6.0; Acrobat Reader 7.0; Macromedia Dreamweaver MMX 2004; Macromedia Fireworks MMX 2004; Apache Tomcat ; Eclipse Jude UML Instalação e Configuração das Ferramentas Utilizadas Esta seção visa auxiliar os desenvolvedores Java a utilizar o Struts framework para o desenvolvimento de sistemas web. Para tanto, as instruções de instalação e configurações da ferramenta Struts são descritas nas seções seguintes, passa a passo e com ilustrações.

34 Download do Struts Este trabalho utilizou a versão do Struts e o seu download (struts bin.zip) pode ser obtido através do link: < Instalação do Struts A instalação consiste na descompactação do arquivo do Struts em um diretório qualquer. Após a descompactação do arquivo, ele apresentará a seguinte estrutura de diretórios (Figura 14). Figura 14: Estrutura de pastas do Struts Na pasta lib encontram-se as bibliotecas de classes e frameworks, inclusive o Struts. A pasta webapps é composta por arquivos do tipo WAR, e contém: exemplos (struts-examples.war), documentação (struts-documentation.war) e uma aplicação modelo que serve de base para o desenvolvimento das novas aplicações (struts-blank.war) Requisitos necessários para utilizar o Struts Para desenvolver aplicações com base no Struts é necessário ter as seguintes ferramentas: servidor web Servlet e JSP, como o Tomcat 2, por exemplo. 2 Disponível para download em: <

35 35 Java 2 Platform Standard Edition (J2SE) 3. Editor de classe Java. Editor de páginas JSP Configuração do Struts 4 Sistemas desenvolvidos com auxílio do Struts são configurados através de arquivos de configurações: web.xml, struts-config.xml, mensagem.properties, entre outros. O web.xml é um arquivo XML que contém as configurações necessárias de um sistema. As configurações contidas nesse arquivo servem para mostrar ao servidor Servlet/JSP tudo o que ele precisa saber sobre um sistema. Neste arquivo são definidas várias configurações, tais como: componente do Struts ActionServlet, bibliotecas de tags que acompanham o Struts, parâmetros de inicialização, mapeamento de servlet, página principal da aplicação que por padrão é a index.jsp, entre outros. O web.xml já vem com as configurações padrões, mas se for necessário é possível definir novas configurações.. A Figura 15 apresenta o arquivo de configuração web.xml. 1. <?xml version="1.0" encoding="iso "?> 2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" " 3. <web-app> <!-- Standard Action Servlet Configuration (with debugging) --> 4. <servlet> 5. <servlet-name>action</servlet-name> 6. <servlet-class>org.apache.struts.action.actionservlet </servlet-class> 7. <init-param> <param-name>config</param-name> 8. <param-value>/web-inf/struts-config.xml</param-value> 9. </init-param> 10. <init-param> 3 Disponível para download em: < 4 Esta seção é baseada no capitulo 4 do livro Struts em Ação (HUSTED, DUMOULIN, FRANCISCUS & INTERFELDT, 2004)

Minicurso de MVC web com Struts. EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br

Minicurso de MVC web com Struts. EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br Minicurso de MVC web com Struts EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br Agenda MVC Web e Command Visão Geral, Conceitos e terminologia Exemplo Conceitos Avançados Referências Laboratório

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

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

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

Curso de Introdução ao

Curso de Introdução ao Curso de Introdução ao Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br O que é? Struts Struts é um framework gratuito para construção de aplicações web implementadas em Java.

Leia mais

Prof. Roberto Desenvolvimento Web Avançado

Prof. Roberto Desenvolvimento Web Avançado Resposta exercício 1: Configuração arquivo web.xml helloservlet br.com.exercicios.helloservlet

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

J550. Apache Struts. Helder da Rocha (helder@acm.org) www.argonavis.com.br

J550. Apache Struts. Helder da Rocha (helder@acm.org) www.argonavis.com.br J550 Apache Struts Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Este é um módulo opcional. Apresenta uma visão geral do framework Struts, usado para desenvolver aplicações

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

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

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

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

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

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

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

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

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

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso 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 Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

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

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

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

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

Java para WEB. Servlets

Java para WEB. Servlets Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

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

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

CAPÍTULO 35 Como utilizar os componentes ColdFusion

CAPÍTULO 35 Como utilizar os componentes ColdFusion CAPÍTULO 35 Como utilizar os componentes ColdFusion Os componentes ColdFusion (CFC) permitem ao usuário encapsular lógicas de aplicação e de negócios (business logic) em unidades auto-controladas reutilizáveis.

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

Outlook XML Reader Versão 8.0.0. Manual de Instalação e Demonstração UNE Tecnologia

Outlook XML Reader Versão 8.0.0. Manual de Instalação e Demonstração UNE Tecnologia Outlook XML Reader Versão 8.0.0 Manual de Instalação e Demonstração UNE Tecnologia Add-in para o Outlook 2003, 2007 e 2010 responsável pela validação e armazenamento de notas fiscais eletrônicas. Atenção,

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

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

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA Introdução ao Visual Studio VB.Net Programação Estruturada 1 Nesse momento inicial não iremos programar em VB.Net, usando o Visual Studio, mas conhecer alguns comandos e variáveis usadas em uma linguagem

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

Web Design Aula 11: Site na Web

Web Design Aula 11: Site na Web Web Design Aula 11: Site na Web Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Criar o site em HTML é interessante Do que adianta se até agora só eu posso vê-lo? Hora de publicar

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

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

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

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

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

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

Leia mais

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Tecnologias Web. Padrões de Projeto - Camada de Apresentação Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller

Leia mais

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior Desenvolvimento WEB em JAVA Palestrante: Lourival F. de Almeida Júnior Agenda Introdução Servlet Arquitetura de Software Velocity Struts Conclusão Referências Introdução (antes) Programador Produto Introdução

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

Prática Sobre Servlets e JSP

Prática Sobre Servlets e JSP Prática Sobre Servlets e JSP 1. Localize a pasta do Tomcat (TOMCAT_HOME); 2. Acesse a pasta bin e execute tomcat5w.exe; 3. Abra o Navegador e acesse http://localhost:8080 (A apresentação de uma página

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc. Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL Prof. MSc. Hugo Souza Na última aula falamos um pouco sobre as ferramentas

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

Inicialização Rápida do Novell Vibe Mobile

Inicialização Rápida do Novell Vibe Mobile Inicialização Rápida do Novell Vibe Mobile Março de 2015 Introdução O acesso móvel ao site do Novell Vibe pode ser desativado por seu administrador do Vibe. Se não conseguir acessar a interface móvel do

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

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Servlets e Applets, funcionamento e comparativo.

Servlets e Applets, funcionamento e comparativo. Servlets e Applets, funcionamento e comparativo. Airon Rabel Teixeira Rua Guarapuava Joinville SC airon@ymail.com Resumo: Este artigo explica de maneira breve o funcionamento de servlets e applets, mostrando

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

2 a Lista de Exercícios

2 a Lista de Exercícios Projeto de Sistemas 2011/2 2 a Lista de Exercícios (1) Um importante aspecto do projeto da camada de Lógica de Negócio (LN) diz respeito à organização das classes e distribuição de responsabilidades entre

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

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

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

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

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos Novell Vibe 3.4 1º de julho de 2013 Novell Inicialização Rápida Quando você começa a usar o Novell Vibe, a primeira coisa a se fazer é configurar sua área de trabalho pessoal e criar uma área de trabalho

Leia mais

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

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

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do

Leia mais

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

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

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS Manual de Instalação Tempro Software StavTISS Sumário 1. INTRODUÇÃO... 2 2. REQUISITOS DO SISTEMA... 3 3. INSTALAÇÃO... 4 4.

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

2. INSTALAÇÃO E CONFIGURAÇÃO

2. INSTALAÇÃO E CONFIGURAÇÃO INDICE 1. INTRODUÇÃO 2. INSTALAÇÃO E CONFIGURAÇÃO 2.1. COMPARTILHANDO O DIRETÓRIO DO APLICATIVO 3. INTERFACE DO APLICATIVO 3.1. ÁREA DO MENU 3.1.2. APLICANDO A CHAVE DE LICENÇA AO APLICATIVO 3.1.3 EFETUANDO

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Introdução ao Tableau Server 7.0

Introdução ao Tableau Server 7.0 Introdução ao Tableau Server 7.0 Bem-vindo ao Tableau Server; Este guia orientará você pelas etapas básicas de instalação e configuração do Tableau Server. Em seguida, usará alguns dados de exemplo para

Leia mais

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC 1 Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC Edilberto Silva 1, André Luiz (1012545), Andreia Pereira da Silva (1012547) Carlos Alberto (1012206), Humberto César de Carvalho

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

Bem-vindo! O que há de novo no PaperPort 10?

Bem-vindo! O que há de novo no PaperPort 10? Bem-vindo! O ScanSoft PaperPort é um pacote de softwares para gerenciamento de documentos que ajuda o usuário a organizar, acessar, compartilhar e gerenciar documentos em papel e digitais no computador

Leia mais