conociendo java bienvenidos! ing. pavel stephan munoz

84
CONOCIENDO JAVA CONOCIENDO JAVA BIENVENIDOS! BIENVENIDOS! Ing. Pavel Stephan Munoz Ing. Pavel Stephan Munoz

Upload: emygdia-torrente

Post on 07-Feb-2015

20 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

CONOCIENDO JAVACONOCIENDO JAVA

BIENVENIDOS!BIENVENIDOS!

Ing. Pavel Stephan MunozIng. Pavel Stephan Munoz

Page 2: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

un toque de humor...

Page 3: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

AGENDAAGENDA Qué es Java?Qué es Java? HistoriaHistoria Programación Orientada a ObjetosProgramación Orientada a Objetos ArquitecturaArquitectura Java en todo lugarJava en todo lugar Cómo comenzar?Cómo comenzar? EjemplosEjemplos ComunidadesComunidades Java en el mercadoJava en el mercado Futuras TendenciasFuturas Tendencias

Page 4: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

QUE ES JAVA?QUE ES JAVA?

Page 5: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Qué es Java?Qué es Java?

Un software?Un software? Una tecnología ?Una tecnología ? Un lenguaje de programaciónUn lenguaje de programación Una plataforma para desarrollo.Una plataforma para desarrollo. Una isla de Indonesia?Una isla de Indonesia?

Page 6: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz
Page 7: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java es todo eso!Java es todo eso!

Simple, orientado a objetosSimple, orientado a objetos Independiente de Plataforma (JVM)Independiente de Plataforma (JVM) PortablePortable Versátil, Dinámico, Robusto y seguro.Versátil, Dinámico, Robusto y seguro. GratuitoGratuito Fácil de usar y desarrollarFácil de usar y desarrollar Lenguaje popular y con una gran Lenguaje popular y con una gran

comunidad de adeptos alrededor del comunidad de adeptos alrededor del mundo!mundo!

Page 8: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java... popular?Conozcan el indice TIOBE!

Page 9: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java es…Java es…

Orientada a ObjetosOrientada a Objetos Semejante a C/C++Semejante a C/C++ Hibrida (Compilada e Hibrida (Compilada e

interpretada)interpretada)

Page 10: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

HISTORIAHISTORIA

Page 11: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Cómo nace Java?Cómo nace Java?

En los laboratorios de Sun se En los laboratorios de Sun se empieza a desarrollar un nuevo empieza a desarrollar un nuevo lenguaje bautizado “Oak” (roble).lenguaje bautizado “Oak” (roble). Orientado a ObjetosOrientado a Objetos Parecido a C++Parecido a C++ Proyectado que fuera multiplataformaProyectado que fuera multiplataforma Creado por James GoslingCreado por James Gosling

Page 12: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Cómo nace Java?Cómo nace Java?

Después de 6 meses SUN transforma Después de 6 meses SUN transforma el proyecto en una empresa llamada el proyecto en una empresa llamada “First Person”“First Person”

Page 13: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Al fin Java…Al fin Java…

El lenguaje OAK se torna producto y El lenguaje OAK se torna producto y Naughton sugiere que sea distribuido Naughton sugiere que sea distribuido gratuitamente en el web.gratuitamente en el web.

Navegador Web Runner, mas tarde Navegador Web Runner, mas tarde HotJava Browser: nacen los Applets!HotJava Browser: nacen los Applets!

Sun acuerda poner disponible OAK, sin Sun acuerda poner disponible OAK, sin embargo cambia su nombre a JAVAembargo cambia su nombre a JAVA

Netscape anuncia su nuevo navegador Netscape anuncia su nuevo navegador con soporte para Java y esta tecnologia se con soporte para Java y esta tecnologia se disparadispara

Page 14: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Evolución de JavaEvolución de Java

EvoluciónEvolución Java 1.0aJava 1.0a Java Development Kit 1.1Java 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).

Page 15: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Mitos de JavaMitos de Java

Java es lento!Java es lento! Las primeras versiones si lo eran sin Las primeras versiones si lo eran sin

embargo las mas nuevas son casi tan embargo las mas nuevas son casi tan rápidas como C++rápidas como C++

No posee un ambiente RAD (Como Visual No posee un ambiente RAD (Como Visual Studio) Studio) Hay muchas herramientas de alta Hay muchas herramientas de alta

productividad, disponibles e inclusive productividad, disponibles e inclusive gratuitasgratuitas

JavaScript es un derivado de JavaJavaScript es un derivado de Java

Page 16: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Mitos de JavaMitos de Java

Java solo sirve para hacer AppletsJava solo sirve para hacer Applets Error! Java sirve para desarrollar Error! Java sirve para desarrollar

aplicaciones de escritorio, aplicaciones aplicaciones de escritorio, aplicaciones corporativas y entre otros programas para corporativas y entre otros programas para dispositivos móviles.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, Ya quisiera yo. Java es bastante versátil,

pero no siempre hace todo.pero no siempre hace todo.

Page 17: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Porqué usar Java?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 IndustriaAlta aceptación y soporte de la Industria Múltiples herramientas disponibles, muchas Múltiples herramientas disponibles, muchas

gratuitas y libres.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.

Page 18: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS

Page 19: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Ingeniería de SoftwareIngeniería de Software

Diseñar software es un arte!Diseñar software es un arte! La Ingeniería de Software busca como La Ingeniería de Software busca como

formalizar metodologíasformalizar metodologías Paradigmas rigen Paradigmas rigen las tareas de las tareas de

Análisis, Proyecto y CodificaciónAná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.

Page 20: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java Orientada a ObjetosJava Orientada a Objetos

Para desenvolverse bien en Java es necesario Para desenvolverse bien en Java es necesario saber los conceptos de OOsaber los conceptos de OO

De lo contrario:De lo contrario: Difícilmente conseguirá evolucionar a los Difícilmente conseguirá evolucionar a los

programas mas simples.programas mas simples. Será difícil entender otros programas de Será difícil entender otros programas de

otras personas y viceversa.otras personas y viceversa. Si no desea aprender OO, entonces es Si no desea aprender OO, entonces es

mejor usar PASCAL o C que son mejor usar PASCAL o C que son metodología orientada a procedimientos.metodología orientada a procedimientos.

Page 21: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Conceptos de OOConceptos de OO

AbstracciónAbstracción EncapsulamientoEncapsulamiento ModularidadesModularidades ObjetosObjetos ClasesClases Vinculos y Vinculos y

AsociasionesAsociasiones ComposicionComposicion HerenciaHerencia

Mensajes y MétodosMensajes y Métodos HerenciaHerencia Clases y Clases y

Operaciones Operaciones AbstractasAbstractas

ModularidadesModularidades PolimorfismoPolimorfismo

Page 22: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Perdón?

Page 23: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

ObjetosObjetos

Concepto central de este paradigma.Concepto central de este paradigma. Entidades que incorporan abstracciones Entidades que incorporan abstracciones

relevantes de un problema.relevantes de un problema. Un objeto tiene tres características:Un objeto tiene tres características:

EstadoEstado ComportamientoComportamiento IdentidadIdentidad

Page 24: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

ClasesClases

Objetos que poseen una misma Objetos que poseen una misma estructura y comportamiento son de una estructura y comportamiento son de una misma clase.misma clase.

Definimos clases no objetos.Definimos clases no objetos.

Page 25: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

AbstracciónAbstracción

Ignorar aspectos irrelevantes y Ignorar aspectos irrelevantes y concentrarnos en los principalconcentrarnos en los principal

Tipos:Tipos: Abstracción de datos.Abstracción de datos. Abstracción de procedimientos.Abstracción de procedimientos.

Page 26: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

EncapsulamientoEncapsulamiento

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

Page 27: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

ModularidadModularidad

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

Page 28: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Vínculos y AsociacionesVí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 Asociación: Conexión entre clases que

representa existencia de vínculos.representa existencia de vínculos. Asociaciones pueden ser cardinalidadesAsociaciones pueden ser cardinalidades

Page 29: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

ComposicionesComposiciones

Los objetos complejos son compuestos Los objetos complejos son compuestos por objetos mas simples.por objetos mas simples.

Composición: Las partes pueden ser Composición: Las partes pueden ser relacionadas a todo.relacionadas a todo.

Agregación: Las partes pueden ser Agregación: Las partes pueden ser descompuestas.descompuestas.

Page 30: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

HerenciaHerencia

Cuando las clases tienen semejanzas Cuando las clases tienen semejanzas podemos generalizarlas.podemos generalizarlas.

JerarquiasJerarquias Relaciones entre super clases y sub clasesRelaciones entre super clases y sub clases

Page 31: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Mensajes y MétodosMensajes y Métodos

Los Objetos envían mensajes para Los Objetos envían mensajes para comunicarse, debe ser la única forma.comunicarse, debe ser la única forma.

Métodos: Operaciones que un objeto Métodos: Operaciones que un objeto puede realizar.puede realizar.

Page 32: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

PersistenciaPersistencia

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

Page 33: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Clases y Metodos AbstractosClases y Metodos Abstractos

Las clases abstractas no pueden ser Las clases abstractas no pueden ser instancias.instancias.

Metodos abstractos no pueden ser Metodos abstractos no pueden ser implementados.implementados.

Clases compuestas solamente por Clases compuestas solamente por metodos abstractas.metodos abstractas.

Page 34: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Sobrecarga y SobrescritaSobrecarga y Sobrescrita

Sobrecarga: Operaciones distintas con Sobrecarga: Operaciones distintas con el mismo nombre.el mismo nombre.

Sobrescrita: Sub Clase define nueva Sobrescrita: Sub Clase define nueva implementación para operaciones implementación para operaciones definidas en una super clase.definidas en una super clase.

Page 35: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

PolimorfimoPolimorfimo

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

Page 36: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

ARQUITECTURAARQUITECTURA

Page 37: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java es mucho!Java es mucho!

Un lenguaje de programación JavaUn 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.

Page 38: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Plataforma Java 2Plataforma Java 2

Desde la versión 1.2 hasta la 1.5 Desde la versión 1.2 hasta la 1.5 pasó a ser llamada “Java 2” y fue pasó a ser llamada “Java 2” y fue dividida en:dividida en: Java 2 Platform Standard Edition Java 2 Platform Standard Edition

(JavaSE)(JavaSE) Java 2 Platform Enterprise Edition Java 2 Platform Enterprise Edition

(JavaEE)(JavaEE) Java 2 Platform Mobile Edition Java 2 Platform Mobile Edition

(JavaME)(JavaME) Cada una tiene su APICada una tiene su API JAVASE es la base para otras.JAVASE es la base para otras.

Page 39: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Nuevos AiresNuevos Aires

A partir de la versión, quita el 2 de A partir de la versión, quita el 2 de su nombre.su nombre. Java Platform, Standard Edition 6 Java Platform, Standard Edition 6 Java SE 6; Java Platform, Enterprise Java SE 6; Java Platform, Enterprise

Edition 6 Edition 6 Java EE 6; Java Platform, Mobile Java EE 6; Java Platform, Mobile

Edition 6 Java ME 6. Edition 6 Java ME 6. “ “Java2” permanece en versión 1.5Java2” permanece en versión 1.5

Page 40: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java Platform, Stándard Java Platform, Stándard EditionEdition

Herramientas de desarrollo + API Herramientas de desarrollo + API Nucleo Plataforma de JAVANucleo Plataforma de JAVA Permite el desarrollo de aplicaciones Permite el desarrollo de aplicaciones

de escritorio, inclusive con interfaz de escritorio, inclusive con interfaz grafica, acceso a base de datos,, I/O, grafica, acceso a base de datos,, I/O, redes, etc.redes, etc.

Divida en:Divida en: JDK = Java Development Kit.JDK = Java Development Kit. JRE = Java Runtime Enviroment.JRE = Java Runtime Enviroment.

Page 41: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java RunTime EnviromentJava RunTime Enviroment

Necesario para la ejecución de programas en Necesario para la ejecución de programas en JAVAJAVA

Es la única plataforma de Java que los Es la única plataforma de Java que los clientes necesitan instalar.clientes necesitan instalar.

En algunos sistemas operativos (MacOS X) ya En algunos sistemas operativos (MacOS X) ya viene instalada.viene instalada.

Implementada por Sun (15 MB)Implementada por Sun (15 MB)

Page 42: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java Development KitJava Development Kit

Solamente para programadoresSolamente para programadores Contiene:Contiene:

Herramientas de desarrollo.Herramientas de desarrollo. Ambiente de EjecuciónAmbiente de Ejecución API JAVA SE (Compilada y Código API JAVA SE (Compilada y Código

Fuente)Fuente) Programas de Ejemplo.Programas de Ejemplo. Bibliotecas adicionalesBibliotecas adicionales Documentación (obtenida Documentación (obtenida

separadamente)separadamente)

Page 43: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Herramientas DisponiblesHerramientas 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.

Page 44: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Plataformas SoportadasPlataformas Soportadas

Sun da soporte a las siguientes Sun da soporte a las siguientes plataformas:plataformas: Windows i586 / AMD64Windows i586 / AMD64 Linux i586/AMD64Linux i586/AMD64 Solaris SPARC/x86/x64Solaris SPARC/x86/x64

Apple desarrolló una version para MacOSApple desarrolló una version para MacOS Otras:Otras:

HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, Alpha, SCO, NetWare, etc Alpha, SCO, NetWare, etc

Page 45: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Escribe una vez, ejecuta donde Escribe una vez, ejecuta donde quieras:quieras:

Los códigos de Java son compilados para un Los códigos de Java son compilados para un lenguaje intermedio llamado: ByteCodelenguaje intermedio llamado: ByteCode

ByteCode es interpretado por una “maquina ByteCode es interpretado por una “maquina virtual” a JVM.virtual” a JVM.

A JVM envia comandos específicos a la A JVM envia comandos específicos a la plataforma para el sistema operativoplataforma para el sistema operativo

Page 46: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Principales APIsPrincipales 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;

Page 47: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Principales APIsPrincipales 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 Concurrencua: Programacion

Concurrente(threads);Concurrente(threads); Logging: (log); Logging: (log); ReflectionReflection

Page 48: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java Platform, Enterprise Java Platform, Enterprise EditionEdition

Permite el desarrollo de aplicaciones Permite el desarrollo de aplicaciones corporativas: corporativas: Multi-llamada, distribuídas, centradas en Multi-llamada, distribuídas, centradas en

servidores, altamente robustas, estables y servidores, altamente robustas, estables y escalablesescalables

Incluye especificaciones para desarrollo Incluye especificaciones para desarrollo Web: Servlets, JSP, Web Services. Web: Servlets, JSP, Web Services.

Page 49: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Servlets, JSP e EJBsServlets, JSP e EJBs

Servlets e JSPs: Servlets e JSPs: Componentes que responden a peticiones Componentes que responden a peticiones

Web usados para construir páginas Web usados para construir páginas dinámicas de Web Servicesdinámicas de Web Services

EJBs: EJBs: Componentes heredados integrados a otras Componentes heredados integrados a otras

tecnologías Java EE para proveer acceso tecnologías Java EE para proveer acceso remoto, persistencia y transacciones remoto, persistencia y transacciones transparentes, procesamiento asíncrono, transparentes, procesamiento asíncrono, etc.etc.

Page 50: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Otras tecnologías 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;

Page 51: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java Platform, Mobile Java Platform, Mobile EditionEdition

Permite desarrollo de aplicaciones para Permite desarrollo de aplicaciones para dispositivos mobiles.dispositivos mobiles. Telefonos Celulares.Telefonos Celulares. PDAsPDAs Dispositivos Embedded.Dispositivos Embedded. Etc.Etc.

Java Card: Aplicaciones para Smart Java Card: Aplicaciones para Smart Cards y una cantidad ilimitada de Cards y una cantidad ilimitada de dispositivosdispositivos

Page 52: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

JAVA EN TODO LUGARJAVA EN TODO LUGAR

Page 53: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java esta en todo lugarJava esta en todo lugar

Page 54: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

EnterpriseEnterprise

Page 55: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

COMO COMENZAR?COMO COMENZAR?

Page 56: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Preparando el ambientePreparando el ambiente

Descargar JDKDescargar JDK También la documentación en:También la documentación en:

http://java.sun.com Escoja la versión de su sistema operativo.Escoja la versión de su sistema operativo.

Page 57: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

InstalandoInstalando Windows:Windows:

Instalar primero Microsft, simplicado.Instalar primero Microsft, simplicado. Documentación compactada.Documentación compactada.

Linux:Linux: Instalar de los repositoriosInstalar de los repositorios Documentación compactada.Documentación compactada.

Page 58: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Escribiendo ProgramasEscribiendo Programas

Puedes usar:Puedes usar: EclipseEclipse NetBeansNetBeans JetBrains IntelliJ IDEAJetBrains IntelliJ IDEA Borland JbuilderBorland Jbuilder Etc.Etc.

Editores mas simples:Editores mas simples: JEditJEdit JCreatorJCreator

Page 59: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

JAVA Y EL MERCADOJAVA Y EL MERCADO

Page 60: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

EmpresasEmpresas

Page 61: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

El Mercado en númerosEl Mercado en númerosInformacion de JavaOne:Informacion de JavaOne:900+ millones de microcomputadoras 900+ millones de microcomputadoras corriendo Javacorriendo Java300 millones de descargas de Java desde junio 300 millones de descargas de Java desde junio del 2003del 200312 millones de visitas por mes al sitio 12 millones de visitas por mes al sitio java.comjava.com5 millones de desarrolladores Java en el 5 millones de desarrolladores Java en el mundomundo180,000 desarrolladores registrados en 180,000 desarrolladores registrados en java.netjava.net1+ billon de celulares corriendo java alrededor 1+ billon de celulares corriendo java alrededor del mundodel mundo

Page 62: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

El Mercado en númerosEl Mercado en números

Informacion de JavaOne:Informacion de JavaOne:635 modelos de celular en el mundo con Java635 modelos de celular en el mundo con Java32 fabricantes de celulares con soporte para 32 fabricantes de celulares con soporte para

JavaJava140 operadoras de telefonia movil usando Java140 operadoras de telefonia movil usando Java

3 millones de descargas de JavaEE3 millones de descargas de JavaEE28 tipos diferentes de servidores Java28 tipos diferentes de servidores Java

eBay confia en Java para sus ventas que eBay confia en Java para sus ventas que traspasan los $1,400.00 por segundo!traspasan los $1,400.00 por segundo!

Page 63: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

El mercado en numerosEl mercado en numeros

Se estima que Java mueve $100 billones al Se estima que Java mueve $100 billones al año y va en aumentoaño y va en aumentoSun esta en mas de 170 paisesSun esta en mas de 170 paises100% de las 500 mayores empresas del 100% de las 500 mayores empresas del mundo (según revista Fortune) usan Javamundo (según revista Fortune) usan JavaSun cambio su nombre en la Bolsa de Sun cambio su nombre en la Bolsa de Valores; antes SUNW, ahora JAVAValores; antes SUNW, ahora JAVA

Page 64: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

El mercado en numerosEl mercado en numeros

Según el Instituto Gartner:Según el Instituto Gartner:Java es la tecnologia escogida por las Java es la tecnologia escogida por las empresas; 60% lo usan, 22% planean empresas; 60% lo usan, 22% planean

hacerlo.hacerlo.

Page 65: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

EmpleosEmpleos

Oportunidades:Oportunidades:Muchas vacantes apareciendoMuchas vacantes apareciendo

Pocos capacitados, pocos certificadosPocos capacitados, pocos certificadosBuenos salariosBuenos salarios

Mercado en optima fase de crecimiento!Mercado en optima fase de crecimiento!

Page 66: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

EmpleosCuanto gana al mes un programador Java?

EEUU $4500EEUU $4500

Chipre $2000Chipre $2000

Austria $1500-3500Austria $1500-3500

Alemania $2000-4500Alemania $2000-4500

Suiza $4000-8000Suiza $4000-8000

Rusia $800-1000Rusia $800-1000

Reino Unido $4000-8000Reino Unido $4000-8000

Francia: $2000-4000Francia: $2000-4000

Page 67: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

CertificacionesCertificaciones

Sun realiza pruebas para certificar Sun realiza pruebas para certificar profesionales en la plataforma Javaprofesionales en la plataforma Java

Profesional certificado posee Profesional certificado posee reconocimiento en el mercadoreconocimiento en el mercado

Lamentablemente todavia no tiene Lamentablemente todavia no tiene tanto efecto en el salario.tanto efecto en el salario.

Page 68: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Las certificacionesLas certificaciones

Page 69: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

ComunidadesComunidades

Page 70: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Java y el Software Java y el Software LibreLibre

Muchos proyectos en SourceForgeMuchos proyectos en SourceForgePrimer lugar en FreshMeatPrimer lugar en FreshMeat

Java.net: 180,000 miembros en mas Java.net: 180,000 miembros en mas de 1,500 proyectosde 1,500 proyectos

Mas de 550 grupos de usuarios en el Mas de 550 grupos de usuarios en el mundomundo

Page 71: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Como participar?Como participar?Que pueden hacer Que pueden hacer

por usted?por usted? NoticiasNoticias Articulos y Articulos y

tutorialestutoriales ForosForos DescargasDescargas EventosEventos Etc.Etc.

Que puede hacer Que puede hacer usted?usted?

Registrarse en Registrarse en forosforos

Participar Participar respondiendo respondiendo dudasdudas

Escribir articulosEscribir articulos Enviar noticiasEnviar noticias Etc.Etc.

Page 72: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Futuro y tendenciasFuturo y tendencias

Page 73: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

TendenciasTendencias JavaME, aplicaciones para celularesJavaME, aplicaciones para celulares

Mercado con gran crecimientoMercado con gran crecimiento Apoyo de las empresas Apoyo de las empresas

telefonicastelefonicas Aun no se sabe todo lo que es Aun no se sabe todo lo que es

posible hacerposible hacer

Page 74: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

TendenciasTendencias Programacion Orientada a Aspectos Programacion Orientada a Aspectos

(AOP):(AOP): Creada en 1997 por XeroxCreada en 1997 por Xerox Base de muchos frameworks Base de muchos frameworks

importantes y conocidosimportantes y conocidos Arquitectura Orientada a Servicios Arquitectura Orientada a Servicios

(SOA):(SOA): Implementacion de aplicaciones Implementacion de aplicaciones

con servicios compartidoscon servicios compartidos

Page 75: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

TendenciasTendencias Web 2.0 y AJAX:Web 2.0 y AJAX:

Nuevo concepto para el desarrollo Nuevo concepto para el desarrollo de paginas y sistemas web.de paginas y sistemas web.

En torno a los usuariosEn torno a los usuarios Contenido creado por los usuarios Contenido creado por los usuarios

para los usuariospara los usuarios Necesidad de interfaces ricas y de Necesidad de interfaces ricas y de

alta usabilidadalta usabilidad

Page 76: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

TendenciasTendencias

Profesional:Profesional: Cuidado con las “novedades del mes”Cuidado con las “novedades del mes” Mas que saber un lenguaje de Mas que saber un lenguaje de

programacion es preciso conocer las programacion es preciso conocer las arquitecturas y como se acoplan.arquitecturas y como se acoplan.

Page 77: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Y AHORA?Y AHORA?

Page 78: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Señor, quiero aprender mas...Señor, quiero aprender mas...

Está con suerte:Está con suerte: Muchos libros!Muchos libros! Muchos tutoriales! (los de Sun son muy Muchos tutoriales! (los de Sun son muy

buenos)buenos) PortalesPortales Grupos de usuarioGrupos de usuario EventosEventos Cursos!!!Cursos!!!

Page 79: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Señor y despues del curso?Señor y despues del curso?

Siga de cerca los frameworks que estan de Siga de cerca los frameworks que estan de modamoda

Defina un area de su agradoDefina un area de su agrado Procure participar en proyectos liderados Procure participar en proyectos liderados

por otras personas:por otras personas: Gane experienciaGane experiencia Conozca nuevas tecnicasConozca nuevas tecnicas

Page 80: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Curso de Java en Curso de Java en ILCOMPILCOMP

Conceptos básicos:Conceptos básicos:

Historia de JavaHistoria de Java

Arquitectura de Java (Maquina Virtual, Compilador Arquitectura de Java (Maquina Virtual, Compilador de Java...)de Java...)

Convenciones de codificacion en JavaConvenciones de codificacion en Java

Concepto de claseConcepto de clase

Concepto de interface Concepto de interface

Variables miembroVariables miembro

MétodosMétodos

PaquetesPaquetes

HerenciaHerencia

InterfacesInterfaces

Page 81: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Curso de Java en Curso de Java en ILCOMPILCOMP

Permisos de acceso (Encapsulacion)Permisos de acceso (Encapsulacion)

Transformacion de Tipo (Casting)Transformacion de Tipo (Casting)

PolimorfismoPolimorfismo

Clases de utilidadClases de utilidad

ArreglosArreglos

Clases String y StringBufferClases String y StringBuffer

EnvoltoriosEnvoltoriosColeccionesColecciones VectorVector Interface EnumerationInterface Enumeration HashtableHashtable TreeSetTreeSet Otras coleccionesOtras colecciones

Page 82: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Curso de Java en Curso de Java en ILCOMPILCOMP

ExcepcionesExcepciones Excepciones Estandar de JavaExcepciones Estandar de Java Lanzamiento de excepcionesLanzamiento de excepciones Capturar excepciones (try... catch)Capturar excepciones (try... catch) Crear nuevas ExcepcionesCrear nuevas Excepciones Manejo de excepciones con herencia de clasesManejo de excepciones con herencia de clases

Bases de datos:Bases de datos: JDBCJDBC Conectar a una base de datosConectar a una base de datos Ejecutar sentencias SQLEjecutar sentencias SQL Recuperar valoresRecuperar valores Actualizar tablasActualizar tablas Sentencias Preparadas (Interface PreparedStatement)Sentencias Preparadas (Interface PreparedStatement) TransaccionesTransacciones

Page 83: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Curso de Java en Curso de Java en ILCOMPILCOMP

Interfaces gráficas con JavaInterfaces gráficas con Java SwingSwing ContenedoresContenedores Manejo de eventosManejo de eventos AppletsApplets Eclipse SWTEclipse SWT GTKGTK

Compilar y empaquetar un programa JavaCompilar y empaquetar un programa Java

Page 84: CONOCIENDO JAVA BIENVENIDOS! Ing. Pavel Stephan Munoz

Eso es todo amigosEso es todo amigosMuchas gracias a todos!Muchas gracias a todos!

Instituto Latinoamericano de ComputacionInstituto Latinoamericano de Computacion

Pavel Stephan MunozPavel Stephan Munoz minibota.wordpress.com – minibota.wordpress.com –

[email protected]@gmail.com