la revolución java. concepto: es el envío de mensajes a puntos remotos. se utiliza para enviar...
Post on 28-Jan-2016
222 Views
Preview:
TRANSCRIPT
La Revolución JavaLa Revolución JavaLa Revolución JavaLa Revolución Java
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Ing.Msc. Rodolfo CanelónIng.Msc. Rodolfo CanelónUCLA - Decanato de Ciencias UCLA - Decanato de Ciencias ..
rcanelon@delfos.ucla.edu.ve
Ing. Msc. Rodolfo Canelón OsalIng. Msc. Rodolfo Canelón Osal..
Concepto:Concepto:Es el envío de mensajes a puntos Es el envío de mensajes a puntos remotos. Se utiliza para enviar remotos. Se utiliza para enviar notas personales de un usuario a notas personales de un usuario a otro y para enviar cualquier tipo de otro y para enviar cualquier tipo de infirmación (publicaciones, infirmación (publicaciones, programas, image-nes , grabaciones programas, image-nes , grabaciones de sonido,etc). de sonido,etc).
A pesar de la variedad existente en A pesar de la variedad existente en cuanto a hardware y software, cuanto a hardware y software, puede intercambiar correo, puesto puede intercambiar correo, puesto que cuenta con un standard o que cuenta con un standard o protocolo denominado SMTP. protocolo denominado SMTP.
INTERNETINTERNETINTERNETINTERNET
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Correo ElectrónicoCorreo Electrónico
Telaraña del Ancho Telaraña del Ancho MundoMundo
WWWWWW
World Wide WebWorld Wide Web
WWWWWW
World Wide WebWorld Wide Web
¿Qué es HIPERTEXTO?¿Qué es HIPERTEXTO?¿Qué es HIPERTEXTO?¿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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Breve Historia sobre WWW.Breve Historia sobre WWW.Breve Historia sobre WWW.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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Que es World Wide Web?Que es World Wide Web? Que es World Wide Web?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 Ing. Msc. Rodolfo Canelón
OsalOsal..
World Wide WebWorld Wide WebWorld Wide WebWorld 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
¿QUE SE NECESITA PARA ¿QUE SE NECESITA PARA
USAR EL WWW ?USAR EL WWW ?
¿QUE SE NECESITA PARA ¿QUE SE NECESITA PARA
USAR EL WWW ?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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Quienes usan WWW?Quienes usan WWW?Quienes usan WWW?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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Formato para WEBFormato para WEBFormato para WEBFormato 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Así de Simple !!Así de Simple !!Así de Simple !!Así de Simple !!
<HTLM><HTLM>
<HEAD><HEAD>
<TITLE> ********** </TITLE><TITLE> ********** </TITLE>
</HEAD></HEAD>
<BODY><BODY>
******** <P>******** <P>
******** <BR>******** <BR>
<IMG SRC= “ ******.GIF” ><P><IMG SRC= “ ******.GIF” ><P>
</BODY></BODY>
<HTLM><HTLM>
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
UTILIZACION DEL WWWUTILIZACION DEL WWWUTILIZACION DEL WWWUTILIZACION DEL WWW
Visualizadores:Visualizadores: NetscapeNetscape MosaicMosaic Microsoft NetworkMicrosoft Network Internet Exploret ( Usado por Windows 95’)Internet Exploret ( Usado por Windows 95’) Lynx ( Basado en textos )Lynx ( Basado en textos )
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
WEB SITEWEB SITE
• EXTERNOS– INTERNET
• INTERNOS– INTRANET
• SERVIDORES DE HTTP– ZB
– WEBSITE
– etc.
SEGURIDAD
- FireWall- Servidor- Directorios- Archivos“Property”
La Revolución JavaLa Revolución Java
Beneficios para tu NegocioBeneficios para tu Negocio
La Revolución JavaLa Revolución Java
Beneficios para tu NegocioBeneficios para tu Negocio
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Revolución WEBRevolución WEBRevolución WEBRevolució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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Limitaciones del Web Limitaciones del Web Limitaciones del Web 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
El Bloqueo del Sistema El Bloqueo del Sistema
OperativoOperativo
El Bloqueo del Sistema El Bloqueo del Sistema
OperativoOperativo
Sistema OperativoSistema Operativo
AplicacionesAplicaciones
Hoy:Hoy:Las aplicaciones están unidas al Las aplicaciones están unidas al sistema operativo, el cual a su sistema operativo, el cual a su vez está unido al procesador del vez está unido al procesador del computadorcomputador..
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
El cuello de botella actual El cuello de botella actual
de la Redde la Red
El cuello de botella actual El cuello de botella actual
de la Redde la Red
La Red
LANLAN Mac
ServerSun
PC
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Maquina VirtualMaquina VirtualMaquina VirtualMaquina Virtual
Visualizador / Plug-InVisualizador / Plug-In
ByteCodeByteCode
BIBI OSOS
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Ambiente de Computación Ambiente de Computación
VirtualVirtual
Ambiente de Computación Ambiente de Computación
VirtualVirtual
Agua
Bases de Datos
Browser para Java
Applet
Servidorde Applet
Intra-Net
InterNet
La interacción a través delapplet permite entrada ysalida localizada en tiempo real.
El usuario obtiene la ventaja de las aplicaciones y recursos de la redsin las dependencias de plataforma
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
El poder de JAVA y el WEB El poder de JAVA y el WEB El poder de JAVA y el WEB 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
El poder de JAVA y el WEBEl poder de JAVA y el WEBEl poder de JAVA y el WEBEl 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
El Sistema Operativo de la El Sistema Operativo de la
RedRed
El Sistema Operativo de la El Sistema Operativo de la
RedRed
VisualizadorVisualizador
AplicacionesAplicaciones
Solaris x86Solaris x86Solaris SPARCSolaris SPARCWin 95 /x86Win 95 /x86Win NT/x86Win NT/x86Cualquier SO/CPUCualquier SO/CPU
SOSO
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Ventajas de programación Ventajas de programación
para la Redpara la Red
Ventajas de programación Ventajas de programación
para la Redpara la Red
Seguro Compacto Independiente de la plataforma Los programas corren localmente Puede ser actualizado continuamente
Ing. Msc. Rodolfo Canelón OsalIng. Msc. Rodolfo Canelón Osal..
Java : Escriba una vez y Java : Escriba una vez y
Corra donde sea ...Corra donde sea ...
Java : Escriba una vez y Java : Escriba una vez y
Corra donde sea ...Corra donde sea ...
La RED inicia El Vehículo de La RED inicia El Vehículo de distribución para las distribución para las APLICACIONES APLICACIONES DE DE SOFTWARESOFTWARE
El poder de los PC, No es el poder en el El poder de los PC, No es el poder en el DeskTop - Es el DeskTop - Es el poder de poder de CONECTARSE a otros.CONECTARSE a otros.
La RED es el computador , El La RED es el computador , El computador es un computador es un periférico a internet y periférico a internet y al WEB.al WEB.
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Quienes UsanQuienes Usan
JAVA? JAVA?
Quienes UsanQuienes Usan
JAVA? 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Metas de Diseño de JAVAMetas de Diseño de JAVAMetas de Diseño de JAVAMetas 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Motivación del JAVAMotivación del JAVAMotivación del JAVAMotivació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 Ing. Msc. Rodolfo Canelón
OsalOsal..
La Revolución JAVALa Revolución JAVALa Revolución JAVALa 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
La Revolución JAVA La Revolución JAVA
Tecnología y Arquitectura Tecnología y Arquitectura
La Revolución JAVA La Revolución JAVA
Tecnología y Arquitectura Tecnología y Arquitectura
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Historia del JAVAHistoria del JAVAHistoria del JAVAHistoria 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
JAVAJAVAJAVAJAVA
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
La Arquitectura del JavaLa Arquitectura del JavaLa Arquitectura del JavaLa Arquitectura del Java
AplicaciónJava
VisualizadorHotJava
Herramientaspara desarrollar
en Java
AplicaciónJava
Clases Java
Clases Java
Clases Java
Clases Java
Interpretador Java Interpretador Java Interpretador Java Interpretador Java
Solaris/x86 Solaris/SPARC Win95/x86 WinNT/x86
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Cómo funciona JAVA ?Cómo funciona JAVA ?Cómo funciona JAVA ?Cómo funciona JAVA ?
Escriba código fuente de JAVA y compílelo, creandoun archivo de clase.
Coloque el archivode clase en el servidorWeb en el subdirectoriode clase que contienenlos archivos HTML.
Cree la etiquetapara el applet en eldocumentoHTML.
Cuando un visualizador del documento en la Internet veala etiqueta <app>,generará una instrucción para solicitarclass/Hello.class yobtener el código bytecode compilado.
El visualizadorcrea una nueva ventana y unanueva unidad deejecución (thread)y luego corre el código.
1 2 3 54
INTERNETHELLOEjem.Java
<app =“Ejem”>
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Compilando en JavaCompilando en JavaCompilando en JavaCompilando en Java
file.class
file.javaJava.io
Compilador Java%Java file.javaArchivo fuente Java
Definiciones de clasesJava incorporadas
Byte Codes de Java
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Herramientas para Herramientas para
Desarrolladores de JavaDesarrolladores de Java
Herramientas para Herramientas para
Desarrolladores de JavaDesarrolladores 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Contenido del JDKContenido del JDKContenido del JDKContenido 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
El Java WorkShopEl Java WorkShopEl Java WorkShopEl 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Java usado con un Java usado con un
Visualizador WebVisualizador Web
Java usado con un Java usado con un
Visualizador WebVisualizador Web
VisualizadorHOTJAVA
Escrito en Lenguaje Java
Disponible paraApplets de Java
o cualquierVisualizador disponiblede Java
Java Applet
Interprete Bytecodes
Bytecodes
HTML Doc
Elemento App
Código Java
Compilador
ServidorProovedor
UsuarioHost
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
El Java utilizado en modo El Java utilizado en modo
standalonestandalone
El Java utilizado en modo El Java utilizado en modo
standalonestandalone
Java Applet
Código Java
Compilador
Java Aplicación
Bytecode Bytecode
HTML Doc
Visualizador
de Applet
<HTML><HEAD>
<TITLE> Tree Applet</TITLE></HEAD><BODY><P>“Tree“<APP Classx”Tree”></BODY></HTML>
InterpretadorInterpretador
La aplicación Java corre de manera standalone como cualquier otro lenguaje. Los Applets Java necesitan un documento HTMLy un Visualizador para correr (Visualizador de Applets o HotJava)
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Seguridad JAVASeguridad JAVASeguridad JAVASeguridad 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Mas seguridad Mas seguridad Mas seguridad Mas seguridad
Programa en Java
Compilador Java
Byte-codes Java
Computador fuente
Verificación
La Internet
Su computador
Byte codes Java Ejecución
Restringido
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Aspectos principales del Aspectos principales del
LenguajeLenguaje
Aspectos principales del Aspectos principales del
LenguajeLenguaje
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Aspectos Eliminados de C y Aspectos Eliminados de C y
C++C++
Aspectos Eliminados de C y Aspectos Eliminados de C y
C++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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Objetos en JAVAObjetos en JAVAObjetos en JAVAObjetos 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Color, #puertas, tamaño, fuelColor, #puertas, tamaño, fuel
Encender Apagar Correr CruzarEncender Apagar Correr Cruzar
Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
CAPSULA - CarroCAPSULA - Carro
• Objetos y ClasesObjetos y Clases– Una clase define un mundo real o una entidad Una clase define un mundo real o una entidad
abstracta.abstracta.
Clase nombreClase nombre
Métodos (FuncionesMétodos (Funciones
Atributos (DatosAtributos (Datos
Un objeto es una instancia |instanciación| Un objeto es una instancia |instanciación| de una clase de una clase. .
Nombre del ObjetoNombre del Objeto
Métodos:Métodos:
DatosDatos
Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
TransporteTransporte TransporteTransporte
RielRiel
eses
RielRiel
eses AvAviónión
AvAviónión
CarreteCarrete
rasras
CarreteCarrete
rasras
AerAer
eoeo
AerAer
eoeoGlobGloboo
GlobGloboo
CamióCamiónn
CamióCamiónn
AutobAutobusus
AutobAutobusus
CarrCarroo
CarrCarroo
Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
• Clases de CarrosClases de Carros
Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.Objeto en JAVA.
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Ciclo de vida de un objeto Ciclo de vida de un objeto
en JAVA.en JAVA.
Ciclo de vida de un objeto Ciclo de vida de un objeto
en JAVA.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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Creación de ObjetosCreación de ObjetosCreación de ObjetosCreació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 MemoriaIng. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Uso de un ObjetoUso de un ObjetoUso de un ObjetoUso 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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] [static] [final] [transient] [volatile]
tipo nombrevariable
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 actualIng. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClases
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
ClasesClasesClasesClasesEl 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();staticSystem.loadLibrary (“time”);}
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Librerias de clasesLibrerias de clasesLibrerias de clasesLibrerias 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Mas LibreriasMas LibreriasMas LibreriasMas 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
URLsURLsURLsURLs
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
AppletsAppletsAppletsApplets
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Visión de APPLETSVisión de APPLETSVisión de APPLETSVisió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
|
+----java.awt.Panel
|
+----java.applet.AppletIng. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
MilestonesMilestonesMilestonesMilestones
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Ciclo de Vida de un AppletCiclo de Vida de un AppletCiclo de Vida de un AppletCiclo 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Descargando códigoDescargando códigoDescargando códigoDescargando código
Solicitud delSolicitud delobjetoobjeto
Tipo desconocido
Retorno delobjeto
Solicitud de implementación
Chequeo de implementación
Retorno deimplementación
Clienteobjetoobjeto
necesitadonecesitadouso delobjeto
HTTP
ServidorIng. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Creando un Applet en Creando un Applet en
JAVAJAVA
Creando un Applet en Creando un Applet en
JAVAJAVAimport 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Creando una página que Creando una página que
incluye la aplicación.incluye la aplicación.
Creando una página que Creando una página que
incluye la aplicación.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 Un Applet
Sencillo.ContinuacionSencillo.Continuacion
Un Applet Un Applet
Sencillo.ContinuacionSencillo.Continuacionpublic 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Un Applet Sencillo en JAVAUn Applet Sencillo en JAVAUn Applet Sencillo en JAVAUn 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Applets con MultimediaApplets con MultimediaApplets con MultimediaApplets con Multimedia
import java.awt.*;
import java.awt.image.*;
import sun.awt.image.URLImageSource;
import 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Creando una Aplicación en Creando una Aplicación en
JAVAJAVA
Creando una Aplicación en Creando una Aplicación en
JAVAJAVAclass HelloWorldApp
{
public static void main (String args[])
{
System.out.println("Hello World!");
}
}
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Excepciones (Exceptions)Excepciones (Exceptions)Excepciones (Exceptions)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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Hilos (Threads)Hilos (Threads)Hilos (Threads)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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Hilos (Threads)Hilos (Threads)Hilos (Threads)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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Applets con MultimediaApplets con MultimediaApplets con MultimediaApplets con Multimediaimport 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;
}
}Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Applets con MultimediaApplets con MultimediaApplets con MultimediaApplets 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Applets con MultimediaApplets con MultimediaApplets con MultimediaApplets 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Comunicacion con otros Comunicacion con otros
programasprogramas
Comunicacion con otros Comunicacion con otros
programasprogramas 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Applets versus Applets versus
AplicacionesAplicaciones
Applets versus Applets versus
AplicacionesAplicaciones 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
HotJavaHotJavaHotJavaHotJava
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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Estructura de un Estructura de un
VisualizadorVisualizador
Estructura de un Estructura de un
VisualizadorVisualizador
Decodificar URL Traer
Interactuar Desplegar
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Seguridad del HotJavaSeguridad del HotJavaSeguridad del HotJavaSeguridad 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
InternetIng. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Diferencias entre HotJava y el Diferencias entre HotJava y el
resto de los Visualizadoresresto de los Visualizadores
Diferencias entre HotJava y el Diferencias entre HotJava y el
resto de los Visualizadoresresto 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 Ing. Msc. Rodolfo Canelón
OsalOsal..
Aplicaciones y Applets con Aplicaciones y Applets con
el codigo existenteel codigo existente
Aplicaciones y Applets con Aplicaciones y Applets con
el codigo existenteel codigo existente
Neo/Teknekron/Iona/ExpertSoftNeo/Teknekron/Iona/ExpertSoft
JavaJava
OpenStepOpenStep C,C++C,C++
SmallTalkSmallTalk
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
Estrategia de integracion Estrategia de integracion
de objetos javade objetos java
Estrategia de integracion Estrategia de integracion
de objetos javade objetos java Java y NEO(JOE) Java y Iona Java yPDO Java y C++,Smalltalk, OpenStep
JAVAJAVA
JAVAJAVAAppletsAppletsAppsApps
AppletsAppletsAppsApps
OpenStepOpenStepNEONEO
CORBA IONA C C++CORBA IONA C C++PDOPDO
NEXTSTEPNEXTSTEPClienteCliente
Servidor(es)Servidor(es)
(Orblet)(Orblet)
InternetInternetoo
IntranetIntranet
Ing. Msc. Rodolfo Canelón Ing. Msc. Rodolfo Canelón
OsalOsal..
ConceptosConceptos BásicosBásicos
• Internet
• Intranet
• Extranets
•
IntranetIntranet
ComponentesComponentes
• Protocolos de comunicaciones (TCP/IP)
• Servidor de Web
• Browser (navegador) para los clientes
• Soporte de Base de Datos
IntranetIntranet
ComponentesComponentes
Cliente(Browser)
Base deDatos
Protocolo TCP/IP(IPX en Novell Netware)
Servidor Web
Máquina Virtualde Java
Internet
Extranet
Combinar Tecnologías
Cliente
Windows NT
Novell Netware
Unix
Por qué IntranetsPor qué Intranets ... ...
Expansión
Servidor A Servidor B
Servidor C
Más servidores a futuro
IntranetIntranetIntranetIntranet
PublicaciónWeb
TransaccionesWorkflow
ColaboraciónBoletines
Mensajería/email
Intranet
IntraorganizaciónAd-hoc
Estructurado/Gerencia
PublicaciónWeb
TransaccionesWorkflow
ColaboraciónBoletines
Mensajería/email
Extranet
Internet
Interorganización
Por qué Intranets ...Por qué Intranets ...Por qué Intranets ...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ómicaLa tecnología Web tiene escalabilidad
IntranetIntranetIntranetIntranet Las redes IP son fáciles de integrar a las LANs
y WANsLa tecnología Web permite el desarrollo en
múltiples plataformas (cross platforms)Es una tecnología netamente cliente servidorLa tecnología Web es muy económicaLa tecnología Web tiene escalabilidad
Otros tipos de seguridad:
IntranetIntranetIntranetIntranet
IntranetIntranetIntranetIntranet
ServidorPush
Información
Tecnología Push
INTRANETINTRANETINTRANETINTRANET
VRMLAplicaciones MultimediaServidores de Video Conferencias
Voz, Datos yVideo
Voz, Datos yVideo
INTRANETINTRANETINTRANETINTRANET
IntranetIntranetIntranetIntranet
Requerimiento de conexión
Clave Pública
Certificado digital
Clave Privada
Validación usando clave pública
Documentos encriptados
Servidor deun sitio seguro
Seguridad SSL
IntranetIntranetIntranetIntranet
Información:
Nombre, email organización estado, país
Clave Pública
Servidor deun sitio seguro
Clave Privada
Seguridad SSL
Cliente creando sitio seguro
IntranetIntranet
Función de un Web ServerFunción de un Web Server
• Comunicar instrucciones HTML
• Ejecutar Programas (Java, CGI, Perl)
• Autentificado del Usuario
• Logging
• Control de acceso
• Administración
IntranetIntranet
Servidores WebServidores Web
• Microsoft Internet Information Server
• Netscape Enterprise Server
• Novell Netware Web Server
• Lotus Domino Server
IntranetIntranet
Bases de DatosBases de Datos
• Consulta de datos corporativos
• Mantenimiento flexible de la información de la Intranet
• Aplicaciones de actualización de datos usando arquitectura abierta
top related