Fórum Projetos separados ou por módulos #580869
03/05/2017
0
Bom dia, gostaria de uma opinião de boas práticas. qual seria o melhor cenário e boas práticas.
1-Mesmo projeto
Hoje trabalho com um projeto web MVC java, onde cada tipo de solução desenvolvo com a ídea de módulos. Com seus controllers, entidades no mesmo projeto. Se eu precisar realizar uma atualização numa .class terei que parar todo projeto no servidor para realizar o restarte da aplicação para reconhecer a nova atualização, com isso outros módulos de outras áreas que não estão sendo atualizados ficarão fora do ar.
(Benefícios: apenas 1 login (Sessão), reutilização de classes, menor memória virtual JVM, e performance do servidor)
2-projetos separados
Cada módulos, quando eu falo de módulo seria funcionalidade é para o mesmo cliente, porém funções diferentes, exemplo. Demandas de projetos, Vendas, Jogos, etc(funções distintas.). Iria desenvolver em projetos web diferentes, totalmente desacoplado do outro projetos, com novas entidades, e controller que poderia ate existir no outro módulo, porém não seria utilizado pois estão em projetos separados. Quando precisar realizar alguma alteração, os outros projetos não serão afetados pois estão separados, porém utilizando o mesmo servidor, onde eu iria realizar o deploy e udeploy apenas no projeto que preciso.
(Este projeto o cliente teria que logar em cada módulo, iria utilizar várias sessões aumento o numero de usuários do servidor)
Na opiniões de vcs, qual seria o melhor cenário ?
1-Mesmo projeto
Hoje trabalho com um projeto web MVC java, onde cada tipo de solução desenvolvo com a ídea de módulos. Com seus controllers, entidades no mesmo projeto. Se eu precisar realizar uma atualização numa .class terei que parar todo projeto no servidor para realizar o restarte da aplicação para reconhecer a nova atualização, com isso outros módulos de outras áreas que não estão sendo atualizados ficarão fora do ar.
(Benefícios: apenas 1 login (Sessão), reutilização de classes, menor memória virtual JVM, e performance do servidor)
2-projetos separados
Cada módulos, quando eu falo de módulo seria funcionalidade é para o mesmo cliente, porém funções diferentes, exemplo. Demandas de projetos, Vendas, Jogos, etc(funções distintas.). Iria desenvolver em projetos web diferentes, totalmente desacoplado do outro projetos, com novas entidades, e controller que poderia ate existir no outro módulo, porém não seria utilizado pois estão em projetos separados. Quando precisar realizar alguma alteração, os outros projetos não serão afetados pois estão separados, porém utilizando o mesmo servidor, onde eu iria realizar o deploy e udeploy apenas no projeto que preciso.
(Este projeto o cliente teria que logar em cada módulo, iria utilizar várias sessões aumento o numero de usuários do servidor)
Na opiniões de vcs, qual seria o melhor cenário ?
Roger Mendes
Curtir tópico
+ 0
Responder
Posts
03/05/2017
Angelo Santos
Olá Rmc,
Pensando em manutenibilidade a opção 2 seria ideal. Atualmente está muito forte na comunidade de desenvolvimento a utilização de Microservices. Você pode assistir essa palestra Vantagens e desvantagens de uma arquitetura microservices. Quanto a "...o cliente teria que logar em cada módulo, iria utilizar várias sessões aumento o numero de usuários do servidor..", não necessariamente, você pode utilizar OAuth 2.
Espero ter te ajudado! Bons estudos.
Pensando em manutenibilidade a opção 2 seria ideal. Atualmente está muito forte na comunidade de desenvolvimento a utilização de Microservices. Você pode assistir essa palestra Vantagens e desvantagens de uma arquitetura microservices. Quanto a "...o cliente teria que logar em cada módulo, iria utilizar várias sessões aumento o numero de usuários do servidor..", não necessariamente, você pode utilizar OAuth 2.
Espero ter te ajudado! Bons estudos.
Responder
Gostei + 0
03/05/2017
Roger Mendes
Que resposta perfeita.obrigado !!,.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)