Qual a arquitetura mais adequada?

[quote=sapulha]Concordo que é irritante, mais não tanto quanto se achar o bom e postar mensagens só pra criticar os outros.

Isso é só pra incrementar o seu contador de mensagens?[/quote]

Não Sapulha. Encare as críticas de uma maneira construtiva e não pelo lado pessoal. Meu objetivo não é o de incrementar contadores. Meu objetivo é o de ver software de qualidade no mercado.

[quote=sapulha]
Acho que no seu caso talvez seja interessante algo do tipo, com uma aplicação local(seja swing ou web, apesar de ser partidário de web) fazendo um sincronismo com uma central via JMS. Aí se a conexão com a central cair, o JMS se encarrega de enfileirar e enviar quando a conexão voltar.
Não sei se atende ao seu caso, mais é uma idéia.[/quote]

Parece que vc abriu a mente depois do que eu falei. Tah vendo como vc foi precipitado!?

Desculpe qq coisa. :roll:

[quote=Taz]
Parece que vc abriu a mente depois do que eu falei. Tah vendo como vc foi precipitado!?
Desculpe qq coisa. :roll: [/quote]

Ok Taz, não esquenta.

Concordo que me precipitei, pois quando disse totalmente web, queria dizer “rodando no browser”, seja local ou remoto, mais concordo que o swing possa ser uma solução plausível nesse caso.

É que tem algumas pessoas no fórum que adoram entrar só pra criticar, e acabei descontando em você.

Mais uma vez, desculpe.

Obrigado.

[quote=sapulha]Luiz_Gustavo, ja vi algo parecido com o que você precisa em sistemas bancários, o problema e a solução foi a seguinte:
Um determinado banco precisa sinvronizar seus dados com a central em outro país, caso a conexão esteja on-line esse sincronismo é na hora, senão, ele é feito quando a conexão é re-estabelecida, pois os usuários não podem ficar sem o sistema.
Para isso, a solução foi uma aplicação local, utilizando JEE com banco e servidor de aplicação local, mais que utilizava mensagens para sincronizar os dados com a central. Se não me engano, eles utilizavam TIBCO para esse sincronismo, mais nada impede de usar o JMS.
Acho que no seu caso talvez seja interessante algo do tipo, com uma aplicação local(seja swing ou web, apesar de ser partidário de web) fazendo um sincronismo com uma central via JMS. Aí se a conexão com a central cair, o JMS se encarrega de enfileirar e enviar quando a conexão voltar.
Não sei se atende ao seu caso, mais é uma idéia.[/quote]

Poxa… parece ser uma solução legal… apesar de eu nunca ter usado JMS, TIBCO… mas dou uma pesquisada.

Muito obrigado pela sugestão…

[]'s

[quote=Luiz_Gustavo][quote=sapulha]Luiz_Gustavo, ja vi algo parecido com o que você precisa em sistemas bancários, o problema e a solução foi a seguinte:
Um determinado banco precisa sinvronizar seus dados com a central em outro país, caso a conexão esteja on-line esse sincronismo é na hora, senão, ele é feito quando a conexão é re-estabelecida, pois os usuários não podem ficar sem o sistema.
Para isso, a solução foi uma aplicação local, utilizando JEE com banco e servidor de aplicação local, mais que utilizava mensagens para sincronizar os dados com a central. Se não me engano, eles utilizavam TIBCO para esse sincronismo, mais nada impede de usar o JMS.
Acho que no seu caso talvez seja interessante algo do tipo, com uma aplicação local(seja swing ou web, apesar de ser partidário de web) fazendo um sincronismo com uma central via JMS. Aí se a conexão com a central cair, o JMS se encarrega de enfileirar e enviar quando a conexão voltar.
Não sei se atende ao seu caso, mais é uma idéia.[/quote]

Poxa… parece ser uma solução legal… apesar de eu nunca ter usado JMS, TIBCO… mas dou uma pesquisada.

Muito obrigado pela sugestão…

[]'s[/quote]

Dae galera eu tava dando uma olhada neste post e resolvi opinar.

O problema de integração com sistemas antigos com novos não é novo, existem hoje soluções de integração com JMS proprietárias usadas mais na Europa e Estados Unidos e também existem as soluções open Source que é o caso do framework openMQ.

Existem também soluções na internet para usar código delphi acessando aplicativos J2EE (EJB) através de uma tecnologia um pouco complicada, mas funciona que é uma beleza.

Portanto integrar uma aplicação feita em uma linguagem com outra feita em outra linguagem não é problema. O que deve ser verificado é quanto custaria fazer esta integração e quanto custaria fazer o sistema novamente partindo do princípio que o modelo de dados seria praticamente o mesmo com algumas modificações, como por exemplo migrando de Delphi para Java na Web com Struts, Hibernate para persistência.

Bom quanto a disponibilidade numa loja ou comércio em geral eu também concordo que é complicado de você chegar no cliente e falar “Olha eu tenho uma solução web aqui que resolve teu problema de localização(Acessar de Casa) mas pode ser que um dia a conexão caia e você tenha que escrever na mão os pedidos, o caixa e etc” .

Pondero este problema com as seguintes informações:

Deixar um aplicativo web em modo offline(Sem JMS) seria muito difícil de fazer pois teria que escrever um arquivo texto ou um xml e gravar locamente e para isso teria que existir um Applet, na minha visão muito complicado e demorado para fazer além de ser uma fonte eterna de bugs.
Assim como um cliente/servidor teria as mesmas dificuldades se um servidor local caísse por exemplo

A segunda ponderação é sobre a questão da alta disponibilidade. Para mim um cliente de pequeno porte querer alta disponibilidade 24 por 7 e quase nunca dar problema é utópico(Posso estar errado) pois ele não vai ter o dinheiro(Pode ser que tenha e não queira pagar) para garantir este tipo de disponibilidade ainda mais num sistema baseado em web aonde o link dele provavelmente seria um ADSL normal que não é garantido.

Nem sempre o software aplicativo é o responsável por todas as obrigações e necessidades do cliente (Muitos confundem)

O que poderia ser sugerido para o cliente seria:
Utilização de um link bem mais confiável no caso poderia ser um SLDD, Interlan ou Frame Relay que ficam em cima de redes ATM de operadoras de telecomunicações.

Alta disponibilidade da aplicação seria hospedar a aplicação num servidor aonde seja garantido isso que até aonde eu conheço o locaweb e a brasiltelecom tem serviços que garantem isso.

Bem, dito tudo isso posso simplificar que as vezes o que o cliente quer não é o que ele pode pagar.

Alta disponibilidade é coisa cara e hoje somente grandes empresas tem como supermercados, lojas de departamentos, prefeituras, Estados e etc.

Talvez este paradigma esteja mudando mas enquanto as conexões realmente confiáveis estiverem num preço relativamente alto a solução mais barata para o cliente seria um client/server na loja e um e-commerce na web aonde existiria uma integração entre os dois seja via JMS seja via arquivo texto mesmo, ai depende do “braço” do implementador.

Éssa é a minha opinião sobre o assunto

Abraço a todos

Francisco Guerios
Analista Programador J2EE
www.infosist.com.br

Olá

Francisco, bem vindo ao GUJ.

Muito bom seu post com bons fundamentos. Mas o que são estes tais DDR e Interlan?

[]s
Luca

[quote=Luca]Olá

Francisco, bem vindo ao GUJ.

Muito bom seu post com bons fundamentos. Mas o que são estes tais DDR e Interlan?

[]s
Luca[/quote]

Muito Obrigado Luca

Desculpe amigos aonde está escrito DDR entendam SLDD
confundi as siglas.

Existem várias formas de conexão fora o ADSL comum

Seguem elas

Definições

Fame Relay

O Frame Relay é o produto que oferece melhor custo-benefício para empresas que precisam ligar mais de três unidades a uma central.
Você não precisa investir em instalações físicas. Uma única porta de acesso é suficiente para que toda a rede se comunique com total segurança.
Isso porque os circuitos que fazem as ligações entre os pontos são virtuais.
Outra vantagem: esses mesmos circuitos também são permanentes,
o que garante uma conexão contínua de rede.
E, para facilitar o trabalho da sua empresa, o serviço é monitorado ponto a ponto. Assim, você pode controlar o sistema e identificar problemas
com mais facilidade.
O atraso no transporte de dados é baixíssimo. Traduzindo: a informação chega muito mais rapidamente à sua empresa.
O Frame Relay é tão veloz e confiável que pode ser usado para transmitir voz com a mesma qualidade de uma linha telefônica.
O serviço oferece diversas opções de velocidade
Sua empresa utiliza a velocidade máxima disponível por um preço mensal fixo.
O melhor de tudo: você tem uma taxa de velocidade garantida para acessar a rede, por mais congestionada que ela esteja.

O FrameRelay não resolve totalmente o problema pois não conecta com a internet de uma forma natural.

InterLan (Recomendo)

Para interligar a matriz de sua empresa a mais de duas filiais,
o InterLAN oferece a melhor relação custo-benefício.
A empresa não precisa mais investir em instalações físicas para expandir
sua capacidade de transmissão de dados.
Com uma única porta de acesso no ponto concentrador,
todas as unidades podem se comunicar com rapidez e segurança (Circuitos Virtuais Permanentes - CVPs).

Outra vantagem do InterLAN é o dimensionamento pela média de uso.
Você pode usar a velocidade excedente que estiver disponível,
pagando um preço fixo, sem sustos no fim do mês.
E não se preocupe com os picos de tráfego: sua empresa tem garantia de banda mínima para manter o desempenho de suas aplicações.

Níveis de serviço
Não importa o tamanho da sua empresa, existem várias velocidades, níveis de serviço.
E, enquanto ela cresce, rede e o transporte de informações pode ser adaptada com a agilidade necessária.

Você pode escolher entre duas modalidades:

Dados - com o mais alto desempenho do mercado, ideal para empresas que necessitam transmitir um grande volume de dados em alta velocidade;

Segurança
Todos os pontos da rede são monitorados. Assim, fica muito mais fácil identificar problemas e controlar o sistema
O serviço Interlan tem acesso a internet.

SLDD

Canal exclusivo para ligar redes próximas ou distantes e ainda transportar qualquer tipo de informação.
O trecho contratado fica 100% alocado para a empresa e mais ninguém.
É como ter uma rodovia exclusiva onde somente o seu carro pode trafegar.
Assim, sua empresa pode ter diferentes tecnologias compartilhando a mesma rede.
E garante tranqüilidade na hora de transmitir grandes volumes de dados, voz e multimídia,
porque o transporte é em tempo real.
Tudo isso graças aos circuitos privativos que ligam o trajeto ponto a ponto.

Informações retiradas da BrasilTelecom

Estes são serviços da BrasilTelecom, outras operadoras podem usar outros nomes.

E éra isso

abraço

COnheco projetos para medicos nessas regioes… nenhum deu certo. Nao deu de verdade. So no papel.

guerios,

Que se façam minhas as palavras do Luca… bem vindo ao GUJ.
Olha, muito legal sua resposta.

Agradeço as opiniões e sugestões de todos…

O cliente resolveu colocar apenas um módulo na Web, e será praticamente para consulta, com algumas manipulações de dados na base que não surtirão efeito na aplicação Delphi, isso porque os dados usados pela aplicação WEB (que ficará mesmo hospedada num host remoto) estarão em uma base local, e essa base será em mysql, uma vez que o banco usado pela aplicação desktop é o paradox (simmmm).
Nesse caso a aplicação Delphi ficará responsável por atualizar a base Mysql, que será acessada pela aplicação Java.

Bom, essa foi a decisão a que chegamos.
Qualquer sugestão ou crítica é bem vinda…

[]'s e mais uma vez obrigado!