Integrando recuperação de informação em banco de dados com Hibernate Search

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

Download "Integrando recuperação de informação em banco de dados com Hibernate Search"

Transcrição

1 Integrando recuperação de informação em banco de dados com Hibernate Search Alunos Gustavo Kendi Tsuji Leonardo Tadashi Kamaura Orientador João Eduardo Ferreira

2 Introdução

3 Introdução

4 Introdução Média de 305% de crescimento de usuários na internet

5 Introdução Média de 305% de crescimento de usuários na internet = Aumento do conteúdo na internet produzido pelos usuários

6 Introdução A Google registrou em 29 de julho de 2008 a marca de mais de 1 trilhão de páginas disponíveis para consulta a partir do seu site de busca Google's search index hits one trillion page mark

7 Objetivos Estudar conceitos de Recuperação de Informação (RI);

8 Objetivos Estudar conceitos de Recuperação de Informação (RI); Integrar uma solução de RI no banco de dados do Projeto Colméia;

9 Visão Geral de RI Query Arquivo Invertido

10 Visão Geral de RI Query Ranqueamento Arquivo Invertido Modelo Vetorial

11 Visão Geral de RI Query Ranqueamento Resultados Arquivo Invertido Modelo Vetorial

12 Arquivo Invertido

13 Modelos

14 Modelo Vetorial Termo 1 Termo 2 Termo n Query Palavrachave 1 Palavrachave 2 Palavrachave n Documento

15 Lucene projeto de código aberto da Apache implementado em Java gera índices que serão usados na busca não é um programa final de busca não depende da fonte dos dados portável (Perl, Python, C++,.NET, Ruby)

16 Hibernate Search Hibernate Annotations + Lucene busca full-text

17 Hibernate / Hibernate Annotations

18 Hibernate / (" public = "livro", schema = public class Livro implements java.io.serializable { private Long idlivro; private ( = "id_livro", nullable = public Long getidlivro() { return this.idlivro; ( ( 300 = = "titulo_original", public String gettitulooriginal() { return this.titulooriginal;

19 Hibernate / (" public = "livro", schema = public class Livro implements java.io.serializable { private Long idlivro; private ( = "id_livro", nullable = public Long getidlivro() { return this.idlivro; ( ( 300 = = "titulo_original", public String gettitulooriginal() { return this.titulooriginal;

20 Hibernate (" public = "livro", schema = public class Livro implements java.io.serializable {... private ItemAcervo itemacervo; private Set<Subtitulo> subtitulos = @PrimaryKeyJoinColumn public ItemAcervo getitemacervo() { return (" livro mappedby = public Set<Subtitulo> getsubtitulos() { return subtitulos;

21 Hibernate Search

22 (" public = "livro", schema = public class Livro implements java.io.serializable { private Long idlivro; private ( = "id_livro", nullable = public Long getidlivro() { return this.idlivro; ( ( 300 = = "titulo_original", public String gettitulooriginal() { return this.titulooriginal;

23 Hibernate Search (" public = "livro", schema = public class Livro implements java.io.serializable {... private ItemAcervo itemacervo; private Set<Subtitulo> subtitulos = @PrimaryKeyJoinColumn public ItemAcervo getitemacervo() { return (" livro mappedby = public Set<Subtitulo> getsubtitulos() { return subtitulos;

24 Hibernate Search - (" public = "subtitulo", schema public class Subtitulo implements java.io.serializable { private long idsubtitulo; private String subtitulo; private Livro ( = "id_subtitulo", nullable = public long getidsubtitulo() { return this.idsubtitulo; ( ( 100 = = "subtitulo", nullable = false, public String getsubtitulo() { return this.subtitulo;

25 Utilizando Hibernate Search na Aplicação

26 Processos Hibernate + Hibernate Search 1 Índices (Lucene) 2 Back end Aplicação Banco de dados

27 Processos

28 Processos 1

29 2 Processos

30 Indexação

31 Hibernate Search - Indexação public void indexalivros(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); FullTextSession fulltextsession = Search.createFullTextSession(session); Transaction tx = fulltextsession.begintransaction(); List<?> livros = session.createcriteria(livro.class).list(); for (Object livro : livros) { fulltextsession.index(livro); tx.commit();

32 Hibernate Search - Indexação public void indexalivros(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); FullTextSession fulltextsession = Search.createFullTextSession(session); Transaction tx = fulltextsession.begintransaction(); List<?> livros = session.createcriteria(livro.class).list(); for (Object livro : livros) { fulltextsession.index(livro); tx.commit();

33 Hibernate Search - Indexação Session Hibernate

34 Hibernate Search - Indexação public void indexalivros(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); FullTextSession fulltextsession = Search.createFullTextSession(session); Transaction tx = fulltextsession.begintransaction(); List<?> livros = session.createcriteria(livro.class).list(); for (Object livro : livros) { fulltextsession.index(livro); tx.commit();

35 Hibernate Search - Indexação FullTextSession Search Hibernate Search Session Hibernate

36 Hibernate Search - Indexação public void indexalivros(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); FullTextSession fulltextsession = Search.createFullTextSession(session); Transaction tx = fulltextsession.begintransaction(); List<?> livros = session.createcriteria(livro.class).list(); for (Object livro : livros) { fulltextsession.index(livro); tx.commit();

37 Hibernate Search - Indexação Transaction FullTextSession Hibernate Search Search Session Banco de dados Hibernate

38 Hibernate Search - Indexação public void indexalivros(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); FullTextSession fulltextsession = Search.createFullTextSession(session); Transaction tx = fulltextsession.begintransaction(); List<?> livros = session.createcriteria(livro.class).list(); for (Object livro : livros) { fulltextsession.index(livro); tx.commit();

39 Hibernate Search - Indexação Transaction FullTextSession Hibernate Search Search Session Banco de dados Hibernate Livros

40 Hibernate Search - Indexação public void indexalivros(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); FullTextSession fulltextsession = Search.createFullTextSession(session); Transaction tx = fulltextsession.begintransaction(); List<?> livros = session.createcriteria(livro.class).list(); for (Object livro : livros) { fulltextsession.index(livro); tx.commit();

41 Hibernate Search - Indexação Transaction FullTextSession Hibernate Search Search Session Banco de dados Hibernate Livros

42 Busca

43 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

44 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

45 Hibernate Search Busca Termo Query

46 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

47 Hibernate Search Busca Termo Parâmetros Query

48 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome ", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

49 Hibernate Search Busca Termo Parâmetros Fields Query

50 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome ", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

51 Hibernate Search Busca Termo Parâmetros Fields Query Lucene StopAnalyser

52 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome ", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

53 Hibernate Search Busca Termo Parâmetros Fields Query StopAnalyser MultiFieldQueryParser Lucene

54 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome ", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

55 Hibernate Search Busca Termo Parâmetros Fields Query Lucene StopAnalyser MultiFieldQueryParser Query

56 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome ", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

57 Hibernate Search Busca Termo Parâmetros Fields Query Lucene StopAnalyser MultiFieldQueryParser Query FullTextQuery Hibernate Search

58 Hibernate Search Busca public List<Livro> buscalivro(string termo, int indice, int maximo) throws Exception { String[] fields = {"titulooriginal", "subtitulos.subtitulo", "livrosautores.autor.nome ", "livroeditoracidade.editora.editora", "assuntosdedalus"; MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer()); org.apache.lucene.search.query lucenequery = null; try { lucenequery = parser.parse(termo); catch (ParseException e) { e.printstacktrace(); org.hibernate.search.fulltextquery fulltextquery = fulltextsession.createfulltextquery( lucenequery, Livro.class); return ajustapaginacao(session, indice, maximo);

59 Hibernate Search Busca Termo Parâmetros Fields Query Lucene StopAnalyser MultiFieldQueryParser Query Livros FullTextQuery Hibernate Search

60 Score

61 Lucene - Score É uma combinação do Modelo de Espaço Vetorial e do Modelo Booleano. O score de uma query q para um documento d correlaciona à distância do coseno ou ao produto escalar entre vetores de documentos e queries no Modelo de Espaço Vetorial. Fórmula: score 2 q,d = coord q,d querynorm q,d tf t in d idf t t. getboost norm t,d t in d

62 score tf(t in d): term frequency Lucene - Score 2 q,d = coord q,d querynorm q,d tf t ind idf t t. getboost norm t,d O número de vezes que o termo t ocorre no documento d idf(t in d): inverse document frequency O número de documentos que contêm o termo t coord(q, d): fator baseado na quantidade de termos da query q que são encontrados no documento d querynorm(q, d): fator de normalização usada para permitir a comparação entre os scores das queries t.getboost(): t in d atribui peso para o termo t na query q em tempo de busca norm(t, d): encapsula alguns fatores de boost em tempo de indexação

63 score tf(t in d): term frequency Lucene - Score 2 q,d = coord q,d querynorm q,d tf t in d idf t t. getboost norm t,d O número de vezes que o termo t ocorre no documento d idf(t in d): inverse document frequency O número de documentos que contêm o termo t coord(q, d): fator baseado na quantidade de termos da query q que são encontrados no documento d querynorm(q, d): fator de normalização usada para permitir a comparação entre os scores das queries t.getboost(): t in d atribui peso para o termo t na query q em tempo de busca norm(t, d): encapsula alguns fatores de boost em tempo de indexação

64 score tf(t in d): term frequency Lucene - Score 2 q,d = coord q,d querynorm q,d tf t in d idf t t. getboost norm t,d O número de vezes que o termo t ocorre no documento d idf(t in d): inverse document frequency O número de documentos que contêm o termo t coord(q, d): fator baseado na quantidade de termos da query q que são encontrados no documento d querynorm(q, d): fator de normalização usada para permitir a comparação entre os scores das queries t.getboost(): t in d atribui peso para o termo t na query q em tempo de busca norm(t, d): encapsula alguns fatores de boost em tempo de indexação

65 score tf(t in d): term frequency Lucene - Score 2 q,d = coord q,d querynorm q,d tf t in d idf t t. getboost norm t,d O número de vezes que o termo t ocorre no documento d idf(t in d): inverse document frequency O número de documentos que contêm o termo t coord(q, d): fator baseado na quantidade de termos da query q que são encontrados no documento d querynorm(q, d): fator de normalização usada para permitir a comparação entre os scores das queries t.getboost(): t in d atribui peso para o termo t na query q em tempo de busca norm(t, d): encapsula alguns fatores de boost em tempo de indexação

66 score tf(t in d): term frequency Lucene - Score 2 q,d = coord q,d querynorm q,d tf t in d idf t t.getboost norm t,d O número de vezes que o termo t ocorre no documento d idf(t in d): inverse document frequency O número de documentos que contêm o termo t coord(q, d): fator baseado na quantidade de termos da query q que são encontrados no documento d querynorm(q, d): fator de normalização usada para permitir a comparação entre os scores das queries t.getboost(): t in d atribui peso para o termo t na query q em tempo de busca norm(t, d): encapsula alguns fatores de boost em tempo de indexação

67 score tf(t in d): term frequency Lucene - Score 2 q,d = coord q,d querynorm q,d tf t in d idf t t. getboost norm t, d O número de vezes que o termo t ocorre no documento d idf(t in d): inverse document frequency O número de documentos que contêm o termo t coord(q, d): fator baseado na quantidade de termos da query q que são encontrados no documento d querynorm(q, d): fator de normalização usada para permitir a comparação entre os scores das queries t.getboost(): t in d atribui peso para o termo t na query q em tempo de busca norm(t, d): encapsula alguns fatores de boost em tempo de indexação

68 Lucene - Score Query: Information Retrieval Resultado: Information analysis and retrieval = (MATCH) sum of: = (MATCH) weight(titulooriginal:information in 2099), product of: = queryweight(titulooriginal:information), product of: ( numdocs=5541 = idf(docfreq=36, = querynorm = (MATCH) fieldweight(titulooriginal:information in 2099), product of: ( tf(termfreq(titulooriginal:information)=1 = 1.0 ( numdocs=5541 = idf(docfreq=36, ( doc=2099 = fieldnorm(field=titulooriginal, = (MATCH) weight(titulooriginal:retrieval in 2099), product of: = queryweight(titulooriginal:retrieval), product of: ( numdocs=5541 = idf(docfreq=9, = querynorm = (MATCH) fieldweight(titulooriginal:retrieval in 2099), product of: ( tf(termfreq(titulooriginal:retrieval)=1 = 1.0 ( numdocs=5541 = idf(docfreq=9, ( doc=2099 = fieldnorm(field=titulooriginal, 0.5

69 Lucene - Score Query: titulooriginal: Information Retrieval Resultado: Information analysis and retrieval Score Weight Information Weight Retrieval

70 Lucene - Score Information Weight queryweight fieldweight Idf querynorm Idf Tf fieldnorm

71 Lucene - Score Query: Information Retrieval R1: Information analysis and retrieval R2: Information storage and retrieval: tools, elements, theories R3: The SMART retrieval system Information Score Weight Query Weight Field Weight Retrieval Weight Query Weight Field Weight R R R

72 Resultados

73 Resultados Query: assunto:banco de dados AND titulo:database* Livros encontrados: 125 livros Hibernate sem indexação: media: 89 ms Hibernate com indexação: media: 13 ms

74 Resultados Query: assunto:matematica* Livros encontrados: 4763 livros Hibernate sem indexação: media: 730 ms Hibernate com indexação: media: 265 ms

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans AULA 07 HIBERNATE Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans O JDBC é uma das maneiras mais diretas para desenvolver um aplicativo Java que interaja

Leia mais

JPA Java Persistence API. Prof. Ramon Chiara

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

Particionamento de Banco com o Hibernate Shards

Particionamento de Banco com o Hibernate Shards Ademir Constantino Filho (ademirconstantino@gmail.com): é bacharel em Sistemas de Informação e atua com Java desde 2002. Atualmente atua com desenvolvimento, consultoria e como instrutor para treinamentos.

Leia mais

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais Curso de Java Acesso a banco de dados através do Hibernate Todos os direitos reservados Klais Motivação Java é uma linguagem orientada a objetos: Numa aplicação, o uso de objetos é um recurso importante

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

Parte III Persistência entre Modelos de Dados

Parte III Persistência entre Modelos de Dados Parte III Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Associações n-n com Atributos; Chave-primária composta; Herança: Tabela por classe concreta; Tabela por Hierarquia; Tabela por Sub-Classe.

Leia mais

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo. raphaela@jeebrasil.com.br

Módulo 03. Mapeando Associações/Relacionamentos. Raphaela Galhardo. raphaela@jeebrasil.com.br Módulo 03 Mapeando Associações/Relacionamentos Raphaela Galhardo raphaela@jeebrasil.com.br Associações Um-para-um; Muitos-para-um; Um-para-muitos; Muitos-para-muitos. Associações - OneToMany Exemplo: Uma

Leia mais

Na classe Utils.java no package utils existe o método readdatefromconsole():

Na classe Utils.java no package utils existe o método readdatefromconsole(): Na classe Utils.java no package utils existe o método readdatefromconsole(): static public Date readdatefromconsole(string strprompt) { do { try { String strdate = readlinefromconsole(strprompt); SimpleDateFormat

Leia mais

Vamos falar de Hibernate?

Vamos falar de Hibernate? Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.

Leia mais

Ferramentas para Recuperação e Mineração de Informações

Ferramentas para Recuperação e Mineração de Informações Ferramentas Java para Recuperação e Mineração de Informações Fabrício J. Barth 1,2 1 Fundação Atech Tecnologias Críticas (fbarth@atech.br) 2 Centro Universitário SENAC (fabricio.jbarth@sp.senac.br) 9 de

Leia mais

Mecanismo de Persistência

Mecanismo de Persistência Hibernate Mecanismo de Persistência Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Dezembro/2005 Hibernate Mecanismo de persistência (operações em banco como inserir, atualizar, consultar

Leia mais

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:

Leia mais

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando

Leia mais

Mapeamento Lógico/Relacional com JPA

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

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Armazendando Senhas Com Funções de Hash

Armazendando Senhas Com Funções de Hash Armazendando Senhas Com Funções de Hash Paulo Ricardo Lisboa de Almeida 1 Função de Hash Mapear uma entrada (string) de tamanho arbitrário para uma saída de tamanho fixo Saída de 128, 256, 512... bits

Leia mais

1. Estude e implemente a classe Exemplo1 apresentada abaixo:

1. Estude e implemente a classe Exemplo1 apresentada abaixo: P. Fazendeiro & P. Prata POO FP09/1 Exceções Uma exceção (Exception) é um sinal gerado pela máquina virtual de Java em tempo de execução indicando uma situação de erro da qual é possível recuperar. O objectivo

Leia mais

DW2 Desenvolvimento Web 2

DW2 Desenvolvimento Web 2 DW2 Desenvolvimento Web 2 Prof. Dr. Gustavo Poli IFSP - São Carlos : 2013.08.26 Avaliação Avaliação Provas: 60% Trabalho: 20% Seminários: 10% Lista de Exercícios: 10% Avaliação Provas: 60% Avaliação Provas:

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Modelo Espaço Vetorial. Mariella Berger

Modelo Espaço Vetorial. Mariella Berger Modelo Espaço Vetorial Mariella Berger Agenda Introdução Atribuição de Pesos Frequência TF-IDF Similaridade Exemplo Vantagens e Desvantagens Modelo Espaço Vetorial Introdução Modelo Espaço Vetorial O modelo

Leia mais

Código-Fonte da Prática 02

Código-Fonte da Prática 02 Código-Fonte da Prática 02 Sumário Classe ConexaoDB... 2 Classe PropriedadesBD... 5 Arquivo conexao.properties... 6 Programação Comercial Walderson Shimokawa 1 Classe ConexaoDB package br.edu.univag.util.sql;

Leia mais

Melhorando a Recuperação de Informação

Melhorando a Recuperação de Informação Recuperação de Informação e Web Mining 1 Melhorando a Recuperação de Informação O modelo de espaço vetorial Utiliza pesos para termos Permite o ranqueamento dos resultados Pode reduzir a dimensão do espaço

Leia mais

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos; Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:

Leia mais

Mapeando Relacionamentos entre Entidades JPA. Prof. Fellipe Aleixo

Mapeando Relacionamentos entre Entidades JPA. Prof. Fellipe Aleixo Mapeando Relacionamentos entre Entidades JPA Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br Relacionamento entre Entidades É natural em um modelo de domínio termos relacionamento entre classes conceituais

Leia mais

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Aula 09 Objetivo Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Banco de Dados 1. Crie um novo projeto

Leia mais

One-to-Many. Many-to-One. Many-to-Many

One-to-Many. Many-to-One. Many-to-Many One-to-Many Many-to-One Many-to-Many Relacionamento One-to-Many Relacionamento Many-to-One Relacionamento Many-to-Many Relacionamento Many-to-Many Hibernate não aceita identificador composto. Solução:

Leia mais

Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS.

Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS. page objects_ PAGE OBJECTS Organizando seus Testes Funcionais AUMENTANDO A MANUTENIBILIDADE DE TESTES FUNCIONAIS ATRAVÉS DA ORIENTAÇÃO A OBJETOS. Testes são parte fundamental do processo de desenvolvimento

Leia mais

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com Tecnologias Java JDBC Marcio Seiji Oyamada msoyamada@gmail.com JDBC JDBC: Java Database Connectivity API Java para acessar dados armazenados em um Banco de Dados Conectar a um banco dados Enviar consultas

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Francisco Roeder. Orientador: Prof. Adilson Vahldick

Francisco Roeder. Orientador: Prof. Adilson Vahldick Francisco Roeder AGRUPAMENTO E ORDENAÇÃO NAS CONSULTAS EM BANCOS DE DADOS DISTRIBUÍDOS ATRAVÉS DE DRIVER JDBC Orientador: Prof. Adilson Vahldick Roteiro da apresentação Introdução Objetivos Fundamentação

Leia mais

Mecanismo de exceções em Java

Mecanismo de exceções em Java Mecanismo de exceções em Java (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Conceito de exceção Erro de execução provocado por condição

Leia mais

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP088 Laboratório de Programação Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Manipulação de Exceções; 1) Try e Catch 2) Finally 3) Propagação (Throw e Throws) 2) Erros e Exceções Comuns;

Leia mais

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Terminologia Definições: Exceção é a ocorrência de uma condição anormal durante a execução de um método Falha

Leia mais

Exceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares

Exceções AULA 13. Ricardo Massa F. Lima Sérgio C. B. Soares Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Exceções AULA 13 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Exceções Objetivo Depois desta aula você será capaz

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções

Leia mais

APIs Java: Tratamento de exceções e Coleções

APIs Java: Tratamento de exceções e Coleções APIs Java: Tratamento de exceções e Coleções POO29004 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/poo 16 DE ABRIL DE 2019 Tratamento de Exceções Um simples

Leia mais

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

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

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu: Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)

Leia mais

Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas

Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas (Data Mapper, Repositório e Active Record) Jadson José dos Santos jadsonjs@gmail.com Natal/RN 2008 Sumário 5 PADRÕES DA CAMADA

Leia mais

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. Dados Transientes e Relacionamentos. 1 Universidade Positivo

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. Dados Transientes e Relacionamentos. 1 Universidade Positivo JPA Com Hibernate Dados Transientes e Relacionamentos 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

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br

Leia mais

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO

Leia mais

JDBC - Java Data Base Connectivity

JDBC - Java Data Base Connectivity JDBC - Java Data Base Connectivity JDBC API para Bases de Dados relacionais. Permite o desenvolvimento de aplicac~oes que interagem com BD relacionais de modo uniforme e independente dos diferentes SGBD.

Leia mais

Programação Java. Tratamento de Exceções

Programação Java. Tratamento de Exceções Programação Java Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Motivações para Exceções Um método pode detectar uma falha mas não estar apto a resolver sua

Leia mais

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços Web Services EclipseSDK/DB2 Construindo/Consumindo Serviços Mario C. Ponciano a.k.a: Razec http://razec.wordpress.com mrazec@gmail.com 28 de Novembro 2009 2 Sumário Objetivo... 3 Requisitos... 3 Desenvolvimento...

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

Prova 2 PMR3201 1o. semestre 2016 Prof. Thiago Martins

Prova 2 PMR3201 1o. semestre 2016 Prof. Thiago Martins Prova 2 PMR3201 1o. semestre 2016 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço. Os códigos fornecidos na seção Códigos-fonte de apoio podem ser referenciados

Leia mais

Lista de exercícios 2 Recuperação de Informação Textual

Lista de exercícios 2 Recuperação de Informação Textual Lista de exercícios 2 Recuperação de Informação Textual 2 de dezembro de 2015 0.1 O que é o modelo bag-of-words? Porque ele é uma simplificação? Dê um exemplo em que ele estaria incorreto. 0.2 O que é

Leia mais

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Resumo Este tutorial destina-se a apresentar alguns exemplos de mapeamentos de associações/relacionamentos entre

Leia mais

DATA ACCESS OBJECT (DAO)

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

JPA Com Hibernate Aula 2

JPA Com Hibernate Aula 2 JPA Com Hibernate Aula 2 Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 Dados Transientes Quando criamos determinada propriedade em uma classe, mas essa propriedade não deve ser

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:

Leia mais

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Hibernate. 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 mais

Algoritmos e Estruturas de Dados 1

Algoritmos e Estruturas de Dados 1 1. Algoritmos e Estruturas de Dados 1 Época Normal - 21 Janeiro 2005 public class Data private int dia, mes, ano; public Data(int d, int m, int dia = d; mes = m; ano = a; public Data(int d, int m) this(d,

Leia mais

public class Autenticador { private static final ThreadLocal<UsuarioInterface> threadusuario = new ThreadLocal<UsuarioInterface>();

public class Autenticador { private static final ThreadLocal<UsuarioInterface> threadusuario = new ThreadLocal<UsuarioInterface>(); JBook - Shadowing Source folder: src/main/java Main package: br.com.infowaypi.jbook. Actual package: autenticacao Java file: Autenticador.java package br.com.infowaypi.jbook.autenticacao; public class

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Chamada Remota de Procedimento março de 2019 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Carlos Bazilio Isabel Rosseti Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense Motivação prever na implementação do sistema situações

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido

Leia mais

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2013/1 BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2013/1 Avisos 2 3 Arquivos) 4 Introdução)ao)Java)Reflection) 5 Reflexão)é)a)capacidade)de)um)programa)examinar) (ou) introspectar

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

RMS. Record Management System

RMS. Record Management System RMS Record Management System Gereciamento de registros persistentes Registro Identificador ligado a um array de bytes Equivalente a armazenamento em arquivo de J2SE Classes para armazenar, recuperar, enumerar,

Leia mais

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo JPA Com Hibernate Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 JPA Mapeamento Direto entre as classes e o banco de dados Orientação a objetos para modelo relacional Feito através

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento

Leia mais

Prova de Recuperação PMR3201/PMR2300 1o. semestre 2015 Prof. Thiago Martins

Prova de Recuperação PMR3201/PMR2300 1o. semestre 2015 Prof. Thiago Martins Prova de Recuperação PMR21/PMR2 1o. semestre 2 Prof. Thiago Martins Instruções: screva o nome e o número USP na folha de papel almaço. 1. (2 pontos) Uma pilha é uma estrutura de dados na qual o elemento

Leia mais

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto

Leia mais

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1 INE5603 Introdução à POO Prof. A. G. Silva 13 de novembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de 2017 1 / 1 Introdução à manipulação de arquivos Prof. A. G. Silva INE5603

Leia mais

Aula Prática JBCD - Introdução

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

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

Leia mais

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE

Leia mais

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR3201 1o. semestre 2015 Prof. Thiago Martins Prova PMR0 o semestre 0 Prof Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço ( pontos) Uma árvore binária de busca é uma árvore binária na qual para qualquer sub-árvore

Leia mais

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP SCC0504 Programação Orientada a Objetos Exceções Luiz Eduardo Virgilio da Silva ICMC, USP Parte do material foi obtido com os professores: José Fernando Junior (ICMC/USP) Sumário Introdução Tipos de exceção

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas Programa Capítulo

Leia mais

Cliente. Servidor. Núcleo do ORB. Depende do adaptador Interface proprietária. Independe de ORB Depende das definições IDL.

Cliente. Servidor. Núcleo do ORB. Depende do adaptador Interface proprietária. Independe de ORB Depende das definições IDL. 1 Copyright 1998, 1999 Francisco Reverbel Cliente Servidor Interface de Invocação Dinâmica Stub IDL Interface do ORB Esqueleto IDL Esqueleto Dinâmico Adaptador de Objetos Núcleo do ORB Independe de ORB

Leia mais

Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas

Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas Análise da Utilização de Padrões no Desenvolvimento de Softwares em Camadas (Exemplo de Arquitetura) Jadson José dos Santos jadsonjs@gmail.com Natal/RN 2008 8 EXEMPLO DE ARQUITETURA COM PADRÕES... 3 9

Leia mais

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar

Leia mais

Simbiose entre Tecnologias: XML e Java

Simbiose entre Tecnologias: XML e Java Simbiose entre Tecnologias: XML e Java Marcio H. Zuchini USF - Itatiba mhzuchini@yahoo.com.br Oclair G. Prado Unisal - Americana oclair.prado@am.unisal.br Márcio Henrique Zuchini (Mestre em Engenharia

Leia mais

Exceções. Criando suas exceções

Exceções. Criando suas exceções Exceções Criando suas exceções Tratamento de Exceções O tratamento de exceções em Java permite o gerenciamento de erros em tempo de execução. Uma exceção em Java é um objeto que descreve uma condição de

Leia mais

Interfaces POO. Prof. Marcio Delamaro

Interfaces POO. Prof. Marcio Delamaro Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso

Leia mais

Documento Descritivo do Mecanismo de Busca. Preparação do Portal para indexação

Documento Descritivo do Mecanismo de Busca. Preparação do Portal para indexação Documento Descritivo do Mecanismo de Busca Este documento visa esclarecer as regras que serão executadas pelo mecanismo de busca para a recuperação de informações a partir de uma palavra e/ou expressão

Leia mais

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager JPA - 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

Leia mais

Utilizando Swing com JPA/Hibernate

Utilizando Swing com JPA/Hibernate Programando com Java Artigo http://mballem.wordpress.com/ Utilizando Swing com JPA/Hibernate Autor Marcio Ballem: é formado em Sistemas de Informação e possui certificação Oracle Certified Professional,

Leia mais

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager JPA - 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

Leia mais

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão Agenda Instalação e configuração Driver JDBC Criação da classe de conexão Processamento de comandos SQL com JDBC Gerenciamento de conexões Execução simples de consultas Tratamento de exceções Instalação

Leia mais

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Listando, gravando, alterando e excluindo registro do banco de dados com JSP SISTEMAS DE INFORMAÇÃO 3º ANO PROGRAMAÇÃO II PROF. RONALDO FERREIRA DA SILVA JavaServer Pages JavaServer Pages (JSP) é uma tecnologia que ajuda os desenvolvedores de software a criarem páginas web geradas

Leia mais

Desvendando o Hibernate

Desvendando o Hibernate Passos Iniciais Desvendando o Hibernate 1. Repetir os passos do tutorial "CRUD com Hibernate" 2. Adicionar o driver JDBC do banco Esquematizando Fontes dos Arquivos WEB-INF\classes\hibernate.cfg.xml

Leia mais

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma

Leia mais

Prof. Rogério Rocha 1

Prof. Rogério Rocha  1 Uma estrutura de dados é um modo particular de armazenamento e organização de dados em um computador de modo que possam ser usados eficientemente. Diferentes tipos de estrutura de dados são adequados a

Leia mais

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim Introdução Servlet Ciclo Vida Exemplos Servlet Prof. Enzo Seraphim Visão Geral São objetos de uma subclasse de javax.servlet (javax.servlet.httpservlet). Possuem um ciclo de vida. Incluem em seu código,

Leia mais

Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:

Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto: Tratamento de Exceções Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Exceções Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade

Leia mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins

Prova 2 PMR2300 1o. semestre 2015 Prof. Thiago Martins Prova PMR00 o. semestre 0 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço.. ( pontos) Um heap binário é uma árvore binária completa (todos os níveis exceto o último

Leia mais