Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções

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

Download "Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções"

Transcrição

1 1/ Padrões de Projeto em Aplicações Web Desenvolvendo projetos web consistentes baseados em reuso de soluções Adote as melhores práticas de reuso de soluções com a abordagem de Padrões de Projeto (Design Patterns) no desenvolvimento de aplicações web. CLÁUDIO MARTINS De que se trata o artigo: Este artigo apresenta a abordagem de padrões de projeto (design patterns) no contexto do desenvolvimento de aplicações web, e a importância da documentação e organização dos padrões em catálogos on-line. Para que serve: Ajudam os projetistas e desenvolvedor a tomar decisões por melhores soluções para problemas que recorrentemente ocorre nos projeto de aplicações, em especial as disponibilizadas na web. Em que situação o tema é útil: A adoção de padrões, organizados em catálogos, ajuda a manter a consistência e coerência dos projetos, além da qualidade que se obtém na arquitetura do software. Por facilitar a comunicação pelo uso de uma linguagem comum, essa abordagem é indicada para organizações que desenvolvam grandes projetos, possuam grandes e médias equipes ou que estejam distribuídas geograficamente. Resumo DevMan: Padrões de Projeto é uma técnica de reuso de software que oferece benefícios práticos no desenvolvimento de aplicações web, tais como prover soluções de projeto de forma consistente, orientar equipes de desenvolvimento com diretrizes e boas práticas, melhorar o processo de comunicação com a adoção de uma linguagem comum de padrões, entre outros. Padrões de projeto são boas soluções aplicadas a boa parte de problemas comuns em um determinado contexto. É uma abordagem para o desenvolvimento de software baseado no reuso de idéias e soluções genéricas, mas que devem ser contextualizadas para problemas específicos. As principais características são: (a) criam uma linguagem compreendida por todos; (b) facilitam a mentalização da solução; e, (c) são propostas em alto nível (sem detalhes de implementação) para problemas recorrentes. Apesar de terem sido criados inicialmente para solucionar problemas encontrados em projeto (design) de software orientado a objetos, o conceito se estendeu para outras preocupações da Engenharia de Software. Há padrões identificados para a análise de negócio, para transformação de código (refatoração), para projeto de banco de dados, para interfaces web, enfim, onde é possível identificar e catalogar boas soluções que são frequentemente aplicados, haverá padrões de projeto. Este artigo apresenta a abordagem de padrões de projeto no contexto do desenvolvimento de aplicações web, e discute a importância de se documentar e organizar os padrões em catálogos, ação que promove a sistematização dessa abordagem em um processo de construção de aplicações web.

2 2 Definição Os padrões de projeto surgiram de um conceito criado pelo arquiteto Christopher Alexander, em sua obra "The Timeless Way of Building", de O autor propôs que cada padrão é uma regra com três partes, que expressa a relação entre contexto, problema e solução. Cada padrão é um relacionamento entre um certo contexto, um certo sistema de forças que ocorre repetidamente nesse contexto (problema), e uma certa configuração (solução) que permite que essas forças se resolvam. Essas três partes, além do próprio nome do padrão, formam a essência da documentação de um padrão: a) O Contexto: se refere ao conjunto de situações que se repetem, nas quais o padrão de projeto pode ser aplicado; b) O Problema: que trata do conjunto de "forças" objetivos e limitações que ocorrem dentro do contexto; c) A Solução: que é uma estrutura formal para ser aplicada na resolução do problema. A primeira iniciativa em aplicar padrões no desenvolvimento de software veio com a publicação do livro de Erich Gamma e três colaboradores (Helm, Johnson e Vlissides), intitulado "Design Patterns: Elements of Reusable Object-Oriented Software" (1995), onde os autores identificaram 23 padrões para projeto orientado a objetos. Esses padrões formam a base para a maiorias dos padrões que tratam de problemas em projetos dessa natureza, como o catálogo de padrões Blueprints, também chamados de Core J2EE Patterns. Catálogos de Padrões A importância de padrões de projeto aumenta quando os padrões são documentados em um repositório ou biblioteca, também denominados catálogos. A adoção de catálogos de padrões é uma forma efetiva de documentar e compartilhar soluções para problemas recorrentes de projeto, facilitando o reuso dessas soluções e ajudando a manter certa consistência no projeto. Além disso, melhoram a eficiência do processo de desenvolvimento e aumentam a produtividade dos designers por reduzir o retrabalho de pesquisa de boas soluções, minimizando a prática da "reinvenção da roda". Embora padrões sejam soluções de projeto independente de questões de implementação, há muitos benefícios para equipes de desenvolvimento pelo uso de componentes de software que suportem e instanciam padrões de projeto. Depois que um padrão é escolhido, equipes podem reutilizar e adaptar os componentes e trechos de código (como templates) para implementar um determinado padrão selecionado, reduzindo o tempo gasto no desenvolvimento de aplicações web. A eficiência de reuso é melhor obtida quando um catálogo permite relacionar os padrões (por dependência) e identificam quais componentes incorporam esses padrões de projeto. Por exemplo, a implementação do padrão Front Controller pode necessitar do padrão Command, dessa forma o desenvolvedor terá mais facilidade em construir o código a partir do momento que conhece todos os padrões envolvidos na solução. A maior dificuldade em catalogar um padrão é saber realmente se o padrão é um padrão de fato. Há uma discussão entre especialistas no tema em identificar o que é padrão e o que é antipadrão (aquele que parece ser uma boa solução mas conduz a práticas improdutivas e ineficientes). Um exemplo em aplicações web é o padrão Tela de Splash, aquela página pop-up que abre automaticamente no início de uma homepage; para alguns autores é considerado um antipadrão, pois contraria a heurística de prover feedback ao usuário ou de antecipar sobre o que pode ocorrer na aplicação. Outra dificuldade encontrada para adoção de padrões de projeto e uso de catálogos é o pouco consenso em definir o que é um padrão, estabelecer um nome e os limites do seu contexto (para o qual ele foi definido). Muitos padrões são semelhantes entre si, mas possuem denominações diferentes, dependendo de quem documentou e registrou; atuam em contextos complexos que dificultam a sua aplicabilidade. Um bom padrão é aquele que, a partir do seu nome, qualquer desenvolvedor consiga entender e aplicar.

3 3/ Mesmo com todas as dificuldades em adotar catálogos de padrões, o seu emprego deve ser encorajado em organizações que desenvolvam grandes projetos, possuam equipes com muitos membros, ou que seus membros estejam distribuídos geograficamente. Um catálogo ajuda a manter a consistência e coerência no projeto, além da consequente qualidade que se obtém na arquitetura do software. Na web encontramos alguns catálogos de padrões de projeto, em destaque há uma prevalência por catálogos de padrões para tratar problemas de interface, interação e navegação em aplicações web. Exemplos como Welie.com e UI-patterns.com, mantidos pela comunidade de designers; o do livro de Jennifer Tidwell (2010) denominado "Designing Interfaces: Patterns para Design de Interação Efetiva". Outro catálogo de relevância é o Yahoo! Design Pattern Library, um catálogo de padrões web com mais de 50 padrões documentados e organizados em categorias (ver Figura 1). Figura 1. Site do catálogo de padrões do Yahoo! Padrões de Projeto em Aplicações Web Quando se trata de padrões de projeto para aplicações web há, em geral, três dimensões ou preocupações que devem ser consideradas: a) Voltados para o design de interface ou visual: são os padrões mais visíveis, aqueles que trabalham a visualização dos sistemas na web, focando a apresentação e formatação do conteúdo. b) Voltados para interação e navegação: dizem respeito à dinâmica da interação do usuário com a aplicação, ponto crucial para o sucesso da aplicação web c) Voltados para a arquitetura de construção: são os padrões que fornecem a infraestrutura para desenvolvimento do software da aplicação web, que tratam desde a modelagem e organização dos componentes de software, até o projeto (design) da solução.

4 4 A classificação dos padrões é uma decisão de quem mantém o catálogo de padrões, não necessariamente segue a mesma classificação listada aqui. Para exemplificar, o Yahoo organiza o seu catálogo em cinco grandes categorias de padrões: Layout, Navegação, Seleção, Interação Rica e Design Social, cada uma está dividida em coleções especializadas. O mesmo ocorre com outros catálogos online, como o Welie, que organiza o seu catálogo em: Necessidade do Usuário (padrões que atendam a uma necessidade direta do usuário), Necessidades de aplicação (padrões que ajudam a aplicação, ou o designer, se comunicar melhor com o usuário), e Contexto do design (diz respeito a padrões de estruturação do conteúdo e do projeto do site). Para exemplificar alguns dos padrões para aplicações web, este artigo apresenta dois padrões JEE (Front Controller e Command), e dois de interação e apresentação visual (Paginação e Carrinho de Compras). Para efeito de demonstração do formato de documentação, recomendado para registro em um catálogo, adotamos o formato mínimo para o primeiro padrão (Front Controller); nos padrões seguintes adotamos uma apresentação mais livre de formalismo. Padrão "Front Controller" O objetivo do Front Controller é centralizar o processamento de requisições em uma única fachada. Front Controller permite criar uma interface genérica para processamento de comandos. Problema Deseja-se um ponto de acesso centralizado para processamento de todas as requisições recebidas pela camada de apresentação para: (a) controlar a navegação entre os objetos de visão; (b) remover duplicação de código; e, (c) estabelecer responsabilidades mais definidas para cada objeto, facilitando manutenção e extensão. O acesso de páginas clientes sem passar por um mecanismo centralizado, pode dificultar o controle de navegação e segurança da aplicação, pois uma página pode ser aberta por alguém que não deveria ter acesso. Outro problema recorrente em aplicações desse tipo é o existência de código de controle duplicado e misturado ao código de apresentação. Solução O Controlador é ponto de acesso para processamento de requisições: chama serviços de segurança (autenticação e autorização), delega processamento à camadas de negócio, define uma visão apropriada, realiza tratamento de erros, define estratégias de geração de conteúdo. A Figura 1 mostra dois cenários possíveis para um Front Controller. No cenário "a", o controlador utiliza um objeto Dispatcher (despachante), solução que é usada para redirecionar /repassar para a página de resposta correspondente, como no exemplo (usando Servlet) visto na Listagem 1. Listagem 1. Solução de Front Controller usando = "FrontController", urlpatterns = {"/FrontController ") public class FrontController extends HttpServlet { protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //... código // despacho para a página de resposta request.getrequestdispatcher("clienteresposta.jsp").forward(request, response); No cenário "b" (Figura 2), o Front Controller delega processamento a um objeto de apoio (Helper). Nessa solução, pode-se aplicar padrões como Command, Value Beans, e outros onde a competência para realizar a operação é decidida.

5 5/ Figura 2. Dois cenários para um Front Controller Padrão "Command" O padrão Command separa o mecanismo que trata a solicitação (request) do serviço que realiza a tarefa a ser executada. Command (no contexto de aplicações web) é uma adaptação do padrão de Gamma et al. (1995) como estratégia de implementação do Front Controller. É um padrão que pode ser implementado em aplicações web na forma mais simples, até à mais elaborada. Para aplicações que adotam Servlets, por exemplo, uma solução simples é tratar o comando que vem na solicitação, enviado com parâmetro na solicitação, normalmente chamado de action ou comando. Esse parâmetro que informa a ação do comando contém um de vários valores das tarefas a serem executados na aplicação. O servlet de controle recupera o valor da ação como parâmetro da solicitação, e determina qual a lógica de negócio deve ser executado pelo objeto Command. A definição desse padrão no catálogo JEE de padrões é realizada pelo padrão "Service to Worker". A Figura 3 mostra um exemplo simplificado de Command para uma calculadora que deve executar operações para somar, subtrair, multiplicar e dividir dois números. O código dessa solução é visto na Listagem 2 (a interface de Command) e na Listagem 3 é mostrada as classes controladora e de implementação do Command. Figura 3. Exemplo do padrão Command usando servlet

6 6 Listagem 2. Interface Command public interface Command { public String execute () ; Listagem 3.Implementação de Command e o Controlador public class RequestHelperCommand implements Command { private HttpServletRequest request; private HttpServletResponse response; public RequestHelperCommand(HttpServletRequest request, HttpServletResponse response) { this.request = request; this.response = public String execute() { // tratar a requisicao float n1 = Float.parseFloat(this.getRequest().getParameter("n1")); float n2 = Float.parseFloat(this.getRequest().getParameter("n2")); String acao = this.getrequest().getparameter("acao"); float result = 0; if (acao.equalsignorecase("somar")) { result = n1 + n2; if (acao.equalsignorecase("subtrair")) { result = n1 - n2; // outras ações // retornar página de resposta return "calcform.jsp?resposta=" + result + "&n1=" + n1 + "&n2=" + n2; // gets e set s // Fim da classe // Classe = "ControladorCalc", urlpatterns = {"/ControladorCalc") public class ControladorCalc extends HttpServlet { protected void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { // o objeto helper ajuda a obter os parametros e processar o request RequestHelperCommand helper = new RequestHelperCommand(request, response); // delega o processamento o metodo de execucao do helper String paginaresposta = helper.execute(); // redireciona a página de resposta request.getrequestdispatcher(paginaresposta).forward(request, response); // fim da classe controladora Padrão "Paginação" Paginação é um padrão para projeto de interação de interface com usuário. É indicado quando o usuário necessita visualizar um subconjunto de dados que não serão fáceis de mostrar dentro de uma única página. Esse problema é solucionado com a adição de um mecanismo de paginação, normalmente uma barra que permite navegar entre as páginas que são geradas como resultado da paginação. Um exemplo bem conhecido é a lista de resultados de uma pesquisa do Google, como é visto na Figura 4.

7 7/ Note que a solução deve prover meios para: a) quebrar a lista de itens em uma seqüência de páginas; b) fornecer links para acessar tanto as páginas anteriores, quanto as próximas em relação à página que está sendo exibida; c) fornecer links para saltar para a primeira e última páginas do conjunto; d) destacar qual o número da página que o usuário está navegando. Figura 4. Exemplo do padrão "Paginação" na barra de resultados do Google A instanciação do padrão Paginação, quando se desenvolve aplicações web com Java Server Faces (JSF), quase sempre é resolvido com o uso de componentes baseados em tag library. Um exemplo é o componente datascroller do RichFaces, como pode ser visto na Listagem 4 e renderizado como na Figura 5. Neste exemplo, um conjunto de dados é tabulado a partir da coleção registrada no bean gerenciado (cidademb.cidades), o componente <rich:datascroller> trabalha em colaboração com o componente <rich:datatable>, onde se especifica o número máximo de itens a serem exibidos em cada paginação (rows="4"). Listagem 4.Exemplo de código JSF do componente datatable do Richfaces <rich:datatable value="#{cidademb.cidades" var="cid" rows="4"> <rich:column> <f:facet name="header"> <h:outputtext value="cidade" /> </f:facet> <h:outputtext value="#{cid.nome"/> </rich:column> <rich:column> <f:facet name="header"> <h:outputtext value="frete" /> </f:facet> <h:outputtext value="#{cid.valorfrete"/> </rich:column> <f:facet name="footer"> <rich:datascroller renderifsinglepage="true" /> </f:facet> </rich:datatable> Figura 5. Exemplo do componente "Paginação" usando Richfaces

8 8 Padrão "Carrinho de Compras" Um padrão bastante adotado em aplicações de comércio eletrônico é o "Carrinho de Compras". O padrão permite que clientes comprem produtos em uma loja virtual, utilizando a metáfora do carrinho de compras, onde o cliente pode selecionar os produtos antes de realizar o pagamento. De uma forma geral, o padrão fornece funcionalidades com as vistas na Figura 6. Neste exemplo, identificamos as principais operações que serão codificadas em métodos como adicionar produto, remover produto e finalizarcompra, que é demonstrado na solução de uma classe Java do tipo Managed Bean (JSF), CarrinhoBean, como mostra a Listagem 5; a Listagem 6 mostra a classe Produto. Para implementar esse padrão é necessário atentar para dois requisitos da aplicação. Primeiro, uma instância da classe CarrinhoBean não deve atender vários clientes para não misturar produtos escolhidos por clientes diferentes, solução fornecida pela Segundo, os produtos adicionados devem ser mantidos entre as chamadas dos métodos da classe CarrinhoBean. Em outras palavras, é necessário manter o estado do carrinho representado por uma estrutura de dados do tipo coleção ou lista. A solução, neste caso, é utilizar no código o objeto de coleção "produtos" (Set<Produto> produtos), que mantém o estado da lista de produtos adicionados no carrinho. Figura 6. Página com a metáfora do padrão "Carrinho de Compras" Listagem 5.Exemplo de código JSF do componente datatable public class CarrinhoBean { private Set<Produto> produtos = new HashSet<Produto>(); public CarrinhoBean() { public void adicionar(produto produto) { this.produtos.add(produto); public void excluir(produto produto) { this.produtos.remove(produto); public void finalizarcompra() { // código para finalizar a compra. // gets e set s Listagem 6.Código da classe Produto public class Produto { private String nome; private int quantidade; private float preçounid ; private float preçototal; // gets e set s

9 9/ Conclusões Padrões de Projeto é uma técnica de reuso de software que oferece benefícios práticos no desenvolvimento de aplicações web, tais como prover soluções de projeto de forma consistente, orientar equipes de desenvolvimento com diretrizes e boas práticas, melhorar o processo de comunicação com a adoção de uma linguagem comum de padrões, entre outros. Entretanto, para atingir esses benefícios é importante que os padrões de projetos estejam documentados e disponíveis em um formato que promova o reuso. Várias coleções de padrões estão documentadas e disponíveis na Web, normalmente em forma de bibliotecas ou catálogos, como é o caso de Welie (http://www.welie.com) e Yahoo! Design Pattern Library (http://developer.yahoo.com/patterns/). Apesar da popularidade de padrões e dos catálogos de padrões, atualmente não há um consenso em como os padrões deveriam ser documentados, mantidos e compartilhados por todos. Contudo, é inegável a importância de utilizar padrões de projeto para orientar as decisões por melhores soluções para problemas que recorrentemente ocorre nos projeto de aplicações, em especial as disponibilizadas na web. Links Catálogo do Yahoo! Design Pattern Library Catálogo com mais de 130 padrões de interação web. Catálogo com 58 padrões de projeto de interface web, agrupados em cinco categorias. Catálogo dos padrões JEE (Blueprints, Core J2EE Patterns) Livros (opcional) Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos; Gamma, Helm, Johnson e Vlissides; Artmed, Primeiro livro a abordar o assunto, apresenta um catálogo com 23 padrões para solucionar problemas de design orientado a objetos. Core J2EE Patterns, 3a. Edição; Alur, Crupi; Campus/Elsevier, Apresenta um catálogo com 21 padrões com as melhores práticas, estratégias de design e soluções para as principais tecnologias JEE. Web Application Design Patterns (Interactive Technologies); Pawan Vora; Morgan Kaufmann Publishers, Apresenta uma coleção com mais de cem padrões documentados para design de aplicações web. Designing Web interfaces; Bill Scott,Theresa Neil; O'Reilly, Apresenta mais de 75 padrões de projeto para construção de interfaces web.

10 10 Cláudio Martins é Mestre em Computação pela UFRGS, professor do Instituto Federal do Pará (IFPA) e analista de sistema da Companhia de Informática de Belém (Cinbesa). Trabalha há dez anos com a plataforma Java.

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

J550. Model View Controller

J550. Model View Controller J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras

Leia mais

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

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

Transaction Scripts: Uma Forma mais Simples de Organizar Lógica de Domínio

Transaction Scripts: Uma Forma mais Simples de Organizar Lógica de Domínio Roberto Perillo (jrcperillo@yahoo.com.br) é bacharel em Ciência da Computação e está atualmente cursando mestrado no ITA, onde já concluiu o curso de especialização em Engenharia de Software. Trabalha

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

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos

Leia mais

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

!" # # # $ %!" " & ' ( 2

! # # # $ %!  & ' ( 2 !"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

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

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

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

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

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

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

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Programação Web Aula 12 - Java Web Software

Programação Web Aula 12 - Java Web Software Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código

Leia mais

Padrão Arquitetura em Camadas

Padrão Arquitetura em Camadas Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Definição Estimula a organização

Leia mais

MÓDULO Modelagem de classes de projeto

MÓDULO Modelagem de classes de projeto MÓDULO Modelagem de classes de projeto A perfeição (no projeto) é alcançada, não quando não há nada mais para adicionar, mas quando não há nada mais para retirar. -Eric Raymond, The Cathedral and the Bazaar

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

Introdução à Padrões de Projeto. Glauber Magalhães Pires

Introdução à Padrões de Projeto. Glauber Magalhães Pires Introdução à Padrões de Projeto Glauber Magalhães Pires Agenda O que são padrões de projeto? Para que servem e por que utilizá-los? Elementos constituintes Como escolher o padrão a ser usado? Como são

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

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

Autenticação e Autorização

Autenticação e Autorização Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa

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

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

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

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

JSP e Servlet Princípio de MVC

JSP e Servlet Princípio de MVC UNIPÊ Centro Universitário de João Pessoa Desenvolvimento para Web HTTP e Servlets JSP e Servlet Princípio de MVC ducaribas@gmail.com 1 12 JSP e Servlets Desvantagens de JSP e Servlets Servlets Escrever

Leia mais

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Técnicas de Programação Avançada TCC-00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br

Técnicas de Programação Avançada TCC-00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Técnicas de Programação Avançada TCC-00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Conteúdo: Padrão MVC Documento baseado no material preparado pelo Prof. Luiz André (http://www.ic.uff.br/~lapaesleme/)

Leia mais

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

Leia mais

J550 Padrões de Projeto J2EE para Aplicações Web

J550 Padrões de Projeto J2EE para Aplicações Web J550 Padrões de Projeto J2EE para Aplicações Web Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Introdução Este módulo aborda os principais padrões de projeto J2EE, dentre o catálogo organizado

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

Gerador de código JSP baseado em projeto de banco de dados MySQL

Gerador de código JSP baseado em projeto de banco de dados MySQL Gerador de código JSP baseado em projeto de banco de dados MySQL Juliane Menin Orientanda Prof. Alexander Roberto Valdameri Orientador Roteiro Introdução e Objetivos Fundamentação Teórica Especificação

Leia mais

Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos

Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos de Projeto J931 J2EE Versão 2.0 (setembro de 2003) Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos Identificar os principais padrões de projeto J2EE Distinguir os principais padrões de projeto

Leia mais

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

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

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

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

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

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes

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

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais Curso de Java Geração de Páginas WEB Aplicação WEB Numa aplicação WEB de conteúdo dinâmico As páginas são construídas a partir de dados da aplicação (mantidos num banco de dados). Usuários interagem com

Leia mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 USANDO O JSF Continuação Interdependência e Injeção Instâncias de Managed Beans podem conversar entre si para dividir o processamento das requisições dos usuários de acordo

Leia mais

Concepção e Elaboração

Concepção e Elaboração UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Análise e Projeto Orientado a Objetos Concepção e Elaboração Estudo

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

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

Footprints Service Core. Manual de uso do sistema

Footprints Service Core. Manual de uso do sistema Footprints Service Core Manual de uso do sistema Sumário Acessando o sistema... 3 Visão geral... 4 Criação de chamados... 5 Acompanhamento de chamados... 7 Compartilhamento de chamados... 8 Notificações...

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

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

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

Leia mais

Demoiselle Framework. Palestrante: Flávio Gomes da Silva Lisboa JUN/2009

Demoiselle Framework. Palestrante: Flávio Gomes da Silva Lisboa JUN/2009 Demoiselle Framework Palestrante: Flávio Gomes da Silva Lisboa JUN/2009 Sumário Introdução Desenvolvimento de TI para Governo Elementos de Decisão Estratégia para a área de tecnologia Diretivas da Arquitetura

Leia mais

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa _capa Integrando Aplicações Java com o Facebook Descubra como é fácil criar uma aplicação para rodar no Facebook Desde o lançamento oficial do Facebook, em 2004, o número de usuários vem aumentando a cada

Leia mais

Prof.ª Esp. Talita Pagani

Prof.ª Esp. Talita Pagani Especialização em Engenharia de Software Prof.ª Esp. Talita Pagani talita.cpb@gmail.com @talitapagani 21/02/2014 Design Patterns Aula 1 Prof.ª Esp. Talita Pagani 1 Informações gerais 1. Definição de Design

Leia mais

Padrões de Desenho (Design Patterns)

Padrões de Desenho (Design Patterns) Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Aprenda as melhores práticas para construir um completo sistema de teste automatizado Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo

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

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

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

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

RESUMO DA SOLUÇÃO CA ERwin Modeling. Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios?

RESUMO DA SOLUÇÃO CA ERwin Modeling. Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios? RESUMO DA SOLUÇÃO CA ERwin Modeling Como eu posso gerenciar a complexidade dos dados e aumentar a agilidade dos negócios? O CA ERwin Modeling fornece uma visão centralizada das principais definições de

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

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

7 Utilização do Mobile Social Gateway

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

Leia mais

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

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

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

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Curso - Padrões de Projeto Módulo 5: Model-View- Controller Curso - Padrões de Projeto Módulo 5: Model-View- Controller Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java:

Leia mais

Teste e Depuração de Sistemas Web. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Teste e Depuração de Sistemas Web. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Teste e Depuração de Sistemas Web Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Testando Aplicações Web Ê É bem mais complicado testar interfaces Web do que classes de objetos Ê Aplicações WEB não

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

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

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

Histórico de revisões

Histórico de revisões Design Patterns Histórico de revisões Data Versão Descrição Autor 15/1/2014 1.0 Finalização da primeira versão HEngholmJr OBJETIVOS Fornecer uma visão geral sobre Design Patterns visando atingir os requisitos

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel Introdução a Servlets e JSP samuellunamartins at gmail dot com Conteúdo da aula Introdução a HTML Introdução a Servlets Preparando o ambiente de programação Exemplo de Servlets 2 Websites na década de

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

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com)

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com) Padrões do Catálogo J2EE Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com) Livros Deepak Alur, John Crupi e Dan Malks. Core J2EE Patters: Best Practices and Design Strategies, Second Edition (2003).

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

Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos

Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos Sistema de Gestão dos Documentos da Engenharia [EDMS] O caminho para a Colaboração da Engenharia e Melhoria de Processos O gerenciamento de informações é crucial para o sucesso de qualquer organização.

Leia mais

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Prática em Laboratório N.02 Criando um serviço Web via NetBeans Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais