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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 2 Sumário n Introdução n Applets x Aplicativos independentes n Ambientes de compilação e de execução n Segurança n Desempenho n Componentes para execução de applets n Classe e API Applet

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

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

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

6 6

7 7

8 8 Segurança n Camadas de segurança em Java –Linguagem e Compiladores –Verificador de bytecodes –Class Loader –Security Manager n HotJava pode ser configurado para autorizar operações sobre arquivos de maneira mais flexível.

9 9 Segurança - cont. n Applets podem fazer: –apresentar imagens –executar sons –pegar teclas e clicks de mouse –enviar entrada do usuário para máquina origem n 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 10 Segurança - cont. BLBFAVJA Ler arquivo localNNSS Escrever arquivo localNNSS Obter informação de arquivoNNSS Apagar arquivoNNNS Executar outro programaNNSS Ler propriedades do usuárioNSSS Conectar-se à porta rede servidorSSSS Conectar-se a outra máquinaNSSS Carregar biblioteca JavaNSSS Chamar exitNNSS Criar uma janela pop-up Aviso SSS

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

12 12 Política de segurança do JDK 1.2

13 13 Segurança - Signed Applet n Implementação de níveis de privilégios para applets nos browsers –Execução fora da sandbox n 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 n mensagem encriptografada pela chave privada

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

15 15 Segurança - Signed Applet - cont. n Keytool –cria chaves públicas e privadas –mostra, importa e exporta certificados –gera certificados x.509v1 auto autenticados n jarsigner –assina arquivo.JAR –verifica assinatura de arquivos.JAR assinados n 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 16 Desempenho - pontos de gargalo n Orientação a objetos de resolução dinâmica n Grau de abstração de hardware (quase) sem precedentes n Interpretação de bytecode n Gerenciamento automático de memória n Verificação de exceção de limite de arrays n Multithreading n Carregamento dinâmico n Medidas de segurança restritivas

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

18 18 Desempenho - Compilador JIT (Just in Time) n Traduz rapidamente o bytecode para código nativo da máquina e o coloca em um cache de memória. n Contorna o interpretador n 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 19 Desempenho - Compilação adaptativa n Os melhores compiladores JIT são, na verdade, compiladores adaptativos. [HAL98, p. 90] n 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 20 Componentes para execução de applets n 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 n código html n Browser integra uma versão da JVM dentro dele

21 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 22 Passagem de informações para applets _______________________________________________________ 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 23 Classe e API Applet

24 24

25 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 26 API - Métodos Gerenciadores dos Applets - cont. void destroy() –chamado automaticamente quando o browser desliga

27 27

28 28 Sites exemplos n imovie.htm n ck3d.html

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

30 30 Bibliografia - cont. n SUN. n Hostile Java Applets. n Segurança em Java.

31 31 Merci beaucoup par votre attention !


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google