Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación...

55
Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación “Aplicaciones con Lenguaje Java”

Transcript of Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación...

Page 1: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Rogelio Ferreira EscutiaInstituto Tecnológico de Morelia

Departamento de Sistemas y Computación

“Aplicaciones con Lenguaje Java”

Page 2: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

“The computer is the Network”Sun Microsystems

“Write once, run everywhere”Sun Microsystems

“I Love Java”Rogelio F.

Page 3: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Contenido

1) Historia2) Características de Java3) Plataforma Java4) Descargar Software5) Instalar Software6) Aplicaciones

Interfaz Gŕáfica

Page 4: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

1) Historia

Page 5: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Es un lenguaje que se originó en 1991 como parte de un Es un lenguaje que se originó en 1991 como parte de un proyecto de investigación (“Green Team”, formado por Patrick proyecto de investigación (“Green Team”, formado por Patrick Naughton, Mike Sheridan, y James Gosling) para desarrollar un Naughton, Mike Sheridan, y James Gosling) para desarrollar un nuevo lenguaje de programación llamado “Oak”.nuevo lenguaje de programación llamado “Oak”.

Este lenguaje se enfocó para comunicar dispositivos caseros Este lenguaje se enfocó para comunicar dispositivos caseros como televisiones y videocaseteras, los cuales pudieran como televisiones y videocaseteras, los cuales pudieran compartir el mismo software pero utilizando diferentes compartir el mismo software pero utilizando diferentes microprocesadores.microprocesadores.

Este lenguaje no prosperó en el mercado de dispositivos Este lenguaje no prosperó en el mercado de dispositivos caseros, por lo que se cambió el mercado en el cual se caseros, por lo que se cambió el mercado en el cual se emplearía, optando por utilizarlo en la naciente Web, para el emplearía, optando por utilizarlo en la naciente Web, para el desarrollo de componentes multimedia en páginas web.desarrollo de componentes multimedia en páginas web.

Estas aplicaciones fueron denominadas “applets” y fue en ese Estas aplicaciones fueron denominadas “applets” y fue en ese entonces que se cambió el nombre por Java.entonces que se cambió el nombre por Java.

Java - HistoriaJava - Historia

5• ACM – http://www.acm.org – Agosto 2003

Page 6: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

“Green Team” de izquierda a derecha: Al Frazier, Joe Palrang, Mike Sheridan, Ed Frank, Don Jackson, Faye Baxter, Patrick Naughton, Chris Warth, James Gosling, Bob Weisblatt, David Lavallee, and Jon Payne.

Java - HistoriaJava - Historia

6• Java Technology: The Early Years, http://java.sun.com/features/1998/05/birthday.html, marzo 2004

Page 7: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

James Gosling al cual se le atribuye la creación del lenguaje Java.

Java - HistoriaJava - Historia

7• _

Page 8: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Dispositivo e interface del prototipo denominado *7 (Star Seven) con el cual se hizo una demostración de la plataforma Java (aún no denominada con este nombre).

Java - HistoriaJava - Historia

8• Java Technology: The Early Years, http://java.sun.com/features/1998/05/birthday.html, marzo 2004

Page 9: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

1991: Arranca el “Green Project”.

1992: Surge el lenguaje “OAK”.

1995: Cambia el nombre de OAK a Java y es lanzada la Tecnología Java por Sun Microsystems en el Sun World.

1996: Se lanza JDK 1.0 y se realiza la primera conferencia de desarrolladores de Java “JavaOne Developer Conference”.

1997: en 3 semanas se descargan 220,000 copias del JKD 1.1 y el “JavaOne” llega a 8,000 asistentes. Se lanza Java Card.

1998: Las descargas del JDK 1.1 llegan a 2 millones. Visa lanza la primera “Smart Card” basada en Java Card. Nace JCP (Java Community Process).

Evolución de JavaEvolución de Java

9• Java History: The Inside History, http://java.com, junio 2006

Page 10: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

1999: Se lanza Java 2. Asisten 20,000 al JavaOne. Se lanza la versión Beta de J2EE.

2000: son creados 400 grupos de desarrolladores de Java en todo el mundo en los que se agrupan 1.5 millones de usuarios. Steve Jobs y se une a Scott McNealy para anunciar que Apple soportará la tecnología Java.

2001: Primera conferencia internacional de JavaOne en Yokohama Japón. J2EE SDK llega a 1 millón de descargas.

2002: J2EE SDK llega a 2 millones. 78% de los ejecutivos ven en J2EE como la mejor plataforma para desarrollar servicios web.

Evolución de JavaEvolución de Java

10• Java History: The Inside History, http://java.com, junio 2006

Page 11: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

2003: La tecnología web corre en 550 millones de computadoras de escritorio. 75% de los desarrolladores utilizan Java como su principal lenguaje de desarrollo.

2004: Se lanza Java 2 Edición 5. El Mars Rovers, que utiliza tecnología Java llega al planeta Marte. Es lanzado el Sun Java Studio.

2005: Java celebra sus 10 años. Aproximadamente 4.5 millones de desarrolladores utilizan Java. Cerca de 2,500 millones de dispositivos utilizan Java

Evolución de JavaEvolución de Java

11• Java History: The Inside History, http://java.com, junio 2006

Page 12: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Organizaciones JavaOrganizaciones Java

12• Java History: The Inside History, http://java.com, junio 2006

Page 13: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

2) Características de Java

Page 14: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Evolución de los Lenguajes

Lenguajes de ProgramaciónLenguajes de Programación

14• _

Page 15: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Java es un lenguaje de Programación Orientado a Objetos (Object-Oriented Programming), por lo que se busca crear objetos, o piezas de código autónomo, que pueda interactuar con otros objetos para resolver un problema.

El lenguaje de programación Java fue desarrollado para tener las siguientes características:

1) Orientado a Objetos.2) Distribuido.3) Simple.4) Multihilo.5) Seguro.6) Independiente de la plataforma.

Java - CaracterísticasJava - Características

15• ACM – http://www.acm.org – Agosto 2003

Page 16: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Identificando objetosIdentificando objetos

16• -

Page 17: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

ClasesClases

17• -

Page 18: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Alan Kay definió 5 características básicas de Smalltalk (el

lenguaje en el cual se basó Java):

1) Cada cosa es un objeto.

2) Un programa es un conjunto de objetos que se envían

mensajes entre sí para saber qué es lo que van a

realizar.

3) Cada objeto tiene su propia memoria construida a

partir de otros objetos.

4) Cada objeto tiene un tipo.

5) Todos los objetos del mismo tipo pueden recibir los

mismos mensajes.

JavaJava

18• “Thinking in Java”, Bruce Eckel, Third Edition, Prentice Hall 2003

Page 19: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Construcción de un objeto:

Java - ObjetosJava - Objetos

19• Introduction to Programming with Java 3D, Sowizral y Nadeau, http://www.sdsc.edu/~nadeau, mayo 2005

Definir componentes

Ensamble de componentes

Objeto final

Page 20: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Objeto y sus componentes:

Java - ObjetosJava - Objetos

20• Introduction to Programming with Java 3D, Sowizral y Nadeau, http://www.sdsc.edu/~nadeau, mayo 2005

Page 21: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

SecuencialSecuencial

JavaJava

21• _

Orientado a objetosOrientado a objetos

Page 22: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Light lt = new Light();

lt.on();

Clase = Light Nombre = lt Posibles comportamientos del objeto (métodos) = on, off,

brighten, dim

Java - objetosJava - objetos

22• “Thinking in Java”, Bruce Eckel, Third Edition, Prentice Hall 2003

Notación UML

Page 23: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Java - HerenciaJava - Herencia

23• “Thinking in Java”, Bruce Eckel, Third Edition, Prentice Hall 2003

Page 24: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

DistribuidoDistribuido

Proporciona soporte para tecnologías de redes distribuidas, tal como RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architecture, y URL (Universal Resource Locator).

Adicionalmente, las capacidades de carga dinámica de clases permite que piezas de código sean descargadas de Internet y ejecutadas en una computadora personal.

JavaJava

24• _

Page 25: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Java - MultihiloJava - Multihilo

25• _

Page 26: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Seguridad:Seguridad:

Prohíbe la manipulación de memoria usando punteros. Verifica que todos los programas Java contengan código

válido. Soporta digital signatures. El código Java puede ser “firmado” por una compañía o

persona, de manera que la persona que reciba el código puede verificar la legitimidad del código.

JavaJava

26• _

Page 27: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Dependiente de la Plataforma (creando un archivo binario)Dependiente de la Plataforma (creando un archivo binario)

JavaJava

27• _

Page 28: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Creando BytecodeCreando Bytecode

JavaJava

28• _

Page 29: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Ejecutando BytecodeEjecutando Bytecode

JavaJava

29• _

Page 30: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

3) Plataforma Java

Page 31: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Arquitectura JavaArquitectura Java

31• Java a tope: J2ME, Sergio Gálvez Rojas y Lucas Ortega Díaz, Universidad de Málaga

Page 32: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

32• _

Java para Web Tecnología Java

Page 33: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

4) Descargar Software

Page 34: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

La última versión es la 1.6 update 3 (noviembre 2007).La última versión es la 1.6 update 3 (noviembre 2007).

Para descargar el software hacer click en:Para descargar el software hacer click en:

http://www.sun.com/download/http://www.sun.com/download/

Java – DescargarJava – Descargar

34• _

Page 35: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

5) Instalar Software

Page 36: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Java – InstalarJava – Instalar

36• _

Instalación de Java en Windows XP:Instalación de Java en Windows XP:

http://www.cuitzeo.com.mx/rogelio/doc_0001.htmhttp://www.cuitzeo.com.mx/rogelio/doc_0001.htm

Instalación de Java en Linux (Ubuntu):Instalación de Java en Linux (Ubuntu):

http://www.cuitzeo.com.mx/rogelio/doc_0003.htmhttp://www.cuitzeo.com.mx/rogelio/doc_0003.htm

Para pedir un disco de Ubuntu de manera gratuita o bajar Para pedir un disco de Ubuntu de manera gratuita o bajar alguna versión, hacer click en:alguna versión, hacer click en:

https://shipit.ubuntu.com/ https://shipit.ubuntu.com/

Page 37: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Aplicaciones

Interfaz Gráfica

Page 38: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Interfaz GráficaInterfaz Gráfica

38• _

Page 39: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Aplicaciones

Multimedia

Page 40: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

MultimediaMultimedia

40• _

Page 41: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

MultimediaMultimedia

41• _

Page 42: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Aplicaciones

Bases de Datos

Page 43: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Interfaz GráficaInterfaz Gráfica

43• _

Page 44: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Aplicaciones

Redes

Page 45: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

45• Java Network Programming, Editorial O'Reilly

Java para Redes Cliente Servidor

Page 46: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Aplicaciones

Aplicaciones Web

Page 47: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

47• _

Java para Web Contenedores

Page 48: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Aplicaciones

Cómputo Móvil

Page 49: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Posibles Plataformas – J2MEPosibles Plataformas – J2ME

49• Java 2 Micro Edition: Java in Small Things, James White y David Hemphill, Manning Publications 2002

Page 50: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Ejecución en JavaEjecución en Java

50• Java a tope: J2ME, Sergio Gálvez Rojas y Lucas Ortega Díaz, Universidad de Málaga

Page 51: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Instalar un MIDlet en un celularInstalar un MIDlet en un celular

51• -

Page 52: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Programa “hola Mundo”

corriendo en el

simulador del J2ME con

el “DefaultColorPhone”.

““hola Mundo”hola Mundo”

52• -

Page 53: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Celular Sendo XCelular Sendo X

53• -

Page 54: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Celular Sendo XCelular Sendo X

54• -

Page 55: Rogelio Ferreira Escutia Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Aplicaciones con Lenguaje Java.

Rogelio Ferreira Escutia

Instituto Tecnológico de MoreliaDepartamento de Sistemas y Computación

http://www.cuitzeo.com.mx/rogeliohttp://dsc.itmorelia.edu.mx/~rferreir

http://antares.itmorelia.edu.mx/~kaos

E-mail: [email protected] [email protected]

Messenger: [email protected]