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