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

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

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

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

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

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

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

Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Dificuldades no uso de Bancos de Dados

Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Desenvolvimento de Aplicações. Dificuldades no uso de Bancos de Dados Desenvolvimento de Aplicações Desenvolvimento de Aplicações Dificuldades no uso de Bancos de Dados Um leigo não sabe o que é e como funciona um BD Mesmo um profissional da área de informática pode ter

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

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

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

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

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

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

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

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

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

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

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

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS Rodrigo das Neves Wagner Luiz Gustavo Galves Mählmann Resumo: O presente artigo trata de um projeto de desenvolvimento de uma aplicação para uma produtora de eventos,

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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

Leia mais

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

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

Leia mais

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. EDSON GONÇALVES Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. AGRADECIMENTOS Primeiramente gostaria de agradecer

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Tecnologias Web. Java Enterprise Edition

Tecnologias Web. Java Enterprise Edition Tecnologias Web Java Enterprise Edition Cristiano Lehrer, M.Sc. Introdução Java Enterprise Edition (JEE): Plataforma de tecnologias para o desenvolvimento de aplicações corporativas distribuídas. É uma

Leia mais

Java EE 6. A revolução do. Um overview sobre as novidades da JSR 316. a r t i g o

Java EE 6. A revolução do. Um overview sobre as novidades da JSR 316. a r t i g o a r t i g o Pedro Henrique S. Mariano (pedro.mariano@caelum.com.br) técnologo em Análise e Desenvolvimento de Sofware pela FIAP, possui as certificações SCJP 6 e SCRUM master.trabalha como consultor e

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

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

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

Leia mais

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

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS FOZ DO IGUAÇU 2013 SUMÁRIO 1. PERSISTÊNCIA

Leia mais

MÓDULO Programação para Web 2

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

Leia mais

J2EE. J2EE - Surgimento

J2EE. J2EE - Surgimento J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:

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

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 Java Web Arquitetura Aplicações web são basicamente constituídas de: Requisições Respostas Model View Controller (MVC) O que é MVC? Padrão

Leia mais

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

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

Leia mais

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

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

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

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

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

Componentes no Java EE

Componentes no Java EE Unidade III Componentes no Plataforma Java Enterprise Edition Adiciona ao Java suporte para: Desenvolvimento de Aplicações Web: JSP, Servlets e Componentes de Negócio: Interconexão com Sistemas Legados:

Leia mais

Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski (kalinowski@ic.uff.br)

Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski (kalinowski@ic.uff.br) Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) (kalinowski@ic.uff.br) Agenda Arquiteturas Web em Java (Relembrando) Arquitetura Java EE Introdução a Enterprise Java Beans

Leia mais

Laboratório EJB e J2EE Uma aplicação completa

Laboratório EJB e J2EE Uma aplicação completa J530 - Enterprise JavaBeans Laboratório EJB e J2EE Uma aplicação completa Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE

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

Ensino Superior: IESB Instituto de Educação Superior de Brasília Ciências da Computação - Cursando

Ensino Superior: IESB Instituto de Educação Superior de Brasília Ciências da Computação - Cursando Vinicius Nascimento Informações pessoais Estado civil: Casado Nacionalidade Brasileira Idade: 30 anos Naturalidade: Brasília DF Formação Ensino Superior: IESB Instituto de Educação Superior de Brasília

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

Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre

Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre Prática: 1 - A plataforma JEE (Java Enterprise Edition) UBI, DI, Paula Prata SDTF T01 1 Arquitectura

Leia mais

SISTEMA GERENCIAL TRATORPLAN

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

Leia mais

Java 2 Enterprise Edition

Java 2 Enterprise Edition Java 2 Enterprise Edition Pablo Vieira Florentino 8/11/2006 Contexto Linguagem Java A linguagem Java é Orientada a Objetos Influenciada diretamente por C++ e Eiffel, a linguagem segue a grande tendência

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

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 DESENVOLVEDOR JAVA Edição 2009

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

Leia mais

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS Este anexo apresenta uma visão geral das seguintes plataformas: 1. Plataforma Microsoft.NET - VB.NET e C#; 2. Plataforma JAVA; 3. Plataforma Android, ios e Windows

Leia mais

TDC2012. EJB simples e descomplicado, na prática. Slide 1

TDC2012. EJB simples e descomplicado, na prática. Slide 1 TDC2012 EJB simples e descomplicado, na prática Slide 1 Palestrantes Kleber Xavier Arquiteto Senior / Globalcode kleber@globalcode.com.br Vinicius Senger Arquiteto Senior / Globalcode vinicius@globalcode.com.br

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

UNIDADE IV ENTERPRISE JAVABEANS

UNIDADE IV ENTERPRISE JAVABEANS UNIDADE IV ENTERPRISE JAVABEANS MODELO J2EE COMPONENTES DE Camada de Negócios NEGÓCIOS JAVA SERVLET, JSP E EJB Nos capítulos anteriores, foi mostrado como desenvolver e distribuir aplicações servlet e

Leia mais

Spring: Um suite de novas opções para Java EE

Spring: Um suite de novas opções para Java EE Spring: Um suite de novas opções para Java EE Alberto J Lemos (Dr. Spock) Instrutor Globalcode Ricardo Jun Taniguchi Instrutor Globalcode 1 Agenda > Sobre o Spring Framework > Escopo de integração com

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

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

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

Java 2 Enterprise Edition Uma aplicação J2EE completa

Java 2 Enterprise Edition Uma aplicação J2EE completa Java 2 Enterprise Edition Uma aplicação J2EE completa Helder da Rocha www.argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE completa Inicialmente, será mostrada

Leia mais

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

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

Leia mais

Experiência em missão crítica de missão crítica

Experiência em missão crítica de missão crítica 2 / 17 Experiência em missão crítica de missão crítica Pioneira no ensino de Linux à distância Parceira de treinamento IBM Primeira com LPI no Brasil + de 30.000 alunos satisfeitos Reconhecimento internacional

Leia mais

Como sobreviver com Java 2? Saulo Arruda

Como sobreviver com Java 2? Saulo Arruda Como sobreviver com Java 2? Saulo Arruda Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões Apresentação Saulo Arruda (http://sauloarruda.eti.br) Trabalha com

Leia mais

Mini-curso Gratuito Globalcode Slide 1

Mini-curso Gratuito Globalcode Slide 1 Mini-curso Gratuito Slide 1 Mini-curso Gratuito Introdução Enterprise Java Beans (EJB) 3.0 Slide 2 Agenda Plataforma Java EE Conceitos Iniciais (EJB) Session Bean Message-Driven Bean (MDB) Java Persistence

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ UTFPR CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LUCAS JOSÉ MERENCIA

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ UTFPR CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LUCAS JOSÉ MERENCIA UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ UTFPR CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LUCAS JOSÉ MERENCIA INTEGRAÇÃO ENTRE TECNOLOGIAS DA PLATAFORMA JAVA EE COM O USO DE

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

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

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

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

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

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

Leia mais

Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo

Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo Novatec Copyright 2010 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

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

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

World Wide Web e Aplicações

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

Leia mais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) J2EE EJBs 1

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) J2EE EJBs 1 EJB Introdução Versão Atual (maio/06): 3.0 Versão anterior: 2.1 Programação com Objetos Distribuídos (C. Geyer) J2EE EJBs 1 Autores Autores Cláudio Geyer Eduardo Studzinski Estima de Castro Gisele Pinheiro

Leia mais

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

WebSphere MQ. Bruno Miguel de Sousa Gonçalves WebSphere MQ Bruno Miguel de Sousa Gonçalves 1.Introdução ao WebSphere Os produtos WebSphere providenciam comunicação entre programas através da interligação entre componentes heterogéneos, processadores,

Leia mais

Java e Banco de Dados: JDBC, Hibernate e JPA

Java e Banco de Dados: JDBC, Hibernate e JPA Java e Banco de Dados: JDBC, Hibernate e JPA 1 Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2010

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

Leia mais

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

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

Introdução a Servlets

Introdução a Servlets Linguagem de Programação para Web Introdução a Servlets Prof. Mauro Lopes 1-31 21 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando o Java. Apresentaremos nesta aula os

Leia mais

REST Um Estilo de Arquitetura de Sistemas Distribuídos

REST Um Estilo de Arquitetura de Sistemas Distribuídos REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

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

Especificações Técnicas

Especificações Técnicas Visual COBOL é a solução líder da indústria para o desenvolvimento de aplicações COBOL e implantação em sistemas Windows, Unix e Linux. Ele combina as melhores ferramentas de desenvolvimento de sua classe

Leia mais

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

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

Leia mais

Daniel Berti Fonseca RA 0310096-8º semestre INTEGRAÇÃO DE SISTEMAS CORPORATIVOS COMPLEXOS COM JAVA EE

Daniel Berti Fonseca RA 0310096-8º semestre INTEGRAÇÃO DE SISTEMAS CORPORATIVOS COMPLEXOS COM JAVA EE Daniel Berti Fonseca RA 0310096-8º semestre INTEGRAÇÃO DE SISTEMAS CORPORATIVOS COMPLEXOS COM JAVA EE Jaguariúna 2006 Daniel Berti Fonseca RA 0310096-8º Semestre INTEGRAÇÃO DE SISTEMAS CORPORATIVOS COMPLEXOS

Leia mais

Padrões Arquiteturais no Java EE 7

Padrões Arquiteturais no Java EE 7 Padrões Arquiteturais no Java EE 7 Vagner F. Le Roy Júnior Curso de Pós Graduação em Arquitetura de Software Distribuído Pontifícia Universidade Católica de Minas Gerais Belo Horizonte, MG Brasil vagnerleroy@gmail.com

Leia mais

4 - Padrões da Camada de Integração. Introdução

4 - Padrões da Camada de Integração. Introdução Padrões de Projeto J2EE J931 Padrões da Camada de Integração Helder da Rocha (helder@acm.org) argonavis.com.br Introdução A camada de integração encapsula a lógica relacionada com a integração do sistema

Leia mais

Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br

Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br A arquitetura Enterprise JavaBeans é uma arquitetura de componentes para o desenvolvimento e a implantação de aplicativos de negócio distribuídos

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

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

Anexo I - DAS (Documento de Arquitetura de Software) Concurso de Desenvolvimento de Jogos SEBRAE

Anexo I - DAS (Documento de Arquitetura de Software) Concurso de Desenvolvimento de Jogos SEBRAE Anexo I - DAS (Documento de Arquitetura de Software) Concurso de Desenvolvimento de Jogos SEBRAE 1 Sumário Sumário... 2 1 INTRODUÇÃO... 3 1.1 Propósito... 3 1.2 Escopo... 3 1.3 Referências... 3 2 DIRETRIZES...

Leia mais

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO Curso: Técnico em Informática Disciplina: Linguagem de Programação III Turma: 4I Professor (a): Ricardo Luis dos Santos

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Framework. Marcos Paulo de Souza Brito João Paulo Raittes Framework Marcos Paulo de Souza Brito João Paulo Raittes Sobre o seu surgimento A primeira versão do spring foi escrita por Rod Johnson em 2002, quando ele estava Lancando o seu livro Expert One-on-One

Leia mais

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

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

Leia mais