meus caros colegas, estou desenvolvendo um sistema que terá duas partes: um módulo desktop e um módulo web. Trata-se de um sistema PDV (desktop) com emissão de cupom e nota fiscal, nfe, etc, e um módulo (web) com administração financeira, relatórios, etc. (A legislação me impede de desenvolver um sistema web para emitir cupom fiscal.)
Os dois módulo terão algumas funcionalidades em comum, como por exemplo, montagem de vendas, processos financeiros, etc.
Tenho duas questões cruciais:
A minha primeira dúvida é: como resolver a questão de unificar a regra de negócio para que ambos os módulos utilizem o mesma biblioteca que define essas regras?
Eu pensei em simplesmente criar uma biblioteca com essas regras e compilá-la como um JAR nos dois módulos. Existe algo mais eficiente? Quais as vantagens e desvantagens dessa solução?
A segunda dúvida é: as bases de dados dos módulos estarão separadas… como resolver o problema de sincronismo? Por exemplo, alguém dá baixa num título de um cliente usando o módulo web… como fazer a atualização para o módulo desktop? e vice-versa… eu pensei num esquema de sincronismo via webservice, mas sabemos que isso sempre dá problemas… imagine se alguém resolve editar o mesmo cliente ao mesmo tempo.
obrigado!
