EJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1
|
|
- Matheus Henrique Armando Galvão Cipriano
- 8 Há anos
- Visualizações:
Transcrição
1 EJB Session Beans J2EE (C. Geyer) Introdução a SessionBean 1
2 Autores! Autores " Cláudio Geyer " Eduardo Studzinski Estima de Castro (EJB 3.0) " Gisele Pinheiro Souza (EJB 3.0) J2EE (C. Geyer) Introdução a SessionBean 2
3 Local! Local " Instituto de Informática " UFRGS " Disciplinas: " Programação Distribuída e Paralela " Programação com Objetos Distribuídos " Versão " V30, abril 2012 J2EE (C. Geyer) Introdução a SessionBean 3
4 Súmula! Súmula " JEE: Session Beans # conceitos de Session Beans # conceitos básicos de programação # exemplo # Servidor de saudação ( Hello World ) J2EE (C. Geyer) Introdução a SessionBean 4
5 ! Bibliografia Bibliografia " Tutorial Sun JEE # Versão 5 # # Part IV, caps 20 a 23 # Session beans # Caps 21 e 22 # Versão 6 # # Part IV, caps 16 a 19 # Session beans # Caps 17 e 18 J2EE (C. Geyer) Introdução a SessionBean 5
6 SB: características! Session bean " Define uma sessão de um cliente dentro do servidor EJB " Uma instância de session bean para cada cliente # Não pode ser compartilhado " Não persistente, estado efêmero " Destruído quando cliente termina " Depende do tipo abaixo " Tipos # Stateless: sem estado # Stateful: com estado J2EE (C. Geyer) Introdução a SessionBean 6
7 ! Session bean com estado (Stateful) " Estado: # possui variáveis de instância " Também chamado estado conversacional SB: características # Estado da conversa entre 1 cliente e 1 session bean " Estado desaparece quando o cliente termina ou o container remove o EJB (sessão) " Eventualmente servidor pode gravar um session com estado em memória persistente A recuperação de stateless session beans é bem mais fácil que em stateful beans, pois o estado de stateless beans não precisa ser retido. J2EE (C. Geyer) Introdução a SessionBean 7
8 SB: características! Session bean sem estado (Stateless) " Não mantém estado da conversa com cliente " Pode conter variáveis de instância # Mas conteúdo é mantido somente durante invocação de um método do EJB " Para cada invocação, qualquer instância da classe EJB pode ser usada para qualquer cliente # Mais eficiente # Servidor pode manter uma lista (pool) de EJB # Para uma mesma quantidade de clientes # Menor número de sem estado do que com estado J2EE (C. Geyer) Introdução a SessionBean 8
9 Quando Usar Session Beans! Quando usar session beans " Em cada momento, somente um cliente tem acesso ao bean " Não há necessidade de persistência! Quando usar com estado (Stateful) " Bean representa estado da interação entre servidor e cliente " Estado deve ser mantido entre múltiplas chamadas " Bean gerencia a interação do cliente com outros componentes da aplicação J2EE (C. Geyer) Introdução a SessionBean 9
10 Quando Usar Session Beans! Quando usar sem estado (Stateless) " Para aumentar o desempenho " Bean não mantem estado específico de um cliente " Em uma invocação pode realizar uma tarefa para todos os clientes " Em uma invocação, o bean pode acessar um conjunto de dados persistentes # Por exemplo, as linhas de uma tabela com as vendas do mês via Entity (persistência) J2EE (C. Geyer) Introdução a SessionBean 10
11 ! Session x persistência (uso de HD,...) " Session bean sem estado # Pode ter 1 para k clientes # Nunca são gravados em memória persistente pelo container # Mais eficientes Session x persistência " Session bean com estado # Deve estar presente em toda a sessão do cliente # Um (1) por cliente # Container faz swap in/out para otimizar uso da memória (RAM) # Menos eficientes J2EE (C. Geyer) Introdução a SessionBean 11
12 Ciclos de Vida dos EJB! Ciclo de vida dos EJB 3.0 " Stateful session bean # 1: cliente declara referência anotada # 2, 3, 4: controlado pelo container # PostActivate e PrePassivate: container chama EJB # Em swap do EJB # métodos de negócios: programador pode adicionar # Classe app: não há create (), remove() Fonte: The Java EE 6 Tutorial. Sun Microsystems. J2EE (C. Geyer) Introdução a SessionBean 12
13 J2EE (C. Geyer) Introdução a SessionBean 13
14 Ciclos de Vida dos EJB! Ciclo de vida dos EJB " Stateful session bean # Algoritmo de passivate # Normal: least-recently-used # Chamada do ejbpassivate() (2.1) ou PrePassivate() callback method (3.0) # Antes do EJB ser passivate # Chamada do Activate: # quando cliente volta a chamar o EJB J2EE (C. Geyer) Introdução a SessionBean 14
15 Ciclos de Vida dos EJB! Ciclo de vida dos EJB 3.0 " Stateless session bean # 1, 2: a cada chamada de métodos de negócio pelo cliente caso o EJB não exista (pool) Fonte: The Java EE 5 Tutorial. Sun Microsystems. J2EE (C. Geyer) Introdução a SessionBean 15
16 J2EE (C. Geyer) Introdução a SessionBean 16
17 Exemplo de Session Bean! Exemplo de código com Session Bean " aplicação Hello World " especificação do Saudação # fonte: Wutka. Using JEE. (EJB 2.1) # modelo cliente/servidor # servidor # retorna uma saudação a pedido do cliente # guarda uma nova saudação a pedido do cliente # tem somente uma saudação em cada momento J2EE (C. Geyer) Introdução a SessionBean 17
18 ! Especificação do Saudação " idéia de implementação # servidor: # cliente # 1 session bean com estado # cria sessão Especificação # interage com o servidor pedindo saudações ou passando saudações # remove sessão J2EE (C. Geyer) Introdução a SessionBean 18
19 Exemplo para a versão 3.0 J2EE (C. Geyer) Introdução a SessionBean 19
20 Exemplo SB EJB 3.0! Session Beans com estado: " Passos # Criação da interface de negócio # interface de negócio # Implementação da classe session bean " Exemplo: Hello World # Com métodos set e get J2EE (C. Geyer) Introdução a SessionBean 20
21 Exemplo SB EJB 3.0! Criação da interface de negócio " Não há necessidade de estender interfaces " Métodos de negócio para clientes # Não necessita definir a exceção RemoteException ou qualquer outra pré-definida " Nome da interface: livre " Sem imports para pacotes ejb ou rmi " Em resumo: uma interface normal Java (POJO) J2EE (C. Geyer) Introdução a SessionBean 21
22 Exemplo SB EJB 3.0! Criação da interface de negócio " package ufrgs.hello; /** Define os métodos que o cliente pode invocar */ /** Interface normal: sem herança */ public interface HelloWorldSession { } /** Retorna a mensagem de saudação */ public String getgreeting(); /** Modifica a mensagem de saudação*/ public void setgreeting(string agreeting); /** Define uma mensagem de saudação */ public void startup(string agreeting); J2EE (C. Geyer) Introdução a SessionBean 22
23 Exemplo SB EJB 3.0! Criação da interface home " Não existe mais essa interface; " Sessions não tem mais construtores com parâmetros; # Problema? J2EE (C. Geyer) Introdução a SessionBean 23
24 ! Classe implementação do session bean Exemplo SB EJB 3.0 " Deve implementar a interface de negócio # No exemplo: HelloWorldSession " Métodos obrigatórios # Não existe nenhum método obrigatório # Métodos do ciclo de vida : # Nome # especificados usando anotações como: (antigo: ejbpassivate) (antigo: ejbactivate) J2EE (C. Geyer) Introdução a SessionBean 24
25 Exemplo SB EJB 3.0! Classe implementação do session bean " Construtor # Não pode ter parâmetros # Não obrigatório " Métodos da interface de negócio # Implementar J2EE (C. Geyer) Introdução a SessionBean 25
26 Exemplo SB EJB 3.0! Classe implementação do session bean " Construtor # Não pode ter parâmetros # Não obrigatório " Métodos da interface de negócio # Implementar " Restrições graves? J2EE (C. Geyer) Introdução a SessionBean 26
27 ! Classe implementação do session bean Exemplo SB EJB 3.0 " Outros requisitos # Classe pública # Não pode ser nem abstract nem final # Abstract # Contém 1 ou mais métodos abstract # Não pode ser instanciada # Final # Não pode ser alterada " Restrições graves? J2EE (C. Geyer) Introdução a SessionBean 27
28 Exemplo SB EJB 3.0! Classe implementação do session bean " Métodos de negócio # Devem ser públicos; # Não podem ser nem estáticos nem final; " Restrições graves? J2EE (C. Geyer) Introdução a SessionBean 28
29 ! Classe implementação do session bean " package ufrgs.hello; Exemplo SB EJB 3.0 import javax.ejb.stateful; import javax.ejb.remote; /** Implementação da classe EJB do bean HelloWorldSession */ /** Classe normal - POJO: somente contrato da interface de negócio */ public class HelloWorldSessionImpl implements HelloWorldSession { /** Mantém a saudação da sessão */ private String greeting; J2EE (C. Geyer) Introdução a SessionBean 29
30 Exemplo SB EJB 3.0! Classe implementação do session bean /** Um EJB pode ter um construtor público sem parâmetros */ public HelloWorldSessionImpl() { } J2EE (C. Geyer) Introdução a SessionBean 30
31 ! Classe implementação do session bean Exemplo SB EJB 3.0 /** a anotação indica que essa método será executado logo após a invocação pelo cliente de uma instância desse bean - obs.: impede a criação com distintas saudações? public void defaultgreeting() { greeting = "Hello World!"; } J2EE (C. Geyer) Introdução a SessionBean 31
32 Exemplo SB EJB 3.0! Classe implementação do session bean /* Em razão da inexistência de construtores parametrizados: caso um parâmetro seja necessário, pode-se chamar um método usado para inicialização após o recebimento da instância */ public void startup(string agreeting) { greeting = agreeting; } J2EE (C. Geyer) Introdução a SessionBean 32
33 ! Classe implementação do session bean Exemplo SB EJB 3.0 " /** Retorna a saudação da sessão */ public String getgreeting() { return greeting; } /** Modifica a saudação da sessão */ } public void setgreeting(string agreeting) { greeting = agreeting; } J2EE (C. Geyer) Introdução a SessionBean 33
34 Comentários! Comentários (alguns válidos somente para SB 2.1) " alguns IDE geram automaticamente certos arquivos (ou partes de) " seguir convenção de nomes " método construtor da classe # não usado (nem indiretamente) pelos clientes # em termos Java os objetos são construídos sob controle do container " método setsessioncontext pode estar vazio # variável context não usada em outros métodos J2EE (C. Geyer) Introdução a SessionBean 34
35 Usando o SB! Usando o bean " geral: criar um arquivo jar # alguns descritores em XML # classes auxiliares conforme container e as classes do EJB J2EE (C. Geyer) Introdução a SessionBean 35
36 ! Usando o bean Usando o SB " no JEE SDK (Sun) # tool deploytool (diretório bin) # new application no file menu # nome do EAR a criar (EAR é um arquivo jar) # new EB (EJB) no file menu # add button no new EB wizard # selecionar arquivos # HelloWorldSession.class # HelloWorldSessionHome.class # HelloWorldSessionImpl.class # indicar os nomes das classes do EB # no caso: mesmas dos arquivos J2EE (C. Geyer) Introdução a SessionBean 36
37 Usando o SB! Usando o bean " no JEE SDK (Sun) # opcional: nome para display na deploytool # session ou entitity bean # se session # stateless ou stateful # continuar até finish # HelloWorld bean é simples # pronto para uso J2EE (C. Geyer) Introdução a SessionBean 37
38 ! Usando o bean Usando o SB " disparar o EJB server (ou verificar se está rodando) # às vezes pode-se indicar o server na deploytool " tools menu: selecionar Deploy Application " geração de classes adicionais # BEA s Weblogic # ao criar jar file # JEE SDK (Sun) # no deploytool # classe auxiliar do cliente (stub) # BEA s Weblogic: dinamicamente # JEE SDK (Sun): arquivo deve ser explicitado J2EE (C. Geyer) Introdução a SessionBean 38
39 Usando o SB! Usando o bean (versão 3.0) " Igual aos passos descritos na versão 2.1; " Observando que certos itens não são mais necessários ou não mais existem " Exemplo, interface home " Pequenas diferenças podem surgir, devido a novas implementações; J2EE (C. Geyer) Introdução a SessionBean 39
40 ! Cliente Hello " Injeção Exemplo SB: cliente # O uso da permite a injeção a um determinado bean # não havendo a necessidade de utilizar chamadas a métodos nativos da JNDI API # O uso de métodos nativos é suportado por # questões de compatibilidade # permissão para invocação de beans localizados em máquinas remotas # criação de nova instâncias # create J2EE (C. Geyer) Introdução a SessionBean 40
41 Exemplo SB: cliente! Cliente Hello " Criação do session bean # Uso de injeção; " Interação # Chamada de métodos de negócio do bean # get e set saudação J2EE (C. Geyer) Introdução a SessionBean 41
42 ! Cliente Hello " package ufrgs.hello; Exemplo SB: cliente import j avax.ejb.ejb; public class TestHello { /* Injeção de uma instância */ /* Notar: uso da interface private HelloWorldSession bean; public static void main( String[] args) { J2EE (C. Geyer) Introdução a SessionBean 42
43 Cliente Hello Exemplo SB: cliente " /** Obtém greeting, altera greeting */ System.out.println( A saudação padrão é "+ session.getgreeting()); session.setgreeting( Olá Brasil!"); System.out.println( A saudação agora é +session.getgreeting()); J2EE (C. Geyer) Introdução a SessionBean 43
44 Exemplo SB: cliente A realiza a injeção de apenas uma instância, para ser usada outra instância é necessário anotar outra variável ou realizar a invocação utilizando a JNDI API;! Cliente Hello! /** Modifica a saudação */ session.startup("guten Tag!"); System.out.println( Nova saudação + session.getgreeting()); } /* fim do método */ } /* fim da classse*/ J2EE (C. Geyer) Introdução a SessionBean 44
45 Resumo: Session Beans! Resumo " Finalidade # Todas as operações de uma sessão de um cliente " Ciclo de vida # Limitado à vida do cliente " Relação cliente x SB # 1 (único) cliente para cada SB # -> sem acesso concorrente por n clientes # -> sem necessidade de sincronização J2EE (C. Geyer) Introdução a SessionBean 45
46 Resumo: Session Beans! Resumo " Tipos # Com estado # Sem estado # Definição por anotação: -> exige recompilação em mudança J2EE (C. Geyer) Introdução a SessionBean 46
47 Resumo: Session Beans! Resumo " Com estado # Garante valor dos atributos entre chamadas # Container faz swap em disco para otimizar uso da memória " Sem estado # Não garante... # Container cria um pool de objetos para todos os clientes " Criação # Por solicitação do cliente J2EE (C. Geyer) Introdução a SessionBean 47
48 Resumo: Session Beans! Resumo " Codificação # Interface (comum) com métodos de negócio para os clientes # Classe (comum) " Cliente # Anotada como SB com ou sem estado # Métodos da interface e internos # Métodos de callback (de sistema): opcionais e por anotação # Referência a um SB anotada J2EE (C. Geyer) Introdução a SessionBean 48
49 Versão EJB 3.1: novidades! Versão EJB 3.1 " Novidades # Bean sem interface # Somente para acesso local # Todos os métodos públicos são acessíveis # Referência no cliente do tipo classe (não interface) # Bean singleton # Uma única instância em uma instalação # Variações em # Quando o bean é criado # Uso do método PostConstruct de callback J2EE (C. Geyer) Introdução a SessionBean 49
50 Versão EJB 3.1: novidades! Versão EJB 3.1 " Novidades # Chamada assíncrona # Independência entre local e remota # Opção de resposta no futuro # Nomes globais # Comuns a diversas aplicações e instalações # Novo serviço de Timer # Para operações periódicas # EJB Lite # Versão com um implementação mínima e mais leve J2EE (C. Geyer) Introdução a SessionBean 50
51 Versão EJB 3.1: novidades! Versão EJB 3.1 " Novidades # Empacotamento mais simples # Junto com arquivo war # war: módulo web # Container embutido (embeddable) # Disparado dentro de uma JVM com carregador de classes # Não precisa de container JEE completo # Classe com método estático para instanciar container J2EE (C. Geyer) Introdução a SessionBean 51
52 Exercícios! Exercícios " A) compare com RMI # criação # estado # compartilhamento # sincronização # escalabilidade # complexidade / simplicidade para uso (desenvolvimento) # outros recursos " B) compare com C# Remoting # idem J2EE (C. Geyer) Introdução a SessionBean 52
53 Revisão! Revisão de Session Beans " qual a finalidade de session beans? " qual a relacionamento entre clientes e session beans? " quais os tipos de session beans? " quando se usa um tipo e outro? " qual o mais eficiente e porque? " quais as interfaces? " quais os métodos declarados em cada interface? J2EE (C. Geyer) Introdução a SessionBean 53
54 Revisão! Revisão de Session Beans " quais as 2 variações nos tipos de acesso às interfaces? " quando se usa um e outra? " como um cliente acha um tipo de session bean? " como um cliente obtém um session bean (objeto)? " quais os métodos implementados na classe session bean? J2EE (C. Geyer) Introdução a SessionBean 54
55 Bibliografia! Bibliografia " Orfali, R., Harkey, D.: Client-Server Programming with Java and CORBA - 2a. Edição. " Wutka, Mark. Special Edition Using Java 2 Enterprise Edition. QUE " Tutoriais e material disponível em: java.sun.com J2EE (C. Geyer) Introdução a SessionBean 55
56 Exemplo para a versão 2.1 J2EE (C. Geyer) Introdução a SessionBean 56
57 Ciclos de Vida dos EJB! Ciclo de vida dos EJB 2.1 " Stateful session bean # 1: cliente chama container # 2, 3: container chama EJB # ejbactivate e ejbpassivate: container chama EJB # swap do EJB # métodos ejb: programador pode adicionar J2EE (C. Geyer) Introdução a SessionBean 57
58 Ciclos de Vida dos EJB! Ciclo de vida dos EJB 2.1 " Stateless session bean # 1, 2: a cada chamada de métodos de negócio pelo cliente caso o EJB não exista (pool) J2EE (C. Geyer) Introdução a SessionBean 58
59 SB: passos! Session Beans " Session Bean com estado: passos # criação da interface remota # preferível iniciar pela interface de negócio # criação da interface home # implementação da classe session bean # exemplo: Hello World # com métodos set e get J2EE (C. Geyer) Introdução a SessionBean 59
60 SB: interface remota! Criação da interface remota " estende EJBObject " métodos de negócio para clientes # com exceção RemoteException " nome da interface: livre " import java.rmi e javax.ejb J2EE (C. Geyer) Introdução a SessionBean 60
61 ! Criação da interface remota " package usingj2ee.hello; SB: interface remota import java.rmi.*; import javax.ejb.*; /** Defines the methods you can call on a HelloWorldSession object */ public interface HelloWorldSession extends EJBObject J2EE (C. Geyer) Introdução a SessionBean 61
62 SB: interface remota! Criação da interface remota (cont.) " /** Returns the session's greeting*/ public String getgreeting() throws RemoteException; /** Changes the session's greeting */ public void setgreeting(string agreeting) throws RemoteException; } J2EE (C. Geyer) Introdução a SessionBean 62
63 SB: interface home! Criação da interface home " import: idem " estende EJBHome " construtores pelo método create # RemoteException, CreateException # retornam tipo interface Remote # é o que cliente usa para acessar o SB (não a classe) # nome: nome-da-interface-remota+ Home " usada pelos clientes para criar um session bean J2EE (C. Geyer) Introdução a SessionBean 63
64 SB: interface home! Criação da interface home " package usingj2ee.hello; import java.rmi.*; import javax.ejb.*; /** Defines the methods for creating a HelloWorldSession */ public interface HelloWorldSessionHome extends EJBHome { J2EE (C. Geyer) Introdução a SessionBean 64
65 SB: interface home! Criação da interface home (cont.) " /** Creates a HelloWorldSession bean with default settings */ public HelloWorldSession create() throws RemoteException, CreateException; /** Creates a HelloWorldSession bean with a specific initial greeting */ public HelloWorldSession create(string Greeting) throws RemoteException, CreateException; } J2EE (C. Geyer) Introdução a SessionBean 65
66 SB: classe! Classe implementação do session bean " deve implementar a interface SessionBean # nem a home nem a remota " métodos obrigatórios # estão na interface SessionBean (?) # setsessioncontext # ejbremote # ejbactivate # ejbpassivate # obs: ver no exemplo da classe SB " import: idem + java.util J2EE (C. Geyer) Introdução a SessionBean 66
67 SB: classe! Classe implementação do session bean " construtor # ao menos 1 público sem parâmetros # pode estar vazio " métodos das interfaces Remote e Home # implementar J2EE (C. Geyer) Introdução a SessionBean 67
68 SB: classe! Classe implementação do session bean " outros requisitos # classe pública # não pode ser nem abstract nem final # abstract # contém um ou mais métodos abstract # não pode ser instanciada # final # não pode ser alterada # implementa 1 ou mais métodos ejbcreate # um para cada create da interface Home J2EE (C. Geyer) Introdução a SessionBean 68
69 SB: classe! Classe implementação do session bean " métodos ejbcreate # tipicamente os métodos ejbcreate inicializam os campos de estado # retorno: void # se oferece acesso remoto # argumentos devem ser tipos válidos para RMI # não pode ser nem estático (static) nem final J2EE (C. Geyer) Introdução a SessionBean 69
70 ! Classe implementação do session bean SB: classe " métodos de negócio # evitar conflitos de nomes com os nomes de métodos EJB # deve ser público # se bean oferece acesso remoto, os tipos dos parâmetros devem ser tipos RMI válidos # não pode ser nem estático nem final " exceções # métodos são acessados localmente pelo container # sem exceções remotas " variáveis # devem ser protected J2EE (C. Geyer) Introdução a SessionBean 70
71 SB: classe! Classe implementação do session bean " package usingj2ee.hello; import java.rmi.*; import java.util.*; import javax.ejb.*; /** Implementação da classe EJB do beanhelloworldsession */ public class HelloWorldSessionImpl implements SessionBean { /** mantem a saudação da sessão */ protected String greeting; J2EE (C. Geyer) Introdução a SessionBean 71
72 ! Classe implementação do session bean SB: classe " /** Mantem o contexto da sessão fornecido pelo container EJB; permite acesso a dados e métodos de sistema */ private SessionContext context; /** Um EJB deve ter um construtor público sem parâmetros */ public HelloWorldSessionImpl() { } J2EE (C. Geyer) Introdução a SessionBean 72
73 SB: classe! Classe implementação do session bean! /** chamado pelo container EJB para atribuir o contexto da sessão */ public void setsessioncontext(sessioncontext acontext) { context = acontext; } J2EE (C. Geyer) Introdução a SessionBean 73
74 SB: classe! Classe implementação do session bean! /** chamado pelo container EJB quando o cliente chama o método create() na interface home */ public void ejbcreate() throws CreateException { greeting = "Hello World!"; } J2EE (C. Geyer) Introdução a SessionBean 74
75 " Classe implementação do session bean SB: classe " /** chamado pelo container EJB quando o cliente chama o método create(string) na interface home */ public void ejbcreate(string agreeting) throws CreateException { greeting = agreeting; } /** chamado pelo container EJB para reativar essa sessão após ela ter sido desativada pelo método ejbpassivate */ public void ejbactivate() { } J2EE (C. Geyer) Introdução a SessionBean 75
76 ! Classe implementação do session bean SB: classe! /** chamado pelo container EJB para desativar (suspender) essa sessão */ public void ejbpassivate() { } /** chamado pelo container EJB para informar que essa sessão está sendo removida, ou porque o cliente chamou o método remove () ou o container determinou time-out da sessão */ public void ejbremove() { } J2EE (C. Geyer) Introdução a SessionBean 76
77 ! Classe implementação do session bean SB: classe! /** retorna a saudação da sessão */ public String getgreeting() { return greeting; } /** altera a saudação da sessão */ } public void setgreeting(string agreeting) { greeting = agreeting; } J2EE (C. Geyer) Introdução a SessionBean 77
78 Comentários! Comentários " alguns IDE geram automaticamente certos arquivos (ou partes de) " seguir convenção de nomes " método construtor da classe # não usado (nem indiretamente) pelos clientes # em termos Java os objetos são construídos sob controle do container " método setsessioncontext pode estar vazio # variável context não usada em outros métodos J2EE (C. Geyer) Introdução a SessionBean 78
79 Usando o bean! Usando o bean " geral: criar um arquivo jar # alguns descritores em XML # classes auxiliares conforme container e as classes do EJB J2EE (C. Geyer) Introdução a SessionBean 79
80 ! Usando o bean Usando o bean " no JEE SDK (Sun) # tool deploytool (diretório bin) # new application no file menu # nome do EAR a criar (EAR é um arquivo jar) # new EB (EJB) no file menu # add button no new EB wizard # selecionar arquivos # HelloWorldSession.class # HelloWorldSessionHome.class # HelloWorldSessionImpl.class # indicar os nomes das classes do EB # no caso: mesmas dos arquivos J2EE (C. Geyer) Introdução a SessionBean 80
81 Usando o bean! Usando o bean " no JEE SDK (Sun) # opcional: nome para display na deploytool # session ou entitity bean # se session # stateless ou stateful # continuar até finish # HelloWorld bean é simples # pronto para uso J2EE (C. Geyer) Introdução a SessionBean 81
82 ! Usando o bean Usando o bean " disparar o EJB server (ou verificar se está rodando) # às vezes pode-se indicar o server na deploytool " tools menu: selecionar Deploy Application " geração de classes adicionais # BEA s Weblogic # ao criar jar file # JEE SDK (Sun) # no deploytool # classe auxiliar do cliente (stub) # BEA s Weblogic: dinamicamente # JEE SDK (Sun): arquivo deve ser explicitado J2EE (C. Geyer) Introdução a SessionBean 82
83 Usando o bean! Cliente Hello " obrigatório # importar pacotes RMI e naming " localização # criar um contexto (Context) para o JNDI # pede ao contexto p/localizar um objeto com certo nome e tipo # pelo método lookup # nome: usado na instalação (deploytool) # tipo: interface home # objeto do lookup deve passar pelo método narrow para transformá-lo no tipo home correto # lookup retorna tipo geral J2EE (C. Geyer) Introdução a SessionBean 83
84 SB Hello: cliente! Cliente Hello " criação do session bean # pede ao objeto (home) acima para criar uma sessão (session bean) " interação # tipo da sessão: interface remota # chama métodos de negócio do bean # get e set saudação J2EE (C. Geyer) Introdução a SessionBean 84
85 SB Hello: cliente! Cliente Hello " package usingjee.hello; import java.util.*; import javax.naming.*; import javax.rmi.*; public class TestHello { public static void main( String[] args) { try { J2EE (C. Geyer) Introdução a SessionBean 85
86 " Cliente Hello SB Hello: cliente " /** cria um contexto de nomes JNDI, para localização de objetos */ Context context = new InitialContext(); /** pede ao contexto para localizar um objeto (classe) de nome "HelloWorld e que implemente a interface HelloWorldSessionHome */ HelloWorldSessionHome home = (HelloWorldSessionHome) PortableRemoteObject.narrow( context.lookup("helloworld"), HelloWorldSessionHome.class); J2EE (C. Geyer) Introdução a SessionBean 86
87 SB Hello: cliente " /** pede à interface Home para criar um novo bean de sessão */ HelloWorldSession session = (HelloWorldSession) home.create(); /** obtem greeting, altera greeting */ System.out.println( "The default greeting is: "+ session.getgreeting()); session.setgreeting("howdy!"); System.out.println( "The greeting is now: +session.getgreeting()); J2EE (C. Geyer) Introdução a SessionBean 87
88 ! /** destrói essa sessão */ SB Hello: cliente session.remove(); /** agora cria uma sessão com um outra saudação */ session = (HelloWorldSession) home.create("guten Tag!"); System.out.println( "Created a new session with a greeting of: + session.getgreeting()); J2EE (C. Geyer) Introdução a SessionBean 88
89 SB Hello: cliente! /** Destrói essa sessão */ session.remove(); } catch (Exception exc) { exc.printstacktrace(); } } } J2EE (C. Geyer) Introdução a SessionBean 89
90 Revisão! Revisão de Session Beans " qual a finalidade de session beans? " qual a relacionamento entre clientes e session beans? " quais os tipos de session beans? " quando se usa um tipo e outro? " qual o mais eficiente e porque? " quais as interfaces? " quais os métodos declarados em cada interface? J2EE (C. Geyer) Introdução a SessionBean 90
91 Revisão! Revisão de Session Beans " quais as 2 variações nos tipos de acesso às interfaces? " quando se usa um e outra? " como um cliente acha um tipo de session bean? " como um cliente obtém um session bean (objeto)? " quais os métodos implementados na classe session bean? J2EE (C. Geyer) Introdução a SessionBean 91
Enterprise Java Beans
Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side
Leia maisJava 2 Enterprise Edition Session Beans
Java 2 Enterprise Edition Session Beans Helder da Rocha www.argonavis.com.br 1 Session Beans São objetos de processo de negócio Implementam lógica de negócio, algoritmos, workflow Representam ações Uma
Leia maisStateful Session Beans
J530 - Enterprise JavaBeans Stateful Session Beans Helder da Rocha (helder@acm.org) argonavis.com.br 1 Stateful Session Beans Quando um cliente chama um método de um bean, ele está iniciando um diálogo
Leia maisJ2EE. J2EE - Surgimento
J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:
Leia maisComo criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Leia maisUNIDADE IV ENTERPRISE JAVABEANS
UNIDADE IV ENTERPRISE JAVABEANS MODELO J2EE COMPONENTES DE Camada de Negócios NEGÓCIOS JAVA SERVLET, JSP E EJB Nos capítulos anteriores, foi mostrado como desenvolver e distribuir aplicações servlet e
Leia maisTDC2012. EJB simples e descomplicado, na prática. Slide 1
TDC2012 EJB simples e descomplicado, na prática Slide 1 Palestrantes Kleber Xavier Arquiteto Senior / Globalcode kleber@globalcode.com.br Vinicius Senger Arquiteto Senior / Globalcode vinicius@globalcode.com.br
Leia maisAplicações Distribuídas Cliente/ Servidor Corporativas
Aplicações Distribuídas Cliente/ Servidor Corporativas Introdução Desenvolver e distribuir Servlets e aplicativos EJB. Desenvolver e distribuir aplicativos Enterprise JavaBeans (EJB). Introdução Simples
Leia maisSession Beans. Modelam o estado não-persistente
EJB Session Beans Session Beans Modelam o estado não-persistente O estado será perdido entre chamadas de métodos (sessão sem estado) ou chamadas do servidor (sessão com estado) Modelam processos do negócio
Leia maisENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira
ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes
Leia maisInvocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Leia maisEnterprise Java Beans (III)
Enterprise Java Beans (III) Professor: Diego Passos UFF dpassos@ic.uff.br Baseado no material original cedido pelo Professor Carlos Bazilio Última Aula Disponibilização do EJB no container. Arquivo descritor.
Leia maisChamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
Leia maisEntity Beans. Introdução Entity Beans BMP
Entity Beans Introdução Entity Beans BMP Agenda Conceitos básicos de persistência Definição de entity beans Recursos Conceitos de programação Típos de entity beans Exemplos de entity beans usando Bean-
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível
Leia maisJ530 - Enterprise JavaBeans. Introdução a EJB e Stateless. Session Beans. argonavis.com.br. Helder da Rocha (helder@acm.org)
J530 - Enterprise JavaBeans Introdução a EJB e Stateless Session Beans Helder da Rocha (helder@acm.org) argonavis.com.br 1 Componentes de um EJB Para que o container possa gerar o código necessário é preciso
Leia maisEnterprise Java Bean. Enterprise JavaBeans
Enterprise Java Bean Introdução Elementos do Modelo Enterprise JavaBeans A especificação do Enterprise JavaBeansTM (EJB) define uma arquitetura para o desenvolvimento de componentes de software distribuídos
Leia maisTutorial RMI (Remote Method Invocation) por Alabê Duarte
Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos
Leia maisA ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
Leia maisObjetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação
Leia maisFBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Leia maisAplicação da Arquitetura Multicamadas Utilizando Java. Raquel Schlickmann Orientador: Marcel Hugo
Aplicação da Arquitetura Multicamadas Utilizando Java Raquel Schlickmann Orientador: Marcel Hugo Roteiro Introdução Histórico da Arquitetura de Software Enterprise JavaBeans - EJB Voyager Implementação
Leia maisMIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais
RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota
Leia maisJava 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br
Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos
Leia maisPadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):
Leia maisEntity Beans CMP. O que é CMP? Criação de Entity Beans CMP Deployment no JBoss EJB-QL Exemplo Prático
Entity Beans CMP O que é CMP? Criação de Entity Beans CMP Deployment no JBoss EJB-QL Exemplo Prático O que é CMP? Container Managed Persistence é a criação automática de lógica de persistência pelo servidor
Leia maisFundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)
Fundamentos da Plataforma Java EE Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como a plataforma Java EE trata o SERVIÇO DE NOMES Serviço de Nomes Num sistema distribuído os componentes necessitam
Leia maisLaboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9
Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através
Leia maisEJB 3.1: A Community Update
EJB 3.1: A Community Update Reza Rahman Autor, EJB 3 in Action Expert Group Member, Java EE 6 and EJB 3.1 Fundador, Cognicellence Julho de 2008 1 EJB 3.0: Revisão Breve > As grandes mudanças > EJB simplificado
Leia maisMiddleware de Aplicações Paralelas/Distribuídas
Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados
Leia maisSistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Leia maisIntrodução ao kit J2EE SDK (Sun)
Introdução ao kit J2EE SDK (Sun) J2EE (C. Geyer) Introdução ao J2EESDK 1 Autoria Autores C. Geyer Local Instituto de 1a versão: 2002 cursos: J2EE (C. Geyer) Introdução ao J2EESDK 2 Súmula Súmula objetivos
Leia maisO caminho do inferno está pavimentado de boas intenções. Marx.
Session Beans O caminho do inferno está pavimentado de boas intenções. Marx. Finalmente implementando um EJB A especificação da Sun Vamos agora utilizar a tecnologia especificada pela sun, chamada Enterprise
Leia maisLista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1
.NET Remoting Programação com Objetos Distribuídos (C. Geyer) C# Remote V0 1 Autoria Autores 1a versão Fabio Augusto Dal Castel colaboração revisão Eduardo F. Seganfredo Rodrigo Gatto C. Geyer Programação
Leia maisInvocação de Métodos Remotos RMI (Remote Method Invocation)
Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente
Leia maisSistemas Distribuídos: Conceitos e Projeto Java RMI
Sistemas Distribuídos: Conceitos e Projeto Java RMI Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 19 de agosto
Leia maisAdriano Reine Bueno Rafael Barros Silva
Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências
Leia maisConstrução de novas Classes em Java. Classes Atributos Métodos Herança...
Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(
Leia maisProgramação distribuída e paralela (C. Geyer) RPC 1
Programação distribuída e paralela (C. Geyer) RPC 1 Autores C. Geyer Local II-UFRGS Versão v6 2008-2 Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC 2 Bibliografia base original dos
Leia maisProf. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br
Prof. Fellipe Araújo Aleixo fellipe.aleixo@ifrn.edu.br A arquitetura Enterprise JavaBeans é uma arquitetura de componentes para o desenvolvimento e a implantação de aplicativos de negócio distribuídos
Leia maisUma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)
Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisSistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática
Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Leia maisJava Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da
Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a
Leia maisMódulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local
Leia maisJava Spaces Exemplos
Java Spaces Exemplos Programação com Objetos Distribuídos (C. Geyer) Java Spaces - Exemplos V0 1 Autoria! Autores! Local " Cláudio Geyer " Instituto de Informática " UFRGS " disciplina: Programação com
Leia mais1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)
Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:
Leia maisTutorial: Criando aplicações J2EE com Eclipse e jboss-ide
Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide Para criar uma aplicação J2EE, utilizando Eclipse e jboss-ide, é necessário ter instalado em seu computador o JDK 1.5 (versão atual). Abaixo seguem
Leia maisJava 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Leia mais1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
Leia maisEJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br
EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br Você Gosta do EJB? O EJB esteve por muito tempo na berlinda do mundo Java É pesado... É complicado... Código muito
Leia maisSession Bean Stateful
Session Bean Stateful Componentes que mantém o estado dos seus atributos. Mantém os valores de seus atributos entre as várias chamadas de seus métodos de negócio (serviços). Mantém um relacionamento forte
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Leia maisRevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589.
Tutorial de Instalação e Uso do Eclipse Alexandre V. S. Lage, Caio de O. Leal, Eduardo A. F. da Silva, Felipe C. C. Trindade, Gutierre da C. Oliveira e Miguel G. P. de Carvalho. INTRODUÇÃO O Eclipse (2012)
Leia maisEnterprise JavaBeans. Java Deployment Course. por Jorge H. C. Fernandes (jhcf@di.ufpe.br) DI-UFPE Julho de 1999
Enterprise JavaBeans Java Deployment Course por Jorge H. C. Fernandes (jhcf@di.ufpe.br) DI-UFPE Julho de 1999 Enterprise JavaBeans Java Deployment Course Copyright 1999 by Jorge H. C. Fernandes (jhcf@di.ufpe.br)
Leia maisSistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores
Leia maisDocumentação Usando o Javadoc
Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários
Leia maisOrientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Leia maisPara desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.
1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto
Leia maisProjeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java
Leia maisJ2EE TM Java 2 Plataform, Enterprise Edition
CURSO DE GRADUAÇÃO J2EE TM Java 2 Plataform, Enterprise Edition Antonio Benedito Coimbra Sampaio Junior abc@unama.br OBJETIVOS DO CURSO Capacitar os alunos no desenvolvimento de aplicações para a WEB com
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia maisJ2EE. Apresentado por Nuno Nunes. 25 de Novembro de 2004 TM 1
J2EE Apresentado por Nuno Nunes TM 1 J2EE Tecnologia Java, A visão O J2EE Resumo da tecnologia J2EE Os componentes do J2EE Do lado do cliente... Do lado do servidor Tecnologias de apresentação Do lado
Leia maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 11 Applets Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Leia maisNum sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Leia maisUTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS
UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS ¹Lucas Martins de Andrade, ¹Jaime William Dias ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil lucasm748@gmail.com
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisArquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski (kalinowski@ic.uff.br)
Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) (kalinowski@ic.uff.br) Agenda Arquiteturas Web em Java (Relembrando) Arquitetura Java EE Introdução a Enterprise Java Beans
Leia maisJava 2 Enterprise Edition Uma aplicação J2EE completa
Java 2 Enterprise Edition Uma aplicação J2EE completa Helder da Rocha www.argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE completa Inicialmente, será mostrada
Leia maisTHREADS EM JAVA. George Gomes Cabral
THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores
Leia maisJava Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da
Leia maisCriando documentação com javadoc
H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada
Leia maisOrganizando Classes em Pacotes. Profa. Thienne Johnson EACH/USP
Organizando Classes em Pacotes Profa. Thienne Johnson EACH/USP Criando e usando pacotes Nomeando um pacote Usando membros de pacotes Gerenciando arquivos Exercícios Usando pacotes no Eclipse Tutorial da
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisAula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Leia maisSistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre
Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre Prática: 1 - A plataforma JEE (Java Enterprise Edition) UBI, DI, Paula Prata SDTF T01 1 Arquitectura
Leia maisIntrodução à Linguagem Java
Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar
Leia maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisProgramação online em Java
Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão
Leia maisExplorando os novos recursos de EJB 3.1. Fabio Velloso fabio@soujava.org.br
Explorando os novos recursos de EJB 3.1 Fabio Velloso fabio@soujava.org.br Esta obra está licenciada sob uma Licença Creative Commons http://creativecommons.org/licenses/by-nc-sa/2.0/br/ Fabio Velloso
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido
Leia maisLaboratório EJB e J2EE Uma aplicação completa
J530 - Enterprise JavaBeans Laboratório EJB e J2EE Uma aplicação completa Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia maisUm pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
Leia maisArquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br
Leia maisLógica de Programação
Lógica de Programação Unidade 20 ArrayList: Operações de Busca Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 TIPOS DE BUSCAS... 3 BUSCA ESPECÍFICA... 3 BUSCA ABRANGENTE... 3 PROCEDIMENTO DE BUSCA...
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisServiço de Transação. Transação - Conceitos
Serviço de Transação Conceitos Tipos de Gerência de Transação JTA Transação - Conceitos Garantir as propriedades ACID Atomicidade Consistencia Isolamento Durabilidade Transações no modelo EJB Dois Tipos
Leia maisAssociação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia mais