Duvida com sistemas de grande porte

11 respostas
thianolima

Bom dia galera sou meio novato em java e ja fiz algumas aplicacoes de pequeno porte em java tanto na faculdade como em teste em casa.
Sempre utilizando JAVA + TOMCATA + HIBERNATE + (ORACLE / MYSQL) + BLAZEDS + FLEX, tudo em MVC.
Vou tentar esclarecer minha duvida, que é a seguinte: fazer um aplicativo do zero e simples pois eu crio os objetos e gero o banco tudo de acordo, porem me jogaram um pepino do tamnho do mundo na empresa que e comecar a desenvolver um BI para o nosso ERP.
Trabalhamos com microssiga e o banco tem centenas de tabelas… Ae me pergunto, eu preciso mapear todas essas tabelas do banco de dados ???
Porque isso seria uma loucura e perderia acho q soh 1 ano para mapear o banco e ter a sorte de nao mudar nesse meio termo.
Queria saber de voces mais experientes oq fazem qdo existe uma aplicacao que ja roda a algum tempo com um banco de dados monstro como o de um ERP e vcs precisam criar um BI ou apenas um terminal de consulta, voces mapeam tudo? Ouu cai pro jdbc com sqls e faz um meio termo de programacao estruturada e O.O.???

11 Respostas

Felagund

Cara nem todos os sistemas estão preparados para serem usado com ORM, dependendo da situação é melhor usar JDBC mesmo.

Porém cada caso é um caso, vc pode mapear somente as entidades que vai usar.

[]'s

idev4web

Pelo que voce descreveu neste caso ai seria melhor usar JDBC mesmo

concordo c/ Felagund

fantomas

Se optar por mapear, que neste caso é desaconselhavel mas possível com grandes chances de exito, mapeie apenas as entidades que interessar.

flws

Andre_Fonseca

oi

uma outra alternativa, que pode não ser viável por causa do numero de tabelas, é fazer a engenharia reversa usando o hibernate

dê uma olhada aqui

G

Só uma dúvida.

Vocês vão fazer um BI usando o proprio banco de dados de produção para isto?

Não seria mais interessante criar um outro banco de dados para consulta já otimizado e criando as estruturas nele de acordo com o que precisa, captando as informações no banco de produção, passando para o banco de dados de BI, e atualizando as informações de tempos em tempos?

Consultas ‘complexas’ em um banco de dados de produção podem trazer muita irritação aos usuários, pois o sistema corre um risco sério de ficar lento por causa de um relatório de faturamento trimestral feito em uma base de dados de produção.

E respondendo, no seu caso, eu recomendo usar JDBC mesmo, pois tem muito mais a ver com consultas frequentes do que com persistencia.

T

gustavo_apsilva:

Vocês vão fazer um BI usando o proprio banco de dados de produção para isto?

Não seria mais interessante criar um outro banco de dados para consulta já otimizado e criando as estruturas nele de acordo com o que precisa, captando as informações no banco de produção, passando para o banco de dados de BI, e atualizando as informações de tempos em tempos?

Consultas ‘complexas’ em um banco de dados de produção podem trazer muita irritação aos usuários, pois o sistema corre um risco sério de ficar lento por causa de um relatório de faturamento trimestral feito em uma base de dados de produção.

E respondendo, no seu caso, eu recomendo usar JDBC mesmo, pois tem muito mais a ver com consultas frequentes do que com persistencia.

Tanto é que os produtos de Business Intelligence disponíveis no mercado recomendam que se use um outro banco para poder efetuar tais consultas, e que você consolide as tabelas existentes em outras, mais apropriadas para a geração de cubos e outras estruturas de dados especiais que tais produtos exigem. Por exemplo, o SQL Server Analysis Services (disponível no MS SQL Server) sugere que você crie um outro banco para poder fazer as análises, e importe periodicamente as tabelas do banco de produção.

thianolima

Puxa vida qtas respostas brigadao a todos pelas dicas pessoal… acabei me esquecendo de dizer a ideia e fazer DW com as informacoes do ERP.
So mais uma duvida… qdo vcs dizem por exemplo em usar somente JDBC quer dizer q eu iria usar como programacao estrturada tipo montava as minhas mega querys em tempo de execucao e mandava rodar no bando e com o retorno eu jogo no grid???

thianolima

Conheco o padrao DAO mas pelo oq falamos acima acredito q ele nao seria interessante tambem nesse projeto pois ja imaginou criar um DAO para cada tabela… aviaooo ia dar na mesma coisa… Como seria a sua ideia de DAO para um BI? Lembrando so vai existir consultas no DW

Spool

Eu não recomendo a utilização de Hibernate nesses casos.
Consultas constantes e mais bem formuladas podem ser muito mais trabalhosas optanto pela utilização de ferramentas ORM.

Aconselho JDBC com a ajuda de um bom DBA para criação de query´s parrudas.

At.

Spool

Este processo de separação de database para consultas e atualizações exporádicas pode ser definido como Warehouse Exploration.
Nesse Exploration seria o local ideal para consultas, visando não impactar nem o ambiente de produção o próprio Warehouse.

At.

Spool

thianolima:
Puxa vida qtas respostas brigadao a todos pelas dicas pessoal… acabei me esquecendo de dizer a ideia e fazer DW com as informacoes do ERP.
So mais uma duvida… qdo vcs dizem por exemplo em usar somente JDBC quer dizer q eu iria usar como programacao estrturada tipo montava as minhas mega querys em tempo de execucao e mandava rodar no bando e com o retorno eu jogo no grid???

Java é orientado a objetos. Portanto, não eh necessário utilizar programação estruturada.
Utilize objetos DAO´s (pesquise sobre esse padrão de projeto) que voce poderá contar com todo o poder da orientação à objetos ainda.

At.

Criado 18 de maio de 2009
Ultima resposta 18 de mai. de 2009
Respostas 11
Participantes 8