CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz.

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
SERVICIOS WEB EN.NET INTEGRANTES: ADRIANA BLANCO PEÑA MIRIAM SORIANO HERNANDEZ ALVARO PETROVICH CID CONTRERAS LUIS RAMIREZ PALESTINO.
Sistema de Información Cultural, CONACULTA México, 2006 SiC / RENiC Aspectos técnicos relevantes para un Sistema de Información (SI)
Características Generales y Entornos de Desarrollo
Definición de objeto Un objeto es una representación detallada y particular de algo de la realidad. Todo objeto tiene un identidad o nombre, estado (características.
Programación Interactiva Introducción a Java
J2EE – Java 2 Enterprise Edition
Esta obra está bajo una licencia de Creative Commons.
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Unidad II Interfaces Hombre Máquina
INTRODUCCIÓN A JAVA.
Historia del Lenguaje JAVA
FLAN “F- LINKS AND NODES”
Programación Visual de Sistemas
Introducción a la Orientación a Objetos
"java del lado del servidor" Servlet y JSP Java Server Pages.
Estructuras en Sistemas Operativos
Investigación Servidor de Aplicaciones WebSphere
Desarrollo de aplicación DICOM mediante librerías JDT
Java 2 Platform Enterprise Edition
JAVA FX Es un paquete de software que te permitirá desarrollar aplicaciones web para diferentes plataformas, desde un ordenador ordinario hasta teléfonos.
PROGRAMACION ORIENTADA
Jesús Arellano. La plataforma Java Micro Edition, o anteriormente Java 2 Micro Edition(J2ME), es una especificación de un subconjunto de la plataforma.
Introducción al Software
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
1er. Comité de Usuarios. Historia ¿Qué hay de nuevo? No más cygwin. Exportación granular: trabajo distribuído. Compilación de metadatos. Manejo.
Tecnologías para el desarrollo de aplicaciones Web
Visualizador de imágenes remotas Alumno: Juan Pablo García Ortíz Director: Vicente Gonzalez Ruiz.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Ingeniería de Software
Introducción a la Programación. Lenguaje de Máquina.
Programación e Ingeniería de Software III
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Presentado por: Ing. Manuel Rodríguez Coria. Software Freedom Day 26 de Septiembre de 2009Ing. Manuel Rodríguez Coria Quien Soy? Ing.
Desarrollo de aplicaciones para ambientes distribuidos
J2EE – Java 2 Enterprise Edition
Ejecución de un programa escrito en Java Java es un lenguaje que se ejecuta con un intérprete a diferencia de Pascal o C que se compilan para producir.
Curso de Java La tecnología Java
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Foro Nacional de Certificación y Firma Electrónica Ing. Gonzalo Ron Vera Seguridad en aplicaciones con Tecnología Java.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Seminario de Java Programación Orientada a Objetos.
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Introducción al lenguaje de programación Java
Programación orientada a objetos. La programación orientada a objetos es un conjunto de normas, que se basan en la idea de construir un software de forma.
Facultad de Ingeniería
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Cristian Fonnegra Marin
Metodología de la programación
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Desarrollo DE apps móviles
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
Desarrollo DE apps móviles
Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)
SEGURIDAD EN SERVIDORES WEB (APACHE).
Tendencia De Los Sistemas Operativos
¿ Por que utilizar Java y la POO
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Fundamentos de Programación Unidad I Conceptos Básicos.
Capítulo 1: El lenguaje de programación Java Material de clase adaptado por: Mauricio Cabezas Algoritmia y Programación.
=MARCOS DE TRABAJO ORIENTADO A OBJETOS= « NETBEANS » INTEGRANTES: SOTELO CORTES JESVAN FIDEL JIMENEZ ALFARO ARTURO CAMARA.
UAA – Introduccion a Progracion Orientada Objetos Introducción al Java.
Transcripción de la presentación:

CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

un toque de humor...

AGENDA Qué es Java? Qué es Java? Historia Historia Programación Orientada a Objetos Programación Orientada a Objetos Arquitectura Arquitectura Java en todo lugar Java en todo lugar Cómo comenzar? Cómo comenzar? Ejemplos Ejemplos Comunidades Comunidades Java en el mercado Java en el mercado Futuras Tendencias Futuras Tendencias

QUE ES JAVA?

Qué es Java? Un software? Un software? Una tecnología ? Una tecnología ? Un lenguaje de programación Un lenguaje de programación Una plataforma para desarrollo. Una plataforma para desarrollo. Una isla de Indonesia? Una isla de Indonesia?

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

Java... popular? Conozcan el indice TIOBE!

Java es… Orientada a Objetos Orientada a Objetos Semejante a C/C++ Semejante a C/C++ Hibrida (Compilada e interpretada) Hibrida (Compilada e interpretada)

HISTORIA

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

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

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

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

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

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

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

PROGRAMACION ORIENTADA A OBJETOS

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

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

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

Perdón?

Objetos Concepto central de este paradigma. Concepto central de este paradigma. Entidades que incorporan abstracciones relevantes de un problema. Entidades que incorporan abstracciones relevantes de un problema. Un objeto tiene tres características: Un objeto tiene tres características: Estado Estado Comportamiento Comportamiento Identidad Identidad

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

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

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

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

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

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

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

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

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

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

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

Polimorfimo Habilidad de tomar varias formas. Habilidad de tomar varias formas.

ARQUITECTURA

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

Plataforma Java 2 Desde la versión 1.2 hasta la 1.5 pasó a ser llamada Java 2 y fue dividida en: 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 Standard Edition (JavaSE) Java 2 Platform Enterprise Edition (JavaEE) Java 2 Platform Enterprise Edition (JavaEE) Java 2 Platform Mobile Edition (JavaME) Java 2 Platform Mobile Edition (JavaME) Cada una tiene su API Cada una tiene su API JAVASE es la base para otras. JAVASE es la base para otras.

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

Java Platform, Stándard Edition Herramientas de desarrollo + API Nucleo Plataforma de JAVA 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. Permite el desarrollo de aplicaciones de escritorio, inclusive con interfaz grafica, acceso a base de datos,, I/O, redes, etc. Divida en: Divida en: JDK = Java Development Kit. JDK = Java Development Kit. JRE = Java Runtime Enviroment. JRE = Java Runtime Enviroment.

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

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

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

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

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

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

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

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

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

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

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

JAVA EN TODO LUGAR

Java esta en todo lugar

Enterprise

COMO COMENZAR?

Preparando el ambiente Descargar JDK Descargar JDK También la documentación en: También la documentación en: Escoja la versión de su sistema operativo. Escoja la versión de su sistema operativo.

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

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

JAVA Y EL MERCADO

Empresas

El Mercado en números Informacion de JavaOne: 900+ millones de microcomputadoras corriendo Java 900+ millones de microcomputadoras corriendo Java 300 millones de descargas de Java desde junio del millones de descargas de Java desde junio del millones de visitas por mes al sitio java.com 12 millones de visitas por mes al sitio java.com 5 millones de desarrolladores Java en el mundo 5 millones de desarrolladores Java en el mundo 180,000 desarrolladores registrados en java.net 180,000 desarrolladores registrados en java.net 1+ billon de celulares corriendo java alrededor del mundo 1+ billon de celulares corriendo java alrededor del mundo

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

El mercado en numeros Se estima que Java mueve $100 billones al año y va en aumento Se estima que Java mueve $100 billones al año y va en aumento Sun esta en mas de 170 paises Sun esta en mas de 170 paises 100% de las 500 mayores empresas del mundo (según revista Fortune) usan Java 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 Sun cambio su nombre en la Bolsa de Valores; antes SUNW, ahora JAVA

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

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

Empleos Cuanto gana al mes un programador Java? EEUU $4500 Chipre $2000 Austria $ Alemania $ Suiza $ Rusia $ Reino Unido $ Francia: $

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

Las certificaciones

Comunidades

Java y el Software Libre Muchos proyectos en SourceForge Muchos proyectos en SourceForge Primer lugar en FreshMeat Primer lugar en FreshMeat Java.net: 180,000 miembros en mas de 1,500 proyectos Java.net: 180,000 miembros en mas de 1,500 proyectos Mas de 550 grupos de usuarios en el mundo Mas de 550 grupos de usuarios en el mundo

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

Futuro y tendencias

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

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

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

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

Y AHORA?

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

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

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

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

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

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

Eso es todo amigos Muchas gracias a todos! Instituto Latinoamericano de Computacion Pavel Stephan Munoz minibota.wordpress.com – minibota.wordpress.com –