Publicação dinâmica de páginas HTML  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
santana_fabiano
Debugger

Membro desde: 11/09/2006 09:55:38
Mensagens: 55
Offline

Bom dia pessoal.

Estou com um problema.

Tenho uma aplicação feita em java jsf e jdbc que acessa dados de fatura de agência. Mas o numero de acessos simultâneos vai ser muito grande em um determinado período do mês, e estamos prevendo que o banco de dados não vai aguentar o tranco.

Gostaria de saber se existe alguma framework onde baseado em um período determinado e no código da agência, fizesse uma consulta no banco e gerasse este resultado em forma de html estático, esta forma evitaria a sobrecarga no banco. Algo parecido com os portais de nóticias que disponiblizam as notícias em conteúdo estático.

Se alguém poder me dar uma dica, sujerir algo ficorei muito agradecido.

[Email] [Yahoo!] [MSN]
andreiribas
JavaEvangelist
[Avatar]

Membro desde: 30/04/2006 10:43:13
Mensagens: 478
Localização: Curitiba - PR
Offline

q tal usar cache?

SCJP 6.0
OCE JSP and Servlet Developer, JEE 6
[MSN]
jakefrog
GUJ Expert
[Avatar]

Membro desde: 22/01/2007 22:00:53
Mensagens: 4191
Offline

O que eu pensei aqui é você fazer um cache onde ficariam as informações.

Quando alguém fizesse uma consulta, vc verificaria se esse objeto já está em cache, caso não esteja, vc consulta o banco, salva no cache e depois envia o resultado para o cliente.

Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]

SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)

Vamos em frente que atrás vem gente!
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

Se você está usando um web container como o Oracle WebLogic ou o IBM WebSphere (não sei quanto ao Glassfish), eles costumam ter esse recurso pronto (você poder ter páginas já em um cache, dependendo de uma especificação de uma URL). Quando a URL de uma página dinâmica segue a especificação configurada, ela é obtida apenas uma vez, e em chamadas posteriores é usada a cópia em cache em vez de chamar a parte dinâmica.
evefuji
GUJ Ranger

Membro desde: 14/12/2007 22:37:17
Mensagens: 753
Offline

glassfish também, os outros que você citou não conheço. Mas acredito que da mesma forma que o glassfish você coloca um tempo para a página expirar.
jakefrog
GUJ Expert
[Avatar]

Membro desde: 22/01/2007 22:00:53
Mensagens: 4191
Offline

Só falta ele estar utilizando Tomcat. =P

Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]

SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)

Vamos em frente que atrás vem gente!
evefuji
GUJ Ranger

Membro desde: 14/12/2007 22:37:17
Mensagens: 753
Offline

o Tomcat eu acredito que não tem, mas nada impede ele de usar um framework ORM com cache de consultas, assim já solucionaria essa parte de consultas ao banco.
jakefrog
GUJ Expert
[Avatar]

Membro desde: 22/01/2007 22:00:53
Mensagens: 4191
Offline

evefuji wrote:o Tomcat eu acredito que não tem, mas nada impede ele de usar um framework ORM com cache de consultas, assim já solucionaria essa parte de consultas ao banco.
Ele disse que estava utilizando JDBC.

Vai ter um trabalhinho maneiro aí pela frente para ele...

Meu blog sobre java uaiHebert.com
Conceitos OO - Diga, não pergunte!, Lei de Demeter
TDD Primeiros Passos, JUnit com HSQLDB, JPA e Hibernate, Cobertura de testes com JUnit Ant e Emma, Cobrindo seus testes com Cobertura, JUnit, HSQLDB, JPA
Código Limpo: Partes: 01,02,03,04,05
Web/JSF - Criando um WebServer, Tratando Exceções, Autenticação de Usuários (Filter/Servlet), JSF - Hello World, AutoComplete, JSF: Converter e Bean Auto Complete, Validação de Login de Usuário com JSF e JAAS, JSF Exibindo Objeto e Mensagens após Redirect, JSF Exemplos Simples com Ajax, JSF Parametros por Get Request RESTFullAplicação Web Completa JSF EJB JPA JAAS, Lazy JSF Datatable Pagination (Primefaces)
Design Pattern - Strategy, Design Pattern - Observer (Parte 01), Design Pattern - Observer (Parte 02)
Business (JPA)- Hibernate 3 com JPA 2, Create schema script: Ant, Hibernate 3 e JPA 2, TableGenerator Chave Primária Simples, SequenceGenerator,Chave Primária Composta, Mapeando Datas (Date) e Enum, Mapeando Duas Tabelas em uma Classe, @OneToOne Unidirecional e Bidirecional, @OneToMany e @ManyToOne Unidirecional e Bidirecional, @ManyToMany Unidirecional e Bidirecional, Ordernando listas e utilizando Map como atributo mapeado,Uma tabela por herança, JPA Uma Classe por Sub-Classe, JPA Consultas e Dicas, [HOT]Quatro soluções para LazyInitializationException[HOT]

SCJP(1.6 - Ingles - 29/12/2009)
SCWCD(1.5 - Ingles - 30/06/2010)

Vamos em frente que atrás vem gente!
evefuji
GUJ Ranger

Membro desde: 14/12/2007 22:37:17
Mensagens: 753
Offline

verdade jake, não me atentei a esse detalhe.

Bom, tem bancos de dados que tem seu cache de consultas (a maior parte deles), se souber configurar bem isso pode ser que não tenha tantos problemas. O problema do cache de consultas nos bancos é que o banco consome mais memória para cada conexão com ele, que se tivesse na aplicação .

Outra alternativa seria também colocar uma outra camada sobre o web container, o HTTPD como proxy. Ele possui recurso de cache de páginas para o mod_proxy (para o mod_jk não sei).

Só uma coisa, se me lembro bem, esses caches de páginas não funcionam bem para usuários logados quando estão no HTTPD.
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

Antigamente existia um framework chamado JESI que fazia isso (achei uma referência aqui: http://www.jcp.org/en/jsr/detail?id=128 ). Mas não sei a quantas anda, não sei ao menos se ainda é mantido. Mas acho que vale a pena dar uma olhada porque era bem simples de usar... você colocava uma tag no seu JSP que dizia o limite de tempo que aquele conteúdo ia permanecer no cache.

[]'s

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team