1 / 31

Applets Disciplina: Ambientes de Execução Paralela Profs. Dr. Celso Maciel da Costa

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. Sumário. Introdução

farica
Download Presentation

Applets Disciplina: Ambientes de Execução Paralela Profs. Dr. Celso Maciel da Costa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  10. Política de segurança do JDK 1.2

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

  12. 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)

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

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

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

  16. 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++

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

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

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

  20. 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); } }

  21. Classe e API Applet

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

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

  24. Sites exemplos • http://www.ssec.wisc.edu/~sanjayl/planets/kidsat/imovie.htm • http://liftoff.msfc.nasa.gov/realtime/jtrack/3d/JTrack3d.html

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

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

  27. Merci beaucoup par votre attention ! ----------------------------------------------------

More Related