29
Java TM Applets Java Deployment Course: Aula 3 por Jorge H. C. Fernandes ([email protected]) DI-UFPE 30 de Abril de 1999

Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

JavaTM AppletsJava Deployment Course: Aula 3

por Jorge H. C. Fernandes ([email protected])DI-UFPE30 de Abril de 1999

Page 2: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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.

Page 3: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 4: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 5: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

Código Móvel

Page 6: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 7: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 8: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 9: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 10: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 11: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 12: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

Applets Java

Page 13: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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!

Page 14: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 15: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 16: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 17: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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>

Page 18: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 19: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

?

Page 20: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 21: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 22: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 23: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 24: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 25: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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)

Page 26: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

Java Deployment Course - Web, CGI, HTTP. Copyright © 1999, 1998, 1997. Jorge H. C. Fernandes. Todos os Direitos Reservados.

Barra de Warning

Page 27: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 28: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

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

Page 29: Java - CIC/UnBjhcf/MyBooks/itjava/slides/Applets...Ambiente de Execução Java São isolados através de classes com métodos nativos internos, classes abstratas e interfaces Sistema

FIM