Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos
Conocer las caractersticas de la Tecnologa Java Comprender las caractersticas generales del lenguaje de programacin Java Revisar los conceptos principales de la programacin orientada a objetos
Objetivos
Entender la estructura, organizacin y uso del API del J2SE Conocer el funcionamiento del IDE Eclipse y utilizarlo para desarrollar aplicaciones en Java
Qu es Java?
Lenguaje de Programacin Orientado a Objetos Sintaxis similar a C++ Independiente de plataforma Lenguaje de programacin de la World Wide Web
La creacin 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 programacin independiente de plataforma, orientado a la electrnica de consumo, principalmente a electrodomsticos.
Microondas, tostadoras y TV interactiva
La creacin de Java
Uno de los resultados del Green Project fue un lenguaje denominado Oak El otro resultado fue la mascota de Java Duke
La creacin de Java
James Gosling
Patrick Naughton
Mike Sheridan
La creacin de Java
Un factor que jug un papel crucial en la implementacin de Java, fue el desarrollo del World Wide Web. Al igual que los dispositivos electrnicos, el Web tambin demandaba programas que fuesen portables.
WWW
WWW
WWW
BD
Applets
Applets
Seguridad
El modelo Sandbox
Aplicaciones
Portabilidad
Bytecode JVM
10
Java es simple
Es fcil dominar Java si se tiene cierta experiencia programando:
Comprensin de los conceptos de la programacin orientada a objetos Conocimientos de C/C++(Java hereda su sintaxis y algunas de sus caractersticas)
11
Java es simple
Elimina los conceptos complicados de C/C++
Herencia mltiple Apuntadores Aritmtica de apuntadores
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 cdigo se comprueba durante la compilacin y durante la ejecucin
Java es Robusto
Java se encarga internamente de reservar y liberar la memoria
Garbage collector
Deteccin de errores
Deteccin de errores al compilar Captura de errores en tiempo de ejecucin
Manejo de excepciones
13
Java es multihilos
Java fue diseado para satisfacer los requerimientos del mundo real, de crear programas en red interactivos Al ser multihilo, Java permite muchas actividades simultneas en un programa Los hilos (a veces llamados, procesos ligeros), son bsicamente pequeos procesos o piezas independientes de un gran proceso
14
Java se interpreta
El cdigo fuente Java se "compila" a un cdigo de bytes de alto nivel independiente de la mquina. Este cdigo (bytecodes) est diseado para ejecutarse en una mquina virtual que es implementada por un sistema de ejecucin (JRE Java Runtime Environment), que s es dependiente de la mquina
App1
App2
App3
App4
App5
Windows Intel
Linux
OS X PowerPC/Gx
Solaris SPARC
Linux
15
Java es distribuido
Java se ha construido con extensas capacidades de interconexin 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 mquinas conectadas en red
Java es seguro
La seguridad en Java tiene dos facetas. En el lenguaje, caractersticas como los punteros o el casting implcito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal a la memoria.
16
Java es portable
Ms all de la portabilidad bsica por ser de arquitectura independiente, Java implementa otros estndares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y adems, enteros de 32 bits en complemento a 2. Adems, Java construye sus interfaces de usuario a travs de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, PC o Mac.
Java es dinmico
Java se beneficia todo lo posible de la tecnologa orientada a objetos. Java no intenta conectar todos los mdulos que comprenden una aplicacin hasta el tiempo de ejecucin. Las libreras nuevas o actualizadas no paralizarn las aplicaciones actuales (siempre que mantengan el API anterior).
17
Qu hay en Java?
18
19
El API J2SE
La interfaz de programacin de aplicaciones (API) del J2SE, define la forma en la que un applet o una aplicacin puede utilizar la funcionalidad de las bibliotecas de clases del J2SE. Consiste de tecnologas 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
Java Database Connectivity (JDBC)
Seguridad
Java Authentication and Authorization Service (JAAS) Java Cryptography Extension (JCE) Java Secure Socket Extension (JSSE)
Core Java
Tecnologa para Documentacin
Herramienta Javadoc
Otras tecnologas
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 tecnologas 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 desempeo. Las aplicaciones Desktop Java se pueden ejecutar en mltiples sistemas operativos, incluyendo Linux, Windows, Macintosh, Solaris y otros.
Desktop Java
Tecnologas para despliegue de aplicaciones
Java Runtime Environment JRE
Java Plug-in Java Web Start
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
24
25
Sitios de desarrolladores
javaHispano
http://www.javahispano.org
JavaWorld
http://www.javaworld.com
El proyecto Jakarta crea y mantiene soluciones de cdigo abierto para la plataforma Java, para distribucin al pblico sin costo alguno.
26
27