| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 10:12:03
|
Rafael Rossignol
Java Ninja
![[Avatar]](/images/avatar/c8a869974092410b06e66.gif)
Membro desde: 17/02/2004 09:26:58
Mensagens: 259
Offline
|
temos 2 filiais aqui
o link entre as duas é feito por rádio, mas é instável, porém temos uma conexão pela internet que pode ser usada de backup
Trata-se de um sistema de emails que eu fiz e é tipo um outlook, ele grava no banco de dados local os emails baixados e enviados.
O problema é que tem que rodar nas duas filiais sem ficar lento, e quando cair o link de rádio seria interessante que as duas filiais conseguissem pelo menos visualizar os emails, mesmo que não seja possível enviar emails.
Pensei em utilizar o sequoia (um projeto que faz cluster de banco de dados de maneira transparente) mas percebi depois de muitos testes que não iria funcionar a contento.
Pensei em usar EJB´s e Cluster no JBoss, mas não sei se atenderiam a minha necessidade.
Então pensei em perguntar a opinião do pessoal, hehehehe
É desejável que um funcionário estando em uma das duas filiais consiga acessar seus emails, mas estando em qualquer uma das duas ele acesse da mesma forma. E se o link estiver fora do ar, o sistema automaticamente assuma o link de internet
A idéia mesmo é q os dois links não parem simultaneamente, mas se parar seja possível pelo menos ver os próprios emails.
Eu fiquei filosofando a respeito, e imaginei q seria muito mais simples garantir que uma conexão sempre exista do que tentar fazer peripércias usando clusters e coisas assim.
Antes que alguém questione, eu usei a nomeclatura emails pra ficar mais fácil de explicar, não são emails são bem parecidos
Obrigado de antemão
|
"A Imaginação é mais importante que o Conhecimento"
Albert Einstein |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 11:24:36
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1534
Localização: Terra (maior parte do tempo)
Offline
|
Oi
O Grande Bé wrote: É desejável que um funcionário estando em uma das duas filiais consiga acessar seus emails, mas estando em qualquer uma das duas ele acesse da mesma forma. E se o link estiver fora do ar, o sistema automaticamente assuma o link de internet
A idéia mesmo é q os dois links não parem simultaneamente, mas se parar seja possível pelo menos ver os próprios emails.
Pelo que vc escreveu eu entendi que quando alguém envia o "email" as 2 bases são atualisadas tanto na origem como no destino, é isso mesmo?
Como é que vcs trabalham com a conexão via radio e internet? São dois IPs para cada filial que atingem o mesmo alvo?
[]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 13:09:35
|
Emerson Macedo
Virtual Machine Man
![[Avatar]](/images/avatar/360c19682e81f21d55846685c1701179.jpg)
Membro desde: 01/08/2006 16:55:28
Mensagens: 689
Localização: Rio de Janeiro - RJ
Offline
|
Não entendi direito porque você está desenvolvendo um sistema de email se já existem vários disponíveis gratuitamente. Você está precisando fazer alguma coisa bem específica que não seja possível extender algum existente?
|
Emerson Macedo Leite
PMP - Ping-pong Master Player
CSM - Counter-Strile Manager
http://codificando.com
"Porque, assim como o relâmpago sai do oriente e se mostra até o ocidente, assim será também a vinda do filho do homem." - Mateus 24:27 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 13:33:29
|
Rafael Rossignol
Java Ninja
![[Avatar]](/images/avatar/c8a869974092410b06e66.gif)
Membro desde: 17/02/2004 09:26:58
Mensagens: 259
Offline
|
Fantomas:
Hoje o sistema trabalha acessando uma base de dados única, quando envio um email gravo ele no banco e envio ele ao servidor de emails.
A idéia é que isso fique disponível nas duas filiais simultaneamente, por isso pensei em talvez fazer um cluster de banco de dados, ou usar um servidor EJB em uma das duas filiais e fazer o acesso a ele usando tratamento de falhas (entre os dois IPs)
Basicamente é isso, Dois ips em cada filial que atingem o mesmo alvo.
Emerson Macedo:
Estou fazendo uma coisa bem específica.
|
"A Imaginação é mais importante que o Conhecimento"
Albert Einstein |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/07/2008 15:31:17
|
fantomas
GUJ Master
![[Avatar]](/images/avatar/a2bf57c3aee957f2aaf75aa84717b3be.jpg)
Membro desde: 24/04/2008 16:10:55
Mensagens: 1534
Localização: Terra (maior parte do tempo)
Offline
|
Oi Grande Bé.
Não se entendi sua problema direito mas aqui vai uma idéia.
Vou assumir o seguinte:
a) Existem duas filiais, uma é A e a outra é B.
b) Existe UM sistema que é executado na filal A e na filial B.
c) Existe um banco de dados na fila A e outro na filial B.
d) Na filia A tem um IP para internet que aponta para a filial B, outro IP para linha com sinal de radio que aponta para a filial B e outro que aponta para o banco de dados na FILIAL A.
e) Na filia B tem um IP para internet que aponta para a filial A, outro IP para linha com sinal de radio que aponta para filial A e outro que aponta para o banco de dados na FILIAL B.
f) Existe um usuário.
O usuário está na filial A e irá VERIFICAR seus emails.
1) Executar o login.
2) Autenticar o usuario.
3) Atualizar o banco de dados com os emails que estão na filial B.
3.a) Acessar o IP para linha de rádio, se houver sucesso segue para o item 3.c
caso contrario segue para o item b.
3.b) Acessar o IP para internet, se houver sucesso segue para o item 3.c
caso contrario segue para o item 4.
3.c) Ler todos emails que estão da filial B e NÃO ESTÃO NA FILIAL A e atualiza a base de dados da filial A (o usuário está nela).
4) Ler os emails do usuário contidos no banco de dados e apresentar para o usuário.
5) Finalizar a execução.
O usuário esta na filial A e irá ENVIAR um email.
1) Executar o login.
2) Autenticar o usuario.
3) Preencher um email.
4) confirmar o envio.
5) Atualizar o banco de dados da filial A (o usuário está nela).
6) Atualizar o banco de dados da filial B.
6.a) Acessar o IP para linha de rádio, se houver sucesso segue para o item 6.c
caso contrario segue para o item b.
6.b) Acessar o IP para internet, se houver sucesso segue para o item 6.c
caso contrario segue para o item 7.
6.c) Incluir o email na base de dados da filial B.
7) Finalizar a execução.
Se o usuário ESTIVER NA FILIAL B é só inverter as referencias tudo que é filial A vira filial B, no software isso pode ser resolvido com configurações locais, ou seja, toda vez que os sistema é executado ele lê as configurações para descobrir quem é a filial remota.
Resumindo, toda vez que o usuário entrar no sistema será executado um ajuste nas bases de dados deixando-as "iguais". Caso isso não seja possível apenas lê o que está na base local e apresenta para o usuário.
Carinha, espero ter ajudado ao menos alguem mais a ter uma idéia melhor que essa.
System.out.println("Abraços!");
|
|
|
 |
|
|