Pessoal.
Estamos em um projeto grande de reestruturação de uma empresa que começou com uma filial e hoje tem 5 espalhadas pelo Brasil.
A cenário é o seguinte:
-Cada filial ainda contém regras de negócios diferenciadas (e acho que não vai mudar muito)
-Cada filial transita o mesmo tipo de Objeto (Ajuda para declarar entidades e modelar o Banco “novo”)
-A modelagem do banco de dados foi moldada não da melhor forma para cada filial, criando ambientes no máximo “parecidos”
Pensamos em centralizar tudo na Matriz em São Paulo (Servidor de Banco, Servidor Web, AD, Aplicação e tudo mais)
Porém temos muitas dúvidas ainda em questão de performance e disponibilidade. Nossos links de comunicação com o Sul e Norte são MPLS de 2Mb sendo um deles bem instavel. Temos perspectiva de crescimento (leia-se anexar novas filiais). Como nós trabalhamos hoje com banco de dados locais e sistemas clients não temos a noção de quanto ganharemos ou perderemos em relação à isso.
Duvidas:
Como organizar as regras de negócio utilizando reuso de código e generalizando o que for comum? Classe abstrata? Enum? Interface?
É realmente viável com nossa infra de dados brasileira centralizar em um DataCenter (ou na nuvem)?
Replicação de dados é viável?