Olá eu gostaria de tirar uma dúvida a respeito da estrutura de sistemas web ERP tipo conta azul, e-gestor.
Tenho um sistema desenvolvido para web, no entanto sempre instalo um servidor de aplicação em um servidor no cliente.
No entanto, eu gostaria de fazer uma estrutura onde que eu hospede o sistema em um só servidor, e qualquer pessoa interessada em comprar o sistema, acesse um site, crie uma conta e teria o seu sistema.
Eu imagino que a estrutura e acesso seja da seguinte forma:
O usuário acessa o site, e ao fazer o login, teria um sistema que verifica em um banco de dados, qual é a empresa que esse login está associado e retorna qual o banco de dados que o mesmo deve se conectar para ter acesso as informações.
Ou seja, teria que ter 2 banco de dados, 1 somente para controlar o acesso de usuários a determinado banco, e 1 banco com todos os dados como Estoque, Financeiro entre outros.
Seria dessa forma que é praticado para esse tipo de aplicação ou estou reinventando a roda e existe uma outra forma?
Utilizo Wildfly, JPA 2 Hibernate, EJB com CDI para comunicação com o banco Postgres. A aplicação é totalmente desenvolvida em JSF com Primefaces.