UNIVERSIDADE NORTE DO PARANÁ SISTEMA DE ENSINO PRESENCIAL CONECTADO ESPECIALIZAÇÃO EM DESENVOLVIMENTO DE APLICAÇÕES WEB BASEADAS NA TECNOLOGIA JAVA

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

Download "UNIVERSIDADE NORTE DO PARANÁ SISTEMA DE ENSINO PRESENCIAL CONECTADO ESPECIALIZAÇÃO EM DESENVOLVIMENTO DE APLICAÇÕES WEB BASEADAS NA TECNOLOGIA JAVA"

Transcrição

1 UNIVERSIDADE NORTE DO PARANÁ SISTEMA DE ENSINO PRESENCIAL CONECTADO ESPECIALIZAÇÃO EM DESENVOLVIMENTO DE APLICAÇÕES WEB BASEADAS NA TECNOLOGIA JAVA RICARDO RODRIGUES BARCELAR IMPLEMENTAÇÃO DE PROJETOS WEB UTILIZANDO O SEAM FRAMEWORK Cuiabá/MT 2013

2 RICARDO RODRIGUES BARCELAR IMPLEMENTAÇÃO DE PROJETOS WEB UTILIZANDO O SEAM FRAMEWORK Trabalho de Conclusão de Curso apresentado ao curso de especialização em Desenvolvimento de Aplicações Web Baseadas na Tecnologia Java da Universidade Norte do Paraná, como requisito parcial para obtenção do Título de Especialista. Tutor Orientador: Higor Vinicius Navarro Fabricio Cuiabá/MT 2013

3 RESUMO Este trabalho faz uma abordagem teorico-prática sobre o Seam Framework com foco no desenvolvimento de projetos web. O desenvolvimento web com Java EE com seus inúmeros componentes exige um grande conhecimento acerca de sua estrutura. A despeito de constituir uma plataforma seus componentes não são coesos necessitando de muito trabalho de programação na camada de negócio. O Seam surge neste cenário como uma solução ágil de coesão e traz em seu framework um conjunto de ferramentas para simplificar o desenvolvimento. Diante disso, objetiva-se neste trabalho realizar um estudo do JBoss Seam e constatar a viabilidade de seu uso em projetos web. Para tanto, um estudo de caso acerca da construção de uma aplicação web para uma associação de classe foi construído, com vistas a comprovar sua viabilidade e compreender o uso de seus componentes. Para subsidiar esta pesquisa diversas referências oficiais foram consultadas, bem como autores com literaturas consagradas por sua qualidade e acertividade sobre o tema. Por fim, após a revisão teórica e a implementação foi possível discutir o emprego e a viabilidade acerca do uso do framework, chegando a uma conclusão positiva sobre o emprego do JBoss Seam.

4 ABSTRACT This paper makes a theoretical and practical approach about Seam Framework focusing on the development of web projects. The web development with Java EE with its numerous components requires a great knowledge of their structure. Despite provide a platform their components are not very cohesive needing programming work in the business layer. Seam arises in this scenario as an agile solution cohesion and bring in your framework a set of tools to simplify development. Therefore, the objective of this research was to conduct a study from JBoss Seam and to prove the feasibility of its use in web projects. Therefore, a case study about building a web application for an association class was built, in order to confirm your viability and understand the use of their components. To support this research various official references were consulted, as well as literature devoted to authors for their quality and assertiveness about the topic. Finally, after reviewing theoretical and implementation was possible to discuss the use and the feasibility about the use of the framework, reaching a positive conclusion about use of JBoss Seam.

5 SUMÁRIO 1 INTRODUÇÃO Justificativa Objetivo Geral Objetivos Específicos PLATAFORMA JAVA ENTERPRISE EDITION JAVA EE Arquitetura Java EE Componentes e Conteineres APIs da plataforma Tecnologias Requeridas pela Plataforma Java EE ENTERPRISE JAVABEANS (EJB) JAVA SERVLET JAVASERVER FACES - JSF JAVASERVER PAGES - JSP JAVASERVER PAGES STANDARD TAG LIBRARY - JSTL JAVA PERSISTENCE - JPA JAVA TRANSACTION - JTA JAVA API FOR RESTFUL WEB SERVICES - REST MANAGED BEANS CONTEXTS AND DEPENDENCY INJECTION FOR THE JAVA EE PLATFORM (JSR 299) - CDI BEAN VALIDATION JAVA MESSAGE SERVICE - JMS JAVA EE CONNECTOR ARCHITECTURE - JCA JAVAMAIL JAVA AUTHORIZATION CONTRACT FOR CONTAINERS - JACC JAVA AUTHENTICATION SERVICE PROVIDER INTERFACE FOR CONTAINERS - JASPIC Serviços Padrão do Java EE SEAM FRAMEWORK Integração entre o JBoss Seam e o Java EE Modelo de Componentes Bijeção Contexto de Componentes Eventos Seam Seam Data Validation Página de Navegação ELEMENTOS DE NAVEGAÇÃO Biblioteca de Tags do JBoss Seam TAGS DE NAVEGAÇÃO TAGS DE SELEÇÃO... 38

6 3.8.3 TAGS DE FORMATAÇÃO RichFaces BIBLIOTECA DE TAGS DOS COMPONENTES RICHFACES TEMAS RICHFACES METODOLOGIA Cenário Descrição da Proposta ESTUDO DE CASO: PROJETO JBOSS SEAM Ferramentas (Tecnologia) SERVIDOR DE APLICAÇÃO JBOSS AS SEAM FRAMEWORK SISTEMA GERENCIADOR DE BANCO DE DADOS POSTGRESQL ECLIPSE IDE IREPORTS E JASPERREPORTS Levantamento de Requisitos Modelagem do Sistema DIAGRAMA DE CASO DE USO DIAGRAMA DE CLASSE Implementação Avaliação e discussão CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS... 63

7 7 1 INTRODUÇÃO Contemporaneamente os sistemas computacionais são requisitos de sucesso para as empresas, corporações, órgãos públicos, etc, sejam empreendimentos de pequeno ou grande porte. Em situações cujos processos são complexos torna-se, então, imperativo a utilização de uma aplicação que envolva o armazenamento e processamento dos dados. Ocorre que ao longo dos anos o modelo de desenvolvimento destes sistemas mudou caminhando na direção da descentralização. Os primeiros sistemas, que ora tinham seu processamento e armazenamento centralizado em um grande computador saiu de um modelo monolítico, evoluiu para um modelo cliente-servidor e chega aos dias atuais com uma proposta de modelo multicamadas com acessos diversificados através da internet por meio de navegadores web e dispositivos móveis. É neste cenário que o desenvolvimento web se desponta como uma solução atrativa permitindo, inclusive, o acesso descentralizado das informações corporativas. O desenvolvimento web normalmente está associado a programação e marcação, configuração e trabalho realizado na retaguarda dos sítios, mas também pode ser usado para se referir ao projeto visual das páginas e ao desenvolvimento de um comércio eletrônico. Em virtude deste cenário surgiram muitas ferramentas com o intuito de facilitar a tarefa do programador em criar desde simples sites de internet até verdadeiras soluções de gerenciamento com considerável volume de dados. Considerando a plataforma Java, o desenvolviento de aplicações neste cenário tornou-se viável com o nascimento da tecnologia J2EE (Java2 Platform Enterprise Edition) na qual é possível projetar, desenvolver, empacotar e implantar aplicações empresariais baseadas em compontentes. Desde então, soluções foram desenvolvidas visando atender o desenvolvimento distribuído. O JBoss Seam foi um dos frameworks criado a partir da especificação do J2EE. Esta solução também é conhecida como Seam Framework, foco deste trabalho. De acordo FARLEY (2008), o JBoss Seam é um framework que tem como objetivo otimizar o desenvolvimento de aplicações Java Enterprise Edition (JEE). Desde seu lançamento observa-se uma grande evolução. Atualmente sua versão estável é a Final - considerando sua proposta original. Graças a sua estabilidade e a forma integradora pela qual foi projetado tem sido massiva sua adoção em novos projetos e migração de sistemas legados. Partindo desta breve contextualização, este trabalho se propõe a realizar um estudo a partir de uma abordagem teórico-prática acerca do Seam Framework. Além de tratar dos aspectos relativos a plataforma Java Enterprise Edition, que é o cerne do framework, serão abordadas outras soluções com a qual o Seam interage. Com o intuito de demonstrar sua aplicabilidade e deixar claro suas interações, neste trabalho será apresentado um sistema desenvolvido utilizando a versão mais recente deste framework. Para tanto, além desta introdução e de uma breve justificativa da realização do trabalho, serão abordados em capítulos pontos que são importantes para a

8 perfeita compreensão do Seam Framework, a saber: Um breve estudo sobre a plataforma plataforma Java Enterprise Edition, um capítulo dedicado ao estudo do JBoss Seam e, por fim, um estudo de caso com o JBoss Seam, onde será apresentado um Sistema desenvolvido com a última versão desta ferramenta rodando em um conteiner web. 1.1 Justificativa Nas últimas cinco décadas o desenvolvimento de software sofreu inúmeras mudanças, desde a manutenção do código público ao código proprietário, escrita de códigos básicos até a utilização de poderosas plataformas de desenvolvimento. Com a evolução dessas plataformas de desenvolvimento os programadores passaram a ter disponível um arcabouço muito vasto de ferramentas para a construção de suas aplicações. Dentre elas, é possível citar desde plataformas completas para desenvolvimento e execução de sistemas e aplicações como o.net Framework da Microsoft a soluções mais simplistas como o PHP. A plataforma Java, muito utilizada no desenvolvimento de software pela sua flexibilidade, segurança e versatilidade, por si só já dispõe de uma gama de soluções para desenvolviemento de programas desktop, soluções distribuídas e sistemas embarcados que de igual forma é bastante atrativa. Com tantas possibilidades, o profissional deve optar por aquela ferramenta que, de acordo com os requisitos do sistema, disponibilidade de recursos e outras variáveis que devem ser analisadas, melhor lhe aprouver para o caso. Esta decisão pode tornar-se em um grande problema, visto que deve ser considerado muitos aspectos: desde o financeito até a questão de qualificação do corpo técnico. Diante dessa conjuntura este trabalho apresenta o JBoss Seam, como uma solução baseada na plataforma Java Enterprise Edition que tem sido amplamente divulgada e utilizada nos mais diferentes cenários. Dentre eles o Governo de Mato Grosso através da Secretária de Segurança Pública e da Polícia Judiciária Civil, o Governo de São Paulo e o Governo do Ceará no segmento governamental, a Caixa Econômica Federal no segmento bancário, sem dizer das inúmeras fábricas de software privadas que comercializam seus produtos construidos a partir deste framework. Basta uma breve pesquisa na Internet para encontrar centenas de soluções web contruidas com JBoss Seam, cuja identificação primária pode ser feita pela extensão das URL s terminadas em.seam. Abordar este tema, que apesar de não ser inédito nem novo, proverá conhecimentos práticos sobre a aplicabilidade do Seam Framework no desenvolvimento de soluções web, visto que hoje o mercado tende para que as aplicações sejam acessadas de qualquer lugar e por qualquer tipo de dispositivo senão o computador pessoal ou notebook. Para isso, uma abordagem teórica é imprescindível para localizar teoricamente o tema e apresentar as tecnologias envolvidas. Além do quê, é a teoria que fornece o embasamento necessário para compreender o funcionamento de cada parte da proposta prática. Esta vem com o cunho de demonstrar como os componentes se relacionam, podem e devem ser utilizados, visto que o Seam Framework agrega outro frameworks bastante comuns 8

9 no mercado que com ele podem ser melhor trabalhados permitindo um enfoque maior no negócio do que na programação de mais baixo nível. Conhecer o Seam Framework na teoria e na prática, permite ao analista de tecnologia da informação ou ao programador decidir se esta é a ferramenta adequada para seu problema ou mesmo tomá-lo como solução para desenvolvimento de suas aplicações. No âmbito acadêmico, o estudo do JBoss Seam permitirá uma revisão dos conceitos da programação para web com vistas ao uso de frameworks, preocupação voltada para ao negócio com o devido respeito ao padrões de projetos, bem como um aprofundamento no conhecimento das técnicas de programação. 1.2 Objetivo Geral Apresentar o Seam Framework como solução para o desenvolvimento de projetos para web. Verificar a viabilidade de seu uso no desenvolvimento de projetos web. 1.3 Objetivos Específicos - Realizar uma revisão teórica sobre a plataforma de desenvolvimento web Java. - Apresentar os frameworks e componentes que se relacionam com o Seam Framework. - Implementar uma aplicação utilizando o Seam Framework a título de estudo de caso. 9

10 10 2 PLATAFORMA JAVA ENTERPRISE EDITION JAVA EE Java é uma linguagem de programação, criada pela Sun Microsystems Inc, voltada para o desenvolvimento de aplicações que funcionem sobre uma máquina virtual e não seja dependente do tipo de sistema operacional, seja Windows, Linux, Unix, Solaris ou Mac, assim como em dispositivos móveis como telefones celulares, PDA s e mainframes. Devido a essa versatilidade, a linguagem Java conta com três conhecidos ambientes de desenvolvimento: - Java SE (Java Standard Edition), que é a plataforma utilizada em Servidores e PC s; - Java EE (Java Enterprise Edition) voltado para redes, internet e intranets que será nosso alvo de estudo neste capítulo; e - Java ME (Java Micro Edition) que é plataforma de aplicações para dispositivos móveis como PDA s e celulares. O Java EE é a plataforma Java voltada para redes, internet, intranets e semelhantes. Sendo assim, PRADO(2013) explica que ela contém bibliotecas especialmente desenvolvidas para o acesso a servidores, a sistemas de , a banco de dados, entre outras características. Graças a essas características o Java EE foi desenvolvido para suportar uma grande quantidade de usuários simultâneos. Historicamente, o Java EE surgiu da necessidade de criar aplicações multicamadas. Nos anos 90, o SQL se firmou como linguagem padrão para acesso a bancos de dados relacionais permitindo que os sistemas pudessem ser divididos em três camadas: cliente, servidor e banco de dados. Simultaneamente, o paradigma da programação estruturada evoluiu para a programação orientada a objetos. Com isso, a camada de dados se tornou mais independente da camada que trata da aplicação em si. Como uma evolução natural, era necessário que o desenvolvimento se dividisse ainda mais, de modo a desmembrar as camadas em componentes especializados. Da tendência corrente no final da década de 90 que resultava no desenvolvimento de programas corporativos que fornecessem estruturas multicamadas destinadas a distribuição de aplicativos seguros, flexíveis e disponíveis, a Sun lançou o Java 2 Platform, Enterprise Edition ou J2EE, como era conhecida inicialmente, até ter seu nome trocado para Java EE na versão 5.0. Posteriormente, foi chamada de Java EE 5. A versão atual é chamada de Java EE 7. A partir do Java EE, a Sun possibilitou o desenvolvimento de aplicações Java com várias camadas, separando camadas de apresentação, negócio e dados. A tecnologia passou a dar suporte a recursos de conexão de banco de dados compartilhado, componentes para publicação de dados dinânicos na WEB (JSP, Servlet), componentes de negócio e persistência (EJB), entre outros. Na figura a seguir é possível acompanhar toda a evolução do Java EE até sua versão atual:

11 11 Figura 1 - Evolução do Java EE Fonte: Arquitetura Java EE Segundo Gupta(2012), na arquitetura Java EE os diferentes componentes trabalham juntos para fornecer um sistema integrado como mostrado na figura abaixo: Figura 2 - Arquitetura Java EE 6 Fonte: Gupta(2012) Ainda que a versão Java EE 7 já tenha sido lançada e seja a versão corrente da plataforma, neste trabalho será abordada a versão Java EE 6, haja vista ser o padrão ainda mais comumente utilizado pela grande maioria dos desenvolvedores e ser a plataforma utilizada no estudo de caso. Como se vê na figura 2, cada componente tem uma função especifica, a saber: - Os componentes JPA(Java Persistence API), JTA(Java Transaction API) e JMS(Java Message Service) são responsáveis por fornecer os serviços básicos como banco de dados acesso, transações e mensagens.

12 - Managed Beans e o EJB (Enterprise Java Beans) proporcionam uma programação simplificada da camada de modelo usando POJO s. - CDI(Contexts and Dependency Injection), interceptors e Common Annotations fornecem conceitos que são aplicáveis a uma ampla variedade de componentes, tais como injeção de dependência, interceptors e um conjunto de common Annotations. - CDI Extensions permitem estender a plataforma além suas capacidades existentes de uma forma padrão. - Web Services usando JAX-RS e JAX-WS, JSF (JavaServer Faces), JSP(Java Server Pages) e EL(Expression Language) definem o modelo de programação para serviços web. Permite o registro automático de serviços web de terceiros de uma forma muito natural. - Bean Validation provê um padrão na declaração de restrições e validação através de diferentes tecnologias. Uma das grandes características do Java EE 6 é o uso constante das anotações com o intuito de eliminar os arquivos XML com o intuito de aumentar a produtividade Componentes e Conteineres Segundo OLIVEIRA(2013), o foco da plataforma é simplificar o desenvolvimento de soluções no âmbito corporativo através de padrões, serviços e, principalmente, componentes modulares. Estes componentes, unidades de software em nível de aplicação com suporte a um conteiner, são configuráveis durante o desenvolvimento e incorporam um modelo de programação de acordo com o "contrato de componente" com seu conteiner. Isto é, um conteiner, oferece serviços de gerenciamento de ciclo de vida, segurança, distribuição e runtime para seus componentes. É justamente neste ponto que o Java EE difere-se da Plataforma Java Standard Edition (Java SE), pela adição de bibliotecas que fornecem funcionalidade para implementar software Java distribuído, tolerante a falhas e multicamada, baseada amplamente em componentes modulares executando em um servidor de aplicações. Normalmente, as aplicações de vários níveis são difíceis de escrever, porque envolvem muitas linhas de código para lidar com transações e gerenciamento de estado, multithreading, pool de recursos, e outros detalhes complexos de baixo nível. A arquitetura baseada em componentes é independente de plataforma e torna as aplicações Java EE faceis de escrever, visto que a lógica de negócio está organizada em componentes reutilizáveis. Um componente é uma unidade de software funcional independente que é montado em um aplicativo Java EE com suas classes e arquivos relacionados e que se comunica com outros componentes. A especificação define os seguintes componentes Java EE:

13 - Aplicativos clientes e applets: componentes que são executados no cliente. - Java Servlet, JavaServer Faces e JavaServer Pages (JSP): componentes web que rodam no servidor. - EJB(Enterprise JavaBeans) ou Enterprise Beans são componentes de negócios que são executados no servidor. A figura 3 ilustra bem a interação desses componentes dividindo-os em camadas: 13 Figura 3 - Interação entre os componentes Java EE Fonte: Os componentes Java EE são escritos na linguagem de programação Java e são compiladas da mesma forma como qualquer programa na linguagem. As diferenças entre os componentes do Java EE e classes Java "padrão" é que os componentes são montados em uma aplicação Java EE, eles são verificados para serem bem formados e se estiverem em conformidade com a especificação Java EE são implantados em produção, onde são executados e gerenciados pelo servidor Java EE. (Conteiner) (ORACLE, 2013) O servidor Java EE ou conteiner é uma interface entre um componente e a plataforma de baixo nível com a funcionalidade que suporta o componente. Antes de ser executado, um Enterprise Bean, ou qualquer componente do aplicativo deve ser montado e implantado em um conteiner(deploy). Existem vários tipos de conteiners: - Conteiner Web: responsável pela hospedagem de páginas JSP e JSF, servlets e javabeans. - Conteiner EJB: responsável por gerenciar a execução dos Enterprise JavaBeans.

14 14 - Servidor Java EE: fornece conteiner Web e EJB A figura abaixo ilustra a relação entre os conteiners Java EE. Figure 4 - Relação entre Conteiner Java EE Fonte: Um conteiner também gerencia serviços não configuráveis, como o Enterprise Bean, ciclos de vida do servlet, conexão de banco de dados, pooling de recursos, persistência de dados, etc. 2.3 APIs da plataforma Uma das características do Java EE é que a especificação fornece uma uma grande quantidade de API s. Esta também é uma das principais críticas, visto que a maioria delas é de pequeno alcance para aplicações Java web. Uma aplicação pequena ou média não utiliza a pilha completa Java EE. (RAHMAM, 2009). Nesta versão (Java EE 6) apesar de existir 28 especificações, existe o profile (perfil), na qual é possível configurar os recursos que serão utilizados na aplicação e deixando a mesma mais leve. As figuras abaixo informam as API s disponíveis em cada perfil: Figura 5 API s no Conteiner da Aplicação Cliente Fonte:

15 15 Figura 6 - API's no Container EJB Fonte: Figura 7 API s no Conteiner Web Fonte:

16 Tecnologias Requeridas pela Plataforma Java EE De acordo com a especificação do Java EE contida no site da Oracle, a plataforma oferece ao desenvolvedor algumas facilidades, que na realidade são tecnologias requeridas pela plataforma que constituem um conjunto de API s usadas em aplicações Java EE ENTERPRISE JAVABEANS (EJB) EJB ou Enterprise JavaBeans é um dos principais componentes da plataforma. É um componente do tipo servidor que executa no conteiner do servidor de aplicação. Os principais objetivos da tecnologia EJB são fornecer um rápido e simplificado desenvolvimento de aplicações Java baseado em componentes distribuídos, transacionais, seguros e portáveis. O componente EJB possui 3 (três) tipos fundamentais: - Entity beans; - Session Beans; e - Message Driven Beans; Os Entity Beans representam objetos que vão persistir numa base de dados ou outra unidade de armazenamento. Também controlam a persistência de dados, definindo o padrão para: - Criação de metadados, mapeamento de entidades para tabelas do modelo relacional; - API EntityManager, API para realização de CRUD (create, retrieve, update e delete); - Java Persistence Query Language (JPQL), linguagem semelhante ao SQL ANSI para pesquisa de dados persistidos; Os Entity Beans não necessitam de um conteiner EJB para serem executados. Os Session Beans executam algumas tarefas para o cliente e podem manter o estado durante uma sessão com o cliente. Os Session Beans que mantém o estado são do tipo Statefull, ao passo que os que não possuem esta capacidade são do tipo Stateless. Os Message Driven Beans processam mensagens de modo assíncrono entre os EJB s cuja API de mensagens é Java Message Service (JMS). Necessitam de um EJB conteiner para serem executados. A partir da versão 3.1 o uso do Enterprise Java Beans simplificou o desenvolvimento. O uso de anotações (XML opcional) e POJOs/POJIs são as características marcantes. É possível criar interfaces opcionais, ou seja, somente as cria se realmente for necessáio. O fragmento de código abaixo mostra um exemplo de session local.

17 public class PessoaDao(){ public void salvar(pessoa pessoa){ //... } } Em versões anteriores, os EJB s só poderia existir em deployments no formato EAR. Agora é possível empacotá-los no formato WAR. No EJB 3.1 também há o suporte a serviços assíncronos com o uso da (SANTANA, 2013) JAVA SERVLET Tecnologia Java Servlet permite definir classes de servlet HTTP específicos. A classe Servlet estende as capacidades dos servidores que hospedam aplicativos acessados por meio de um modelo de programação de solicitação-resposta. Apesar de servlets poderem responder a qualquer tipo de pedido, eles são comumente usados para estender os aplicativos hospedados por servidores web. Na plataforma Java EE 6, os recursos da tecnologia Java Servlet incluem o seguinte: - Suporte a anotações; - Suporte nativo às chamadas assíncronas; - Facilidade de configuração; - Melhorias para API s existentes. No fragmento de código abaixo podemos observar o uso de anotações na criação do Servlet, sem necessidade de alterações no arquivo Pedido, urlpatterns={ /Pedido }) public class Pedido extends HttpServlet { //... } JAVASERVER FACES - JSF JavaServer Faces é um framework de interface de usuário para a construção de aplicações web utilizando componentes. Conecta esses componentes a objetos de negócio e automatiza o processo no uso de JavaBeans e navegação de páginas. O JavaServer Faces ganhou expressão na versão 1.1 evidenciando maturidade e segurança. Atualmente, é considerado pela comunidade Java como a última palavra em termos de desenvolvimento de aplicações Web utilizando Java, resultado da experiência e maturidade adquiridas com o JSP/Servlet (Model1), Model2 (MVC).

18 18 O JSF é fortemente baseado nos padrões MVC(Model - View - Controler) e Front Controller. Conforme material instrucional da empresa de treinamentos K19, o MVC confere ao JSF a característica de isolar a lógica de negócio da lógica de apresentação dividindo a aplicação nos três tipos de componentes da arquitetura: modelo, visão e controlador. O modelo encapsula os dados e as funcionalidades da aplicação; a visão é responsável pela exibição de informações, cujos dados são obtidos do modelo; enquanto o controlador recebe as requisições do usuário e aciona o modelo e/ou a visão. Pelo padrão Front Controller, todas as requisições do usuário são recebidas pelo mesmo componente, neste caso um Servlet. Dessa forma, tarefas que devem ser realizadas em todas as requisições podem ser implementadas por esse componente. Isso evita a repetição de código e facilita a manutenção do sistema. PITANGA(2013) explica que no JSF, o controle é composto por um servlet denominado FacesServlet, por arquivos de configuração e por um conjunto de manipuladores de ações e observadores de eventos. O FacesServlet é responsável por receber requisições da WEB, redirecioná-las para o modelo e então remeter uma resposta. Os arquivos de configuração são responsáveis por realizar associações e mapeamentos de ações e pela definição de regras de navegação. Os manipuladores de eventos são responsáveis por receber os dados vindos da camada de visualização, acessar o modelo, e então devolver o resultado para o FacesServlet. O modelo representa os objetos de negócio e executa uma lógica de negócio ao receber os dados vindos da camada de visualização. Finalmente, a visualização é composta por component trees (hierarquia de componentes UI), tornando possível unir um componente ao outro para formar interfaces mais complexas. A figura a seguir mostra a arquitetura do JavaServer Faces baseada no modelo MVC. Figura 8 - Arquitetura JSF baseada no Modelo MVC Fonte:

19 Segundo GEARY e HORSTMANN(2007), os JavaServer Faces possui as seguintes partes: - Um conjunto de componentes pré-fabricados de interface de usuário; - Um modelo de programação orientado a eventos; - Um modelo de componentes que permite a desenvolvedores independentes fornecerem componentes adicionais. Alguns componentes são simples como campos input e botões, enquanto outros são bastante sofisticados como tabela de dados e árvores. Neste sentido, existem várias implementações do JavaServer Faces, dentre elas a Sun Mojarra, MyFaces, e outras. É possível ainda utilizar bibliotecas de componentes como PrimeFaces, RichFaces, ICEFaces e outras. O JSF possui todos os códigos necessários para manipular eventos e organizar componentes. Dessa forma, os programadores podem ignorar tais detalhes e empenharem-se na lógica de programação. Por integrar o padrão Java EE, suas bibliotecas estão incluídas nos servidores de aplicação Java EE e pode ser facilmente adicionado a um conteiner web autonomo, como o Tomcat, por exemplo. Um subprojeto, também mantido pela Sun, e integrado ao JSF é o Facelets, cujas principais características são: - Permite integração com todas as versões do JSF; - Facilidade na criação de templates; - O atributo jsfc que permite incluir trechos de código JSF nas tags HTML; - Elimina o "JSP Compiler to Servlet" incrementando de 30% a 50% a performance do sistema; - Facilidade para criar componentes reutilizáveis; - Usa XHTML como tecnologia de view do JSF; - Precisão para reportar erros. A tecnologia Facelets, disponível como parte do JavaServer Faces 2.0, passou a ser a tecnologia de apresentação padrão para a construção de aplicações web baseadas em JSF. A partir da Versão 2.0 do JSF, houveram muitas melhorias, porém uma que se destaca é a inserão do AJAX de forma nativa, visto que nas versões anteriores é necessário recorrer a frameworks de terceiros como RichFaces, PrimeFaces, etc. Parte importante do JSF é o controle de escopo (contexto). Na execução de aplicações web são três os escopos: Application, Session, Request. A partir do JSF 2, além dos três escopos já mencionados, foi incorporado um quarto escopo denominado ViewScoped. No ApplicationScoped todos os objetos e atributos vinculados ao managedbean poderão ser vistos por toda a aplicação da mesma forma. No SessionScoped todos os objetos e atributos vinculados ao managedbean poderão ser vistos por um único usuário enquanto durar sua sessão. No RequestScoped os dados são válidos apenas durante a comunicação entre o cliente (browser) e o servidor. O viewscope, adicionado a partir da versão 2 do JSF, foi criado para resolver o problema de sempre utilizar session quando era necessário manter os 19

20 dados entre requisições, que não onerasse tanto a aplicação e oferece suporte ao modelo statefull do framework, onde é possível manter os dados durante quantas requisições forem necessárias, desde que todas estas sejam realizadas para a mesma view. (PACHECO, 2013) Um dos fundamentos de maior relevância do JSF é seu ciclo de vida que se dá entre a requisição e a resposta do servidor de aplicação. Este ciclo está respresentado na figura abaixo: 20 Figura 9 - Ciclo de vida do JSF Fonte: Segundo VINICIUS(2013), são vários os motivos da existência deste ciclo, dentre estes: - Manter o controle de estado dos componentes de interface; - Alinhar ouvintes de eventos com seus respectivos eventos; - Controle de navegação entre páginas, que deve ser realizado pelo servidor; - Permitir que validações e conversões sejam realizadas no lado do servidor. Para elucidar a figura 9 é convém descrever o que acontece em cada fase: - Fase 1: Restore View (Restauração da visão): A partir de uma requisição proveniente do servlet FacesServlet, é identificado qual visão está sendo requisitada por meio do identificador desta que é determinado pelo nome da página. Tendo identificado a página, esta é salva no FacesContext (caso ainda não tenha sido) e sua respectiva árvore de componentes é construída. - Fase 2: Apply Request Values (Aplicar valores da requisição): Cada componente da visão, criado ou recuperado, passa a ter o seu valor. Nesse contexto, existem algumas diferenças ocasionadas pelo valor do atributo immediate em cada componente. - Fase 3: Process Validation (Processar as validações): Esta é a primeira manipulação de eventos do ciclo, aqui serão executadas as validações definidas pelo servidor em cada componente. Não existindo valores inválidos, o ciclo segue

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores

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

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

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

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

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

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

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Fundamentos da Plataforma Java EE Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como a plataforma Java EE trata o SERVIÇO DE NOMES Serviço de Nomes Num sistema distribuído os componentes necessitam

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 10 Persistência de Dados

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

J2EE TM Java 2 Plataform, Enterprise Edition

J2EE TM Java 2 Plataform, Enterprise Edition CURSO DE GRADUAÇÃO J2EE TM Java 2 Plataform, Enterprise Edition Antonio Benedito Coimbra Sampaio Junior abc@unama.br OBJETIVOS DO CURSO Capacitar os alunos no desenvolvimento de aplicações para a WEB com

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

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

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

Leia mais

Web Technologies. Tópicos da apresentação

Web Technologies. Tópicos da apresentação Web Technologies Tecnologias de Middleware 2004/2005 Hugo Simões hsimoes@di.fc.ul.pt 1 A Web Tópicos da apresentação Tecnologias Web para suporte a clientes remotos (Applets,CGI,Servlets) Servidores Aplicacionais

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

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

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

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

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

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br Você Gosta do EJB? O EJB esteve por muito tempo na berlinda do mundo Java É pesado... É complicado... Código muito

Leia mais

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS ¹Lucas Martins de Andrade, ¹Jaime William Dias ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil lucasm748@gmail.com

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

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

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

NOME DA APRESENTAÇÃO

NOME DA APRESENTAÇÃO 25 DE MAIO @MICROSOFT Novidades de Java EE 7 Ernest Duarte NOME DA APRESENTAÇÃO Nome (Nick no Fórum) About me! Nickname na Comunidade Ernest Duarte Profissão Instrutor em Ciências e Tecnologias Numéricas

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

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

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

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

4 Um Exemplo de Implementação

4 Um Exemplo de Implementação 4 Um Exemplo de Implementação Neste capítulo será discutida uma implementação baseada na arquitetura proposta. Para tanto, será explicado como a arquitetura proposta se casa com as necessidades da aplicaçã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 6 EJB Enterprise Java

Leia mais

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

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

Leia mais

Desenvolvendo 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

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

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de

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

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

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

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

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

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

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

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 13 Web Services Web Services

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

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

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia 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

MÓDULO. Linguagem de Programação para Web 2

MÓDULO. Linguagem de Programação para Web 2 MÓDULO Linguagem de Programação para Web 2 Distribuição das Disciplinas de Programação para Web LPW 1: MVC Servlets JSP LPW2: Visão geral do JEE, JSF MVC, Facelets, PrimeFaces,... Padrões de projeto relacionadas

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

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

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

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

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://professor.fimes.edu.br/fernando nando@fimes.edu.br Prof. Fernando 1 Ementa Instalação e configuração básica do NetBeans e

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

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

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado O NetPublisher é um sistema de gerenciamento de portais e websites corporativos (intranets ou extranets), apropriado para pequenas, médias e grandes empresas. O conteúdo do website pode ser atualizado

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

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

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://blog.fimes.edu.br/fernando nando@fimes.edu.br Conteúdo Programático Instalação e configuração básica do Eclipse Indigo e do

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

ARQUITETURA DO SISTEMA ERP PEGASUS

ARQUITETURA DO SISTEMA ERP PEGASUS ARQUITETURA DO SISTEMA ERP PEGASUS Elaborado por: Bruno Duarte Nogueira Arquiteto de Software Data: 05/03/2012 1 Sumário 1. Introdução... 3 2. Tecnologias... 3 2.1. Web Tier... 3 2.1.1. Facelets 1.1.14...

Leia mais

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos

Leia 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

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

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

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

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

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

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

Capítulo 1 - Java EE 6 por alto - 1

Capítulo 1 - Java EE 6 por alto - 1 Capítulo 1 - Java EE 6 por alto - 1 Um pouquinho de história - 2 Padrões - 4 Arquitetura - 4 Componentes - 5 Contentores - 6 Serviços - 7 Protocolos de rede - 9 Empacotamento - 9 Java Standard Edition

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

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

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

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

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Programação e Configuração de Aplicações JEE. Edilmar Alves

Programação e Configuração de Aplicações JEE. Edilmar Alves Programação e Configuração de Aplicações JEE Edilmar Alves Palestrante Sócio da InterSite Informática Professor Universitário Coordenador do JUGMS e membro do BrazilJUGs Fã de Linux, Java e outros softwares

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Novidades no Q-flow 3.02

Novidades no Q-flow 3.02 Novidades no Q-flow 3.02 Introdução Um dos principais objetivos do Q-flow 3.02 é adequar-se às necessidades das grandes organizações. Por isso, o Q-flow 3.02 possui uma versão Enterprise que inclui funcionalidades

Leia mais

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

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

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

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

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

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

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

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 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

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

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