Post on 22-Jan-2018
Framework
DemoDemoiselleiselle Está chegando Está chegando a hora!a hora!
EntregasEntregas
BETA-1BETA-1 BETA-2BETA-2 BETA-3BETA-3 3.0.03.0.0
SETEMBROSETEMBRO OUTUBROOUTUBRO NOVEMBRONOVEMBRO DEZEMBRODEZEMBRO
JEE7Front-end
JANEIRO/JANEIRO/20172017
RC-1RC-1
EntregasEntregas
JEE7
Linguagensde Script
Multitenancy
Microcontainers
ROADMAPROADMAP
ModularizaçãoModularização
https://github.com/demoiselle/framework/tree/3.0.0-SNAPSHOThttps://github.com/demoiselle/framework/tree/3.0.0-SNAPSHOT
JEE7 / JAVA 8
Multitenancy
RESTfull API
Microcontainer
Scripts Dinâmicos
RESTfull API
JEE7
Linguagensde Script
Multitenancy
Microcontainers
ROADMAPROADMAP
MudançasMudanças
demoiselle.org
jboss.org
apache.org
libreoffice.org
gimp.org
ubuntulinux.org
firefox.org
MudançasMudançasOrientado à ProjetoOrientado à Projeto
import org.demoiselle.jee.core.exception;
import org.demoiselle.signer.certificate.exception;
OrganizaçãoDemoiselle
ProjetoFramework JEE
OrganizaçãoDemoiselle
ProjetoSigner (Assinador)
import br.gov.frameworkdemoiselle.DemoiselleException;
import br.gov.frameworkdemoiselle.certificate;
OrganizaçãoDemoiselle
Componente
VersãoVersão
22
VersãoVersão
33
MudançasMudançasTransaçãoTransação
import javax.ejb.Stateless;import javax.transaction.Transactional;
@Stateless@TransactionManagement(value = TransactionManagementType.CONTAINER)public class UserBC extends AbstractBusiness<User, Long> {
@Injectprivate UserDAO dao;
@Transactionalpublic User persist(User entity) {
return dao.persist(entity);}
}
Uso da especificação JSR 907 Java Transaction API (JTA)
Gerenciada pelo usuárioou pelo container
JEE7
Linguagensde Script
Multitenancy
Microcontainers
ROADMAPROADMAP
Microserviço e JEE7Microserviço e JEE7
Aplicações Monolíticas Microserviços
SOA de maior granularidade
Microserviço e JEE7Microserviço e JEE7
mvn package
mvn package Pwildflyswarm
JEE7
Linguagensde Script
Multitenancy
Microcontainers
ROADMAPROADMAP
Multitenancy x Scritps DinâmicosMultitenancy x Scritps Dinâmicos
https://demoiselle.gitbooks.io/documentacao-jee/content/multitenancy.html
ISOLAR X COMPARTILHARISOLAR X COMPARTILHAR
As linguagens de script são capazes de criarobjetos Java e chamar métodos públicos dos
objetos usando a sintaxe das linguagens de script.
Multitenancy x Scritps DinâmicosMultitenancy x Scritps Dinâmicos@Injectprivate MultiTenantContext multiTenantContext;
@Injectprivate DynamicManager scriptManager;
public User insert(User user) {String script = confTenant.get("createUserScript").toString();Tenant tenant = multiTenantContext.getTenant();
SimpleBindings vars = new SimpleBindings();vars.put("usuario", user);
String scriptId = "createUser-" + tenant.getName();scriptManager.loadEngine("groovy");scriptManager.loadScript(scriptId, script);scriptManager.eval(scriptId, vars);
return dao.insert(user);}
Uso da especificação JSR 223 Scripting for the Java
Obtendo o Tenancy
Executando um scriptEm groovy
usuario.setStatus(3)
JEE7
Linguagensde Script
Multitenancy
Microcontainers
ROADMAPROADMAP
RESTful API DesignRESTful API Design
Um forma simples deencaminhar informações de
modo confiável, pois são assinadas e confirmadas.
demoiselle-security-
RESTful API DesignRESTful API Design
Qual liquidificador é mais simples?
RESTful API DesignRESTful API Design
Como as Gigantes Gigantes da Webda Web Fazem ?
RESTful API DesignRESTful API Design
RESTfullAPI Design
Projeto
Demoiselle Front-end
Demoiselle Front-end
Demoiselle Front-end
● Framework Web● HTML● CSS 3
Demoiselle Front-end
● Gerenciador de Dependências● Mais de 35 mil pacotes
Demoiselle Front-end● Melhorias DI● Desempenho● Modular
● Reuso● Carregamento automático
● Mobile support● Typescript/ES6
● Classes● Tipagem● Arrow functions
Demoiselle Front-end
● Empacotador de Código● Gestão de dependências entre
módulos● Empacotamento● Plugins/Loaders● Code splitting (modularização)
Demoiselle Front-endMódulo HTTP● Tratamento de endpoints● Tratamento de erros/interceptador● Tratamento de multitenancy
Módulo Security● Token JWT / Retoken● Login● Tratamento de permissões● Diretivas de segurança
Serviços de Notificação● Alertas● Mensagem de
confirmação
Serviços de Validação● Validação de formulários● Validação no servidor
CRUD● Gerador● Componentes facilitadores
JEE7
Linguagensde Script
Multitenancy
Microcontainers
ROADMAPROADMAP
https://github.com/demoiselle/example-store
EntregasEntregas
BETA-1BETA-1 BETA-2BETA-2 BETA-3BETA-3 3.0.03.0.0
SETEMBROSETEMBRO OUTUBROOUTUBRO NOVEMBRONOVEMBRO DEZEMBRODEZEMBRO
JEE7Front-end
JANEIRO/JANEIRO/20172017
RC-1RC-1