Enterprise Java Beans (III)
|
|
- Washington Melgaço Meneses
- 7 Há anos
- Visualizações:
Transcrição
1 Enterprise Java Beans (III) Professor: Diego Passos UFF Baseado no material original cedido pelo Professor Carlos Bazilio
2 Última Aula Disponibilização do EJB no container. Arquivo descritor. Opções de Segurança. Empacotamento do EJB. Utilização do Bean no lado cliente. Clientes locais vs. Clientes Remotos. Localização de interfaces home. Criação de beans. Invocação de métodos.
3 Nesta Aula Anotações. E como são usadas para implementar EJBs. Especificidades das beans de sessão. Beans stateless. Beans statefull. Gerenciamento (pelo container). Suporte transacional.
4 Anotações Atualmente, Java inclui uma funcionalidade chamada de Annotations. São pequenas notas deixadas pelo programador ao longo do código. Metadados do código-fonte. São usadas para vários objetivos: Como informações ao compilador. Supressão de warnings, detecção de erros,... Para geração de artefatos de disponibilização. Geração de XMLs. Processamento em tempo de execução.
5 Anotações: Sintaxe Básica Anotações são iniciadas pelo Por convenção, anotações geralmente aparecem em uma linha sozinhas. Há exceções. Anotações contém um void mysupermethod(){...}
6 Anotações: Sintaxe Básica (II) Anotações podem incluir elementos. Listados entre parêntesis. Elementos podem ou não ter nomes. Elementos sempre têm name = Benjamin Franklin", date = "3/27/2003" ) class MyClass() {... = "unchecked") void mymethod() {... void mymethod() {... }
7 Anotações: Sintaxe Básica (III) Anotações podem incluir elementos. Listados entre parêntesis. Elementos podem ou não ter nomes. Elementos sempre têm name = Benjamin Franklin", date = "3/27/2003" ) class MyClass() {... = "unchecked") void mymethod() {... void mymethod() {... }
8 Anotações: Sintaxe Básica (IV) Anotações estão associadas a partes do código próximas. Exemplo: a declaração que segue a anotação. A um mesmo trecho de código, podemos associar múltiplas = "Jane class MyClass {... }
9 Anotações: Definindo um tipo de Anotação Em muitos casos, desenvolvedores só precisam utilizar tipos pré-definidos de anotação. Às vezes, no entanto, é interessante definir novos tipos. Exemplo: documentação de classes. public class Generation3List extends Generation2List { // Author: John Doe // Date: 3/17/2002 // Current revision: 6 // Last modified: 4/12/2004 // By: Jane Doe // Reviewers: Alice, Bill, Cindy } // class code goes here
10 Anotações: Definindo um tipo de Anotação (II) Pode-se definir uma anotação para substituir os ClassPreamble { String author(); String date(); int currentrevision() default 1; String lastmodified() default "N/A"; String lastmodifiedby() default "N/A"; // Note use of array String[] reviewers(); }
11 Anotações: Definindo um tipo de Anotação (III) Código ( author = "John Doe", date = "3/17/2002", currentrevision = 6, lastmodified = "4/12/2004", lastmodifiedby = "Jane Doe", // Note array notation reviewers = {"Alice", "Bob", "Cindy"} ) public class Generation3List extends Generation2List { // class code goes here }
12 Anotações: Tipos Padronizados Existem vários tipos de anotação padronizados pela linguagem. Indica que um elemento está obsoleto e não deve mais ser usado. Elementos: classes, métodos, atributos. Uso de elemento anotado causa warning de static void deprecatedmethod() {... }
13 Anotações: Tipos Padronizados (II) Indica que elemento (método, tipicamente) deve sobrecarregar um correspondente na superclasse. Não é necessário, mas evita erros. Se método anotado não sobrecarrega outro, compilador gera um erro. // Se não houver um método com mesma assinatura na superclasse, // compilador acusa int overriddenmethod() {...}
14 Anotações: Tipos Padronizados (III) Diz ao compilador para suprimir mensagens de warning que resultariam da compilação. Útil quando estamos cientes do warning e julgamos que ele não é relevante para aquela void usedeprecatedmethod() { // Tentamos usar um método marcado como deprecated. // Sabemos disso e assumimos a responsabilidade. objectone.deprecatedmethod(); }
15 Anotações: Tipos Padronizados (IV) Há dois tipos de warnings em Java: deprecation e unchecked. É possível desativar múltiplos warnings de uma só unchecked }) void usedeprecatedmethod() { // Tentamos usar um método marcado como deprecated. // Sabemos disso e assumimos a responsabilidade. objectone.deprecatedmethod(); }
16 Anotações: Processamento Quando um código em Java é compilado, as anotações são processadas pro plug-ins do compilador. Chamados também de processadores de anotações. Estes processadores podem gerar: Mensagens durante a compilação. Outros arquivos Java. Outros recursos (como arquivos XML). Os artefatos gerados pelos processadores podem também ser compilados e processados. Podem também alterar o código anotado. Note que as anotações podem ser incluídas nas classes compiladas. Ficam disponíveis em tempo de execução.
17 Anotações: Usos Típicos Anotações são utilizadas pelo compilador, como já visto. Mas é também comum o uso das mesmas em Frameworks. Podem gerar configurações a partir de anotações do código. Evitam a necessidade de referenciar classes, métodos em arquivos externos. Exemplos de frameworks (já vistos no curso) que permitem o uso de anotações: Servlets: /url ) Define mapeamento de URL para o servlet anotado. JSF (beans gerenciadas): Definem que classe anotada é uma bean gerenciada com um escopo específico.
18 EJB 3 EJB 3 difere das versões anteriores pelos seguintes fatores: Uso de POJO s (Plain Old Java Objects); Classes simples em Java; O modelo inicial de componentes (interfaces Home e descritores XML, por exemplo) foi substituído por objetos e serviços EJB oferecidos pelo contêiner; Anotações em Java; Permitem a definição de atributos de código e opções de configuração diretamente no código Java; Injeção de Dependência. Referência:
19 EJB 3: Exemplos da Primeira Aula Nas duas primeiras aulas, vimos a maneira original de criar/manipular EJBs. Implementação de uma EJB precisa dos seguintes passos: Definição das interfaces cliente (local e remota). Definição das interfaces home (local e remota). Implementação do bean. Criação do deployment descriptor. Criação de arquivos de configuração específicos do container. Criação das classes geradas pelo container. Empacotamento da EJB em um arquivo.jar. Como é este processo na especificação EJB 3.0? Definição das interfaces cliente (local e remota). Implementação do bean. Compilação e empacotamento.
20 EJB 3: Criação da Interface Cliente (Remota) Não precisa estender a interface EJBObject. Utiliza a Opcional se houver apenas a interface remota. É uma POJO. import public interface ProfileManager { public Profile getprofile(string acctname) throws NoSuchPersonException; }
21 EJB 3: Criação da Interface Cliente (Local) Não precisa estender a interface EJBLocalObject. Utiliza a Opcional se houver apenas a interface local. É uma POJO. Pode estender a interface remota, por exemplo. import public interface ProfileManagerLocal extends ProfileManager { }
22 EJB 3: Implementação da Bean Utiliza várias indica EJB de Sessão indica que a EJB terá interface cliente indica que a EJB terá interface cliente local. @Local(ProfileManagerLocal.class) public class ProfileManagerBean implements ProfileManagerLocal { }...
23 EJB 3: Implementação da Bean (II) Não é necessário implementar a interface SessionBean. Consequências: Não é necessário implementar os métodos ejbcreate(), ejbpassivate(),..., a menos que precisemos deles. @Local(ProfileManagerLocal.class) public class ProfileManagerBean implements ProfileManagerLocal { }...
24 import EJB 3: Implementação da Bean (III) Se precisarmos dos métodos de gerência do ciclo de vida, podemos dar quaisquer nomes a eles. No entanto, devemos identificá-los public class ProfileManagerBean implements ProfileManagerLocal
25 EJB Tipos de Beans Como visto na primeira aula, há três tipos de EJBs. EJBs de sessão. EJBs de entidade. EJBs orientadas à mensagens. A diferença entre os tipos de EJB está no tipo de funcionalidade que cada uma oferece. Especificamente, as EJBs de sessão se prestam a fornecer um conjunto bem definido de funcionalidades a clientes. Clientes obtém uma referência a uma EJB de sessão. Pedem um ou mais serviços.
26 EJB Beans de Sessão Beans de sessão recebem este nome pelo seu ciclo de vida típico. Elas não são persistentes. Seu ciclo de vida em geral é definido por sessões de uso. Beans de sessão podem ser subdivididas em mais duas classificações: Stateless Session Beans: beans de sessão que não guardam estado. Stateful Session Beans: beans de sessão que guardam estado.
27 EJB Beans de Sessão Stateless Estas beans não guardam estado relacionado ao cliente entre chamadas dos seus métodos. O resultado de um método não depende das chamadas anteriores feitas pelo cliente. Como estas beans não guardam estado, suas instâncias são intercambiáveis. Qualquer instância pode ser usada a qualquer momento para tratar pedidos de qualquer cliente. Container pode guardar um pool de instâncias. Ao ser requisitada por um cliente, container retorna qualquer instância do pool. Note que declarar uma bean como stateless não garante esta característica. É tarefa do desenvolvedor garantir isso. Container simplesmente assume como verdade.
28 EJB Beans de Sessão Stateful Estas beans armazenam estado da interação com o cliente. Execução de métodos pode alterar o estado interno da bean. Instâncias das beans pertencem a seus clientes específicos. Não podem ser usadas por outros clientes. Cliente dono de uma instância só a perde quando ativamente libera o recurso, ou quando a referência expira.
29 EJB Stateful vs. Stateless Vamos ilustrar a diferença entre as versões stateful e stateless com um exemplo. O exemplo utilizado na aula anterior, do ProfileManagerBean, era um exemplo de bean stateless. Ele recebia requisições para encontrar um perfil. Ele retornava o resultado na forma de objetos do tipo Profile. A partir daí, interação do cliente é com o objeto Profile. Suponha, no entanto, que desejamos transformar o próprio perfil em uma bean de sessão. Cliente requisita o carregamento do perfil. Bean carrega o estado. Métodos da bean permitem manipulação do perfil. Exemplo de uma bean de sessão stateful.
30 EJB Bean de Sessão Stateful Outro Exemplo Exemplo do tutorial da sun: Suponha um sistema web de vendas de livro que utiliza o conceito de carrinho de compras. Queremos implementar o carrinho de compras como uma EJB de Sessão. O carrinho deve ser capaz de manipular o conjunto de livros pretendidos pelo cliente. Adicionar livros. Remover livros. Listar o conteúdo do carrinho. Note que este é um exemplo claro de um bean stateful. Após a chamada de um dos métodos de negócio, estado da bean é alterada. Uma instância da bean deve ser associada a seu cliente, e apenas a ele.
31 EJB Bean de Sessão Stateful Outro Exemplo (Interface) Neste exemplo, declaramos uma interface remota. Listamos os métodos de negócio. package com.sun.tutorial.javaee.ejb; import java.util.list; import public interface Cart { } public void initialize(string person) throws BookException; public void initialize(string person, String id) throws BookException; public void addbook(string title); public void removebook(string title) throws BookException; public List<String> getcontents(); public void remove();
32 EJB Bean de Sessão Stateful Outro Exemplo (Bean) A implementação define que a bean é stateful através da Ela implementa a interface Cart (que é remota). package com.sun.tutorial.javaee.ejb; import java.util.arraylist; import java.util.list; import javax.ejb.remove; import public class CartBean implements Cart { String customername; String customerid; List<String> contents;...
33 EJB Bean de Sessão Stateful Outro Exemplo (Bean) Devemos implementar os métodos de negócio, normalmente. public void initialize(string person) throws BookException { if (person == null) { throw new BookException("Null person not allowed."); } else { customername = person; } customerid = "0"; contents = new ArrayList<String>(); }...
34 EJB Bean de Sessão Stateful Outro Exemplo (Bean) Podemos implementar métodos de ciclo de vida da bean, se necessário. Basta anotar métodos quaisquer com as anotações public void whenactivated() {... public void whenpassivate() {... }...
35 EJB Bean de Sessão Stateful Outro Exemplo (Bean) Métodos anotados com a podem ser chamados pelo cliente para remover uma bean. Quando isso ocorre, o cliente abre mão da public void remove() { } Container remove a bean. contents = null;
36 EJB Gerenciamento de Beans de Sessão O gerenciamento das beans de sessão pelo container depende do tipo de bean. Stateless. Stateful. Beans stateless tipicamente utilizam esquema de pool. Container instancia várias inicialmente e guarda os objetos em um pool. A medida que novas requisições são feitas para seu serviço JNDI, container devolve instâncias disponíveis no pool. Se o número de acessos simultâneos cresce, container pode acrescentar mais instâncias ao pool. Container também tem liberdade para decidir se pode/deve descartar instâncias.
37 EJB Gerenciamento de Beans de Sessão (II) Beans Stateful tem gerenciamento diferente. Estão associadas aos clientes que a criaram. Por isso, são tipicamente criadas sob demanda. Mas o container pode manter um pool de instâncias também. Instâncias semi-prontas. Container só chama o método ejbcreate() (se houver), quando o cliente solicita a criação. De toda forma, container não pode simplesmente remover uma instância de uma bean stateful. Instância deve permanecer criada e associada a um cliente até que ela expire ou que o cliente chame o método remove().
38 EJB Gerenciamento de Beans de Sessão (III) Beans Stateful também podem ser colocadas em memória secundária (Passivate) e trazidas de volta (Activate). Operações realizadas pelo container caso haja necessidade de liberar recursos (como memória). Quando uma bean é colocada em memória secundária, o container necessariamente chama o método ejbpassivate() da bean imediatamente antes. Ou o método anotado com a se houver. Método deve liberar recursos não-serializáveis da bean.
39 EJB Gerenciamento de Beans de Sessão (IV) Beans Stateless não são colocadas em memória secundária (e, por consequência, não são re-ativadas). Logo, não necessitam dos métodos ejbpassivate ou ejbactivate. Ou versões anotadas. O motivo é simples: Como elas não guardam estado e instâncias são intercambiáveis, container pode simplesmente destruir instâncias e criar novas quando necessário.
40 EJB Suporte Transacional Um dos serviços fornecidos pelos containers EJB é o suporte a transações. Em geral, este suporte não é relevante às beans de sessão. Elas normalmente não representam dados persistentes compartilhados. E, no caso das beans stateful, só podem ser acessadas por um cliente por vez. Mas algumas vezes, beans de sessão stateful são utilizadas para intermediar o acesso a bases de dados remotas. Neste caso, é importante saber quando começa e termina uma transação. Clientes podem fazer diveras operações e quererem, ao final, dar um roll-back. Ou simplesmente um commit.
41 EJB Suporte Transacional (II) Por isso, a API do EJB dá suporte a operações transacionais nas beans de sessão stateful. Para ter este suporte, a bean deve implementar a interface javax.ejb.sessionsynchronization. Ao realizar a implementação desta interface, a bean sinaliza ao container que quer ser avisada dos eventos de início e fim de uma transação. A interface requer implementação de 3 métodos: afterbegin(): chamado logo após o início de uma transação. Permite ao bean alocar recursos para atender à transação. beforecompletion(): Permite ao bean desalocar recursos. aftercompletion(boolean): determina se deve ser feito um commit ou um roll-back da operação.
Stateful 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 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 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 maisEnterprise 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 maisEJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1
EJB Session Beans J2EE (C. Geyer) Introdução a SessionBean 1 Autores! Autores " Cláudio Geyer " Eduardo Studzinski Estima de Castro (EJB 3.0) " Gisele Pinheiro Souza (EJB 3.0) J2EE (C. Geyer) Introdução
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 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 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 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 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 maisProgramação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
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 maisUML: Diagrama de Casos de Uso, Diagrama de Classes
UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema
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 maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisProva Específica Cargo Desenvolvimento
UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
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 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 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 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 maisArgo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE
Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos
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 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 maisLinguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
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 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 maisCapítulo 8. Introdução UML
Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação
Leia maisSistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery
Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários
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 maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia maisProgramação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets
Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto
Leia maisIntrodução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores
Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos
Leia maisPersistência de Dados em Java com JPA e Toplink
Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida
Leia maisMódulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010
Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em
Leia maisSessões. Cookies HTTP Sessões Atributos de sessão
Sessões Cookies HTTP Sessões Atributos de sessão O problema O protocolo HTTP não mantém estado entre transações distintas Ao término do atendimento da requisição, a conexão TCP é fechada pelo servidor
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia mais5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES
CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
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 maisPROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
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 maisMANUAL DA SECRETARIA
MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo
Leia maisUnidade 8: Padrão MVC e DAO Prof. Daniel Caetano
Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
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 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 maisEspecificação do Trabalho
Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,
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 maisJ550 Integração com Bancos de Dados
J550 Integração com Bancos de Dados Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Objetivos Este módulo apresenta estratégias para conectar servlets com a camada de dados usando um DAO - Data
Leia maisPADRÃO PARA ENVIO DE E-MAIL. Versão 1.0
PADRÃO PARA ENVIO DE E-MAIL Versão 1.0 Fevereiro 2006 Sumário de Informações do Documento Tipo do Documento: Relatório Título do Documento: Padrão para envio de e-mail Estado do Documento: Elaborado Responsáveis:
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 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 maisIntrodução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web
Introdução a JavaServer Pages Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web JavaServer Pages Problemas com Servlets: É improdutivo para gerar todo o conteúdo
Leia maisATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Leia maisMAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Leia maisProgramação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API
Programação Na Web Servlets: Como usar as Servlets 1 António Gonçalves Agenda Template genérico para criar Servlets Servlet 2.4 API Exemplo: Hello World Output: Texto, HTML e hora local. Compilar uma Servlets
Leia maisMini-curso Gratuito Globalcode Slide 1
Mini-curso Gratuito Slide 1 Mini-curso Gratuito Introdução Enterprise Java Beans (EJB) 3.0 Slide 2 Agenda Plataforma Java EE Conceitos Iniciais (EJB) Session Bean Message-Driven Bean (MDB) Java Persistence
Leia maisDesenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Leia maisESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE
ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através
Leia maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
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 maisSISTEMA BRENA DE AUTOMAÇÃO COMERCIAL
SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL VERSÃO 359 U N I P A C K NOTA FISCAL ELETRÔNICA CONTENDO ITENS COM CFOP S DISTINTOS RIO DE JANEIRO 25 DE JULHO DE 2013 SUMÁRIO 1- INTRODUÇÃO... 03 2- MOTIVAÇÃO... 03
Leia maisGBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
Leia maisComputação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisAGENDAMENTO PARA IMPORTAÇÃO DE NOTAS FISCAIS 1. PARÂMETROS DO ESTABELECIMENTO... 2 2. CONFIGURAÇÃO DO AGENDADOR... 3
AGENDAMENTO PARA IMPORTAÇÃO DE NOTAS FISCAIS SUMÁRIO 1. PARÂMETROS DO ESTABELECIMENTO... 2 2. CONFIGURAÇÃO DO AGENDADOR... 3 3. CONFIGURAÇÕES PARA IMPORTAÇÃO DE NOTAS PARA USUÁRIOS NET... 7 4. PROCEDIMENTOS
Leia maisTrabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
Leia maisSG Fisio. Documento de Análise e Projeto. Versão 1.1. Documento de Análise e Projeto. Autores: Bruno Sandres Daniel Costa Leandro Aguiar Marcelo Frota
Documento de Análise e Projeto B.T.I. Corporation Sistema Gerente Fisio Documento de Análise e Projeto SG Fisio Versão 1.1 Autores: Bruno Sandres Daniel Costa Leandro Aguiar Marcelo Frota Recife, 28 de
Leia maisIntrodução à Programação. Interface, Polimorfismo e Dynamic Binding
Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)
Leia maisAgendador de Rotinas
Agendador de Rotinas Agendamento para Importação de Notas Fiscais É possível parametrizar o agendamento para importação de notas fiscais de entrada, saída e conhecimento de transporte, para todas as empresas
Leia maisJSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul
JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram
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 mais9 Comandos condicionais
9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em
Leia maisParadigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33
PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Encapsulamento Programação Orientada
Leia maisProgramação Orientada a Objetos: Lista de exercícios #1. Bruno Góis Mateus
Programação Orientada a Objetos: Lista de exercícios #1 Bruno Góis Mateus 1 Contents Programação Orientada a Objetos (Bruno Góis Mateus ): Lista de exercícios #1 Classes e Instanciação 3 A classe Circle...............................................
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tratamento de Eventos Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os modelos mais comuns de tratamento de eventos da plataforma Android. Aprender a utilizar
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisTópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes
Leia maisJavaServer Faces. Parte 2
JavaServer Faces Parte 2 Recapitulando Aplicações web são aplicações que executam em um servidor Recebem requisições de usuários Retornam respostas ao usuário Browsers só entendem e exibem html O servidor
Leia mais2 Ferramentas Utilizadas
2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]
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 maisAula de JavaScript 05/03/10
Objetos Sabe-se que variável são contêiners que podem armazenar um número, uma string de texto ou outro valor. O JavaScript também suporta objetos. Objetos são contêiners que podem armazenar dados e inclusive
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
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 maisMetadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados
1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,
Leia mais2. O gerador de código estende DepthFirstAdapter implementando a interpretação que gerará código Jasmin a partir de Smallpascal.
Geração de Código para Smallpascal a 1. Já estudamos como SableCC faz uso do design pattern visitor para construir compiladores modulares. Vimos também os principais componentes da máquina virtual Java
Leia maisAlgoritmos e Programação II. Sobrecarga
Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque
Leia maisINTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Leia maisMODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,
Leia maisEstudo Sobre o Uso de Anotações em Java
Estudo Sobre o Uso de Anotações em Java Fabricio C. Mota 1, Regis S. Onishi 1, Miguel D. Matrakas 1 1 UDC ANGLO Faculdade Anglo Americano (FAA) Av. Paraná, 5661, CEP: 85868-030 Foz do Iguaçu PR Brasil
Leia maisProgramação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço
Leia maisUnidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01
Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir
Leia maisSCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br
SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side
Leia mais