Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Desenvolvimento	
  web	
  em	
  poucos	
  passos	
  

Eder	
  Magalhães	
  
@edermag	
  
Agenda	
  
ü  Qual	
  é	
  o	
  seu	
  foco	
  em	
  TI?	
  
ü  Pontos	
  importantes	
  na	
  escolha	
  da	
  linguage...
Oportunidades	
  
ü  O	
  mercado	
  de	
  desenvolvimento	
  de	
  soPware	
  é	
  excelente;	
  
ü  A	
  demanda	
  po...
Tenho	
  uma	
  idéia,	
  mas…	
  
ü  Existem	
  várias	
  técnologias…	
  
ü  Qual	
  escolher?	
  
ü  O	
  ideal	
  s...
Ou,	
  quero	
  trabalhar	
  com	
  dev,	
  mas…	
  
ü  Existem	
  várias	
  técnologias…	
  
ü  Qual	
  escolher?	
  
ü...
E	
  o	
  Java	
  (EE)	
  
ü  Uma	
  suíte	
  completa	
  para	
  desenvolvimento	
  corpora]vo;	
  
ü  Atende	
  o	
  d...
Outros	
  pontos	
  
ü  Plataforma	
  consolidada;	
  
ü  Muita	
  documentação	
  (material	
  bom	
  e	
  gratuito);	
...
Mas	
  …	
  
ü  São	
  tantas	
  tecnologias:	
  
ü  JSF,	
  JSP,	
  EL,	
  Servlet,	
  CDI,	
  EJB,	
  JPA,	
  Bean	
  ...
Não	
  se	
  esqueça…	
  
ü  Sistema	
  operacional;	
  
ü  Ambiente	
  de	
  desenvolvimento	
  –	
  IDE;	
  
ü  Banco...
Forge	
  
ü  Ferramenta	
  RAD	
  para	
  desenvolvimento	
  Java	
  EE;	
  
ü  Disponibiliza	
  um	
  “shell”	
  alto-­...
Forge++	
  
ü  Compá]vel	
  com	
  o	
  modelo	
  de	
  desenvolvimento	
  ágil;	
  
ü  Segue	
  o	
  conceito	
  de	
  ...
Primeiro	
  passo,	
  iniciando	
  o	
  projeto	
  
ü  Criar	
  um	
  novo	
  projeto;	
  
$ new-project --named {nome} -...
Segundo	
  passo,	
  o	
  ]po	
  de	
  aplicação	
  
ü  Escolher	
  o	
  modelo/]po	
  de	
  aplicação	
  (web):	
  
$ sc...
Terceiro	
  passo,	
  a	
  persistência	
  
ü  Indicar	
  o	
  provider	
  JPA:	
  
$ persistence setup --provider {JPA I...
Quarto	
  passo,	
  a	
  en]dade	
  
ü  Definir	
  uma	
  classe	
  en]dade	
  (modelo)	
  do	
  sistema:	
  
$ entity --n...
Quinto	
  passo,	
  o	
  resto	
  das	
  camadas	
  
ü  Vamos	
  usar	
  o	
  conceito	
  scaffold	
  para	
  construir	
 ...
Sexto	
  passo,	
  configurar	
  o	
  server	
  
ü  No	
  exemplo	
  vou	
  demonstrar	
  como	
  usar	
  o	
  JBoss	
  AS...
Pronto!	
  
ü  Agora	
  é	
  só	
  executar	
  o	
  projeto:	
  

$ build
$ as7 deploy
Running	
  
Uma	
  mudança	
  
ü  Criar	
  um	
  serviço	
  rest	
  

$ rest setup
$ rest endpoint-from-entity –contentType applicati...
Teste,	
  sempre!	
  
ü  Oferece	
  integração	
  com	
  o	
  projeto	
  Arquillian;	
  

$ arquillian setup
$ arquillian...
O	
  que	
  mais?	
  
ü  Deploy	
  em	
  cloud	
  (OpenshiP)	
  –	
  hqp://goo.gl/fH08XD	
  

	
  
Log	
  	
  de	
  tudo	
  
$ new-project –-named webdrive --topLevelPackage br.com.yaw.webdrive
--projectFolder .
$ scaffol...
Links	
  
ü  hqp://forge.jboss.org/	
  
ü  hqps://github.com/forge/core	
  
ü  hqp://forge.jboss.org/docs/using/samples...
Vídeo	
  aulas	
  /	
  projetos	
  exemplo	
  
ü  hqp://www.yaw.com.br/screencast	
  
ü  hqp://www.yaw.com.br/open/proje...
Obrigado!	
  
ü  eder@yaw.com.br	
  
ü  hqps://twiqer.com/edermag	
  
ü  hqp://github.com/edermag	
  
ü  hqp://edermag...
Upcoming SlideShare
Loading in …5
×

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

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.

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

  1. 1. Desenvolvimento  web  em  poucos  passos   Eder  Magalhães   @edermag  
  2. 2. 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;  
  3. 3. 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;  
  4. 4. 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!  
  5. 5. 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!  
  6. 6. 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  …  
  7. 7. Outros  pontos   ü  Plataforma  consolidada;   ü  Muita  documentação  (material  bom  e  gratuito);   ü  Conta  com  uma  grande  comunidade;   ü  Apoiada  por  grandes  players;  
  8. 8. 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?  
  9. 9. Não  se  esqueça…   ü  Sistema  operacional;   ü  Ambiente  de  desenvolvimento  –  IDE;   ü  Banco  de  dados;   ü  Build;  
  10. 10. 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;  
  11. 11. 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;  
  12. 12. Primeiro  passo,  iniciando  o  projeto   ü  Criar  um  novo  projeto;   $ new-project --named {nome} --topLevelPackage {br.com.projeto} --projectFolder {/diretorio}
  13. 13. Segundo  passo,  o  ]po  de  aplicação   ü  Escolher  o  modelo/]po  de  aplicação  (web):   $ scaffold setup
  14. 14. Terceiro  passo,  a  persistência   ü  Indicar  o  provider  JPA:   $ persistence setup --provider {JPA Impl} --container { ... }
  15. 15. Quarto  passo,  a  en]dade   ü  Definir  uma  classe  en]dade  (modelo)  do  sistema:   $ entity --name {nome}
  16. 16. 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
  17. 17. Sexto  passo,  configurar  o  server   ü  No  exemplo  vou  demonstrar  como  usar  o  JBoss  AS  (v.  7):   $ forge install-plugin jboss-as-7 $ as7 setup
  18. 18. Pronto!   ü  Agora  é  só  executar  o  projeto:   $ build $ as7 deploy
  19. 19. Running  
  20. 20. Uma  mudança   ü  Criar  um  serviço  rest   $ rest setup $ rest endpoint-from-entity –contentType application/json
  21. 21. Teste,  sempre!   ü  Oferece  integração  com  o  projeto  Arquillian;   $ arquillian setup $ arquillian create-teste {classe}
  22. 22. O  que  mais?   ü  Deploy  em  cloud  (OpenshiP)  –  hqp://goo.gl/fH08XD    
  23. 23. 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
  24. 24. Links   ü  hqp://forge.jboss.org/   ü  hqps://github.com/forge/core   ü  hqp://forge.jboss.org/docs/using/samples.html#content   ü  hqps://twiqer.com/JBossForge  
  25. 25. Vídeo  aulas  /  projetos  exemplo   ü  hqp://www.yaw.com.br/screencast   ü  hqp://www.yaw.com.br/open/projetos/  
  26. 26. Obrigado!   ü  eder@yaw.com.br   ü  hqps://twiqer.com/edermag   ü  hqp://github.com/edermag   ü  hqp://edermag.blogspot.com.br/   ü  hqps://bitbucket.org/edermag/  

×