• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
JAVA REFLETCION
 

JAVA REFLETCION

on

  • 849 views

Pequena introdução sobre programação JAVA com Reflection

Pequena introdução sobre programação JAVA com Reflection

Statistics

Views

Total Views
849
Views on SlideShare
848
Embed Views
1

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 1

http://www.slashdocs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

    JAVA REFLETCION JAVA REFLETCION Presentation Transcript

    • APLICAÇÕES EM 4 CAMADAS COM JAVA REFLECTIONIII SEMANA DE TECNOLOGIAFATEC PRESIDENTE PRUDENTEINSTRUTOR: ANDRÉ L. JAMARINO ABEKAWAEMAIL: ANDRE.ABEKAWA@GMAIL.COMMSN: ABEKAWA@LINUXMAIL.ORG
    • AGENDA• ARQUITETURA EM CAMADAS• JAVA REFLECTION• DEMONSTRAÇÕES• DISCUSSÃO
    • ARQUITETURA EM CAMADAS• Histórico: • Projeto em duas camadas: • Cliente: Responsável por encapsular toda lógica de negócios e interface com usuário • Servidor: Responsável pela persistência dos dados, ou seja, armazená-los, por exemplo, em um banco de dados • Desvantagens: O Paradigma cliente / servidor sofre de uma grande deficiência quando se trata de manutenção pelo agrupamento de código (manutenabilidade).
    • ARQUITETURA N CAMADAS• CAMADAS (LAYERS) • O que é? O desenvolvimento em camadas objetiva separar os componentes com responsabilidades ou critérios comuns em grupos ou camadas. Apresentação – Lógica de apresentação (GUI) Lógica de negócios – Domínio da Aplicação Dados – Controle de dados (Reflection) Persistência – Manutenção/Armazenamento de Dados
    • ARQUITETURA N CAMADAS • Separação em camadas: • Acoplamento: Reduz o acoplamento permitindo que a manutenção ou alteração de componentes de uma camada não interfira diretamente com outras. • Coesão: Cada camada irá encapsular as funcionalidades além de aumentar a coesão por manter componentes similares em grupos. • Interação: O Desenvolvimento utilizando a arquitetura em N camadas não especifica como os componentes interagem entre si. (Exemplo de interação MVC) • Visualização das camadas: • Transparente: Permitem que a camada superior visualize a camada inferior • Opacas: Impedem a visualização da camada inferior.
    • AS CAMADAS: APRESENTAÇÃOCAMADA DE APRESENTAÇÃO: Essa camada possui todosos componentes responsáveis pela apresentação dos dadose informações ao usuário da aplicação. No caso, dalinguagem JAVA , podemos dizer que existem várias opçõespara trabalhar interfaces (SWING, AWT, JSP, entre outras) epara cada necessidade existirá uma opção que melhor seadeque à necessidade.Observação: Estamos falando de N Camadas (N-tier) muitasaplicações separam essa camada em duas ou mais para seadequar a projetos onde a interface seja, porexemplo, DESKTOP (SWING) ou WEB (JSP)Ex: Camada de Apresentação Camada Interface (GUI) Lógica de apresentação
    • AS CAMADAS: LÓGICA DE NEGÓCIOSLÓGICA DE NEGÓCIOS: Esta camada é responsável pelalógica e modelo de negócios da aplicação, ou seja, todalógica que envolve os processos necessários para atenderos requisitos da aplicação será concentrada nesta camada.Ex. Funções da aplicação.• Cadastros/ Manutenção• Operações/Transações
    • AS CAMADAS: DADOSCAMADA DE DADOS: A Camada de Dados irá manipulardados entre a camada de negócios e persistência.Essa camada, durante o minicurso, irá abordar conceitos etécnicas de reflexão em JAVA (JAVA Reflection)Para exemplificar, os objetos desenvolvidos para a aplicaçãopossuem relacionamento de todos os atributos de classecom as tabelas (Relacionamento direto ObjetoxTabela)A Camada será responsável pelas operações CRUD paratodos os objetos de forma genérica.
    • AS CAMADAS: PERSISTÊNCIACAMADA DE PERSISTÊNCIA: A Camada responsável pelapersistência dos dados, ou seja, realizar ou executar asoperações necessárias para “GRAVAR” um determinadodado, seja em um Banco de Dados ou em outro meio dearmazenamento.Essa camada concentra todos os componentes que realizamessas funções ou operações.
    • JAVA REFLECTION• O QUE É JAVA REFLECTION: • JAVA REFLECTION é uma API presente no JAVA desde a versão 1.1 (Atualmente versão 6), que permite a introspecção ou examinar ele mesmo em tempo de execução. • Por meio do uso de reflexão podemos, por exemplo, identificar os atributos, métodos, entre outras informações sobre objetos em tempo de execução. SÉRIO? VAMOS TESTAR!
    • TESTANDO REFLEXÃO1. Abrir o NetBeans2. Criar um novo projeto JAVA3. Criar a Classe Usuário // Código logo a seguir4. Inserir os códigos da reflexão na classe principal MAIN5. F6 – Executar o projeto VAMOS LÁ?
    • TESTANDO REFLEXÃODescobrindo os métodos da classe: Usuario//Classe Usuariopublic class Usuario{ public Usuario(){ } private Integer _ID; private String _Login; private String _Senha; //Usar encapsular do Netbeans para gerar os sets e gets}
    • TESTANDO REFLEXAO//Dentro da classe MAINtry { Class c = Class.forName( ”Pacote.Usuario" ); Method m[] = c.getDeclaredMethods(); for (int i = 0; i < m.length; i++) { System.out.println( m[i].toString() ); } } catch (Throwable e) { System.err.println(e); } }
    • TESTANDO REFLEXÃO SE OS PROCEDIMENTOS FORAMSEGUIDOS CORRETAMENTE A SAÍDA DO PROJETO DEVERÁ EXIBIR OSMÉTODOS SETS E GETS DA CLASSE Usuario()
    • JAVA REFLECTIONLEGAL, MAS E AÍ O QUE MAIS DÁ PARA FAZER COM ISSO?Bom, existem vários métodos que a API Reflection possui.Entre eles alguns que julgo interessante é a possibilidade derecuperar os dados em uma instância de classe(objeto), mesmo encapsulado com modificadores private, emanipulá-los. Vamos agora utilizar as camadas para entender a arquitetura e o uso do JAVA Reflection?
    • PEQUENO PROJETO EM CAMADAS1. Efetue o Download do Projeto em: www.artforreason.com.br/fatec/JAVA/projeto.rar2. Descompacte o arquivo3. Inicialize o serviço MYSQL de seu computador (WAMP)4. No phpMyAdmin ou gerenciador de sua preferência crie o banco com nome “semana” e importe as tabelas do arquivo banco.sql (Arquivo Compactado)5. Certificar o acesso do usuário root no mysql senha root6. Abra o projeto IIISemana (Arquivo Compactado)7. Qualquer dúvida por favor comunicar
    • DUSCUSSÃO • Dúvidas? • Sugestões?
    • APLICAÇOES EM N CAMADAS COM JAVA E REFLECTIONInstrutor: André Luiz Jamarino AbekawaE-mail: andre.abekawa@gmail.comMSN: abekawa@linuxmail.orgREFERÊNCIAS:FORMAN, Ira R; FORMAN, Nate. Java Reflection in Action (In Action series).Greenwich, CT 06830, Manning publications, 2005.