none
Aplicação com banco local e remoto(webservice) via camadas RRS feed

  • Pergunta

  • Senhores, estou com uma dúvida em relação a 'topologia' da uma aplicação aqui da empresa, vou descrever o cenário e depois faço as perguntas:

    Temos uma aplicação Matriz (WPF ) que gerencia um determinado negócio. Agora estamos implementando outra aplicação Filial q será intineirante e deverá se conectar via web com a aplicação Matriz. Até ai nenhum segredo, porem existem alguns complicadores: Vamos à eles.
     
    A Aplicação FILIAL sera intireirante e ficará apenas alguns dias em determinado computador e depois sera apagada e recriada em outro local e computador. Os dados deverão ser enviados para a MATRIZ via webservices...

    A aplicação MATRIZ é SQL Server 2005, a aplicação FILIAL é sql express.

    Segundo o escopo proposto. a aplicação FILIAL receberia a carga do MATRIZ em sua totalidade, porém para integridade de dados, deveria sempre gravar alterações (insert, update e delete) no servidor da MATRIZ (SQLSERVER via webservice) e também localmente (no sql express) e a leitura de dados seria apenas localmente, sendo depois do termino do serviço proposto, consolidar os dados e atualizar completamente a base MATRIZ.

    Minha dúvida é:

    As topologias das aplicações são as seguintes:

    MATRIZ: UserInterFace(WPF) - Camada CT (Controller - transfer. dados entre a UI e a Biblioteca) - Biblioteca( BP - BLL - DAL)
    FILIAL : UserInterface(WPF)- Camada CT (Controller - transfer. dados entre a UI e a Biblioteca) - WebService - Biblioteca( BP - BLL - DAL)

    Para solucionar o problema da gravação em mais de dois locais eu deveria:

     - Criar uma outra camada apartir da minha CT e aponta-la diretamente para minha Bibioteca( BP-BLL-DAL) ou
     - Reescrever as classes apartir da CT para, testarem se houver conexao com a internet executar o processo via webservice também...
     - Criar outra estrutura separada para uma ir atravez do webservice e outra diretamente para a biblioteca (BP-BLL-DAL)?

    Temos a liberdade de mudar a estrutura conforme necessário para obter uma boa e escalavel solução, assim como temos também o prazo a nosso favor, portanto mesmo que as soluções que vcs pensarem sejam complicadas, podem também serem uteis em nosso caso.

    Quaisquer palpites e soluções serão muito bem vindos!

    Atenciosamente 

    Daniel Moreira
    terça-feira, 9 de junho de 2009 00:04

Respostas

  • Daniel,

    Se eu entendi direito, você está tendo um problema de sincronização dos dados da matriz e da filial. Em vez de reinventar a roda, que tal dar uma olhada no Sync Framework? Já está pronto e funciona bem. Às vezes ele te atende perfeitamente, e você não cai em código desnecessário. E é bem simples de usar. Vale a pena dar uma olhada.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    • Marcado como Resposta Daniel.M.Moreria quinta-feira, 11 de junho de 2009 21:15
    quinta-feira, 11 de junho de 2009 03:50
    Moderador

Todas as Respostas

  • Daniel,

    Se eu entendi direito, você está tendo um problema de sincronização dos dados da matriz e da filial. Em vez de reinventar a roda, que tal dar uma olhada no Sync Framework? Já está pronto e funciona bem. Às vezes ele te atende perfeitamente, e você não cai em código desnecessário. E é bem simples de usar. Vale a pena dar uma olhada.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    • Marcado como Resposta Daniel.M.Moreria quinta-feira, 11 de junho de 2009 21:15
    quinta-feira, 11 de junho de 2009 03:50
    Moderador
  • Goivanni,

    Certamente vou dar uma olhada sim... não conheco este frameWork, mas vou estudá-lo e ver se atende como solução meu problema...De quaisquer formas... obrigado...

    Vale citar que acompanho regularmente o seu blog e achei perfeita a materia sobre "Responsabilidade Única"..


    Obrigado

    Daniel Moreira.
    quinta-feira, 11 de junho de 2009 21:15
  • Oi Daniel,

    Legal. Se não atender, continua essa thread que a gente ajuda.
    Giovanni Bassi, Microsoft MVP, MCSD, MCPD, CSM, Arquiteto de software - http://www.giovannibassi.com
    sexta-feira, 12 de junho de 2009 14:59
    Moderador