Olá pessoal,
Estou começando um projeto pessoal o qual inicialmente será Web, mas futuramente também terá uma versão mobile.
Criei um projeto no maven que segue mais ou menos essa estrutura:
Parent
|__módulo server (Contém minha regra de negócio e Serviços Rest)
|__Módulo Web (Angular e talvez algumas coisas com JSF)
pom.xml
Porém estou com algumas dúvidas pertinentes a essa arquitetura:
- Seria interessante separar o "módulo server" em dois, um com as regras de negócios e outro apenas para os Rest Controller?
- Será que o web, já que a view será em angular, deveria ser um projeto totalmente separado? Mas e se eu quiser algo híbrido, tipo a maior parte em Angular, mas algo mais específico em JSF?
- Como fica a segurança no meu projeto Web? Eu irei usar Spring Security, vou proteger o negócio e a camada de acesso a ele, no caso, os meus serviços rest. Mas como ficam a segurança no meu projeto Web? Será necessário me preocupar com isso já que só terei html, js?
- Como seria o controle caso eu só queira deixar o usuário acessar a página X, caso ele tenha a permissão Y? Irei controlar com javascript apenas?
- Futuramente vou ter uma versão mobile e integração com redes sociais. Como eu modularizo isso? (PS: Não tenho experiência em desenvolvimento Mobile, nem integrações com redes sociais).
Resumindo, minha dúvida é: Qual a boa prática para um projeto Rest + Angular + Mobile + Social (Integração com redes sociais) preocupando-se com a segurança.
Desde já, obrigado!
Att,
Fred Farias