demoiselle 3 está chegando a hora

30
Framework Demo Demo iselle iselle Está chegando Está chegando a hora! a hora!

Upload: vanderson-silva

Post on 22-Jan-2018

114 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Demoiselle 3 Está chegando a hora

Framework

DemoDemoiselleiselle Está chegando Está chegando a hora!a hora!

Page 2: Demoiselle 3 Está chegando 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

Page 3: Demoiselle 3 Está chegando a hora

EntregasEntregas

Page 4: Demoiselle 3 Está chegando a hora

JEE7

Linguagensde Script

Multitenancy

Microcontainers

ROADMAPROADMAP

Page 5: Demoiselle 3 Está chegando a hora

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

Page 6: Demoiselle 3 Está chegando a hora

JEE7

Linguagensde Script

Multitenancy

Microcontainers

ROADMAPROADMAP

Page 7: Demoiselle 3 Está chegando a hora

MudançasMudanças

demoiselle.org

jboss.org

apache.org

libreoffice.org

gimp.org

ubuntulinux.org

firefox.org

Page 8: Demoiselle 3 Está chegando a hora

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

Page 9: Demoiselle 3 Está chegando a hora

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

Page 10: Demoiselle 3 Está chegando a hora

JEE7

Linguagensde Script

Multitenancy

Microcontainers

ROADMAPROADMAP

Page 11: Demoiselle 3 Está chegando a hora

Microserviço e JEE7Microserviço e JEE7

Aplicações Monolíticas Microserviços

SOA de maior granularidade

Page 12: Demoiselle 3 Está chegando a hora

Microserviço e JEE7Microserviço e JEE7

mvn package

mvn package ­Pwildfly­swarm

Page 13: Demoiselle 3 Está chegando a hora

JEE7

Linguagensde Script

Multitenancy

Microcontainers

ROADMAPROADMAP

Page 14: Demoiselle 3 Está chegando a hora

Multitenancy x Scritps DinâmicosMultitenancy x Scritps Dinâmicos

https://demoiselle.gitbooks.io/documentacao-jee/content/multitenancy.html

ISOLAR X COMPARTILHARISOLAR X COMPARTILHAR

Page 15: Demoiselle 3 Está chegando a hora

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)

Page 16: Demoiselle 3 Está chegando a hora

JEE7

Linguagensde Script

Multitenancy

Microcontainers

ROADMAPROADMAP

Page 17: Demoiselle 3 Está chegando a hora

RESTful API DesignRESTful API Design

Um forma simples deencaminhar informações de

modo confiável, pois são assinadas e confirmadas.

demoiselle-security-

Page 18: Demoiselle 3 Está chegando a hora

RESTful API DesignRESTful API Design

Qual liquidificador é mais simples?

Page 19: Demoiselle 3 Está chegando a hora

RESTful API DesignRESTful API Design

Como as Gigantes Gigantes da Webda Web Fazem ?

Page 20: Demoiselle 3 Está chegando a hora

RESTful API DesignRESTful API Design

RESTfullAPI Design

Page 21: Demoiselle 3 Está chegando a hora

Projeto

Demoiselle Front-end

Page 22: Demoiselle 3 Está chegando a hora

Demoiselle Front-end

Page 23: Demoiselle 3 Está chegando a hora

Demoiselle Front-end

● Framework Web● HTML● CSS 3

Page 24: Demoiselle 3 Está chegando a hora

Demoiselle Front-end

● Gerenciador de Dependências● Mais de 35 mil pacotes

Page 25: Demoiselle 3 Está chegando a hora

Demoiselle Front-end● Melhorias DI● Desempenho● Modular

● Reuso● Carregamento automático

● Mobile support● Typescript/ES6

● Classes● Tipagem● Arrow functions

Page 26: Demoiselle 3 Está chegando a hora

Demoiselle Front-end

● Empacotador de Código● Gestão de dependências entre

módulos● Empacotamento● Plugins/Loaders● Code splitting (modularização)

Page 27: Demoiselle 3 Está chegando a hora

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

Page 28: Demoiselle 3 Está chegando a hora

JEE7

Linguagensde Script

Multitenancy

Microcontainers

ROADMAPROADMAP

Page 29: Demoiselle 3 Está chegando a hora

https://github.com/demoiselle/example-store

Page 30: Demoiselle 3 Está chegando 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