A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Applets Disciplina: Ambientes de Execução Paralela

Apresentações semelhantes


Apresentação em tema: "Applets Disciplina: Ambientes de Execução Paralela"— Transcrição da apresentação:

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 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

7

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 -> Public key Sender (Public key) -> 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 <APPLET CODE=“arq.class” WIDTH=100 HEIGHT=100> </APPLET> 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
<APPLET CODE=“FontTestApplet.class” WIDTH=200, HEIGHT=200> <PARAM NAME=font VALUE=“Helvetica”> </APPLET> _______________________________________________________ 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

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

28 Sites exemplos

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. Segurança em Java.

31 Merci beaucoup par votre attention !


Carregar ppt "Applets Disciplina: Ambientes de Execução Paralela"

Apresentações semelhantes


Anúncios Google