JavaEE nos trilhos

15,008 views

Published on

Esse apresentação é de 30/01/2009, quando JavaEE 6 ainda não estava definido. Nessa palestra eu tentei mostrar para a comunidade Java de MS as novidades que estavam por vir, mas focando um pouquinho mais em JSF 2.
Teve exemplo que não funcionou (mas no blog tem o código certo) e também slides e aplicação de exemplo que mostra todo meu talento como designer :)

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
15,008
On SlideShare
0
From Embeds
0
Number of Embeds
14,018
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaEE nos trilhos

  1. 1. JavaEE nos trilhos: JSF2 Gilliard Cordeiro gilliard.eti.br
  2. 2. Apresentação● Gilliard Santos Cordeiro - gscordeiro@gmail.com● Pós-graduando em Engenharia de Software com OO● Desenvolvedor Java há 5 anos● Arquiteto de Software Tribunal de Justiça de MS e AZ Informática● Instrutor do SENAC● Coordenador JUGMS
  3. 3. Composição do JavaEE 6 (Web Profile)• Servlet 3.0• JavaServer Faces (JSF) 2.0• Enterprise JavaBeans (EJB) 3.1 Lite• Java Persistence API (JPA) 2.0• Contexts and Dependency Injection for Java 1.0 (JSR-299)?• JavaServer Pages (JSP) 2.2• Expression Language (EL) 2.2• Debugging Support for Other Languages (JSR-45) 1.0• Standard Tag Library for JavaServer Pages (JSTL) 1.2• Common Annotations for Java Platform (JSR-250) 1.1• Java Transaction API (JTA) 1.1
  4. 4. Servlet 3.0 (JSR-315)● @WebServlets, @ServletFilter, etc● Arquivo web.xml passa a ser opcional● web-fragment.xml● Melhoria sensível na plugabilidade em aplicações web
  5. 5. EJB 3.1 (JSR-318)● Interface @Local opcional● Pode ser empacotado em um WAR● @Schedule● @Asynchronous● Nomes JNDI padronizados● @Singleton● EJB Lite
  6. 6. EJB 3.1 (JSR-318) cont.● Pode ser empacotado em um WAR ● Versão EJB 3.0
  7. 7. EJB 3.1 (JSR-318) cont.● Pode ser empacotado em um WAR ● Versão EJB 3.1
  8. 8. EJB 3.1 (JSR-318) cont.● @Schedule(second="0", minute="0", hour="0", dayOfMonth="1", month="*", year="*")● @Schedule(expression="0 0 0 1 * * *") Atributo Valores permitidos Default second [0,59] 0 minute [0,59] 0 hour [0,23] 0 dayOfMonth [1,31] * month [1,12] ou {"Jan", "Feb", "Mar", "Apr", * "May", "Jun", "Jul", "Aug", "Sep","Oct", "Nov", Dec"} dayOfWeek [0,7] ou {"Sun", "Mon", "Tue", * "Wed", "Thu", "Fri", "Sat"} year Quatro dígitos representando o ano *
  9. 9. EJB 3.1 (JSR-318) cont.● EJB Lite
  10. 10. JPA 2.0 (JSR-317)● Remove Orphan ● Semelhando ao cascade delete-orphan do Hibernate● EntityManager.clear(Object entity) ● Transformar um objeto em detached● @ElementCollection ● Coleção de @Embeddable e tipos não-@Entity como String, Integer, etc● Cache Interface
  11. 11. JPA 2.0 (JSR-317)● Query Language ● CASESELECT e.name, CASE WHEN e.rating = 1 THEN e.salary * 1.1 WHEN e.rating = 2 THEN e.salary * 1.2 ELSE e.salary * 1.01 ENDFROM EMPLOYEE eWHERE e.department.name = ‘Engineering’
  12. 12. JPA 2.0 (JSR-317)● Query Language ● TYPESELECT eFROM Employee eWHERE TYPE(e) IN (Exempt, Contractor)SELECT eFROM Employee eWHERE TYPE(e) IN :empTypesSELECT TYPE(e)FROM Employee eWHERE TYPE(e) <> Exempt
  13. 13. JPA 2.0 (JSR-317)● Criteria API DomainObject d = qb.createQueryDefinition(Department.class); d.where(d.get("name").equal("Sales")) .select(d.get("employees").size());● Equivale aSELECT SIZE(d.employees)FROM Department dWHERE d.name = ‘Sales’
  14. 14. Contexts and Dependency Injection for Java (JSR-299)● O nome “antigo” era WebBeans● Trabalha com JPA, JSF e EJB● Contextos refinados● Injeção de dependência● Baseado no JBoss Seam e Google Guice
  15. 15. JSF 2.0 (JSR-314)● Suporte a anotações● @ViewScoped● Facelets 2.0 embutido e PDL padrão● AJAX nativo e padronizado● SelectItems utilizável● faces-config apenas para regras de navegação
  16. 16. JSF 2.0 (JSR-314)● Exemplo
  17. 17. Perguntas?
  18. 18. Referências● http://jcp.org/● http://www.theserverside.com/tt/articles/article.t ss?l=NewFeaturesEJB31● http://www.theserverside.com/tt/articles/article.t ss?l=NewFeaturesEJB31-3● http://gilliard.eti.br

×