Upload
emygdia-torrente
View
16
Download
1
Embed Size (px)
Citation preview
CONOCIENDO JAVACONOCIENDO JAVA
BIENVENIDOS!BIENVENIDOS!
Ing. Pavel Stephan MunozIng. Pavel Stephan Munoz
un toque de humor...
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
QUE ES JAVA?QUE ES JAVA?
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?
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!
Java... popular?Conozcan el indice TIOBE!
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)
HISTORIAHISTORIA
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
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”
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
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).
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
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.
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.
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
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.
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.
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
Perdón?
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
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.
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.
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
ModularidadModularidad
Descomponer el sistema en módulosDescomponer el sistema en módulos Fundamental para el reuso.Fundamental para el reuso.
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
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.
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
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.
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.
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.
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.
PolimorfimoPolimorfimo
Habilidad de tomar varias formas.Habilidad de tomar varias formas.
ARQUITECTURAARQUITECTURA
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.
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.
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
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.
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)
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)
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.
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
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
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;
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
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.
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.
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;
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
JAVA EN TODO LUGARJAVA EN TODO LUGAR
Java esta en todo lugarJava esta en todo lugar
EnterpriseEnterprise
COMO COMENZAR?COMO COMENZAR?
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.
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.
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
JAVA Y EL MERCADOJAVA Y EL MERCADO
EmpresasEmpresas
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
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!
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
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.
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!
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
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.
Las certificacionesLas certificaciones
ComunidadesComunidades
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
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.
Futuro y tendenciasFuturo y tendencias
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
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
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
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.
Y AHORA?Y AHORA?
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!!!
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
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
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
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
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
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