Historia - PowerPoint PPT Presentation

About This Presentation
Title:

Historia

Description:

CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz un toque de humor... AGENDA Qu es Java? Historia Programaci n Orientada a Objetos Arquitectura Java en todo ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 85
Provided by: Paola65
Category:
Tags: historia | java | jdbc

less

Transcript and Presenter's Notes

Title: Historia


1
CONOCIENDO JAVA
BIENVENIDOS!
Ing. Pavel Stephan Munoz
2
un toque de humor...
3
AGENDA
  • Qué es Java?
  • Historia
  • Programación Orientada a Objetos
  • Arquitectura
  • Java en todo lugar
  • Cómo comenzar?
  • Ejemplos
  • Comunidades
  • Java en el mercado
  • Futuras Tendencias

4
QUE ES JAVA?
5
Qué es Java?
  • Un software?
  • Una tecnología ?
  • Un lenguaje de programación
  • Una plataforma para desarrollo.
  • Una isla de Indonesia?

6
(No Transcript)
7
Java es todo eso!
  • Simple, orientado a objetos
  • Independiente de Plataforma (JVM)?
  • Portable
  • Versátil, Dinámico, Robusto y seguro.
  • Gratuito
  • Fácil de usar y desarrollar
  • Lenguaje popular y con una gran comunidad de
    adeptos alrededor del mundo!

8
Java... popular?
  • Conozcan el indice TIOBE!

9
Java es
  • Orientada a Objetos
  • Semejante a C/C
  • Hibrida (Compilada e interpretada)?

10
HISTORIA
11
Cómo nace Java?
  • En los laboratorios de Sun se empieza a
    desarrollar un nuevo lenguaje bautizado Oak
    (roble).
  • Orientado a Objetos
  • Parecido a C
  • Proyectado que fuera multiplataforma
  • Creado por James Gosling

12
Cómo nace Java?
  • Después de 6 meses SUN transforma el proyecto en
    una empresa llamada First Person

13
Al fin Java
  • El lenguaje OAK se torna producto y Naughton
    sugiere que sea distribuido gratuitamente en el
    web.
  • Navegador Web Runner, mas tarde HotJava Browser
    nacen los Applets!
  • Sun acuerda poner disponible OAK, sin embargo
    cambia su nombre a JAVA
  • Netscape anuncia su nuevo navegador con soporte
    para Java y esta tecnologia se dispara

14
Evolución de Java
  • Evolución
  • Java 1.0a
  • Java Development Kit 1.1
  • Java 2 Platform 1.2.
  • Java 2 Platform 1.3.
  • Java 2 Platform 1.4.
  • Java 2 Platform 1.5. (Tiger)?
  • Java 2 Platform 1.6. (Mustang)?
  • Próxima Java 7 (Dolphin).

15
Mitos de Java
  • Java es lento!
  • Las primeras versiones si lo eran sin embargo las
    mas nuevas son casi tan rápidas como C
  • No posee un ambiente RAD (Como Visual Studio)
  • Hay muchas herramientas de alta productividad,
    disponibles e inclusive gratuitas
  • JavaScript es un derivado de Java

16
Mitos de Java
  • Java solo sirve para hacer Applets
  • Error! Java sirve para desarrollar aplicaciones
    de escritorio, aplicaciones corporativas y entre
    otros programas para dispositivos móviles.
  • Java es la mejor forma de hacer todo.
  • Ya quisiera yo. Java es bastante versátil, pero
    no siempre hace todo.

17
Porqué usar Java?
  • Precisas de más motivos ?
  • Proyectada para redes.
  • Alta aceptación y soporte de la Industria
  • Múltiples herramientas disponibles, muchas
    gratuitas y libres.
  • Vasta documentación, fácil de aprender.
  • Alta productividad.
  • OPEN SOURCE!
  • Etc, etc, etc.

18
PROGRAMACION ORIENTADA A OBJETOS
19
Ingeniería de Software
  • Diseñar software es un arte!
  • La Ingeniería de Software busca como formalizar
    metodologías
  • Paradigmas rigen las tareas de Análisis,
    Proyecto y Codificación
  • Los mas parecidos son
  • Paradigma Estructurado.
  • Paradigma Orientado a Objetos.

20
Java Orientada a Objetos
  • Para desenvolverse bien en Java es necesario
    saber los conceptos de OO
  • De lo contrario
  • Difícilmente conseguirá evolucionar a los
    programas mas simples.
  • Será difícil entender otros programas de otras
    personas y viceversa.
  • Si no desea aprender OO, entonces es mejor usar
    PASCAL o C que son metodología orientada a
    procedimientos.

21
Conceptos de OO
  • Abstracción
  • Encapsulamiento
  • Modularidades
  • Objetos
  • Clases
  • Vinculos y Asociasiones
  • Composicion
  • Herencia
  • Mensajes y Métodos
  • Herencia
  • Clases y Operaciones Abstractas
  • Modularidades
  • Polimorfismo

22
Perdón?
23
Objetos
  • Concepto central de este paradigma.
  • Entidades que incorporan abstracciones relevantes
    de un problema.
  • Un objeto tiene tres características
  • Estado
  • Comportamiento
  • Identidad

24
Clases
  • Objetos que poseen una misma estructura y
    comportamiento son de una misma clase.
  • Definimos clases no objetos.

25
Abstracción
  • Ignorar aspectos irrelevantes y concentrarnos en
    los principal
  • Tipos
  • Abstracción de datos.
  • Abstracción de procedimientos.

26
Encapsulamiento
  • Separar los aspectos externos de los aspectos
    internos
  • Aspectos externos Interfaz, contrato
  • Aspectos internos Implementación

27
Modularidad
  • Descomponer el sistema en módulos
  • Fundamental para el reuso.

28
Vínculos y Asociaciones
  • Objetos relacionados entre si
  • Vínculos Conexión entre objetos.
  • Asociación Conexión entre clases que representa
    existencia de vínculos.
  • Asociaciones pueden ser cardinalidades

29
Composiciones
  • Los objetos complejos son compuestos por objetos
    mas simples.
  • Composición Las partes pueden ser relacionadas a
    todo.
  • Agregación Las partes pueden ser descompuestas.

30
Herencia
  • Cuando las clases tienen semejanzas podemos
    generalizarlas.
  • Jerarquias
  • Relaciones entre super clases y sub clases

31
Mensajes y Métodos
  • Los Objetos envían mensajes para comunicarse,
    debe ser la única forma.
  • Métodos Operaciones que un objeto puede realizar.

32
Persistencia
  • Capacidad del objeto de trascender en tiempo y
    espacio
  • Almacenamiento en banco de datos.
  • Transmisión por la red.

33
Clases y Metodos Abstractos
  • Las clases abstractas no pueden ser instancias.
  • Metodos abstractos no pueden ser implementados.
  • Clases compuestas solamente por metodos
    abstractas.

34
Sobrecarga y Sobrescrita
  • Sobrecarga Operaciones distintas con el mismo
    nombre.
  • Sobrescrita Sub Clase define nueva
    implementación para operaciones definidas en una
    super clase.

35
Polimorfimo
  • Habilidad de tomar varias formas.

36
ARQUITECTURA
37
Java es mucho!
  • Un lenguaje de programación Java
  • Un ambiente de ejecución.
  • Un Kit de desarrollo Java.
  • Una biblioteca de clases (API) Java.

38
Plataforma Java 2
  • Desde la versión 1.2 hasta la 1.5 pasó a ser
    llamada Java 2 y fue dividida en
  • Java 2 Platform Standard Edition (JavaSE)?
  • Java 2 Platform Enterprise Edition (JavaEE)?
  • Java 2 Platform Mobile Edition (JavaME)?
  • Cada una tiene su API
  • JAVASE es la base para otras.

39
Nuevos Aires
  • A partir de la versión, quita el 2 de su nombre.
  • Java Platform, Standard Edition 6
  • Java SE 6 Java Platform, Enterprise Edition 6
  • Java EE 6 Java Platform, Mobile Edition 6 Java
    ME 6.
  • Java2 permanece en versión 1.5

40
Java Platform, Stándard Edition
  • Herramientas de desarrollo API Nucleo
    Plataforma de JAVA
  • Permite el desarrollo de aplicaciones de
    escritorio, inclusive con interfaz grafica,
    acceso a base de datos,, I/O, redes, etc.
  • Divida en
  • JDK Java Development Kit.
  • JRE Java Runtime Enviroment.

41
Java RunTime Enviroment
  • Necesario para la ejecución de programas en JAVA
  • Es la única plataforma de Java que los clientes
    necesitan instalar.
  • En algunos sistemas operativos (MacOS X) ya viene
    instalada.
  • Implementada por Sun (15 MB)?

42
Java Development Kit
  • Solamente para programadores
  • Contiene
  • Herramientas de desarrollo.
  • Ambiente de Ejecución
  • API JAVA SE (Compilada y Código Fuente)?
  • Programas de Ejemplo.
  • Bibliotecas adicionales
  • Documentación (obtenida separadamente)?

43
Herramientas Disponibles
  • Compilador (javac)?
  • Interprete (java)?
  • Generador de documentación (javadoc)?
  • Depurador (jdb)?
  • Generador de Paquetes (jar)?
  • Otros
  • Visualizados de Applets (appletviewer)?
  • Criptografía(keytool, jarsigner, etc.)?
  • Etc.

44
Plataformas Soportadas
  • Sun da soporte a las siguientes plataformas
  • Windows i586 / AMD64
  • Linux i586/AMD64
  • Solaris SPARC/x86/x64
  • Apple desarrolló una version para MacOS
  • Otras
  • HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX,
    Alpha, SCO, NetWare, etc

45
Escribe una vez, ejecuta donde quieras
  • Los códigos de Java son compilados para un
    lenguaje intermedio llamado ByteCode
  • ByteCode es interpretado por una maquina
    virtual a JVM.
  • A JVM envia comandos específicos a la plataforma
    para el sistema operativo

46
Principales APIs
  • AWT/Swing/SWT interfaces gráficas
  • Java2D Diseño
  • JDBC acesso a Base de Datos
  • JNDI acesso a servidores de dominios
  • RMI Invocación remota de métodos
  • Beans padre de JavaBeans
  • i18n suporte a internacionalizacion
  • I/O entrada y salida (archivos)
  • JNI Intergracion con lenguajes nativos
  • Math cálculos matemáticos

47
Principales APIs
  • Networking Transmisión por redes
  • Security Seguridad
  • Serialization
  • XML Procesamiento de XML
  • Lang Util núcleo da lenguaje, utilitarios
  • (colecciones, datas, etc.)
  • Concurrencua Programacion Concurrente(threads)
  • Logging (log)
  • Reflection

48
Java Platform, Enterprise Edition
  • Permite el desarrollo de aplicaciones
    corporativas
  • Multi-llamada, distribuídas, centradas en ?
    servidores, altamente robustas, estables y
    escalables
  • Incluye especificaciones para desarrollo Web
    Servlets, JSP, Web Services.

49
Servlets, JSP e EJBs
  • Servlets e JSPs
  • Componentes que responden a peticiones Web usados
    para construir páginas dinámicas de Web Services
  • EJBs
  • Componentes heredados integrados a otras
    tecnologías Java EE para proveer acceso remoto,
    persistencia y transacciones transparentes,
    procesamiento asíncrono, etc.

50
Otras tecnologías
  • Java EE Servlets ,EJB
  • RMI/IIOP e Java IDL
  • JNDI
  • JAC e JNI
  • JAAS
  • JTA
  • JMS e JavaMail

51
Java Platform, Mobile Edition
  • Permite desarrollo de aplicaciones para
    dispositivos mobiles.
  • Telefonos Celulares.
  • PDAs
  • Dispositivos Embedded.
  • Etc.
  • Java Card Aplicaciones para Smart Cards y una
    cantidad ilimitada de dispositivos

52
JAVA EN TODO LUGAR
53
(No Transcript)
54
Enterprise
55
COMO COMENZAR?
56
Preparando el ambiente
  • Descargar JDK
  • También la documentación en
  • http//java.sun.com
  • Escoja la versión de su sistema operativo.

57
Instalando
  • Windows
  • Instalar primero Microsft, simplicado.
  • Documentación compactada.
  • Linux
  • Instalar de los repositorios
  • Documentación compactada.

58
Escribiendo Programas
  • Puedes usar
  • Eclipse
  • NetBeans
  • JetBrains IntelliJ IDEA
  • Borland Jbuilder
  • Etc.
  • Editores mas simples
  • JEdit
  • JCreator

59
JAVA Y EL MERCADO
60
(No Transcript)
61
El Mercado en números
  • Informacion de JavaOne
  • 900 millones de microcomputadoras corriendo Java
  • 300 millones de descargas de Java desde junio del
    2003
  • 12 millones de visitas por mes al sitio java.com
  • 5 millones de desarrolladores Java en el mundo
  • 180,000 desarrolladores registrados en java.net
  • 1 billon de celulares corriendo java alrededor
    del mundo

62
El Mercado en números
  • Informacion de JavaOne
  • 635 modelos de celular en el mundo con Java
  • 32 fabricantes de celulares con soporte para Java
  • 140 operadoras de telefonia movil usando Java
  • 3 millones de descargas de JavaEE
  • 28 tipos diferentes de servidores Java
  • eBay confia en Java para sus ventas que traspasan
    los 1,400.00 por segundo!

63
El mercado en numeros
  • Se estima que Java mueve 100 billones al año y
    va en aumento
  • Sun esta en mas de 170 paises
  • 100 de las 500 mayores empresas del mundo (según
    revista Fortune) usan Java
  • Sun cambio su nombre en la Bolsa de Valores
    antes SUNW, ahora JAVA

64
El mercado en numeros
  • Según el Instituto Gartner
  • Java es la tecnologia escogida por las empresas
    60 lo usan, 22 planean hacerlo.

65
Empleos
  • Oportunidades
  • Muchas vacantes apareciendo
  • Pocos capacitados, pocos certificados
  • Buenos salarios
  • Mercado en optima fase de crecimiento!

66
Empleos
  • Cuanto gana al mes un programador Java?
  • EEUU 4500
  • Chipre 2000
  • Austria 1500-3500
  • Alemania 2000-4500
  • Suiza 4000-8000
  • Rusia 800-1000
  • Reino Unido 4000-8000
  • Francia 2000-4000

67
Certificaciones
  • Sun realiza pruebas para certificar profesionales
    en la plataforma Java
  • Profesional certificado posee reconocimiento en
    el mercado
  • Lamentablemente todavia no tiene tanto efecto en
    el salario.

68
Las certificaciones
69
Comunidades
70
Java y el Software Libre
  • Muchos proyectos en SourceForge
  • Primer lugar en FreshMeat
  • Java.net 180,000 miembros en mas de 1,500
    proyectos
  • Mas de 550 grupos de usuarios en el mundo

71
Como participar?
  • Que pueden hacer por usted?
  • Noticias
  • Articulos y tutoriales
  • Foros
  • Descargas
  • Eventos
  • Etc.
  • Que puede hacer usted?
  • Registrarse en foros
  • Participar respondiendo dudas
  • Escribir articulos
  • Enviar noticias
  • Etc.

72
Futuro y tendencias
73
Tendencias
  • JavaME, aplicaciones para celulares
  • Mercado con gran crecimiento
  • Apoyo de las empresas telefonicas
  • Aun no se sabe todo lo que es posible hacer

74
Tendencias
  • Programacion Orientada a Aspectos (AOP)
  • Creada en 1997 por Xerox
  • Base de muchos frameworks importantes y conocidos
  • Arquitectura Orientada a Servicios (SOA)
  • Implementacion de aplicaciones con servicios
    compartidos

75
Tendencias
  • Web 2.0 y AJAX
  • Nuevo concepto para el desarrollo de paginas y
    sistemas web.
  • En torno a los usuarios
  • Contenido creado por los usuarios para los
    usuarios
  • Necesidad de interfaces ricas y de alta usabilidad

76
Tendencias
  • Profesional
  • Cuidado con las novedades del mes
  • Mas que saber un lenguaje de programacion es
    preciso conocer las arquitecturas y como se
    acoplan.

77
Y AHORA?
78
Señor, quiero aprender mas...
  • Está con suerte
  • Muchos libros!
  • Muchos tutoriales! (los de Sun son muy buenos)?
  • Portales
  • Grupos de usuario
  • Eventos
  • Cursos!!!

79
Señor y despues del curso?
  • Siga de cerca los frameworks que estan de moda
  • Defina un area de su agrado
  • Procure participar en proyectos liderados por
    otras personas
  • Gane experiencia
  • Conozca nuevas tecnicas

80
Curso de Java en ILCOMP
  • Conceptos básicos
  • Historia de Java
  • Arquitectura de Java (Maquina Virtual,
    Compilador de Java...)?
  • Convenciones de codificacion en Java
  • Concepto de clase
  • Concepto de interface
  • Variables miembro
  • Métodos
  • Paquetes
  • Herencia
  • Interfaces

81
Curso de Java en ILCOMP
  • Permisos de acceso (Encapsulacion)?
  • Transformacion de Tipo (Casting)?
  • Polimorfismo
  • Clases de utilidad
  • Arreglos
  • Clases String y StringBuffer
  • Envoltorios
  • Colecciones
  • Vector
  • Interface Enumeration
  • Hashtable
  • TreeSet
  • Otras colecciones

82
Curso de Java en ILCOMP
  • Excepciones
  • Excepciones Estandar de Java
  • Lanzamiento de excepciones
  • Capturar excepciones (try... catch)?
  • Crear nuevas Excepciones
  • Manejo de excepciones con herencia de
    clases
  • Bases de datos
  • JDBC
  • Conectar a una base de datos
  • Ejecutar sentencias SQL
  • Recuperar valores
  • Actualizar tablas
  • Sentencias Preparadas (Interface
    PreparedStatement)?
  • Transacciones

83
Curso de Java en ILCOMP
  • Interfaces gráficas con Java
  • Swing
  • Contenedores
  • Manejo de eventos
  • Applets
  • Eclipse SWT
  • GTK
  • Compilar y empaquetar un programa Java

84
Eso es todo amigos
  • Muchas gracias a todos!
  • Instituto Latinoamericano de Computacion
  • Pavel Stephan Munoz
  • minibota.wordpress.com minibota_at_gmail.com?
Write a Comment
User Comments (0)
About PowerShow.com