• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
EJB 3.1
 

EJB 3.1

on

  • 2,700 views

Slide da palestra EJB 3.1 apresentado no auditório do Uniceub pelo DFJUG (DF Java User Group) no dia 14/07/2010.

Slide da palestra EJB 3.1 apresentado no auditório do Uniceub pelo DFJUG (DF Java User Group) no dia 14/07/2010.

Statistics

Views

Total Views
2,700
Views on SlideShare
2,621
Embed Views
79

Actions

Likes
3
Downloads
73
Comments
0

1 Embed 79

http://waelson.com.br 79

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    EJB 3.1 EJB 3.1 Presentation Transcript

    •  
    • Sobre Mim
      • Trabalha com EJB desde a versão 2.1
      • Possui mais de 10 anos de experiência em TI
      • Arquiteto de Software Sênior
      • Instrutor da Bluestar Tecnologia desde 2006
      • Possui várias certificações Java
    • Sobre Você
      • Quantas pessoas utilizam ou já utilizaram EJB (qualquer versão)?
      • Quantas pessoas já precisaram escalar suas aplicações?
      • Quantas pessoas utilizam produtos não padronizados com as mesmas características?
    • Agenda
      • Visão Geral
      • Novas Características
      • Conclusão
      • Dúvidas e Perguntas
      • Visão Geral
    • Visão Geral
      • A comunidade foi ouvida
    • Visão Geral
      • Spec EJB 3.1
        • JSR 318
        • Iniciou em 17/07/2007
        • Release final liberada em 10/12/2009
        • Liderada por Kenneth Saks, Sun Microsystens
        • JPA definida pela JSR 317
    • Visão Geral
      • Objetivos
        • Simplificar a arquitetura EJB
        • Reduzir a complexidade
        • Adicionar novas funcionalidade
      • Novas Características
    • Novas Características
      • Singleton
      • Interface Opcional
      • Timer Service Melhorado
      • EJB na Camada Web
      • Session Bean Assíncronos
      • EJB Lite
      • Nomes JNDI Padronizados
      • EJB 3 Java SE Runtime
    • Novas Características
      • Singleton
        • Novo EJB
        • Similar ao pattern Singleton (GOF)
        • Boa opção para cache
        • Dispõem dos serviços do container
    • Novas Características
      • Singleton
        • É necessário controlar:
          • Concorrência
          • Integridade dos dados
        • Dois métodos
          • Container Managed Concurrency
            • O container controla concorrência baseada em annotation ao nível de método
          • Bean Managed Concurrency
            • O desenvolvedor é responsável pelo controle de concorrência
    • Novas Características
    • Novas Características
      • Singleton
        • Container Managed Concurrency
          • @Lock(READ)
            • Habilita leitura a todos os acessos
          • @Lock(WRITE)
            • Permite apenas um único acesso
          • @AccessTimeout(value=1, unit=SECONDS)
            • Aplicável a classes e métodos
            • Especifica o tempo que o método pode ficar bloqueado
    • Novas Características
    • Novas Características
    • Novas Características
      • Singleton
        • O Singleton pode ser iniciado junto com o container
          • Basta usar a annotation @Startup
    • Novas Características
    • Novas Características
      • Singleton
        • Um Singleton pode depender de outro durante a subida do container
          • @DependsOn – Define a sequência de inicialização dos EJBs
    • Novas Características
    • Novas Características
      • Interface Opcional
        • EJBs parecidos com POJO
        • Interfaces as vezes são desnecessárias
    • Novas Características
    • Novas Características
      • Time Service melhorado
        • Uso simplificado
        • Pode-se utilizar Annotations
        • Similar a Cron Linux
    • Novas Características
      • Time Service melhorado
        • Exemplo de limitações do EJB 3.0
          • Agendamento feito programaticamente
          • Tarefas executados apenas um vez ou em ciclos bem definidos
    • Novas Características
    • Novas Características
    • Novas Características
    • Novas Características
    • Novas Características
      • EJB na Camada Web
        • Modelo de empacotamento diferenciado para aplicações Web-Centric
        • EJBs dentro de WAR
        • JAR e WAR continuam existindo
    • Novas Características
    • Novas Características
    • Novas Características
      • Session Bean Assíncrono
        • Alternativa ao JMS
        • Uso de Annotations
        • APIs Future e AsyncResult
    • Novas Características
    • Novas Características
    • Novas Características
      • EJB Lite
        • Subconjunto da API EJB3.1 para Web Profile
        • Expansão da portabilidade do EJBs
        • Publicação do EJB podem ser feitas em
          • Web Profile
          • Full Profile
    • Novas Características
    • Novas Características
      • Nome JNDI Padronizado
        • Problema
          • Portabilidade dos EJBs não transparente para o cliente
    • Novas Características
      • Nome JNDI Padronizado
        • OC4J
          • Usa o nome especificado na annotation @Stateless
        • JBOSS
          • Usa application EAR + Nome do EJB + /remote
            • App/CustomerManager/remote
    • Novas Características
      • Nome JNDI Padronizado
        • Padrão
          • java:global[/application-name]/<module-name>/<bean-name>[!<fully-qualified-interface-name>]
          • java:app[/<module-name>]/<bean-name>[!<fully-qualified-interface-name>]
          • java:module/<bean-name>[!<fully-qualified-interface-name>]
    • Novas Características
      • Nome JNDI Padronizado
        • MyWebApp.war
          • java:global/MyWebApp/CustomerManager! br.com.waelson.CustomerManager
        • MyAppEJB.jar
          • java:app/MyAppEJB/CustomerManager!br.com.waelson.CustomerManager
        • MyApp.ear
          • java:module/MyApp/MyAppEJB/CustomerManager! br.com.waelson.CustomerManager
    • EJB 3 Java SE Runtime
      • Principais motivações:
        • Dificuldade em testes locais com EJB
        • Necessidade de rodar EJBs sobre a mesma JVM do cliente
    • EJB 3 Java SE Runtime
    • EJB 3 Java SE Runtime
      • São necessários 3 jars
        • accountEJB.jar
        • clienteAccount.jar
        • vendor-provider.jar
        • % java -cp account.jar:client.jar:vendor-provider.jar br.com.waelson.AccountTest
      • Conclusão
    • Conclusão
      • A cada versão torna-se mais fácil trabalhar com EJBs
      • JNDI Names portável
      • Novas funcionalidades
        • Asynchronous Beans e Singleton
    • Dúvidas e Perguntas
    • Contato
      • www.waelson.com.br
      • [email_address]
      • waelson