Download Programación Java - Pagina del servidor yaqui
Document related concepts
no text concepts found
Transcript
Programación Java M.C. Jorge Eduardo Ibarra Esquer Universidad Autónoma de Baja California jorgeeie@uabc.mx Febrero de 2006 Objetivos Conocer las características de la Tecnología Java Comprender las características generales del lenguaje de programación Java Revisar los conceptos principales de la programación orientada a objetos 1 Objetivos Entender la estructura, organización y uso del API del J2SE Conocer el funcionamiento del IDE Eclipse y utilizarlo para desarrollar aplicaciones en Java Contenido del curso Introducción a la Tecnología Java Instalación del JDK y del entorno de desarrollo Eclipse Elementos del lenguaje Introducción a la programación orientada a objetos con Java Clases del paquete java.lang 2 Contenido del curso… Manejo de excepciones El paquete java.io y flujos de E/S El paquete java.util Desarrollo de aplicaciones gráficas Hilos y aplicaciones concurrentes ¿Qué es Java? Lenguaje de Programación Orientado a Objetos Sintaxis similar a C++ Independiente de plataforma Lenguaje de programación de la World Wide Web 3 La creación de Java 1990 – Java empezó como un proyecto interno de Sun Microsystems Stealth Project (Green Project) Su objetivo era el de generar un lenguaje de programación independiente de plataforma, orientado a la electrónica de consumo, principalmente a electrodomésticos. Microondas, tostadoras y TV interactiva La creación de Java Uno de los resultados del Green Project fue un lenguaje denominado “Oak” El otro resultado fue la mascota de Java “Duke” 4 La creación de Java James Gosling Patrick Naughton Mike Sheridan La creación de Java Un factor que jugó un papel crucial en la implementación de Java, fue el desarrollo del World Wide Web. Al igual que los dispositivos electrónicos, el Web también demandaba programas que fuesen portables. 5 El Web en sus inicios WWW El Web se hizo interactivo WWW 6 Y el servidor ejecutó aplicaciones WWW BD Aspectos importantes de Java Applets y aplicaciones Seguridad Portabilidad 7 Applets Applets 8 Seguridad El modelo Sandbox 9 Aplicaciones Portabilidad Bytecode JVM 10 Aspectos adicionales del lenguaje Simple Interpretado Orientado a objetos Alto rendimiento Robusto Distribuido Multihilo Dinámico Arquitectura neutral Java es simple Es fácil dominar Java si se tiene cierta experiencia programando: Comprensión de los conceptos de la programación orientada a objetos Conocimientos de C/C++(Java hereda su sintaxis y algunas de sus características) 11 Java es simple Elimina los conceptos complicados de C/C++ Herencia múltiple Apuntadores Aritmética de apuntadores Java es Orientado a Objetos Todo en Java son clases y objetos El modelo de objeto de Java es sencillo y de fácil ampliación Los tipos de datos simples se mantienen como “no objetos” de alto rendimiento Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo 12 Java es Robusto Los programas en la Web se deben ejecutar de forma fiable en una gran variedad de sistemas Java es un lenguaje estrictamente tipificado El código se comprueba durante la compilación y durante la ejecución Java es Robusto Java se encarga internamente de reservar y liberar la memoria Garbage collector Detección de errores Detección de errores al compilar Captura de errores en tiempo de ejecución Manejo de excepciones 13 Java es multihilos Java fue diseñado para satisfacer los requerimientos del mundo real, de crear programas en red interactivos Al ser multihilo, Java permite muchas actividades simultáneas en un programa Los hilos (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso Java tiene una arquitectura neutral El compilador Java compila su código a un archivo objeto de formato independiente de la arquitectura de la máquina en que se ejecutará Cualquier máquina que tenga el sistema de ejecución (runtime) puede ejecutar ese código, sin importar en modo alguno la máquina en que ha sido generado 14 Java se interpreta El código fuente Java se "compila" a un código de bytes de alto nivel independiente de la máquina. Este código (bytecodes) está diseñado para ejecutarse en una máquina virtual que es implementada por un sistema de ejecución (JRE – Java Runtime Environment), que sí es dependiente de la máquina App1 App2 App3 App4 App5 Máquina Virtual de Java Windows Intel Linux OS X PowerPC/Gx Solaris Linux SPARC Manu Kumar – Stanford University 2003 15 Java es distribuido Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen paquetes con clases para acceder e interactuar con protocolos y aplicaciones de red La verdad es que Java en sí no es distribuido, sino que proporciona los paquetes y herramientas para que los programas puedan ser distribuidos, es decir, que se ejecuten en varias máquinas conectadas en red Java es seguro La seguridad en Java tiene dos facetas. En el lenguaje, características como los punteros o el casting implícito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal a la memoria. 16 Java es portable Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, PC o Mac. Java es dinámico Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librerías nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior). 17 ¿Qué hay en Java? Las plataformas de Java J2SE – Java 2, Standard Edition J2EE – Java 2, Enterprise Edition J2ME – Java 2, Micro Edition 18 Java 2, Standard Edition (J2SE) La edición estándar de la Plataforma de Java proporciona un ambiente completo para el desarrollo de aplicaciones para computadoras de escritorio y servidores. Es la base para la plataforma J2EE y los Java Web Services Productos principales de la plataforma J2SE Java Runtime Environment JRE APIs de Java Máquina Virtual de Java JVM Componentes para ejecutar Applets y Aplicaciones escritas en Java Software Development Kit SDK Incluye el JRE más las herramientas para compilar, depurar y documentar los programas escritos en Java. 19 Java 2 Standard Edition Copyright 1994-2004 Sun Microsystems, Inc. El API J2SE La interfaz de programación de aplicaciones (API) del J2SE, define la forma en la que un applet o una aplicación puede utilizar la funcionalidad de las bibliotecas de clases del J2SE. Consiste de tecnologías organizadas en dos grupos: Core Java Desktop Java 20 Core Java Proporciona la funcionalidad escencial para escribir programas útiles en áreas claves como son: Acceso a Bases de Datos Seguridad Java Database Connectivity (JDBC) Java Authentication and Authorization Service (JAAS) Java Cryptography Extension (JCE) Java Secure Socket Extension (JSSE) Tecnología para detección de fallos Java Platform Debugger Architecture (JPDA) Core Java Tecnología para Documentación Otras tecnologías Herramienta Javadoc Internationalization Java Remote Method Invocation (RMI) Java Naming and Directory Interface (JNDI) Paquetes opcionales Java Management Extensions (JMX) JMX Remote API Java Communications API Java Telephony API 21 Desktop Java Las tecnologías Desktop Java se pueden utilizar junto con las Core Java para crear applets y aplicaciones para PC con interfaces de usuario completas que sean seguras, portables y de alto desempeño. Las aplicaciones Desktop Java se pueden ejecutar en múltiples sistemas operativos, incluyendo Linux, Windows, Macintosh, Solaris y otros. Desktop Java Tecnologías para despliegue de aplicaciones Java Runtime Environment JRE Java Plug-in Java Web Start Tecnologías de modelado de componentes JavaBeans 22 Desktop Java GUI Toolkit Java Foundation Classes (JFC/Swing) Accesibility Java 2D API Internationalization Sonido Java Sound API Desktop Java Paquetes adicionales Java Media Framework (JMF) Java 3D API Java Advanced Imaging API (JAI) Java Speech API Java Help System 23 Java 2, Enterprise Edition (J2EE) La edición empresarial de Java define el estándar de desarrollo de aplicaciones empresariales multicapa basadas en componentes. Entre sus características se incluyen el soporte a Web services y las herramientas de desarrollo (SDK) J2EE – Tecnologías utilizadas J2SE JDBC CORBA Enterprise Javabeans Servlets Java Server Pages JSP XML 24 Modelo de la aplicación empresarial Copyright 1994-2004 Sun Microsystems, Inc. Servicios proporcionados por la plataforma J2EE Copyright 1994-2004 Sun Microsystems, Inc. 25 Sitios de desarrolladores javaHispano The Source for Developers http://developers.sun.com The Server Side http://www.javahispano.org http://www.theserverside.com JavaWorld http://www.javaworld.com El proyecto Jakarta crea y mantiene soluciones de código abierto para la plataforma Java, para distribución al público sin costo alguno. 26 Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx jorgeeie@gmail.com 27