Download Java - GEOCITIES.ws

Document related concepts
no text concepts found
Transcript
La Revolución Java
Ing. Msc. Rodolfo Canelón Osal.
Ing.Msc. Rodolfo Canelón
UCLA - Decanato de Ciencias .
[email protected]
Ing. Msc. Rodolfo Canelón Osal.
INTERNET
Correo Electrónico
Concepto:
Es el envío de mensajes a puntos
remotos. Se utiliza para enviar notas
personales de un usuario a otro y para
enviar cualquier tipo de infirmación
(publicaciones, programas, image-nes ,
grabaciones de sonido,etc).
A pesar de la variedad existente en
cuanto a hardware y software, puede
intercambiar correo, puesto que cuenta
con un standard o protocolo denominado
Ing. Msc. Rodolfo CanelónSMTP.
Osal.
WWW
World Wide Web
Telaraña del Ancho
¿Qué es HIPERTEXTO?
Método para presentar información donde las
palabras al ser seleccionadas se expanden
proporcionando más información.
 La palabra mantiene vínculos con otros
documentos, imágenes, sonido u otra cosa.
Ejemplo.
Ing. Msc. Rodolfo Canelón Osal.
Breve Historia sobre
WWW.
1989’ Centro Europeo para la Física de las
Partícula Ginebra.
1993’ Sale al mercado el primer Visualizador.
MOSAIC.
Ing. Msc. Rodolfo Canelón Osal.
Que es World Wide Web?
Es
un servicio reciente para obtener
información en INTERNET. El cual utilizando
visualizadores
nos
permite
captar
texto,imagenes, sonido.
Documentos
de multimedios hiperenlazados,
denominados paginas, sedes de múltiples
enlaces.
En
la actualidad considerado el servicio mas
popular de Internet, después del “ E-mail.”
Ing. Msc. Rodolfo Canelón Osal.
World Wide Web
Esta telaraña mundial está basada en el
manejo de hipertextos (datos enlazados a otros
datos). Es una de las maneras más fáciles y
atractivas para navegar por Internet, la
información es presentada mediante cualquier
tipo de datos (texto, audio, sonido, video, etc)
lo que la hace más intuitiva y fácil de entender
para el usuario.
Ing. Msc. Rodolfo Canelón Osal.
¿QUE SE NECESITA PARA
USAR EL WWW ?
 Un Computador (386 o superior)
 Un Modem ( preferiblemente de 14400 bps)
 Una Línea Telefónica
 Un Programa o Visualizador
Ing. Msc. Rodolfo Canelón Osal.
Quienes usan WWW?
• Inicialmente Instituciones de Investigación.
• En la actualidad hacen uso de este servicio:
– Profesionales.
– Empresas especializadas en proveer y
recolectar información.
– Publico en general vía proveedores de acceso
local, servicios comerciales “On-Line” y
otros tipos de redes.
Ing. Msc. Rodolfo Canelón Osal.
Formato para WEB
• HTML
– Se deriva del SGML , es sencillo ya que solo
esta compuesto por 37 etiquetas.
– Su costo se resume a una conexión a
Internet.
Ing. Msc. Rodolfo Canelón Osal.
Así de Simple !!
<HTLM>
<HEAD>
<TITLE> ********** </TITLE>
</HEAD>
<BODY>
******** <P>
******** <BR>
<IMG SRC= “ ******.GIF” ><P>
</BODY>
<HTLM>
Ing. Msc. Rodolfo Canelón Osal.
UTILIZACION DEL WWW
Visualizadores:
 Netscape
 Mosaic
 Microsoft Network
 Internet Exploret ( Usado por Windows
 Lynx ( Basado en textos )
Ing. Msc. Rodolfo Canelón Osal.
95’)
WEB SITE
• EXTERNOS
SEGURIDAD
– INTERNET
• INTERNOS
– INTRANET
• SERVIDORES DE
HTTP
– ZB
– WEBSITE
– etc.
- FireWall
- Servidor
- Directorios
- Archivos
“Property”
La Revolución Java
Beneficios para tu
Negocio
Ing. Msc. Rodolfo Canelón Osal.
Revolución WEB
• Estandarización , interface universal de
datos
• Representación Gráfica
• Capacidad intermedios
• Web es la interface universal para el
mundo de las librerías digitales
Ing. Msc. Rodolfo Canelón Osal.
Limitaciones del Web





Solo datos - No programas
Información Estática
Clientes dumb
HTML no es flexible
Competencia de Protocolos y estándares
Ing. Msc. Rodolfo Canelón Osal.
El Bloqueo del Sistema
Operativo
Aplicaciones
Sistema Operativo
Hoy:
Las aplicaciones están unidas al
sistema operativo, el cual a su
vez está unido al procesador del
computador.
Ing. Msc. Rodolfo Canelón Osal.
El cuello de botella
actual de la Red
PC
LAN
LAN
Mac

Server
Sun
La Red
Ing. Msc. Rodolfo Canelón Osal.
Maquina Virtual
ByteCode
Visualizador / Plug-In
BI
Ing. Msc. Rodolfo Canelón Osal.
OS
Ambiente de
Computación Virtual
InterNet
La interacción a través del
applet permite entrada y
salida localizada en tiempo real.
Agua
El usuario obtiene la ventaja de
las aplicaciones y recursos de la red
sin las dependencias de plataforma
Browser para Java
Intra-Net
Applet
Ing. Msc. Rodolfo Canelón Osal.
Bases de Datos
Servidor
de Applet
El poder de JAVA y el
WEB




Aplicaciones Viven, no son datos
estáticos
Clientes Inteligentes, respuestas
instantánea
Protocolos interoperables
Múltiples medios interactivos
Ing. Msc. Rodolfo Canelón Osal.
El poder de JAVA y el
WEB





Aplicaciones Moviles - No solo información
Elimina el porting
Elimina instalaciones Usuarios finales
Disminuye los costos de distribución del
Software
Instantáneamente Millones de Compradores
Ing. Msc. Rodolfo Canelón Osal.
El Sistema Operativo de
la Red
Aplicaciones
Visualizador
SO
Ing. Msc. Rodolfo Canelón Osal.
Solaris x86
Solaris SPARC
Win 95 /x86
Win NT/x86
Cualquier SO/CPU
Ventajas de
programación para la
Red
 Seguro




Compacto
Independiente de la plataforma
Los programas corren localmente
Puede ser actualizado continuamente
Ing. Msc. Rodolfo Canelón Osal.
Java : Escriba una vez y
Corra donde sea ...
La
RED inicia El Vehículo de
distribución para las APLICACIONES
SOFTWARE
DE
El poder de los PC, No es el poder en el
DeskTop - Es el poder de
CONECTARSE a otros.
La
RED es el computador , El
computador es un periférico a internet y
al WEB.
Ing. Msc. Rodolfo Canelón Osal.
Quienes Usan
JAVA?
SERVICIOS FINANCIEROS
EDUCACION
Aprendizaje remoto, Simulaciones Interactivas
SISTEMAS EJECUTIVOS - DSS.
MIS
Aplicaciones comerciales - Ptos de ventas.
Acceso a BD basados en WEB.
PUBLICIDAD , ENTRETENIMIENTO
datos viven , Infirmación instantáneo, Ventas
Ing. Msc. Rodolfo Canelón Osal.
Metas de Diseño de JAVA





Que opere sobre múltiples plataformas en redes
heterogéneas.
Su arquitectura debe ser portable y
dinámicamente adaptable.
Fácil adaptación a herramientas gráficas como
el WWW.
Pequeño, Simple y Eficiente
Multihilado y Seguro
Ing. Msc. Rodolfo Canelón Osal.
Motivación del JAVA

Simple, Orientado a Objeto y
Familiar.
 Robusto y Seguro.
 Arquitectura Neutral y Portable.
 ByteCode.
 Rápida Ejecución.
 Interpretado, Hilado y Dinámico.
Ing. Msc. Rodolfo Canelón Osal.
La Revolución JAVA

Aplicaciones reales, no usa datos estáticos

Los clientes dan respuesta instantáneo

Multimedia Interactiva

Protocolos interoperables
Ing. Msc. Rodolfo Canelón Osal.
La Revolución
JAVA
Tecnología y Arquitectura
Ing. Msc. Rodolfo Canelón Osal.
Historia del JAVA




1990- Sun Labs- James Gosling comenzó
el proyecto.
1991- Se destina a artículos de escritorios y
consumidores electrónicos. - Creado para
correr en una amplia variedad de dispositivos.
1993- Televisión interactiva.
1995- Internet y HotJava.
Ing. Msc. Rodolfo Canelón Osal.
JAVA
Es un lenguaje interpretado basado en C++
que fue diseñado para carga dinámica, trabaja en
tiempo real, es portátil y capaz de saltar a través
de la red.
Ing. Msc. Rodolfo Canelón Osal.
La Arquitectura del Java
Aplicación
Java
Clases
Java
Visualizador
HotJava
Clases
Java
Herramientas
para desarrollar
en Java
Clases
Java
Interpretador Java
Interpretador Java
Interpretador Java
Solaris/x86
Solaris/SPARC
Win95/x86
Ing. Msc. Rodolfo Canelón Osal.
Aplicación
Java
Clases
Java
Interpretador Java
WinNT/x86
Cómo funciona JAVA ?
1
Escriba código
fuente de JAVA
y compílelo,
creando
un archivo de
clase.
Ejem.Java
2
Coloque el
archivo
de clase en el
servidor
Web en el
subdirectorio
de clase que
contienen
los archivos
HTML.
3
4
Cree la etiqueta
para el applet en
el
documento
HTML.
<app =
“Ejem”>
Ing. Msc. Rodolfo Canelón Osal.
Cuando un visuali
zador del documento
en la Internet vea
la etiqueta <app>,
generará una instruc
ción para solicitar
class/Hello.class y
obtener el código
bytecode compilado.
INTERNET
5
El visualizador
crea una nueva
ventana y una
nueva unidad de
ejecución (thread)
y luego corre el
código.
HELLO
Compilando en Java
file.java
Archivo fuente Java
Java.io
Compilador Java
%Java file.java
file.class
Ing. Msc. Rodolfo Canelón Osal.
Definiciones de clases
Java incorporadas
Byte Codes de Java
Herramientas para
Desarrolladores de Java
 JDK (Java Developers Kit)
 javac
 Visualizador de Applets
 Gratis
 Sin soporte + Envío
 El Java WorkShop
 Herramientas sofisticadas
 Depurador + Carpeta + Visualizador de
Fuentes + Editor
 Pocos cientos de dólares
 Soporte + Envío en Abril del 96
Ing. Msc. Rodolfo Canelón Osal.
Contenido del JDK


El interpretador Java llevado a la plataforma
correspondiente
Las clases Java que proporcionan la interfaz
de aplicación estándar

Compilador Javac

Visualizador de applets (Appletviewer)

JDB : Depurador sencillo basado en líneas
de comandos.
Ing. Msc. Rodolfo Canelón Osal.
El Java WorkShop









Un interpretador Java apropiado
Un depurador para GUI Java
Carpetas de Applet
“Proyectos”
Ayuda en línea
Ambiente de Desarrollo Integrado
Visualizador de Fuentes
Edición WYSIWYG
Integrado con JDK
Ing. Msc. Rodolfo Canelón Osal.
Java usado con un
Visualizador Web
HTML Doc
Visualizador
HOTJAVA
Escrito en
Lenguaje Java
Elemento App
Java Applet
Disponible para
Applets de Java
o cualquier
Visualizador
disponible
de Java
Bytecodes
Interprete
Usuario
Host
Ing. Msc. Rodolfo Canelón Osal.
Compilador
Bytecodes
Código Java
Servidor
Proovedor
El Java utilizado en
modo standalone
HTML Doc
Visualizador
de Applet
Java Applet
Java Aplicación
Bytecode
<HTML>
<HEAD>
<TITLE> Tree Applet</TITLE>
</HEAD>
<BODY>
<P>“Tree“<APP Classx”Tree”>
</BODY>
</HTML>
Interpretador
Bytecode
Interpretador
Compilador
Código Java
La aplicación Java corre de manera standalone como cualquier
otro lenguaje. Los Applets Java necesitan un documento HTML
y un Visualizador para correr (Visualizador de Applets o HotJava)
Ing. Msc. Rodolfo Canelón Osal.
Seguridad JAVA





Se requieren declaraciones, esto facilita la
corrección de errores en tiempo de ejecución
Es imposible para las aplicaciones accesar
estructura de datos privados a objetos en los
cuales ellas no tengan acceso
El modelo de memoria elimina la posibilidad
de sobreescribir la memoria y dañar los datos
Las localizaciones de memoria son
determinadas en tiempo de ejecución
Java no permite que sus aplicaciones puedan
ser inavadidas por otras desde el exterior
Ing. Msc. Rodolfo Canelón Osal.
Mas seguridad
Programa en
Java
Compilador
Java
Byte-codes Java
Computador fuente
La Internet
Verificación
Su computador
Byte codes Java
Ing. Msc. Rodolfo Canelón Osal.
Restringido
Ejecución
Aspectos principales del
Lenguaje







Tipo de Datos Numéricos.
Tipo de Datos Boolean.
Arreglos.
Strings.
Break Multinivel.
Manejo de Memoria y Colección Garbage.
Sincronización de Procesos Integrados.
Ing. Msc. Rodolfo Canelón Osal.
Aspectos Eliminados de C
y C++








No más DEFINES, TYPEDEF y
PREPROCESADOR.
No más STRUCTURES o UNIONS.
No más FUNCIONES.
No más HERENCIA MULTIPLE.
No más INSTRUCCIONES GO TO.
No más SOBRECARGA DE OPERADORES.
No más CORRECIONES AUTOMATICAS.
No más APUNTADORES.
Ing. Msc. Rodolfo Canelón Osal.
Objetos en JAVA




La mayoria de las cosas en JAVA son objetos,
exceptuando los tipos de datos simples
El código JAVA está organizado en clases
Las clases definen un conjunto de métodos que
forman la conducta de un objeto
El estado de los objetos se definen mediante variables
miembros de la clase
Ing. Msc. Rodolfo Canelón Osal.
Objeto en JAVA.
CAPSULA - Carro
Encender
Apagar
Correr Cruzar
Color, #puertas, tamaño, fuel
Ing. Msc. Rodolfo Canelón Osal.
Objeto en JAVA.
• Objetos y Clases
– Una clase define un mundo real o una entidad
abstracta.
Clase nombre
Métodos (Funciones
Atributos (Datos
Un objeto es una instancia |instanciación|
de una clase.
Nombre del Objeto
Métodos:
Datos
Ing. Msc. Rodolfo Canelón Osal.
Objeto en JAVA.
Transporte
Carreteras
Carro
Aereo
Rieles
Camió
n
Autobu
s
Ing. Msc. Rodolfo Canelón Osal.
Globo
Avi
ón
Objeto en JAVA.
• Clases de Carros
Ing. Msc. Rodolfo Canelón Osal.
Ciclo de vida de un objeto
en JAVA.
Los siguientes pasos describen el ciclo de vida
típico de un objeto:



Creación
Uso
Destrucción.
Ing. Msc. Rodolfo Canelón Osal.
Creación de Objetos
import java.util.Date;
class DateApp
{
public static void main (String args[] )
{
Date today = new Date();Declaración, instanciación e
inicialización
System.out.println(today);
}
}
String s; // Aún no se ha asignado memoria Declaración
s = new String(“abc”);// Memoria Asignada Instanciación e Inicialización
s = “def”; // nueva Asignación de Memoria
Ing. Msc. Rodolfo Canelón Osal.
Uso de un Objeto
Un objeto puede ser manejado de dos maneras:


Utilizando directamente las variables miembros.
Utilizando alguno de sus métodos.
Ing. Msc. Rodolfo Canelón Osal.
Clases
En el lenguaje Java, todas las funciones y variables
existen dentro de una clase u objeto; el lenguaje no
permite funciones globales variables perdidas. Por lo
tanto el esqueleto de una aplicación java es la definición
de una clase. tiene una sintaxis para definir clases que
son plantillas para la creación de nuevas instancias de
objetos
[ modificadores ] class NombreClase
[ extends NombreSuperClase ]
[ implements NombresInterface ]
Ing. Msc. Rodolfo Canelón Osal.
Clases
Los modificadores de la clase son :

Abstract : contiene métodos abstractos

Final
: no tiene subclases

Public
: puede ser usada por el código que
se encuentre fuera del paquete
Ing. Msc. Rodolfo Canelón Osal.
Clases
El estado de un objeto se establece mediante sus
variables miembros , normalmente conocidas como
variables de instancia de la clase. Las variables pueden
presentar varios atributos que se especifican en la
declaración
[Especificadoracceso]
[volatile]
tipo nombrevariable
Ing. Msc. Rodolfo Canelón Osal.
[static]
[final]
[transient]
Clases
Control de acceso en variables de instancia
 Public : puede ser usado por cualquier clase de
cualquier parte
 Protected : puede solo ser usada por las subclases
de la clase y en ninguna otra parte
 Private : puede solo ser usada dentro de la clase
donde ella fué declarada. No estan
disponibles para la subclase
 Vacío : amigable. Si los modificadores Public o
Private no son especificado la clase es
accesible dentro del paquete actual
Ing. Msc. Rodolfo Canelón Osal.
Clases
La conducta de un objeto se establece mediante
sus metodos. Los metodos pueden presentar varios
atributos: el tipo que retorna, su nombre sus
parámetros, si otra clase tiene acceso a el
[Especificadoracceso] [static] [final] [abstract]
tiporetorno nombremetodo
Ing. Msc. Rodolfo Canelón Osal.
Clases





Cuando se define una clase se declaran uno o mas
constructores que ejecutan la inicialización cuando
se instancia un objeto de la clase
El lenguaje Java no soporta destructores pero llama
a un método finalize() que llama automaticamente
al recolector
El método main() constituye el cerebro de las
aplicaciones
Los métodos abstractos no poseen implementación
Los métodos finales no pueden ser sobrecargados
Ing. Msc. Rodolfo Canelón Osal.
Clases
Declarando SubClases (Herencia)
Mecanismo usado para crear un nuevo objeto
definido en términos de un objeto existente.
import MyClass;
public class MyNewClass extends MyClass {
public void Add_to_f(int g) {
f = f + (g * 2);
}
}
Ing. Msc. Rodolfo Canelón Osal.
Clases
Las Palabras Reservadas this y super
Cuando se accesa las variables de instancia
de una clase la palabra reservada this hace
referencia a los miembros de la clase.
Para llamar al método padre dentro de una
clase que tiene sobrecargado ese método,
refiérase al método padre con la palabra
reservada super.
Ing. Msc. Rodolfo Canelón Osal.
Clases
Las interfaces proveen un medio para llevar la idea
de Abstracción un nivel más adelante. Las interfaces
porporcionan un conjunto de métodos que pueden ser
usados por clases jerarquicamente no relacionadas.
Los métodos en una clase interface son public y
abstract.
public interface AudioClip {
void start();
void stop();
}
Ing. Msc. Rodolfo Canelón Osal.
Clases
Las clases que usan una interfaz utilizan la palabra
reservada implements para proveer el código para la
ejecución de los métodos.
class MyClass implements AudioClip {
void play() {
<implementación>
}
void stop() {
<implementación>
}
}
Ing. Msc. Rodolfo Canelón Osal.
Clases
El Lenguaje Java provee un método native para
llamar funciones de C y C++ desde el código Java.
public class Date {
int now;
public Date() {
now = time();
}
private native int time();
static
System.loadLibrary (“time”);
}
Ing. Msc. Rodolfo Canelón Osal.
Librerias de clases



Java.lang - Clases generales del lenguaje (Object,
Threads, Exception, String, Sistem, Number,
Error)
Java.io - Flujos basados en la entrada y salida.
Estas clases proveen acceso al sistema de
archivo ( Inputstream , Outputstream,
Bufferedinputstream, Printstream)
Java.util - Clases de utilidades (Hashtable,
Vector, BitSet, Regexp, Date, Enumeration,
Properties, utilidades del Cache)
Ing. Msc. Rodolfo Canelón Osal.
Mas Librerias



Java.awt - Abstract Windowing ToolKit. Conjunto
de herramientas gráficas para la interface del usuario
Java.net - Clases para la Red. Estas clases proveen
acceso para los Sockets TCP/IP, Direcciones de
Internet y URLs.
Java.applet - Soporte para los Applets ( Programas
Java empotrados)
Ing. Msc. Rodolfo Canelón Osal.
URLs
Un URL es un Localizador Uniforme de Recursos
que provee la dirección de un recurso dentro de la
Red.
El URL tiene dos componentes principales:


El identificador protocolo.
El nombre del recurso.
http://java.sun.com/
Ing. Msc. Rodolfo Canelón Osal.
Applets
Los applets son miniprogramas que permiten ser
utilizados con visualizadores.
Los programas Java que corren dentro de un
visualizador compatible con Java son conocidos como
Applets y un programa stand-alone escrito en Java que
corra independientemente de cualquier visualizador es
llamado Aplicación.
Ing. Msc. Rodolfo Canelón Osal.
Visión de APPLETS
Cada applet es implementado por creación de una
subclase de la clase Applet. La siguiente figura muestra
la jerarquía de herencia de la clase Applet. Esta jerarquía
determina mucho de lo que un applet puede hacer y cómo
lo hace.
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
Ing. Msc. Rodolfo Canelón Osal.
Milestones
Milestones son, los eventos mas grandes o importantes
por los cuales se rige un Applet.
public class Simple extends java.applet. Applet {
...
public void init() { . . . }
public void start() { . . . }
public void stop() { . . . }
public void destroy() { . . . }
}
Ing. Msc. Rodolfo Canelón Osal.
Ciclo de Vida de un
Applet
Cuando un applet es cargado en un Visualizador de
Applets o Browser comienza su ciclo de vida.
 Se crea una instancia de la clase controladora
de los applets
 El applet se inicializa por sí mismo.
 El applet comienza su ejecución.
 El applet primero recibe una llamada a init,
seguido por un mensaje start y paint. Estos
pueden ser recibidos asincrónicamente.
Ing. Msc. Rodolfo Canelón Osal.
Descargando código
Cliente
objeto
necesitado
Solicitud del
objeto
uso del
objeto
Tipo
desconocido
Retorno del
objeto
Ing. Msc. Rodolfo Canelón Osal.
Solicitud de
implementación
HTTP
Servidor
Chequeo de
implementación
Retorno de
implementación
Creando un Applet en
JAVA
import java.awt.Graphics;
public class HelloWorld extends java.applet.Applet
{
public void init()
{
resize(150,25);
}
public void paint(Graphics g)
{
g.drawString("Hello world!", 50, 25);
}
}
Ing. Msc. Rodolfo Canelón Osal.
Creando una página que
incluye la aplicación.
<HTML>
<HEAD>
<TITLE> A Simple Program </TITLE>
</HEAD>
<BODY>
<APPLET CODE="HelloWorld.class" WIDTH=150
HEIGHT=25>
</APPLET>
</BODY>
</HTML>
Un Applet
Sencillo.Continuacion
public void destroy() {
addItem("preparing for unloading...");
}
public void addItem(String newWord) {
System.out.println(newWord);
buffer.append(newWord);
repaint();
}
public void paint(Graphics g) {
g.drawRect(0, 0, size().width - 1, size().height - 1);
g.drawString(buffer.toString(), 5, 15);
}
Ing. Msc. Rodolfo
Canelón Osal.
}
Un Applet Sencillo en
JAVA
import java.awt.Graphics;
public class Simple extends java.applet.Applet {
StringBuffer buffer = new StringBuffer();
public void init() {
resize(500, 20);
addItem("initializing... ");
}
public void start() {
addItem("starting... ");
}
public void stop() {
addItem("stopping... ");
}
Ing. Msc. Rodolfo Canelón Osal.
Applets con Multimedia
import
import
import
import
java.awt.*;
java.awt.image.*;
sun.awt.image.URLImageSource;
java.applet.Applet;
public class hwImage extends Applet {
Image duke:
public void init(){
duke=getimage(getDocumentBase(),
”graphics/duke.surf.yellow.gif”);
}
public void paint(Graphics g) {
g.DrawImage(duke,25,25,this);
}
Ing. }
Msc. Rodolfo Canelón Osal.
Creando una Aplicación
en JAVA
class HelloWorldApp
{
public static void main (String args[])
{
System.out.println("Hello World!");
}
}
Ing. Msc. Rodolfo Canelón Osal.
Excepciones (Exceptions)


Java implementa excepciones al estilo C++
para ayudar en la construcción de código
flexible.
Cuando ocurre un error ud. puede lanzarlo y
entonces capturar una excepción y luego
recuperar el control a partir de allí.
Ing. Msc. Rodolfo Canelón Osal.
Hilos (Threads)
Un hilo es un flujo secuencial simple de
control en un programa.
Java proporciona una clase Threads la cual
permite el soporte para comenzar un threads,
correr un thread, detener un thread, y chequear el
estado de un thread.
Ing. Msc. Rodolfo Canelón Osal.
Hilos (Threads)
class TwoThreadsTest {
public static void main (String args[]) {
new SimpleThread("Jamaica").start();
new SimpleThread("Fiji").start();
}
}
class SimpleThread extends Thread {
public SimpleThread(String str) {
super(str);
}
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i + " " + getName());
try {
sleep((int)(Math.random() * 1000));
} catch (InterruptedException e) {}
}
System.out.println("DONE! " + getName());
}
}
Ing. Msc. Rodolfo
Canelón Osal.
Applets con Multimedia
import java.awt.Graphics;
import java.applet.*;
public class hwLoop extends Applet {
AudioClip sound;
public void init(){
sound=getaudioclip(getDocumentBase(),
”sounds/that.hurts.au”);
}
public void start() {
sound.loop;
}
public void stop() {
sound.stop;
}
} Rodolfo Canelón Osal.
Ing. Msc.
Applets con Multimedia
import java.awt.Graphics;
import java.awt.Event;
import java.applet.*:
public class hwMouse extends Applet {
int MouseX=25, MoyseY=25;
public void paint(Graphics g){
g.drawString(”Hello”,MouseX,MouseY);
}
public boolean mouseDown(Event evt, int x, int y) {
MouseX=x
Mousey=y
repaint();
return true;
}
}
Ing. Msc. Rodolfo Canelón Osal.
Applets con Multimedia
<Title> El Applet Hola Mundo </Title>
<hr>
<applet code=HelloWorld.class width=100
height=100>
<param name=endimage value=20>
<param name=sounds value= “1.au| 2.au|3.au|
4.au|5.au|6.au|7.au”>
</applet>
<hr>
<a href=“HelloWorld.java”> The source.</a>
Ing. Msc. Rodolfo Canelón Osal.
Comunicacion con otros
programas




Por invocación de métodos públicos de otros Applets en
alguna página (Sujeto a restricciones de seguridad).
Usando API definidos en el paquete Java.Applet, la cual
permite a esta comunicarse de una manera limitada
con el visualizador o el visualizador global de Applet
que contiene este.
Usando API definidos en el paquete Java.Net para
comunicarse sobre la red con otros programas.
Los otros programas pueden ser ejecutados sobre el
anfitrión desde el cual se originó el Applet.
Ing. Msc. Rodolfo Canelón Osal.
Applets versus
Aplicaciones

Aplicaciones
 Tienen un método main()
 La clase que contiene main() es subclase
de Object
 Pueden cargar applets
 Son programas StandAlone
 Applets
 No tienen método main()
 Son subclases de Applet
 Normalmente usados con visualizadores
Ing. Msc. Rodolfo Canelón Osal.
HotJava
 Visualizador




de Sun para Internet, escrito en
lenguaje Java
Vehiculo para demostrar el poder y la capacidad
del Java
Puede aprender nuevos protocolos y tipos de
datos
dinamicamente
Demostración del poder de un lenguaje
interpretado
Libre de cargo como implementación de
referencia
Ing. Msc. Rodolfo Canelón Osal.
Estructura de un
Visualizador
Decodificar URL
Interactuar
Ing. Msc. Rodolfo Canelón Osal.
Traer
Desplegar
Seguridad del HotJava
 Modos de seguridad del Applet
 Los Applets podrán accesar la Red
 Applet Host
 Los Applets tedrán permitido accesar datos
solo
en su Host
 Firewall
 Los Applets fuera del Firewall pueden solo
accesar recursos fuera del Firewall
 Sin Restricción
 La mayoria de los Applets pueden hacer
conexiones a cualquier Host en la Internet
Ing. Msc. Rodolfo Canelón Osal.
Diferencias entre HotJava y
el resto de los Visualizadores




Los Visualizadores convencionales tienen estandares
incluidos, no son flexibles a las nuevas cosas
HotJava sabe como encontrar todo acerca de cosas
que no entiende basado en la habilidad de descargar
código desde servidores remoto
En HotJava la implementación de estandares viene
desde afuera y el sirve de plataformas para
conectarlos
Los Visualizadores como Mosaic dependen de
manejadores instalados localmente, por lo cuál
conseguir nuevas cosas es difícil
Ing. Msc. Rodolfo Canelón Osal.
Aplicaciones y Applets
con el codigo existente
OpenStep
C,C++
SmallTalk
Jav
a
Neo/Teknekron/Iona/ExpertSoft
Ing. Msc. Rodolfo Canelón Osal.
Estrategia de integracion
de objetos java




Java y NEO(JOE)
Java y Iona
Java yPDO
Java y C++,Smalltalk, OpenStep
JAVA
Internet
o
Intranet
JAVA
Applets
Apps
Cliente
(Orblet)
Ing. Msc. Rodolfo Canelón Osal.
OpenStep
NEO
CORBA IONA C C++
PDO
NEXTSTEP
Servidor(es)
Applets
Apps
Conceptos Básicos
Internet
Intranet
Extranets
Intranet
Componentes
Protocolos de comunicaciones (TCP/IP)
Servidor de Web
Browser (navegador) para los clientes
Soporte de Base de Datos
Intranet
Componentes
Protocolo TCP/IP
(IPX en Novell Netware)
Cliente
(Browser)
Servidor Web
Extranet
Internet
Base de
Datos
Máquina Virtual
de Java
Por qué Intranets ...
Combinar Tecnologías
Expansión
Cliente
Novell
Netware
Servidor A
Servidor B
Más
servidores
a futuro
Unix
Windows NT
Servidor C
Intranet
Publicación
Web
Interorganización
Mensajería/
email
InternetTransacciones
Workflow
Colaboración
Boletines
Extranet
Intranet
Publicación
Web
Intraorganización
Mensajería/
email
Transacciones
Workflow
Colaboración
Boletines
Ad-hoc
Estructurado/
Gerencia
Por qué Intranets ...
Las redes IP son fáciles de integrar a las
LANs y WANs
La tecnología Web permite el desarrollo
en
múltiples
plataformas (cross
platforms)
Es una tecnología netamente cliente
servidor
La tecnología Web es muy económica
La tecnología Web tiene escalabilidad
Intranet
Otros tipos de seguridad:
Intranet
Las redes IP son fáciles de integrar a las LANs y
WANs
La tecnología Web permite el desarrollo en
múltiples plataformas (cross platforms)
Es una tecnología netamente cliente servidor
La tecnología Web es muy económica
La tecnología Web tiene escalabilidad
INTRANET
Tecnología Push
Intranet
Información
Servidor
Push
INTRANET
VRML
Aplicaciones Multimedia
Servidores de Video Conferencias
Voz,
Datos y
Video
Voz,
Datos y
Video
Intranet
Seguridad SSL
Servidor de
un sitio seguro
Requerimiento de conexión
Certificado digital
Validación usando clave pública
Clave Pública
Documentos encriptados
Clave Privada
Intranet
Seguridad SSL
Servidor de
un sitio seguro
Información:
Cliente creando
sitio seguro
Nombre, email
organización
estado, país
Clave Privada
Clave Pública
Intranet
Función de un Web Server
Comunicar instrucciones HTML
Ejecutar Programas (Java, CGI, Perl)
Autentificado del Usuario
Logging
Control de acceso
Administración
Intranet
Servidores Web
Microsoft Internet Information Server
Netscape Enterprise Server
Novell Netware Web Server
Lotus Domino Server
Intranet
Bases de Datos
Consulta de datos corporativos
Mantenimiento flexible de la información de la
Intranet
Aplicaciones de actualización de datos usando
arquitectura abierta