demoiselle / framework

Repositório principal contendo o Core e Extensions: JPA, Security, WS
https://demoiselle.org
127 stars 77 forks source link

Discussões 3.0 - JEE #34

Closed juliancesar closed 7 years ago

juliancesar commented 8 years ago

Olá pessoal convido todos e participar das discussões sobre a nova versão do Framework Demoiselle.

A versão 3.0 do Demoiselle visa atender necessidades de modernização e eficiência. Assuntos como: Java 8, servidores de aplicação JEE7, uso de Microcontainers, Multitenancy entre outros, são temas presentes nas novas linhas de desenvolvimento.

Vide vídeo: https://youtu.be/bP72IQEQzhU

Deixe aqui suas expectativas e comentários sobre o assunto.

ghost commented 8 years ago

Qual a previsão para a primeria release ?

marciofrayze commented 8 years ago

Alguns comentários:

botelhojp commented 8 years ago
  1. Olá @nobredelivery, lançaremos betas mensalmente. Final de setembro: beta-1, Outubro: beta-2, Novembro: rc-1. Se for bem teremos a 3.0.0 em dezembro.
  2. @mfdavid, seu entendimento está correto. O tema microcontainer deve ser transparente ao framework. Nosso desafio é tornar o Demoiselle mais leve para rodá-lo em containers menores. Iniciamos, por exemplo, testes com o http://wildfly-swarm.io/ e estamos contentes com os resultados.
  3. Estamos investigando algumas estratégias de implementação do multitenancy, sabemos que este assunto extrapola o desenvolvimento. A infraestrutura e as áreas de negócios tem seus próprios desafios, mas acredito que podemos contribuir com estratégias arquiteturais.
  4. Sobre processamento batch, concordo da sua importância e podemos fomentar o assunto. O EE7 trás novidades com a JSR 352 (http://www.oracle.com/technetwork/articles/java/batch-1965499.html), além disso devemos contar com a experiência de equipes tenham vivido os desafios desse tipo de arquitetura. Espero que tenhamos mais contribuições neste assunto.
ezequieljuliano commented 8 years ago

Já existe algum roadmap contendo o que vai ser desenvolvido e entregue em cada versão (mensal ou final)?

Eu lembro que haviam algumas Issues pendentes no Jira como elas ficaram?

botelhojp commented 8 years ago

@ezequieljuliano, publiquei o vídeo explicativo hoje: https://youtu.be/bP72IQEQzhU Vamos direcionar a gestão do projeto no GitHub, as issues do Jira pertinentes serão também tratadas no GitHub.

jacksonemmerich commented 8 years ago

Usei o demoiselle por um bom tempo depois vi que faltava acompanhar as mudanças, tive que mudar para o jhipster. Que na minha opinião é o que o demoiselle deveria ser. E eles acertaram ao escolher spring ao invés das especificações padrão JEE. Segue site do projeto https://jhipster.github.io.

Olha essa ferramenta de modelagem que o jhipster tem: https://jhipster.github.io/jdl-studio/ é fantastico!

Acho que cada framework terá seus propósitos, não quero dizer que o jhipster seja melhor, mas poderíamos nos inspirar nele e melhorar o nosso. Começando pela arquitetura, eles acertaram muito ao escolher spring como core. Com o spring vem um leque de soluções que dificilmente veremos no JEE 7 8 9 10 etc, a exemplo o spring boot, não vejo nada mais avançado e fácil em java do que ele, usa live reload e muitas outras tecnologias integradas como social login(facebook, google), elesticsearch etc.

Espero voltar a usar o Demoiselle e gostaria muito de ajudar essa comunidade.

Grande abraço a todos.

botelhojp commented 8 years ago

Oi @jacksonemmerich, muito bacana a ferramenta de modelagem. Continuamos apostando na especificação JEE7, inclusive o Demoiselle deve abrir mão de parte dos seus códigos para delegar ao JEE7. De fato o Spring está sempre um passo na frente. Também entendo que a especificação vem evoluindo e atendendo grande parte das nossas necessidades, talvez esse seja um dos motivos para continuar apostando nela. Fico feliz em tê-lo no grupo, esperamos contar com a sua experiência.

lucianojs commented 8 years ago

Uma ponta que ficou solta já no Demoiselle 2.5 foi como documentar e testar a camada REST.

O DBehave não provê suporte nativo a isto e já vi outras equipes trabalhando com SoapUI e até experimentando o Postman. Outra coisa é como utilizar um mesmo cenário de teste projetado para ser utilizado tanto no REST quanto na Tela, sem duplicação de cenário e massa. Com relação a documentação, atualmente nos projeto que atuo geramos no padrão Swagger automaticamente com o plugin abaixo, mas não considero a opção como ideal. https://github.com/sdaschner/jaxrs-analyzer-maven-plugin

marciofrayze commented 8 years ago

@lucianojs nos últimos projetos estou usando Swagger também, mas optei por deixar a documentação separada do código fonte. Estou usando o swagger editor (editor.swagger.io) e depois exporto o json para uma página estática (que deixo dentro do web-app mesmo, mas poderia estar em qualquer lugar - é só conteúdo estático mesmo). Já participei de projetos onde deixávamos junto com código fonte (usando esse plugin), mas acho que fica meio poluido e achava ruim de fazer alterações na documentação (tinha que ficar recompilando tudo, subindo o servidor todo, etc).

lucasa commented 8 years ago

Obrigado @botelhojp pela sugestão do JHipster, eu não conhecia. Passei umas boas horas estudando a solução, e para mim, é o framework mais interessante para desenvolvimento web com Java. Vou até iniciar um projeto pessoal usando ele, pela facilidade de uso.

Para colaborar com a discussão do tema Multitenancy/SaaS, gostaria de indicar o vídeo uma palestra que fiz via streaming: http://assiste.serpro.gov.br/cisl/video.php?nome=184371 A palestra aborda o tema em alto nível mas pode interessar aos recém chegados na discussão.

Sugiro que seja aberto um tópico exclusivo para o debate das possíveis opções arquiteturais para suporte ao desenvolvimento multitanancy.

botelhojp commented 7 years ago

Lançada hoje versão 3.0.0-BETA2: http://repo1.maven.org/maven2/org/demoiselle/jee/

PamelaBeatriz commented 7 years ago

Olá quando irão lançar a versão 3.0.0 oficial? Muito obrigada!

botelhojp commented 7 years ago

@PamelaBeatriz o milestone foi programado para 31/01/2017 https://github.com/demoiselle/framework/milestone/4

PamelaBeatriz commented 7 years ago

@botelhojp Muito obrigada!! =D

PamelaBeatriz commented 7 years ago

@botelhojp Nunca utilizei o Demoiselle antes e agora estou precisando utilizar ele para um projeto no qual estou envolvida. Os líderes técnicos recomendaram utilizar a versão 3. Entretanto como ela ainda está em construção eu não sei se de fato vai ser interessante já utilizá-la ou se vai ser possível esperar sair a Release. Como estou começando do zero, posso me guiar quanto a questão de instalação e configuração do framework utilizando as informações do portal https://www.frameworkdemoiselle.gov.br/web/guest/home substituindo apenas a versão 2.5 pela versão versão 3.0.0-BETA2. O processo de configuração é similar?

Existe algum material ou vídeo mostrando o processo de configuração para a versão 3? Desde já muito obrigada!!! Abraço

botelhojp commented 7 years ago

@PamelaBeatriz, sugiro experimentar a versão BETA2 para evitar um trabalho futuro de migração. Devemos lançar uma versão candidata nesta ou na próxima semana. Verifique se o roteiro rápido pode ajudá-la: https://demoiselle.gitbooks.io/documentacao-jee/content/roteiro_rapido.html

PauloGladson commented 7 years ago

@PamelaBeatriz estou fazendo um TodoList para ser usado de referência, monitora o https://github.com/PGXP/todoList

PamelaBeatriz commented 7 years ago

@botelhojp Obrigada. Comecei a configuração. Vou dar uma olhada nos vídeos da comunidade tbm pra poder começar a codificar alguma coisa usando a versão BETA2. Haverá muitas mudanças entre a versão BETA2 e a Candidata?

@PauloGladson vou acompanhar sim. Muito obrigada!

botelhojp commented 7 years ago

Lançada versão experimental do Framework Demoiselle 3 (versão 3.0.0-RC1).

A partir desta versão é possível avaliar com mais estabilidade as novidades do framework que tem entrega prevista para o mês de fevereiro.

Informações adicionais com exemplos, documentação, formas de participar estão disponíveis no site http://demoiselle.io

vbuitoni commented 7 years ago

Na versão 2 do Demoiselle existiam filtros e uma classe Authenticator para manter a autenticação do usuário através de Token usando HEADER HTTP, para aplicações REST.

No Demoiselle 3 não encontrei implementação equivalente. Qual é a forma recomendada de se manter a autenticação do usuário em aplicações REST? Tem que implementar na mão?

Já temos uma aplicação usando Demoiselle 2 e estamos tentando migrar para o Demoiselle 3. Por enquanto estou pensando em copiar o código destas classes do Demoiselle 2 para o nosso projeto e utilizá-las. Será que é muito ruim? Existe uma forma melhor?

botelhojp commented 7 years ago

@vbuitoni verifique se essa documentação ajudar na dúvida https://demoiselle.gitbooks.io/documentacao-jee/content/security.html. Caso contrário ela será complementada.

PauloGladson commented 7 years ago

vbuitoni,

A estratégia mudou um pouco, mas sua implementação será reaproveitada. O filtro está lá e o security context também. Vou providenciar um tutorial de migração, quando ficar pronto, te informo.

Em 17 de jan de 2017 12:21, "vbuitoni" notifications@github.com escreveu:

Na versão 2 do Demoiselle existiam filtros e uma classe Authenticator para manter a autenticação do usuário através de Token usando HEADER HTTP, para aplicações REST.

No Demoiselle 3 não encontrei implementação equivalente. Qual é a forma recomendada de se manter a autenticação do usuário em aplicações REST? Tem que implementar na mão?

Já temos uma aplicação usando Demoiselle 2 e estamos tentando migrar para o Demoiselle 3. Por enquanto estou pensando em copiar o código destas classes do Demoiselle 2 para o nosso projeto e utilizá-las. Será que é muito ruim? Existe uma forma melhor?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/demoiselle/framework/issues/34#issuecomment-273177795, or mute the thread https://github.com/notifications/unsubscribe-auth/ABqonjXCnK3Wr4YLeoSxxGGPm-hkCxYEks5rTM5ugaJpZM4JtFT0 .

marciofrayze commented 7 years ago

Como faço para que "subir" o projeto backend do demoiselle TODO para que ele aceite requisições externas? Por padão parece aceitar apenas requisições localhost.

java -jar -Xmx128m target/todo-swarm.jar

Tem algum parâmetro que possa passar? (ao similar o -b 0.0.0.0 do jboss)

PauloGladson commented 7 years ago

@mfdavid

Tenta java -jar -Xmx128m -Dswarm.bind.address=0.0.0.0 target/todo-swarm.jar

botelhojp commented 7 years ago

Prezados, devido a publicação da versão final, que será feita amanhã, essa issue será fechada. Para novas discussões, favor abrir nova issues. Agradecemos as contribuições.