26
Desenvolvimento web em poucos passos Eder Magalhães @edermag

Desenvolva uma app Java web em poucos passos, com o Forge

Embed Size (px)

DESCRIPTION

Apresentação da palestra aonde falei sobre a tecnologia JBoss Forge. Com foco prático demonstrei como criar uma aplicação web Java, do zero, em poucos passos com o Forge.

Citation preview

Page 1: Desenvolva uma app Java web em poucos passos, com o Forge

Desenvolvimento  web  em  poucos  passos  

Eder  Magalhães  

@edermag  

Page 2: Desenvolva uma app Java web em poucos passos, com o Forge

Agenda  

ü  Qual  é  o  seu  foco  em  TI?  

ü  Pontos  importantes  na  escolha  da  linguagem;  

ü  Java  é  uma  opção,  mas  existem  muitos  frameworks  e  configurações;  

ü  A  proposta  do  JBoss  Forge;  

ü  Vamos  criar  um  projeto  web,  com  Forge,  em  7  passos;  

ü  Executar  e  testar  o  projeto;  

ü  Links  e  complementos;  

Page 3: Desenvolva uma app Java web em poucos passos, com o Forge

Oportunidades  

ü  O  mercado  de  desenvolvimento  de  soPware  é  excelente;  

ü  A  demanda  por  novas  soluções  é  crescente;  

ü  Startups  nascendo  todos  os  dias,  em  diversos  cantos  do  Brasil;  

Page 4: Desenvolva uma app Java web em poucos passos, com o Forge

Tenho  uma  idéia,  mas…  

ü  Existem  várias  técnologias…  

ü  Qual  escolher?  

ü  O  ideal  seria  uma  tecnologia  simples,  eficiênte  e  poderosa.  

ü  E,  principalmente,  que  viabilize  a  criação  do  produto!  

Page 5: Desenvolva uma app Java web em poucos passos, com o Forge

Ou,  quero  trabalhar  com  dev,  mas…  

ü  Existem  várias  técnologias…  

ü  Qual  escolher?  

ü  O  ideal  seria  uma  tecnologia  simples,  eficiênte  e  poderosa.  

ü  E,  principalmente,  que  ofereça  uma  boa  remuneração!  

Page 6: Desenvolva uma app Java web em poucos passos, com o Forge

E  o  Java  (EE)  

ü  Uma  suíte  completa  para  desenvolvimento  corpora]vo;  

ü  Atende  o  desenvolvimento:  ü  Web;  ü  Componentes  de  persistência;  ü  Componentes  de  integração;  ü  Segurança  ,  escalabilidade  …  

Page 7: Desenvolva uma app Java web em poucos passos, com o Forge

Outros  pontos  

ü  Plataforma  consolidada;  

ü  Muita  documentação  (material  bom  e  gratuito);  

ü  Conta  com  uma  grande  comunidade;  

ü  Apoiada  por  grandes  players;  

Page 8: Desenvolva uma app Java web em poucos passos, com o Forge

Mas  …  

ü  São  tantas  tecnologias:  ü  JSF,  JSP,  EL,  Servlet,  CDI,  EJB,  JPA,  Bean  Validator,  JMS,  JAX-­‐RS,  

JAX-­‐WS,  Hibernate,  Spring,  Struts,  Wicket,  GWT,  Tapestry,  Freemaker…  ufa;  

ü  E  as  configurações???  

ü  Montar  a  estrutura  de  desenvolvimento  é  buracrá]co;  

ü  Quais  componentes  u]lizar?  

ü  Como  testar?  

Page 9: Desenvolva uma app Java web em poucos passos, com o Forge

Não  se  esqueça…  

ü  Sistema  operacional;  

ü  Ambiente  de  desenvolvimento  –  IDE;  

ü  Banco  de  dados;  

ü  Build;  

Page 10: Desenvolva uma app Java web em poucos passos, com o Forge

Forge  

ü  Ferramenta  RAD  para  desenvolvimento  Java  EE;  

ü  Disponibiliza  um  “shell”  alto-­‐nível;  

ü  Facilita  a  construção  de  projeto;  

ü  Facilita  o  uso  e  configuração  de  frameworks;  

ü  Facilita  a  definição  de  testes  automa]zados;  

Page 11: Desenvolva uma app Java web em poucos passos, com o Forge

Forge++  

ü  Compá]vel  com  o  modelo  de  desenvolvimento  ágil;  

ü  Segue  o  conceito  de  plugin/extensões;  

ü  É  e  promove  o  uso  de  tecnologias  open  source;  

ü  Projeto  JBoss,  man]do  pela  Red  Hat;  

Page 12: Desenvolva uma app Java web em poucos passos, com o Forge

Primeiro  passo,  iniciando  o  projeto  

ü  Criar  um  novo  projeto;  

$ new-project --named {nome} --topLevelPackage {br.com.projeto} --projectFolder {/diretorio}

Page 13: Desenvolva uma app Java web em poucos passos, com o Forge

Segundo  passo,  o  ]po  de  aplicação  

ü  Escolher  o  modelo/]po  de  aplicação  (web):  

$ scaffold setup

Page 14: Desenvolva uma app Java web em poucos passos, com o Forge

Terceiro  passo,  a  persistência  

ü  Indicar  o  provider  JPA:  

$ persistence setup --provider {JPA Impl} --container { ... }

Page 15: Desenvolva uma app Java web em poucos passos, com o Forge

Quarto  passo,  a  en]dade  

ü  Definir  uma  classe  en]dade  (modelo)  do  sistema:  

$ entity --name {nome}

Page 16: Desenvolva uma app Java web em poucos passos, com o Forge

Quinto  passo,  o  resto  das  camadas  

ü  Vamos  usar  o  conceito  scaffold  para  construir  os  componentes  do  model  ao  front-­‐end  (por  en]dade  criada):  

$ scaffold from-entity

Page 17: Desenvolva uma app Java web em poucos passos, com o Forge

Sexto  passo,  configurar  o  server  

ü  No  exemplo  vou  demonstrar  como  usar  o  JBoss  AS  (v.  7):  

$ forge install-plugin jboss-as-7 $ as7 setup

Page 18: Desenvolva uma app Java web em poucos passos, com o Forge

Pronto!  

ü  Agora  é  só  executar  o  projeto:  

$ build $ as7 deploy

Page 19: Desenvolva uma app Java web em poucos passos, com o Forge

Running  

Page 20: Desenvolva uma app Java web em poucos passos, com o Forge

Uma  mudança  

ü  Criar  um  serviço  rest  

$ rest setup $ rest endpoint-from-entity –contentType application/json

Page 21: Desenvolva uma app Java web em poucos passos, com o Forge

Teste,  sempre!  

ü  Oferece  integração  com  o  projeto  Arquillian;  

$ arquillian setup $ arquillian create-teste {classe}

Page 22: Desenvolva uma app Java web em poucos passos, com o Forge

O  que  mais?  

ü  Deploy  em  cloud  (OpenshiP)  –  hqp://goo.gl/fH08XD  

 

Page 23: Desenvolva uma app Java web em poucos passos, com o Forge

Log    de  tudo  $ new-project –-named webdrive --topLevelPackage br.com.yaw.webdrive --projectFolder . $ scaffold setup $ persistence setup –-provider HIBERNATE –-container JBOSS_AS7 $ entity –-named Fabricante $ field string --named nome $ entity --named Marca $ field string --named descricao $ entity --named Veiculo $ field string --named placa $ field string --named renavam $ field manyToOne --named marca –fieldType br.com.yaw.webdrive.model.Marca $ field manyToOne --named fabricante –fieldType br.com.yaw.webdrive.model.Fabricante $ scaffold from-entity (navegar pelas três entidade no shell) $ as7 setup $ build $ as7 deploy

Page 24: Desenvolva uma app Java web em poucos passos, com o Forge

Links  

ü  hqp://forge.jboss.org/  

ü  hqps://github.com/forge/core  

ü  hqp://forge.jboss.org/docs/using/samples.html#content  

ü  hqps://twiqer.com/JBossForge  

Page 25: Desenvolva uma app Java web em poucos passos, com o Forge

Vídeo  aulas  /  projetos  exemplo  

ü  hqp://www.yaw.com.br/screencast  

ü  hqp://www.yaw.com.br/open/projetos/  

Page 26: Desenvolva uma app Java web em poucos passos, com o Forge

Obrigado!  

ü  [email protected]  

ü  hqps://twiqer.com/edermag  

ü  hqp://github.com/edermag  

ü  hqp://edermag.blogspot.com.br/  

ü  hqps://bitbucket.org/edermag/