Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados...
Transcript of Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados...
JavaTM AppletsJava Deployment Course: Aula 3
por Jorge H. C. Fernandes ([email protected])DI-UFPE30 de Abril de 1999
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Java AppletsCopyright © 1999, 1998, 1997 Jorge H. C. Fernandes ([email protected])
Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, armazenada em sistema de retrieval, ou transmitida, em quaisquer formas, ou através de quaisquer meios, eletrônicos, mecânicos, fotocópias, gravações, etc, sem a prévia autorização, por escrito, de Jorge Henrique Cabral Fernandes.
All rights reserved. No part of this publication may be reproduced, stored in aretrieval system, or transmitted, in any form, or by any means, electronic,mechanical, photocopying, recording, or otherwise, without the priorconsent of the publisher.
JavaTM is a trademark of Sun Microsystems.
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Java Applets
�Java e a Web�Código Móvel�Applets Java
�Definição�Usos�Criação
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Java e a Web:Um Pouco de Contexto...
Internet
WWW
CGI
Java
Applets
JavaScriptPerl
Servlets
Código Móvel
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Cliente
Código Móvel
Tecnologia de linguagens e plataformas de sistemas distribuídos que suportam a construção de programasde computador que são:�instalados em servidores,�transferidos sob demanda para clientes,�executados de forma segura na plataforma dos clientes.
Servidor
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Características Desejáveis de Tecnologias de Código Móvel
�Execução segura (sandbox)�Multiplataforma, sem recompilação�Multimídia�Transparência e performance aceitáveis
na transmissão, instalação e execução�Facilidades para desenvolvimento�Baixo investimento no uso�Massa crítica de desenvolvedores e
usuários
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Cenários de aplicação das Tecnologias de Código Móvel
�Suporte a agentes móveis em software�Educação e treinamento interativos na
Web�Bibliotecas Digitais�Comércio Eletrônico�Mundos Virtuais
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Agentes Móveis em Java:O Framework Aglets
ATP
onClone()
AgletContext AgletContext
onDispatching()
onArrival()
onDeactivating()
onActivation()
handleMessage()
onDisposing()
run()onCreate()
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Tecnologias de Código Móvel Representativas
�Java�JavaScript�ActiveX�TCL/Tk (Sunscript)�Obliq�Penguim
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Tecnologia de Código Móvel Java
�Programas compilados são um conjunto de classes�O código gerado é arquiteturalmente neutro,
executado sobre uma máquina virtual (bytecode)�Recursos nativos do sistema operacional são
tratados de modo abstrato e isolados através de um sandbox
�Biblioteca para Multimídia, Redes, etc�Aplicações
�Programação multimídia, Applets, Agentes Móveis, Aglets, JavaBeans, etc
Applets Java
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Estendendo o Cliente/Servidor Universal
Web Server
WWW(HTTP)
Web Browser
Documentos hipermídia:
HTML, Applets, etc Bem Vindo!
URL
Bem Vindo!
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Applets
�“Pequenos” programas Java;�disponibilizados em Web servers;�hospedados dentro de páginas HTML.�O código do applet é copiado para o browser,
juntamente com a página HTML.�O código é executados por uma máquina virtual
instalada no browser.�A interface gráfica do applet ocupa uma área da
página HTML
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Criação de um Applet Java
�Construção e Compilação do Programa�Inserção de um Applet em uma Página
HTML�Acesso e Transferência do Código�Verificação do “bytecode”�Mensagens para um applet
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Construção e Compilação de um Programa em Java
ContaBancaria.java
Transacao.java
Banco.java
ContaBancaria.class
Transacao.class
Banco.class
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Inserção de um Applet em uma Página HTML
<html><body><h1>Este applet é bastante simples</h1><applet code=Clock.class
width=100height=200>
<param name=“mode” value=“digital”><param name=“beep” value=“off”></applet></body></html>
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Funcionamento dos AppletsWeb Server
WWW(HTTP)
Web Browser
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Verificação do Bytecode
WWW(HTTP)
Web Browser
?
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Mensagens para um Applet
WWW(HTTP)
Web Browser
new
init() paint()
nome:stop() nome:
start()
destroy()
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Framework Applet:Mensagens mais Importantes para um Applet (1)
�void init()�Enviada uma única vez, logo após a criação do
applet�void paint(Graphics g)
�Enviada sempre que o applet precisa atualizar a interface
�void start()�Enviada sempre que a página do applet é visitada
�void stop()�Enviada sempre que a página do applet é sobreposta
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Framework Applet:Mensagens mais Importantes para um Applet (2)
�void destroy()�Enviada para o applet imediatamente antes de sua
destruição.
�String getParameter(String name)�Enviada para o applet a fim de descobrir os
parâmetros que lhes foram passados no código HTML
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Sandbox: Recursos Nativos doAmbiente de Execução Java
São isolados através de classes commétodos nativos internos, classesabstratas e interfaces
�Sistema de Arquivos�java.io
�Sistema de Interface Gráfica�java.awt, java.awt.peer, java.awt.image
�Comunicações em rede (sockets, etc)�java.net
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Restrições de Funcionamentodos Applets
Carregados viasistema de arquivos
Carregados via rede
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Restrições sobre Applets
� Não pode carregar bibliotecas ou definir métodos nativos em outras linguagens
� Não pode normalmente ler ou escrever arquivos no host onde está executando
� Só pode fazer conexões de rede com o host de onde foi originado� Não pode executar nenhum programa no host onde está
executando� Não pode ler algumas propriedades do sistema local� Qualquer janela (frame) que um applet cria apresenta uma
aparência distinta das outras janelas (Barra de Warning)
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Barra de Warning
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Usos mais comuns dos Applets
�Aplicações onde a interatividade e capacidade multimídia são importantes�Calculadoras�Planilhas�Mapas e Editores Interativos�Simuladores�Agendas�Instrumentos remotamente controlados
Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.
Exercício Simulado: Construção de um Applet
�Use o Jbuilder para construir o applet HelloWorldApplet
FIM