Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,788
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
76
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Java Enterpise Edition e as novidades da versão 6 Fabio Velloso fabio@soujava.org.br JAVALI@FISL10
  • 2. FISL10 - Fórum Internacional de Software Livre / JAVALI Esta obra está licenciada sob uma Licença Creative Commons http://creativecommons.org/licenses/by-nc-sa/2.0/br/
  • 3. FISL10 - Fórum Internacional de Software Livre / JAVALI Fabio Velloso  Bacharel em Ciência da Computação pela Universidade Federal de São Carlos-UFSCar  Fundador e Vice-Presidente do SouJava  Trabalha com tecnologia Java desde 96  Professor de SOA e Web Services do curso de Pós-Graduação "Lato-Sensu" em Desenvolvimento de Software para Web da UFSCar  Arquiteto de Integração e Sistemas na Telefonica
  • 4. FISL10 - Fórum Internacional de Software Livre / JAVALI Agenda  Java Enterprise Edition  Java Enterprise Edition 6  Java Authentication SPI for Containers  Contexts and Dependency Injection for JavaEE (anteriormente WebBeans)  Java API for RESTful Web Services  JavaServer Faces 2.0  Servlets 3.0  EJB 3.1
  • 5. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Platform
  • 6. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Enterprise Edition  Especificação de arquitetura para a criação de aplicações para servidores, exigindo alta disponibilidade, robustez, segurança, performance, escalabilidade e interoperabilidade.
  • 7. FISL10 - Fórum Internacional de Software Livre / JAVALI Camadas JEE
  • 8. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet - Request e Response HTTP
  • 9. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Web Technologies
  • 10. FISL10 - Fórum Internacional de Software Livre / JAVALI JavaServer Faces  Framework MVC padrão de JEE  JSR 128  Facilidade de desenvolvimento  Suporte visual de IDE's  Modelo de componentes Várias implementações Comunidade Open Source
  • 11. FISL10 - Fórum Internacional de Software Livre / JAVALI Enterprise Java Beans  Definição:  “Enterprise JavaBeans is a cross-platform component architecture for the development and deployment of multi-tier, distributed, scalable, object- oriented Java applications. Enterprise JavaBeans makes it easy to write business applications as components by providing a set of automatic services to support scalable transactional application server components. Enterprise JavaBeans can be deployed on top of existing transaction processing systems including traditional transaction processing monitors, web servers, database servers, application servers, etc. “  O único padrão para desenvolvimento de componentes server side para monitores transacionais, habilitando o desenvolvimento de aplicações distribuídas, transacionais, robustas, escaláveis e seguras.
  • 12. FISL10 - Fórum Internacional de Software Livre / JAVALI Java EE Timeline Fonte: TS-5055 (JavaOne 2009)
  • 13. FISL10 - Fórum Internacional de Software Livre / JAVALI Agenda  Java Enterprise Edition  Java Enterprise Edition 6  Java Authentication SPI for Containers  Contexts and Dependency Injection for JavaEE (anteriormente WebBeans)  Java API for RESTful Web Services  JavaServer Faces 2.0  Servlets 3.0  EJB 3.1
  • 14. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Authentication SPI for Containers  JSR 196  Final  Define uma interface padrão para integração de containers JEE com servidores de autenticação  Possibilita delegar o processo de autenticação a um servidor/ externo  Define SPI que amplia os conceitos de JAAS  Define “profiles” que estabelecem contratos para uso da SPI
  • 15. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Authentication SPI for Containers  Suporta o modelo de segurança declarativa de JEE  Possibilita a implementação de protocolos complexos como SOAP  Tokens SAML Kerberos service tickets  X509 Certificates Liberty
  • 16. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Authentication SPI for Containers  Client  Server Verifica tokens ou  Adiciona tokens e assinaturas assinatura Extraem datos  Chama o Discovery para Adiciona ao “Security localizar o serviço Context”
  • 17. FISL10 - Fórum Internacional de Software Livre / JAVALI Java Authentication SPI for Containers  Servlet Container Profile  LoginModule Bridge Profile Define a integração e delega o processamento de autorização de segurança a um JAAS Login Module  SOAP Profile  Profiles a definir Java Message Service  RMI/IIOP (Internet Inter-ORB Protocol)
  • 18. FISL10 - Fórum Internacional de Software Livre / JAVALI JavaServer Faces 2.0  JSR 314  Final Approval Ballot  Incorporação de Facelets  Suporte a AJAX nativo <h:commandButton id="btnDeleteSprint" action="#{sprintManager.remove}" value="Delete" onclick="jsf.ajax.request(this, event, {execute: 'frmListSprints', render: 'frmListSprints'}); return false;"/>
  • 19. FISL10 - Fórum Internacional de Software Livre / JAVALI JavaServer Faces 2.0  Composite Componentes: Componentes customizados mais fáceis de desenvolver  Não precisa de XML  Não precisa criar CustomTag  É um componente real, pode ter conversores e validadores
  • 20. FISL10 - Fórum Internacional de Software Livre / JAVALI JavaServer Faces 2.0  Mínimo de configuração Mais anotações menos XML Navegação implícita Declaração e configuração de ManagedBeans em anotações  Maior flexibilidade na navegação Suporte a EL dentro do facesconfig.xml; Navegação condicional (if) no facesconfig.xml
  • 21. FISL10 - Fórum Internacional de Software Livre / JAVALI JavaServer Faces 2.0  Processamento e atualização parcial da árvore de componentes  Melhor suporte a “Resources” como CSS, arquivos JavaScript com novas tags:  <h:outputStylesheet library="css/1_1" name="common.css"/>  <h:outputScript library="js" name="menu.js" target="head"/>  Novos escopos : CustomScope ViewScope Acesso via EL #{viewScope.attrName}
  • 22. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  JSR 315  Proposed Final Draft  Non-blocking I/O  Processamento assíncrono  Maior número de usuários concorrentes  Anotações para declarar Servlets, Filters, Listeners e segurança  Web.xml opcional, porém se utilizado suas definições valem sobre as anotações
  • 23. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  @WebServlet Classe anotada é um Servlet Precisa declarar a “URL pattern” Outros parâmetros são opcionais Exemplo: Nome é o full qualified name da classe Classe precisa declarar extends HttpServlet Métodos doGet, doPost são herdados
  • 24. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Exemplos:  @WebServlet(“/hello”) public class Exemplo extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { } }  @WebServlet(urlPatterns=“/hello”, name=”JavaliServlet”, asyncSupported=true) public class Exemplo extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { } }
  • 25. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  @WebFilter Classe anotada é um filtro Precisa declarar a “URL pattern” do filtro Outros parâmetros são opcionais  Classe precisa declarar implements Filter  Exemplo:  @WebFilter(“/javaliFilter”) public class Exemplo implements Filter { public void doFilter(HttpServletRequest req, HttpServletResponse res) { } }
  • 26. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Pluggability Modularidade do web.xml com fragmentos Alterar parâmetros definidos via anotações Não é necessário escrever todo o web.xml  Exemplos de uso: Logging e Filters de segurança Declarar Listeners para executar ações em diferentes pontos da aplicação
  • 27. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Exemplo: <web-fragment> <servlet> <servlet-name>hello</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <listener> <listener-class>RequestListener</listener-class> </listener> </web-fragment>
  • 28. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Fragmentos podem ser ordenados  Exemplo: web-fragment1.xml <web-fragment> <name>fragmento1</name> <ordering><after>fragmento2</after></ordering> </web-fragment>  <after> - carregado após o fragmento descrito  <before> - carregado antes do fragmento descrito  <others> - indica ordem que é carregado na lista Com <before> - no início Com <after> - ao final
  • 29. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Asynchronous Servlets  Evitar gargalos com recursos como Conexão JDBC Web Services JMS Outro recurso acessado pela aplicação  Retorna o processamento ao container  Outra thread ou callback retorna o resultado paralelo executado em paralelo
  • 30. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Programmatic Security Usado quando a segurança declarativa não é suficiente Métodos de HttpServletRequest interface: login logout getRemoteUser isUserInRole getUserPrincipal
  • 31. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Suporte a anotações de seguranca @RolesAllowed Grupo que tem acesso ao recurso @DenyAll Recurso não acessíveis a usuário @PermitAll Recurso acessível a todos usuários @TransportProtected Uso de SSL  Aplicável a classes e métodos
  • 32. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  Exemplo: @WebServlet("/soujava") @RolesAllowed("users"); public class TestServlet extends HttpServlet { @PermitAll protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {} @RolesAllowed("javali") protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {} @DenyAll protected void doTrace(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {} }
  • 33. FISL10 - Fórum Internacional de Software Livre / JAVALI Servlet 3.0  @WebInitParam @WebServlet(name="hello", urlPatterns={"/hello"}, initParams={ @InitParam(name="evento", value="Javali"), @InitParam(name="local", value="Porto Alegre") }) public class JavaliServlet extends javax.servlet.http.HttpServlet{ }  @MultipartConfig  Define o mime/multipart suportado pelo Request
  • 34. FISL10 - Fórum Internacional de Software Livre / JAVALI JSR 299  Contexts and Dependency Injection for JavaEE (anteriormente WebBeans)  Public Review Ballot  Modelo unificado de injeção de dependência  Modelo para uso integração entre camada Web e transacional  Possibilita o uso direto de um EJB em páginas JSF  Define uma Service Provider Interface (SPI) para integração de novas anotações
  • 35. FISL10 - Fórum Internacional de Software Livre / JAVALI JSR 299 O que pode ser injetado Classes Java EJB Session Beans Java EE resources (Datasources, JMS topics/queues, etc) Persistence contexts (JPA EntityManager) Referências a Web services Referências remotas a EJBs Framework é aberto a novos tipos
  • 36. FISL10 - Fórum Internacional de Software Livre / JAVALI JSR 299  @Named(“<nome>”)  Habilita uso com Unified Expression language expressions  Nome definido em  Nome default da classe @Named public public @Named @Named(“hello”) class Hello { class Hello { public String sayHello (String name) { public String sayHello return “hello “ + name; (String name) { } return “hello “ + name; } } }
  • 37. FISL10 - Fórum Internacional de Software Livre / JAVALI JSR 299  Unified EL Objeto pode ser usado diretamente em uma página JSP ou JSF:  <h:commandButton value=”Say Hello” action=”#{hello.sayHello}”/> <h:commandButton value=”Say Hello” action=”#{Hello.sayHello}”/>
  • 38. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  JSR 318 Proposed Final Draft – Março 2009 Versão final planejada para Q3 2009  Simplificar desenvolvimento  Reduzir número de interfaces  Minimizar uso de deployment descriptors  Java Persistence API (JPA) passa a ser definida em uma JSR separada (JSR 317)
  • 39. FISL10 - Fórum Internacional de Software Livre / JAVALI JEE 6 - Empacotamento simplificado JEE 5 – WEB e EJB JEE 6 Fonte: TS-5055 (JavaOne 2009)
  • 40. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Local Business Interfaces opcionais  Empacotamento simplificado  API simplificada de EJB 3.1  Portable JNDI Names  Simple Component Testing  Passam a ser opcionais CMP e JAX-RPC
  • 41. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Optional Local Business Interfaces Classe simples, sem uma interface local Todos métodos públicos são acessíveis ao cliente Injeção de dependência com @EJB ou lookup para a referência do objeto Client não chama new() do bean Modelo de programação permanece igual ao com Local Business Interface
  • 42. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  EJB segue o mesmo modelo de desenvolvimento atual @Stateless public class HelloBean { public String sayHello(String msg) { return “Hello “ + msg; } }
  • 43. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Session Bean com Local Business Interface Fonte: TS-4605 (JavaOne 2009)
  • 44. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Uso no cliente por injeção de dependência  Chamando diretamente o EJB @EJB HelloBean hello; ... hello.sayHello(“FISL”);  JNDI Lookup @Resource SessionContext ctx; HelloBean hello = (HelloBean)ctx.lookup(“hello”);
  • 45. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB “Lite”  Subset de EJB 3.1 API para Web Profiler  Expansão da portabilidade de EJBs, sem perda da portabilidade  Mesma publicação pode ser feita no “Web Profile” e “Full Profile” Sem alteração no modelo de desenvolvimento Possível pela simplificação do empacotamento .war
  • 46. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB Profiler's Lite Full (Lite e as seguintes funcionalidades) Local Session Bean Message Driven Beans Annotations /ejb-jar.xml EJB Web Services endpoint CMT e BMT RMI-IIOP intereoperability Segurança declarativa 2.x e 3.x Remote view Interceptor 2.x Local view JPA 2.0/ JTA 1.1 Timer Service CMP e BMP Assynchronous Beans
  • 47. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Portable JNDI names  Sintaxe: java:global[/<app-name>]/<module-name>/<bean- name>[!<fully-qualified-interface-name>]  Por default usa o nome do pacote do bean  Pode ser alterado no application.xml  Pode ser alterado no ejb-jar.xml ou web.xml  Simplifica Local Session lookups entre aplicações  Simplifica o mapeamento de referências a Session beans entre aplicações  Melhora a portabilidade de clientes remotos
  • 48. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 - Portable JNDI names  Nome único global java:global[/<app-name>]/<module- name>/<ejb-name>  Nome único na mesma aplicação java:app[/<module-name>]/<ejb-name>  Nome único no módulo java:module/<ejb-name>
  • 49. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Exemplo: package org.soujava; @Stateless public class HelloBean implements Hello { ... }
  • 50. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  HelloBean empacotado em helloejb.jar e helloapp.ear java:global/helloapp/helloejb/HelloBean java:global/helloapp/helloejb/HelloBean! org.soujava.Hello java:app/helloejb/HelloBean java:app/helloejb/HelloBean!org.soujava.Hello java:module/HelloBean java:module/HelloBean!org.soujava.Hello
  • 51. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  HelloBean empacotado em helloweb.war java:global/helloweb/HelloBean java:global/helloweb/HelloBean!org.soujava.Hello java:app/HelloBean java:app/HelloBean!org.soujava.Hello java:module/HelloBean java:module/HelloBean!org.soujava.Hello
  • 52. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Singleton Componente instanciado uma única vez por aplicação Criado para compartilhamento e suporte a acesso concorrente Em aplicações distribuídas em várias JVMs, existirá uma instância do componente por JVM para cada aplicação
  • 53. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Exemplo Singleton  Exemplo Client @Singleton @Stateless public class SharedBean { public class FooBean { private SharedData shared; // Injeção da referência ao @PostConstruct Singleton bean private void init() { @EJB shared = ...; private SharedBean shared; } public void foo() { public int getData() { int var = shared.getData(); return shared.data; } } } }
  • 54. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Singleton Necessário controlar: Concorrência Integridade de dados Dois mecanismos: Container Managed Concurrency O container controla a concorrência baseado em anotações ao nível de método Bean Managed Concurrency Container habilita acesso total a instância e delega ao desenvolvedor a responsabilidade de controle É necessário definir um dos modelos
  • 55. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Singleton Container Managed Concurrency @Lock(READ) Habilita leitura a todos acessos @Lock(Write) Controla a concorrência permitindo um único acesso @AccessTimeout(value=1,unit=SECONDS) Aplicavel a classes e métodos Especifica o tempo de bloqueio antes do timeout
  • 56. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Singleton  Singleton com Timeout @Singleton @Singleton @Lock(READ) public class SharedBean { public class SharedBean { private SharedData shared; private SharedData shared; @Lock(READ) @AccessTimeout(value=1, unit=SECONDS) public int getData() { public int getData() { return shared.data; return shared.data; } } @Lock(WRITE) public void update(...) { public void update(...) { // update shared data // update shared data } }
  • 57. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  BeanManaged Concurrency Controle pelo desenvolvedor  Exemplo: @Singleton @ConcurrencyManagement(BEAN) public class SharedBean { private SharedData shared; synchronized public int getData() { return shared.data; } synchronized public void update(...) { // update shared data } }
  • 58. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  Singleton é inicializado pelo container no momento mais apropriado  @Startup indica ao container que o Singleton deve ser inicializado junto com a aplicação  Exemplo @Singleton @Startup public class StartupBean { @PostConstruct private void onStartup() { } @PreDestroy private void onShutdown() { }
  • 59. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1  @DependsOn Define um grau de dependência para sequência de inicialização de EJBs Exemplo: @Singleton public class B { ... } @DependsOn(“B”) @Singleton public class A { ... } Container deve garantir que A é inicializado após B
  • 60. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Timer Service  Calendar-based timeout (EJB 2.1)  Persistente (shutdown/restart)  Executado quando “expira”  Exemplo: ScheduleExpression schedule = new ScheduleExpression().dayOfWeek(“Sat”).hour(1); //1:00 AM Timer timer = timerService.createCalendarTimer(schedule);  Novidades com EJB 3.1 Automatic timer creation Cron-based scheduling
  • 61. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Timer Service  Calendar-based timeout Semântica similar ao Cron Criado automaticamente ou por programação Named attributes second, minute, hour (default = “0”) dayOfMonth, month, dayOfWeek, year (default = “*”)  Attribute Syntax  Single value : minute = “30”  Lista : month = “Jan, Jul, Dec”  Faixa : dayOfWeek = “Mon-Fri”  Wild card : hour = “*”  Incremental : minute = “*/10”
  • 62. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Timer Service  Exemplos de Calendar Expression: “A cada 15 segundos” (second=”*/15”, minute=”*”, hour=”*”) “Último domingo de Março às 2h.” (hour=”2”, dayOfMonth=”LastSun”,month=”Mar”) “Todo dia 2:30 p.m. U.S. Eastern Time” (minute=”30”, hour=”14”,timezone=”America/New_York”)
  • 63. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Timer Service  Automatic Timer Creation Container cria o timer automaticamente após o deployment Equivale a chamada: TimerService.createCalendarTimer() Definido por anotação ou no deployment descriptor ejb-jar.xml
  • 64. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Timer Service  Automatic Timer Creation  Container cria o timer automaticamente após o deployment Equivale a TimerService.createCalendarTimer()  Definido por anotação ou no deployment descriptor ejb- jar.xml Exemplo: @Stateless public class SendStatements { @Resource javax.mail.Session mailSession; // Callback the last day of each month at 8 a.m. @Schedule(hour=”8”, dayOfMonth=”Last”) void sendMonthlyBankStatements() { }}
  • 65. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Embeddable API  Possibilita execução de EJBs no mesmo processo de aplicações client com JSE  Mesmo comportamento e ciclo de vida quando executado em um container JEE CMT/BMT, injection, threading guarantees  Suporte mandatório mínimo é 3.1 “Lite” API Opcionalmente pode-se adicionar outras funcionalidades
  • 66. FISL10 - Fórum Internacional de Software Livre / JAVALI EJB 3.1 – Embeddable API  Exemplo: public class BankTester { public static void main(String[] args) { EJBContainer container = EJBContainer.createEJBContainer(); // Acquire Local EJB reference Bank bank = (Bank) container.getContext(). lookup(“java:global/bank/BankBean”); testAccountCreation(bank); }
  • 67. FISL10 - Fórum Internacional de Software Livre / JAVALI JAX-RS  Java API for RESTful Web Services  JSR 311  Objetivos: Suporte a RESTful em Java Programação declarativa Modelo de anotações Facilitar o desenvolvimento  JSE5 e JEE5 ou superior  Integrado ao JEE6 (JSR 313)
  • 68. FISL10 - Fórum Internacional de Software Livre / JAVALI JAX-RS  @Path - Indica que o recurso é exposto como uma REST Web Services  @GET – Indica que o método Java é acessível pelo metodo GET HTTP  Exemplo:  @Path("/helloWorld") public class HelloWorldRest { @GET public String sayHello() { return "hello from Java REST; }}  http://localhost/SouJava/resources/helloWorld
  • 69. FISL10 - Fórum Internacional de Software Livre / JAVALI JAX-RS - @Path – sub recursos  Exemplo: @Path("noticias") public class ListaNoticias { @GET @Path("esporte") public String getNewsSport() {...} @GET @Path("economia") public String getNewsEconomy() {...} } http://localhost/fisl/resources/noticias/economia
  • 70. FISL10 - Fórum Internacional de Software Livre / JAVALI JAX-RS - EJB  EJB Session Bean como serviço REST  Disponível no JEE 6  Exemplo: @Stateless @Path("ssb") public class StatelessSessionRootResource { @Context private UriInfo ui; @GET public String get() { return "GET: " + ui.getRequestUri().toASCIIString(); }}
  • 71. What is GlassFish ? • Open Source Community > Users, Partners, Testers, Developers, ... > Started in 2005 on java.net • Application Server > Java EE 5 and 6 Reference Implementation > Enterprise Quality and Open Source > Full Commercial Support from Sun Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 71
  • 72. State of GlassFish • GlassFish v2 > Java EE 5 Reference Implementation > Clustering, Load Balancing, High Availability > Web-based/CLI Administration Console > .NET 3.x/4.x Web services Interoperability > Current Release: 2.1 • GlassFish v3 > Java EE 6 Reference Implementation > Modular (OSGi), Embeddable, Extensible > Java EE, Rails, Grails, Django, ... > Current Release: v3 Preview Creating Quick and Powerful Web Applications with MySQL, GlassFish, and NetBeans/Eclipse 72
  • 73. FISL10 - Fórum Internacional de Software Livre / JAVALI Conclusão  Facilidade de desenvolvimento  Compatibilidade com versões anteriores  Modelo de anotações  Alterações em todas camadas  GlassFish v3 Java EE 6 Reference Implementation  Modelo robusto para desenvolvimento de aplicações corporativas
  • 74. FISL10 - Fórum Internacional de Software Livre / JAVALI Referências  Java Comunnity Process www.jcp.org  JavaOne http://www.cplan.com/javaone2009/contentcatalog/  Glassfish https://glassfish.dev.java.net/
  • 75. FISL10 - Fórum Internacional de Software Livre / JAVALI Obrigado Fabio Velloso fabio@soujava.org.br