Projeto de Sistemas com Frameworks
|
|
- João Guilherme de Sequeira Bentes
- 6 Há anos
- Visualizações:
Transcrição
1 Projeto de Sistemas com Frameworks Vítor E. Silva Souza ~ vitorsouza Departamento de Informática Universidade Federal do Espírito Santo
2 O que vamos discu.r hoje O que são frameworks? De mapeamento objeto/relacional? De injeção de dependências? Controladores Frontais/MVC? Etc.? Por que u.lizá- los no desenvolvimento de uma aplicação? Por que considerá- los já na fase de projeto? FrameWeb. Fevereiro 2012 Projeto de Sistemas com Frameworks 2
3 Projeto de Sistemas com Frameworks INTRODUÇÃO Fevereiro 2012 Projeto de Sistemas com Frameworks 3
4 Funcionalidades de um sistema Cadastrar um usuário; Pesquisar um livro pelo nome; Agendar uma reunião; Calcular o valor de uma multa; Localizar um endereço em um mapa; Etc. Negócio Inserir/recuperar/alterar objetos em uma base de dados; Responder a requisições feitas por navegadores Web; Obter instâncias de objetos cujos serviços são necessários; Etc. Infraestrutura Fevereiro 2012 Projeto de Sistemas com Frameworks 4
5 Funcionalidades de um sistema Cadastrar um usuário; Pesquisar Específicas: um livro pelo nome; dependem Agendar uma reunião; Calcular o valor de uma multa; Localizar um endereço em um mapa; Etc. Negócio da aplicação Inserir/recuperar/alterar objetos Genéricas: em uma base de se aplicam a dados; Responder sistema a requisições feitas por navegadores Web; Obter instâncias de objetos cujos serviços são necessários; Etc. Infraestrutura qualquer Fevereiro 2012 Projeto de Sistemas com Frameworks 5
6 Generalizando por meio de parâmetros INSERT INTO Usuario (nome, , senha) VALUES (?,?,?) INSERT INTO Livro (nome, isbn) VALUES (?,?) INSERT INTO Autor (nome) VALUES (?) Parâmetros... Valores relativos às colunas da tabela. INSERT INTO <nome da tabela> (<nomes das colunas>) VALUES (<? separados por vírgula>) Parâmetros - Nome da tabela; - Nomes das colunas da tabela; - Valores relativos às colunas da tabela. Fevereiro 2012 Projeto de Sistemas com Frameworks 6
7 Generalizando por meio de parâmetros Criar o esquema Armazenar objetos BD Efetuar consultas Parâmetros - Nomes das tabelas (default: nome da classe); - Nomes das colunas (default: nome dos atributos); - Objetos a serem armazenados; - Parâmetros das consultas; - Etc. Fevereiro 2012 Projeto de Sistemas com Frameworks 7
8 Frameworks Um framework é um conjunto de classes que cooperam para formar um projeto reutilizável para uma classe específica de aplicativos. Eric Gamma o Aumentam a produ.vidade: código pronto; o Simplificam o sistema: foco na lógica de negócio; o Promovem sobware robusto: código testado, melhores prá.cas; Requerem uma curva de aprendizado; Constringem a solução a um molde (mesmo que parametrizado); Não se aplicam a todas as situações. Fevereiro 2012 Projeto de Sistemas com Frameworks 8
9 Tipos de frameworks Mapeamento objeto/relacional; Injeção de dependências; Controlador frontal / MVC / Web; Decorador; Programação Orientada a Aspectos; Auten.cação; Busca; Logging; Etc. Etc. Etc. Fevereiro 2012 Projeto de Sistemas com Frameworks 9
10 Arquiteturas baseadas em containers Containers são servidores que gerenciam o ciclo de vida de certos objetos; Em Java, existe a plataforma Java Enterprise Edi.on (recentemente, foram adicionados perfis ao Java EE); Componentes do Java EE funcionam como frameworks: JPA: mapeamento objeto/relacional; CDI: injeção de dependências; JSF: controlador frontal; Facelets: decorador; Etc. Muitos deles foram baseados em frameworks. Fevereiro 2012 Projeto de Sistemas com Frameworks 10
11 Projeto de Sistemas com Frameworks MAPEAMENTO OBJETO/ RELACIONAL Fevereiro 2012 Projeto de Sistemas com Frameworks 11
12 Incompa.bilidade de paradigmas Bancos de dados relacionais são muito populares; Representação tabular vs. grafo de objetos; Problemas: Granularidade limitada a tabela e coluna; Herança: armazenamento e polimorfismo; Iden.dade: == vs. equals() vs. chave primária; Associações: transposições de chave; Navegação no grafo de objetos: o problema dos N+1 SELECTs. Custo: Repe.ção de estruturas em comandos SELECT, INSERT, etc.; Modelo de objetos torcido para se adequar; Sobware de diqcil manutenção. Fevereiro 2012 Projeto de Sistemas com Frameworks 12
13 Mapeamento Objeto/Relacional Linguagem OO BD Relacional BD Usuario Nome Senha Classes; Objetos; Atributos; Associações. Tabelas; Linhas (tuplas); Colunas; Chaves. Fevereiro 2012 Projeto de Sistemas com Frameworks 13
14 Mapeamento Objeto/Relacional Linguagem OO BD Relacional Mapeamento Objeto/Relacional Object/Relational Mapping (ORM) BD Persistência automática e transparente de objetos de um aplicativo OO para tabelas em um banco de dados relacional, utilizando meta-dados que descrevem o mapeamento entre os objetos e o banco de dados. Em essência, Tabelas; transforma dados de uma representação para a outra. Classes; Objetos; Atributos; Associações. Linhas (tuplas); Christian Bauer and Gavin King Colunas; Chaves. Fevereiro 2012 Projeto de Sistemas com Frameworks 14
15 Componentes de uma solução ORM API para efe.vação de operações CRUD; Linguagem ou API para construção de consultas que se refiram às classes ou suas propriedades; Mecanismo de especificação dos meta- dados de mapeamento; Técnicas de interação com o BD relacional, incluindo: Verificação de objetos sujos (dirty checking); Associações recuperadas sob demanda (lazy associa.on fetching); Outras funções de o.mização. Fevereiro 2012 Projeto de Sistemas com Frameworks 15
16 Vantagens e desvantagens o Elimina grande parte do código de infraestrutura; o Reduz manutenção por alteração nos dados; o Maior desempenho, dado o foco do framework; o Independência de fornecedor de BD. Requerem uma curva de aprendizado; Para serem bem usados, requerem conhecimento de SQL e BD relacionais; Problemas causados por seu uso são mais complexos; Não se aplicam a todas as situações. Fevereiro 2012 Projeto de Sistemas com Frameworks 16
17 Alguns frameworks ORM para Java E outros... Fevereiro 2012 Projeto de Sistemas com Frameworks 17
18 O padrão Java EE: JPA Java Persistence API; Versão atual: 2.0 (JSR 317); Implementações: BatooJPA; DataNucleus; EclipseLink; JBoss Hibernate; ObjectDB; OpenJPA. Fevereiro 2012 Projeto de Sistemas com Frameworks 18
19 Exemplo: uma classe com public class = GenerationType.AUTO) private = false) private Long version; private String nome; private String login; private String = FetchType.EAGER) private Set<Funcao> funcoes; } /* Getters e setters. */ Fevereiro 2012 Projeto de Sistemas com Frameworks 19
20 Exemplo: configuração JPA (EclipseLink) <?xml version="1.0" encoding="utf-8"?> <persistence version="2.0"...> <persistence-unit name="siscontram-ejbpu" transaction-type="jta"> <provider> org.eclipse.persistence.jpa.persistenceprovider </provider> <jta-data-source>siscontram-ds</jta-data-source> <properties> <property name="eclipselink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence> Fevereiro 2012 Projeto de Sistemas com Frameworks 20
21 Exemplo: operações nos dados // Recuperando todos os objetos Funcionario. EntityManager em = /* Obtém o EM de alguma forma. */ CriteriaQuery cq = em.getcriteriabuilder().createquery(); cq.select(cq.from(funcionario.class)); return em.createquery(cq).getresultlist(); // Idem, utilizando JPQL. EntityManager em = /* Obtém o EM de alguma forma. */ Query q = em.createquery("select f FROM Funcionario f"); Return q.getresultlist(); // Salvando um funcionário. Funcionario obj = /* Obtém o objeto de alguma forma. */ EntityManager em = /* Obtém o EM de alguma forma. */ em.persist(obj); // Excluindo um funcionário. Funcionario obj = /* Obtém o objeto de alguma forma. */ EntityManager em = /* Obtém o EM de alguma forma. */ em.remove(obj); Fevereiro 2012 Projeto de Sistemas com Frameworks 21
22 Objetos de Acesso a Dados Data Access Object, ou DAO; Classe específica para operações de persistência: Salvar; Excluir; Recuperar por ID; Listar todos; Pesquisar com filtro; Etc. Separa a lógica de acesso a dados, facilitando a manutenção e os testes unitários. Fevereiro 2012 Projeto de Sistemas com Frameworks 22
23 Projeto de Sistemas com Frameworks INJEÇÃO DE DEPENDÊNCIAS Fevereiro 2012 Projeto de Sistemas com Frameworks 23
24 Ligação entre componentes Modularidade e coesão: caracterís.cas desejadas; Separação de responsabilidades: Lógica de negócio; Acesso a dados; Interface gráfica com o usuário; Etc. Cria- se uma cadeia de dependências: Interface gráfica Envia entrada do usuário Lógica de negócio Recupera/salva dados no BD Aceso a dados Problema: como conectar as dependências mantendo baixo acoplamento entre as camadas? Fevereiro 2012 Projeto de Sistemas com Frameworks 24
25 Primeiro: programe para interfaces e não para implementações; Para um baixo acoplamento, ao usar um serviço: Precisamos saber os parâmetros a fornecer (pré- condição); Precisamos saber o resultado que será gerado (pós- condição); Não precisamos saber como o resultado será gerado. Fevereiro 2012 Projeto de Sistemas com Frameworks 25
26 Exemplo: agência de viagens Parte gerenciada pelo controlador frontal (veremos a seguir) Interface define os métodos de persistência disponíveis Implementação não é acessada diretamente pela classe cliente. Fevereiro 2012 Projeto de Sistemas com Frameworks 26
27 Segundo: inverta o controle Inversion of Control (IoC); Dependency Injec.on (DI). Fevereiro 2012 Projeto de Sistemas com Frameworks 27
28 Alguns frameworks de DI para Java PicoContainer Silk DI E outros... Fevereiro 2012 Projeto de Sistemas com Frameworks 28
29 O padrão Java EE: CDI Contexts and Dependency Injec.on for the Java EE plaxorm; Versão atual: 1.0 (JSR 299); Implementações: Weld (Seam Framework); Resin CanDI; Apache OpenWebBeans. Fevereiro 2012 Projeto de Sistemas com Frameworks 29
30 Exemplo: EJBs e CDI /* Arquivo: PacoteTuristicoDAO.java public interface PacoteTuristicoDAO { long recuperarcontagem(); List<PacoteTuristico> recuperartodos(); List<PacoteTuristico> recuperaralguns(int[] intervalo); PacoteTuristico recuperarporid(long id); PacoteTuristico salvar(pacoteturistico objeto); void excluir(pacoteturistico objeto); } /* Arquivo: PacoteTuristicoDAO.java public class PacoteTuristicoDAOJPA2 implements PacoteTuristicoDAO private EntityManager em; } /* Implementação dos métodos declarados na interface... */ Fevereiro 2012 Projeto de Sistemas com Frameworks 30
31 Exemplo: EJBs @Model public class CadastrarPacotes private PacoteTuristicoDAO private Localizacao loc; private List<PacoteTuristico> void carregarpacotes() { pacotes = pacoteturisticodao.recuperartodos(); } } /* Resto da classe... */ Fevereiro 2012 Projeto de Sistemas com Frameworks 31
32 Projeto de Sistemas com Frameworks CONTROLADORES FRONTAIS (MVC/WEB) Fevereiro 2012 Projeto de Sistemas com Frameworks 32
33 Arquitetura de aplicações Web Web = protocolo HTTP, requisição/resposta; Em Java: Servlets (classes): inadequado para escrita HTML; response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.write("<html><head><title>hello World</title></head>"); out.write("<body>" + new Date() + "</body></html>"); out.close(); JSPs (páginas): inadequado para lógica de negócio. <html>[...] <% Connection conn; PreparedStatement stmt; conn = BancoDados.conectar(); // [...] Lógica de negócio. %> [...]</html> Fevereiro 2012 Projeto de Sistemas com Frameworks 33
34 Modelo 2: Front Controller Baseado na arquitetura MVC (Model- View- Controller). Lógica de apresentação (interface gráfica) Fevereiro 2012 Projeto de Sistemas com Frameworks 34
35 Alguns frameworks MVC para Java E outros... Fevereiro 2012 Projeto de Sistemas com Frameworks 35
36 O padrão Java EE: JSF JavaServer Faces; Versão atual: 2.0 (JSR 314), 2.2 (JSR 344); Implementações: Oracle Mojarra; Apache MyFaces. Bibliotecas de componentes: JBoss RichFaces; PrimeFaces; ICEFaces; OpenFaces; Trinidad; Tomahawk. Fevereiro 2012 Projeto de Sistemas com Frameworks 36
37 Exemplo: formulário JSF <h1>cadastro</h1> <p>entre seus dados para se cadastrar:</p> <h:form id= frmcadastro"> <p>nome: <h:inputtext id="nome" value="#{acaocadastro.usuario.nome}" size="30" /></p> <p>data de Nascimento: <h:inputtext id= datanascimento" value="#{acaocadastro.usuario.datanascimento}" size="10"> <f:convertdatetime pattern="dd/mm/yyyy" /> </h:inputtext></p> <p> <h:inputtext id=" " value="#{acaocadastro.usuario. }" size="20" /></p> <p>senha: <h:inputsecret id= senha" value="#{acaocadastro.usuario.senha}" size="20" /></p> <p><h:commandbutton action="#{acaocadastro.cadastrar}" value= Cadastrar" /></p> </h:form> Fevereiro 2012 Projeto de Sistemas com Frameworks 37
38 Exemplo: classe public class AcaoCadastro private AplCadastro aplcadastro; Possui atributos nome, datanascimento, e senha. private Usuario usuario = new Usuario(); private int idade; /* Getters para usuario e idade. */ } public String cadastrar() { try { aplcadastro.cadastrar(usuario); } catch (ExcecaoMenorDeIdade e) { idade = e.getidade(); return "/cadastro/menordeidade.xhtml"; } return "/cadastro/sucesso.xhtml"; } Fevereiro 2012 Projeto de Sistemas com Frameworks 38
39 Exemplo: resultado para menores de idade <p>preado(a) <h:outputtext value="#{acaocadastro.usuario.nome}" />, infelizmente nosso serviço está disponível somente para maiores de idade e, de acordo com a data de nascimento fornecida, você possui apenas <h:outputtext value="#{acaocadastro.idade}" /> anos de idade.</p> Fevereiro 2012 Projeto de Sistemas com Frameworks 39
40 Juntando MVC + DI + DAO/ORM <html...> #{acaocadastro} public class Usuario { /*... */ public class AplCadastro private UsuarioDAO usuariodao; public class AcaoCadastro private AplCadastro aplcadastro; } Session public class UsuarioDAOJPA private EntityManager em; } Fevereiro 2012 Projeto de Sistemas com Frameworks 40
41 Projeto de Sistemas com Frameworks PROJETO (DESIGN) COM FRAMEWORKS Fevereiro 2012 Projeto de Sistemas com Frameworks 41
42 Frameworks no projeto de sistemas Frameworks são muito u.lizados na prá.ca; Possuem um impacto considerável na arquitetura escolhida; Inclui- los nos modelos de projeto: Faz os modelos ficarem mais próximos da implementação; Programadores tomam menos decisões; Promove uso de arquitetura robusta; Aumentam a produ.vidade (com padrões de bom senso). Fevereiro 2012 Projeto de Sistemas com Frameworks 42
43 FrameWeb Um método baseado em frameworks para o projeto de sistemas de informação Web (WIS); Alguns modelos podem servir para sistemas não- Web. Propostas: Uma arquitetura padrão para WISs baseados em frameworks; Um perfil da UML para construção de quatro.pos de modelo: Modelo de domínio; Modelo de persistência; Modelo de navegação; Modelo de aplicação. Fevereiro 2012 Projeto de Sistemas com Frameworks 43
44 Arquitetura base Fevereiro 2012 Projeto de Sistemas com Frameworks 44
45 Modelo de domínio Fevereiro 2012 Projeto de Sistemas com Frameworks 45
46 Modelo de persistência Fevereiro 2012 Projeto de Sistemas com Frameworks 46
47 Modelo de persistência Fevereiro 2012 Projeto de Sistemas com Frameworks 47
48 Modelo de navegação Fevereiro 2012 Projeto de Sistemas com Frameworks 48
49 Modelo de aplicação Fevereiro 2012 Projeto de Sistemas com Frameworks 49
50 hhp://nemo.inf.ufes.br/ Fevereiro 2012 Projeto de Sistemas com Frameworks 50
Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM
Desenvolvimento para Web em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM Tecnologias Web Java (OO) Fonte: Wikipedia Tecnologias Web em Java Java SE: Applets Java
Leia maisMapeamento Lógico/Relacional com JPA
Mapeamento Lógico/Relacional com JPA Elaine Quintino da Silva Doutora em Ciência da Computação pelo ICMC-USP/São Carlos Analista de Sistemas UOL PagSeguro Instrutora Globalcode Agenda! Persistência de
Leia maisCriando uma aplicação web
Criando uma aplicação web Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces) Um pouco sobre banco de dados Todas as aplicações precisam
Leia maisEXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS
EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS 1. Explique a(s) diferença(s) entre design pattern e framework. 2. Analisar o arquivo de configurações (web.xml) abaixo identificando quais suas
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 6 7 Padrão de Desenvolvimento? O Conceito de Padrão de Projeto Padrão MVC Persistência MVC Nível
Leia maisContinuação... Criando a Interface e adiante
Continuação... Criando a Interface e adiante Criando a interface Para criar a interface utilizaremos JavaServer Faces Biblioteca PrimeFaces Documentação de PrimeFaces http://www.primefaces.org/showcase/
Leia maisEngenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!
JAVASERVER FACES 1.2 Mestrado em Informática Universidade do Minho! 31! Java Server Faces (JSF) JSP uma tecnologia" JSF uma framework MVC(-like)" - JSP para a apresentação (ou não)" utilização da JSF tag
Leia maisDATA ACCESS OBJECT (DAO)
Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015
Leia maisMAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB
MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB Miguel Gustavo Miiller¹, Tiago Piperno Bonetti 1. 1 Universidade Paranaense (UNIPAR) Paranavaí -Paraná- Brasil 94mgm94@gmail.com, bonetti@unipar.br
Leia maisUMA ARQUITETURA VOLTADA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB.
UMA ARQUITETURA VOLTADA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB. Djonathan Assis Oliveira 1, Jaime William Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil djonathanassis@gmail.com, jaime@unipar.br
Leia maisObjetos e Componentes Distribuídos: EJB
: EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta
Leia maisDesenvolvimento Web TCC Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Model-View-Controller (MVC) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisJPA Java Persistence API. Prof. Ramon Chiara
JPA Java Persistence API Prof. Ramon Chiara JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados JDBC Aplicação JDBC Driver Banco de Dados JDBC Java DataBase Connectivity
Leia maisPROJETO 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 maisJPA 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 maisABORDAGEM 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 maisPOO Programação Orientada a Objetos
POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar
Leia maisSISTEMA 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 maisConceitos de Orientação a Objetos
AULA 1 INTRODUÇÃO AO PHP Em PHP AVANÇADO, além de voltar a focar o desenvolvimento em PHP interagindo com o banco de dados Postgresql, também iremos trabalhar com desenvolvimento com orientação a objetos.
Leia maisMapeamento Objeto-Relacional
Mapeamento Objeto-Relacional Persistência de dados com Java Persistence API - Hibernate Jefferson S Silva Mapeamento objeto-relacional Mas como? SQL + JDBC!? 1 Para quê serve MOR? O uso de uma solução
Leia maisruirossi@ruirossi.pro.br
Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos
Leia maisPersistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com
Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco
Leia maisAula 2 - Revisão de JPA (Java Persistence API)
Aula 2 - Revisão de JPA (Java Persistence API) Professor: Ricardo Luis dos Santos IFSUL 2015 Tabela para Revisão Assunto (JPA) Interesse? 1 Vantagens e Desvantagens 4 2 Principais Conceitos 7 3 Anotações
Leia maisComponentes 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 maisFormação JAVA Web.
Inscreva-se na Formação JAVA Web e comece a desenvolver sistemas para Web e Desktop com a linguagem de programação open source multiplataforma mais valorizada do mercado. Carga-horária: 80h O que você
Leia maisResolvendo objeto-relacional impedance mismatch com hibernate
Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter
Leia maisNOME 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 maisLeonardo Gresta Paulino Murta leomurta@gmail.com
Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no
Leia maisMÓDULO Programação para Web 2
MÓDULO Programação para Web 2 Projeto Gerenciar Clientes Projeto Clientes O projeto consiste em construir um aplicativo JSF para gerenciar Clientes usando um CRUD. O projeto será implementado em camadas
Leia maisPersistência de Dados em Java com JPA e Toplink
Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida
Leia maisComo 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 maisAula 2 - Revisão de JPA (Java Persistence API)
Aula 2 - Revisão de JPA (Java Persistence API) Professor: Ricardo Luis dos Santos IFSUL 2015 Tabela para Revisão Assunto (JPA) Interesse? 1 Vantagens e Desvantagens 4 2 Principais Conceitos 7 3 Anotações
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA
Leia maisDesenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.
Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Gabriel Pereira, Especialista em Java da Clarify Projete e desenvolva situações de Mercado com a criação de um
Leia maisJava 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 maisHibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
Hibernate Mapeamento Objeto-Relacional Baseado nas notas de aula de João Dalyson e Raphaela Galhardo Fernandes Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender MOR usando Hibernate
Leia maisProva 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 maisBanco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010
Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional
Leia maisLevantamento de classes (Análise de casos de uso)
Plano Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Levantamento no método APOO Projeto por padrões: MVC e Observador Estereótipos de classes Visão geral do método Engenharia
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia maisSérie Rações Semanais JPA & Hibernate Rogério Araújo
http://rogerioaraujo.wordpress.com Série Rações Semanais JPA & Hibernate Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais JPA & Hibernate Rogério Araújo Questões A adversidade desperta
Leia maisMÓ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 maisParte II Persistência entre Modelos de Dados
Parte II Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Hibernate Introdução; Configurações; Mapeamento com XML; Exemplos; Associações: 1-n; n-1; n-n; 1-1. Hibernate - Introdução O Hibernate
Leia maisFirewall - Inspeção com estado. (Stateful Inspection)
Proxy e FIREWALL Firewall - Inspeção com estado. (Stateful Inspection) As primeiras gerações de firewall eram ditos "stateless". Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores
Leia maisIntrodução aos Sistemas Corporativos. Prof. Fellipe Aleixo
Introdução aos Sistemas Corporativos Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Introdução aos Sistemas Corporativos A diferença de um sistema corporativo para um sistema convencional não está na
Leia maisUma 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 maisArquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
Leia maisSpring ORM- Object Relational Mapping Utilizando JPA Crislaine da Silva Tripoli cristripoli@gmail.com
Spring ORM- Object Relational Mapping Utilizando JPA Crislaine da Silva Tripoli cristripoli@gmail.com 1. Introdução O Spring Framawork contém uma grande quantidade de funcionalidades que são organizadas
Leia maisJavaServer Faces JSF
JavaServer Faces JSF Fernando Freitas Costa Bacharel em Sistemas de Informação Especialista em Gestão e Docência Universitária blog.fimes.edu.br/fernando nando@fimes.edu.br JavaServer Faces e Banco de
Leia maisJava para Desenvolvimento Web Carga Horária: 40 Horas.
Java para Desenvolvimento Web Carga Horária: 40 Horas. PROGRAMAÇÃO AULAS AOS SABADOS: Início : 20/08/2011 - Término: 17/09/2011 Horário: 8:30 as 12:30 13:30 ás 17:30. Pagamento em 6X no cartão ou cheque.
Leia maisArquitetura dos Sistemas Institucionais
Arquitetura dos Sistemas Institucionais UFRN/Sup. de Informática Itamir de Morais Barroca Filho Coordenador de desenvolvimento - SIPAC itamir@info.ufrn.br 1 Sumário Introdução Divisão em Camadas Camada
Leia maisFerramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE
Leia maisCoordenação Geral de Tecnologia da Informação - CGTI. Diretriz de Arquitetura de Sistemas. Versão 1.0. MAPA/SE/SPOA/CGTI, 2012 Página 1
Diretriz de Arquitetura de Sistemas Versão 1.0 MAPA/SE/SPOA/CGTI, 2012 Página 1 Histórico de Revisão Data Versão Descrição Autor Revisor 02/01/2012 1.0 Criação do artefato. Pérsio Mairon Thiago Lemos MAPA/SE/SPOA/CGTI,
Leia maisRoteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos
Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br
Leia maisGERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS
GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS Introdução Objetivos Fundamentação teórica Especificação Implementação Operacionalidade Resultados e discussão Conclusão
Leia maisA figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.
Primeiro passo é criar um banco de dados. Pois com um esquema montado, utilizaremos o Framework de mapeamento objeto relacional o Hibernate, para montar nosso projeto. A figura acima mostra o script de
Leia maisJava Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações
Java Persistence API Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações Entity Manager Entity Manager API Java Persistence Query Language (JPQL) Persistence Units 1 Java Persistence
Leia maisArquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003
Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir
Leia maisWebApps 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 maisAula Prática JBCD - Introdução
Aula Prática JBCD - Introdução Paulo Ricardo Lisboa de Almeida 1 Instanciando a aplicação Clone o projeto da aula passada com o Git (disponível no site da disciplina) Suba o banco de dados Crie as tabelas
Leia maisDESENVOLVIMENTO 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 maisAula 4. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)
Persistência com JDBC e JPA Aula 4 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) A sabedoria não se transmite, é preciso que nós a descubramos fazendo uma caminhada que ninguém
Leia maisIntrodução: EJBs de Sessão. Prof. Fellipe Aleixo
Introdução: EJBs de Sessão Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é um Enterprise Bean? Written in the Java programming language, an enterprise bean is a server-side component that encapsulates
Leia maisIntrodução ao Zend Framework 2
Introdução ao Zend Framework 2 #laryssa-muniz Graduada em Telemática - Estácio de Sá Especialista em Engenharia de Software - UECE Mestranda em Ciências da Computação - UECE Analista de Sistemas - Brain
Leia maisJava para Desktop. Programação Orientada à Objetos 2 JSE
Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona
Leia maisDesenvolvimento Baseado em Componentes: Tecnologia J2EE
Desenvolvimento Baseado em Componentes: Tecnologia J2EE Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires Agenda Introdução Componentes Introdução a Especificação J2EE Modelo
Leia maisAplicabilidade: visão geral
CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação
Leia maisDocumento de Arquitetura de Software- SGE
Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de
Leia maisEtc & 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 maisWeb Services REST JAX-RS
Web Services REST JAX-RS Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Principais tecnologias envolvidas Testando os serviços desenvolvidos JAX-RS Principais anotações JAX-RS Principais anotações
Leia maisJava 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 maisPersistindo dados com TopLink no NetBeans
Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos
Leia maisArquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Leia maisUFG - 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 maisAPI JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo
API JDBC Paulo Ricardo Lisboa de Almeida 1 JDBC JDBC Java Database Connectivity API Java para conexões com bancos de dados Encontrada dentro de java.sql 2 JDBC Necessário driver JDBC do banco Classes concretas
Leia maisJava DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA
Java DataBase Connectivity - JDBC Ramon Lopes Embaixador de Campus Sun - UFBA 1 Agenda O que é um BD? Introdução SQL JDBC Padrões de Projetos Projeto Final Sun Confidential: Internal Only 2 O que é um
Leia maisDesenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br
Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Especificação para os Portlets Os padrões para Portlets Java EE são definidos por duas JSRs: 168,
Leia mais2 a Lista de Exercícios
Projeto de Sistemas 2016/2 2 a Lista de Exercícios (1) A Figura 1 mostra um fragmento do diagrama de classes de análise de um sistema para uma livraria. Nesse sistema, usabilidade é um dos condutores do
Leia maisCriar uma aplicação JPA2 com EclipseLink e H2
Criar uma aplicação JPA2 com EclipseLink e H2 1) Criar uma aplicação Java no NetBeans. File > New Project > Java, Java Application > Project name: JPA2 Finish. 2) Acrescentar ao Projeto NetBeans a biblioteca
Leia maisAutenticação e Autorização
Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa
Leia maisUniversidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Ciências da Computação DAGSON PATRICK VIEIRA DE SOUZA
Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Ciências da Computação DAGSON PATRICK VIEIRA DE SOUZA DESENVOLVIMENTO DE UMA APLICAÇÃO FINANCEIRA PESSOAL PARA WEB Belo
Leia maisPadrões de Arquitetura de Software. Leandro Tonietto Unisinos fev-09
Padrões de Arquitetura de Software Leandro Tonietto ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto Unisinos fev-09 Introdução Padrões de projeto de software descrevem a criação, estruturação
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Breakout Componentes do Breakout Bola Raquete Tijolos Paredes Score Nem todos vão precisar de classes próprias
Leia maisLinguagem de Programação Orientada a Objeto Abstração - Encapsulamento
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e
Leia mais1 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(UFF) JSF (I) TEPIS II
Aula 11: JSF (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JSF (I) TEPIS II 1 / 34 Java Server Faces API que provê um framework
Leia maisDesenvolvimento de um Framework para replicação de dados entre bancos heterogêneos
Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos João Batista Gianisini JúniorJ Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação
Leia maisSIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores
SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores Requerimentos do Software Versão para Microsoft Windows/Unix Dezembro 2006 Bem-Vindo ao to SIQ GQF Plugin s WEB - Gestão da Qualidade
Leia maisPROGRAMAÇÃ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 maisJPA (Java Persistence API) Marcos Kalinowski (kalinowski@ic.uff.br)
JPA (Java Persistence API) (kalinowski@ic.uff.br) Agenda Conceitos básicos do JPA Mapeamento objeto relacional utilizando JPA Utilizando JPA para a persistência na prática EntityManager JPQL (Java Persistence
Leia mais