Applets - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Applets

Description:

Title: DSM - Distributed Shared Memory Author: Instituto de Informatica Last modified by: GPD Created Date: 6/30/1998 11:26:36 PM Document presentation format – PowerPoint PPT presentation

Number of Views:145
Avg rating:3.0/5.0
Slides: 32
Provided by: Institu106
Category:
Tags: applets

less

Transcript and Presenter's Notes

Title: Applets


1
  • Applets
  • Disciplina Ambientes de Execução Paralela
  • Profs. Dr. Celso Maciel da Costa
  • Dr. Cesar de Rose
  • Dr. Fernando Dotti
  • Alunos Alessandro Copetti
  • Caio Graco P. Alegretti
  • Ilustre audiência gdhein, lgerber, mcristal,
    mpillon.

2
Sumário
  • Introdução
  • Applets x Aplicativos independentes
  • Ambientes de compilação e de execução
  • Segurança
  • Desempenho
  • Componentes para execução de applets
  • Classe e API Applet

3
Introdução
  • Java conhecida como linguagem de programação
    para a Internet
  • Applets
  • funciona no interior de um browser
  • mais do que complementos para páginas Web
  • HotJava
  • Browser escrito em java que roda applets.
  • Primeira aplicação que mostrou a força dos
    applets.

4
Applets x Aplicativos independentes
  • Aplicativos independentes
  • aplicativos do Java de uso geral que não
    necessitam de navegador para serem executados
  • Applets
  • Visualizadores e Browsers
  • Appletviewer (appletviewer mypage.html)
  • Hotjava
  • Netscape Communicator
  • Internet Explorer

5
  • Ambientes de compilação e de execução

6
(No Transcript)
7
(No Transcript)
8
Segurança
  • Camadas de segurança em Java
  • Linguagem e Compiladores
  • Verificador de bytecodes
  • Class Loader
  • Security Manager
  • HotJava pode ser configurado para autorizar
    operações sobre arquivos de maneira mais flexível.

9
Segurança - cont.
  • Applets podem fazer
  • apresentar imagens
  • executar sons
  • pegar teclas e clicks de mouse
  • enviar entrada do usuário para máquina origem
  • Têm acesso somente às seguintes informações
  • versão do Java
  • nome e versão do S. O.
  • caracteres que separam
  • arquivos (/ ou \)
  • caminhos ( ou )
  • linhas(\n ou \r\n)

10
Segurança - cont.
  • BL BF AV JA
  • Ler arquivo local N N S S
  • Escrever arquivo local N N S S
  • Obter informação de arquivo N N S S
  • Apagar arquivo N N N S
  • Executar outro programa N N S S
  • Ler propriedades do usuário N S S S
  • Conectar-se à porta rede servidorS S S S
  • Conectar-se a outra máquina N S S S
  • Carregar biblioteca Java N S S S
  • Chamar exit N N S S
  • Criar uma janela pop-up Aviso S S S

11
Segurança - cont.
  • Legenda
  • BL Browser carregando uma URL, usando o modelo
    padrão de segurança de applet
  • BF Browser carregando um arquivo local
  • AV Applet viewer
  • JÁ Java executando um aplicativo independente
    sem gerenciador de segurança.

12
Política de segurança do JDK 1.2
13
Segurança - Signed Applet
  • Implementação de níveis de privilégios para
    applets nos browsers
  • Execução fora da sandbox
  • Applet carrega um certificado de segurança
    indicando de onde veio
  • Applets perfeitamente confiáveis mesmos níveis
    de privilégios de uma aplicação local
  • mensagem encriptografada pela chave privada

14
Segurança - Signed Applet - cont.
  • Private key -gt Public key
  • Sender (Public key) -gt Receiver (Private key)
  • Certificado
  • identidade do signatário
  • assunto
  • componentes dos nomes x.500
  • unidade e organização país
  • datas de validade
  • Cliente
  • consegue certificado da fonte do applet
  • associa o applet a seu certificado (keytool -
    jdk1.2)

15
Segurança - Signed Applet - cont.
  • Keytool
  • cria chaves públicas e privadas
  • mostra, importa e exporta certificados
  • gera certificados x.509v1 auto autenticados
  • jarsigner
  • assina arquivo .JAR
  • verifica assinatura de arquivos .JAR assinados
  • Ferramenta de política
  • cria e modifica os arquivos de configuração de
    política externa que define a política de
    segurança em Java da sua instalação.

16
Desempenho - pontos de gargalo
  • Orientação a objetos de resolução dinâmica
  • Grau de abstração de hardware (quase) sem
    precedentes
  • Interpretação de bytecode
  • Gerenciamento automático de memória
  • Verificação de exceção de limite de arrays
  • Multithreading
  • Carregamento dinâmico
  • Medidas de segurança restritivas

17
Desempenho - Compiladores
  • Estáticos
  • trabalham a partir do código fonte
  • ideal para desenvolvimento em plataforma
    conhecida
  • Dinâmicos
  • a nível de bytecode
  • analisam o perfil de um programa enquanto roda
  • adequados para os applets
  • JVM JIT

18
Desempenho - Compilador JIT (Just in Time)
  • Traduz rapidamente o bytecode para código nativo
    da máquina e o coloca em um cache de memória.
  • Contorna o interpretador
  • compilação é feita dinamicamente em tempo de
    execução.
  • Podem rodar um programa de 5 a 20 vezes mais
    rápido do que um interpretador
  • MS J 30 a 40 da performance C
  • Symantec performance projetada de 100 do C

19
Desempenho - Compilação adaptativa
  • Os melhores compiladores JIT são, na verdade,
    compiladores adaptativos. HAL98, p. 90
  • HotSpot
  • compilador JIT hiperativo
  • toma decisões sobre quais partes de um programa
    recompilar
  • freqüência de execução de trecho de código
  • tempo de execução do trecho
  • equilíbrio entre tempo necessário para compilação
    e tempo ganho com execução mais veloz
  • remoção de código compilado da memória para
    reaproveitamento

20
Componentes para execução de applets
  • Código Java
  • extends Applet // na classe principal
  • construtor passa a ser init()
  • Menus são substituídos por outros elementos de
    interfaces
  • Gerenciador de Layout
  • aplicativos BorderLayout
  • applets FlowLayout
  • gerar bytecode (.class) com javac
  • código html
  • ltAPPLET CODEarq.class WIDTH100 HEIGHT100gt
  • lt/APPLETgt
  • Browser integra uma versão da JVM dentro dele

21
Tags Applets
  • CODEBASE nome do diretório onde encontram-se as
    classes
  • ARCHIVE
  • o class loader (carregador de arqs. de classes)
  • Resolve os nomes de classes necessárias.
  • Faz conexões com o servidor Web para cada
    .class.
  • JAR Java ARchive são arquivos que agrupam
    classes java, imagens e sons. Pode ser
    compactado.
  • Comando jar options file1 file2
  • A tag ARCHIVE referencia um arquivo .JAR.

22
Passagem de informações para applets
  • ltAPPLET CODEFontTestApplet.class WIDTH200,
    HEIGHT200gt
  • ltPARAM NAMEfont VALUEHelveticagt
  • lt/APPLETgt
  • __________________________________________________
    _____
  • import java.applet.
  • import java.awt.
  • public class FontTestApplet extends Applet
  • public void paint(Graphics g)
  • String fontName getparameter(font)
  • font f new Font(fontName, Font.BOLD,
    18)
  • g.setFont(f)
  • g.drawString(Hello World, 25, 50)

23
  • Classe e API Applet

24
(No Transcript)
25
API - Métodos Gerenciadores dos Applets
  • void init()
  • chamado quando o applet é carregado
  • executado somente uma vez
  • processa os valores passados no PARAM
  • adicionar componentes de GUI
  • void start()
  • executado após init() e quando o usuário retorna
    à página
  • void stop()
  • chamado automaticamente quando o usuário move-se
    para fora da página

26
API - Métodos Gerenciadores dos Applets - cont.
  • void destroy()
  • chamado automaticamente quando o browser desliga

27
(No Transcript)
28
Sites exemplos
  • http//www.ssec.wisc.edu/sanjayl/planets/kidsat/i
    movie.htm
  • http//liftoff.msfc.nasa.gov/realtime/jtrack/3d/JT
    rack3d.html

29
Bibliografia
  • HAL98 Halfhill, T. R. Mais velocidade ao Java.
    In Byte Brasil. Editora Globo. Ano 7, n. 80,
    Maio de 1998.
  • HOP96 HOPSON, K. C., INGRAM, S. E.
    Desenvolvendo Applets com Java, Rio de Janeiro
    Campus, 1996.
  • HOR98 HORSTMANN, Cay S, CORNELL, Gary. Core
    Java, vols. 1 e 2. Palo Alto Prentice Hall,
    1998.
  • NEW97 NEWMAN, Alexander. Usando Java. Rio de
    Janeiro Campus, 1997.

30
Bibliografia - cont.
  • SUN. http//java.sun.com
  • Hostile Java Applets. Http//users.visi.net/nghcr
    ft/home/java/java.htm
  • Segurança em Java. http//www.phxjug.org/meetings/
    security/tsld001.htm

31
  • Merci beaucoup par votre attention !
  • --------------------------------------------------
    --
Write a Comment
User Comments (0)
About PowerShow.com