5
respostas

Melhor forma de criar sistema multiempresa com o spring

Boa tarde a todos,

Tenho uma aplicação com spring monoempresa, porém, preciso alterá-la para uma aplicação multiempresa , como vocês me recomendam fazer esta alteração?

Att.

5 respostas

Boa tarde, pode dar mais informações sobre o que deve ter nesse multiempresas? Ficou um pouco vago o que você deseja adicionar.

Boa tarde Allan, tudo bem?

Tenho uma aplicação de processamento de folhas de pagamentos que estou migrando de delphi para uma aplicação web com spring.

Nesta aplicação o usuário faz o login, seleciona a empresa que quer trabalhar.

Ao acessar a aplicação o usuário possui todas as informações de cadastros (funcionários, organograma, lançamentos e etc.) referentes a empresa que logou.

O que quero resumidamente é acessar a aplicação e todas as alterações e lançamentos que eu realizar seja refletida para a empresa logada.

Como alternativa de resolver este problema pensei em criar um token e a cada url acessada enviar este token informando a empresa que estou trabalhando.

Se puder contribuir com sugestões ou melhores práticas agradeço.

A sua idéia do Token é muito boa, porque você avisaria o backend qual a empresa que você esta tratando.

Mas esse é um assunto muito complexo, eu recomendo você a fazer uma analise arquitetural dos fluxos atuais e como os fluxos futuros podem ser, e realmente modelar esses dados antes de iniciar os desenvolvimentos pois é uma mudança generosa e se não houver um planejamento com certeza você irá s perder no meio do caminho.

Allan,

Você conhece artigos que fazem análises semelhantes? Já implementou algo parecido? Ou uma idéia de como modelar para que eu não sofra tantos no decorrer do projeto?

Eu pessoalmente não conheço nenhum artigo que fale sobre o assunto. Eu ja passei sim por algo semelhante mas foi uma aplicação do zero que iniciamos.

A modelagem nada mais é do que você entender o que seu sistema irá fazer, e ir traçando seus fluxos, vendo quais são seus pontos de entrada e saida e quais os gargalos, com relação a gargalos eu te digo que é um dos pontos mais interessantes para se analisar pois eles podem ser a diferença do sucesso da app ou da falha suprema. Deve-se também analisar os conceitos de orientação a objetos ja que você irá utilizr Java no desenvolvimento, encapsular os objetos de forma correta abusar das interfaces.

Esses são alguns exemplos de medidas que você pode tomar para melhorar a sua experiência na hora do desenvolvimento, até hoje não me recordo de nenhuma app que desenvolvi com minha equipe não tenha tido uma fase de analise e decisões antes do inicio do dev.