Introduccion java 2010_02

download Introduccion java 2010_02

If you can't read please download the document

Transcript of Introduccion java 2010_02

Introduccin a la Tecnologa Java

Miguel Angel Fras BonfilOSUM LeaderUAG [email protected]

Por qu Java?

Qu es Java?

AgendaComo funciona Java?

Cmo empezar

Plataformas Java

Gracias por asistir a esta reunin de nuestro Grupo OSUM.

Hoy voy a hacer una introduccin a la tecnologa Java, hablando de la importancia de utilizar esta tecnologa en nuestros proyectos de desarrollo de software.

Vamos a ver cmo es que funciona una aplicacin desarrollada con Java, y su diferencia con otros lenguajes alternativos.

Tambin vamos a tratar sobre las diferentes plataformas y frameworks Java que permiten ejecutar nuestros programas en una amplia gama de dispositivos y arquitecturas de software.

A continuacin har una comparacin de la pila de desarrollo de una aplicacin Java contra una que utiliza .NET.

Finalmente, cerrar con algunas sugerencias sobre cmo todos podemos empezar a ser productivos con la tecnologa Java.

Qu es Java?

Lenguaje

Plataforma

Fenomeno

Qu es Java?

ClaseInterfazMtodoPOODesarrollado por James Gosling

C/C++

JAVA

Java es un lenguaje de programacin de propsito general que hereda muchas de sus caractersticas de los lenguajes C/C++. Fue inventado por James Gosling all por el ao 1995.

La compaa propietaria del lenguaje y reponsable de sus mejoras y actualizaciones es Sun Microsystems, Inc. En http://java.sun.com/ se pueden encontrar muchos recursos disponibles para desarrolladores como nosotros.

Java fue pensado siguiente la filosofa WORA, que es un acrnimo de Write Once, Run Anywhere (Escribir una vez, ejecutar donde sea). Esto fue as para dar solucin a los problemas de interoperabilidad existente entre las aplicaciones hechas con otros lenguajes.

Una de las grandes ventajas de Java es que es completamente orientado a objetos. Este paradigma de programacin es actualmente el estndar en el desarrollo de software de calidad y nos ensea a disear nuestros sistemas de manera conceptualmente correcta. Todo en Java es un objeto, hasta un simple mtodo main.

Caractersticas de JavaSimpleOrientado a objetosDistribuidoRobustoSeguroArquitectura neutralPortableInterpretadoAlto rendimientoMultithreadedDinmico

Aqu podemos apreciar las caractersticas que hacen de Java uno de los mejores lenguajes que existen.

Java es simple, pues desde el principio fue pensado para ejecutarse en dispositivos que poseen recursos limitados.

Java posee caractersticas que lo hacen ideal para su utilizacin en aplicaciones distribuidas. Es precisamente en estos entornos donde Java ha alcanzado un xito innegable y es muy popular.

Java es robusto y seguro, debido a que sus APIs manejan por nosotros algunos aspectos crticos, como el manejo de la memoria.

Java es de arquitectura neutral y puede ser ejecutado en entornos Windows, Linux, Mac, etc que tengan procesadores Intel, AMD, etc.

Java es un lenguaje interpretado por una mquina virtual, sin embargo posee un alto rendimiento gracias a la tecnologa HotSpot y los compiladores JIT.

Java tiene un gran soporte para la programacin multithreaded de forma nativa a travs de sus APIs, lo cual lo hace atractivo para desarrollar servidores y aplicaciones embebidas.

Adems, Java es un lenguaje bastante dinmico que va evolucionando, sobretodo en sus bibliotecas y APIs, cubriendo muchos aspectos de programacin que resultan cotidianos para el desarrollador.

AplicacionesAppletsServeltsJavaBeansTipos de Aplicaciones Java

Diferentes tipos de aplicaciones

En Java podemos crear los siguientes tipos de aplicaciones:

* Aplicaciones: Se ejecutan sin necesidad de un navegador.

* Applets: Se pueden descargar de Internet y se observan en un navegador.

* JavaBeans: Componentes software Java, que se puedan incorporar grficamente a otros componentes.

* JavaScript: Conjunto del lenguaje Java que puede codificarse directamente sobre cualquier documento HTML

* Servlets: Mdulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a las pginas Web

Plataformas JavaJava CardJava SEJava EEJava MEJava FX

Ahora vamos a hablar acerca de las diferentes plataformas Java existentes que permiten desarrollar aplicaciones en una aplica gama de dispositivos y contextos.

Java Card es el plataforma que permite desarrollar software para dispositivos pequeos que utilizan tarjetas inteligentes y software empotrado como lectoras de cdigo de barras o lectoras de tarjetas de crditos. Esta plataforma es ms utilizada por los fabricantes de estos dispositivos.

Con la versin 1.2, Java se separ en tres plataformas: J2SE (ahora Java SE), J2EE (ahora Java EE) y J2ME (ahora Java ME). La primera de ellas conserva el ncleo original del lenguaje y sus APIs y est pensada para el desarrollo de aplicaciones de escritorio y applets. Cubre muchas funcionalidades como soporte de GUI con Swing y AWT, I/O, multithreading, etc.

Java EE es la plataforma para desarrollo de aplicaciones Web empresariales y grandes sistemas distribuidos. Ser encarga de la interaccin entre servidores de aplicaciones y de bases de datos, persistencia de datos, seguridad, etc.

Java ME es la plataforma que permite que nosotros podamos escribir aplicaciones para nuestros propios celulares, PDAs y PocketPCs. Java ME utiliza solo una parte de las APIs de Java SE y suministra sus propias bibliotecas de soporte.

Por ltimo tenemos a Java FX, la plataforma ms reciente de Java y que pretende competir con Adobe y Flash y con Microsoft y Silverlight en el desarrollo de aplicaciones RIA (Rich Internet Applications). Estas aplicaciones se caracterizan por ejecutarse en los navegadores y tener una interfaz grfica muy rica en cuanto a grficos e interaccin con el usuario. Java FX introduce su propio lenguaje script.

Una pequea comparativa

Pila de DesarrolloEste es .NET

ASP.NETIISMicrosoft Visual StudioFramework .NETWindowsADO.NETLINQ

Ahora vamos a hacer una pequea comparativa de la pila de desarrollo de una aplicacin Java con una aplicacin que utilice otroa tecnologa, en este caso .NET.

Se puede decir que con .NET las reglas estn escritas: todo programa .NET solo se puede ejecutar en una mquina con el SO Windows (el proyecto Mono an no ha llegado a la madurez deseada). El nico entorno de ejecucin es el framework .NET (que es equivalente a la JVM).

Si bien podemos conectarnos a muchos SGBD, para soportar dichas conexiones solo se tiene a ADO.NET. El nico IDE existente para .NET es el Visual Studio y el nico servidor capaz de ejecutar una aplicacin .NET es Internet Information Server (IIS). Por ltimo, para desarrollar aplicaciones Web solo tenemos a ASP.NET.

Ahora veamos la pila de desarrollo de Java.

Pila de DesarrolloJava es ms flexible

WindowsLinuxMacSolarisSun JDKOpenJDKOracle JRockitHarmonyJDBCHibernateHADOOPNetBeansEclipseJDeveloperIntelliJ IDEATomcatGlassfishOC4JGroovyJRubyJythonRhino JSServletJSPZK AjaxJava es muy flexible en este sentido. Como dijimos antes, todo programa Java se puede ejecutar en cualquier SO. Adems del entorno de ejecucin proporcionado por Sun, tenemos otras opciones como OpenJDK y Harmony.

Para conectarnos a una base de datos podemos utilizar, en el nivel ms bajo, el API JDBC, que forma parte de Java SE; o podemos utilizar algn framework que implemente la especificacin JPA, como Hibernate y TopLink.

Existen diversos IDEs para programacin en Java. El IDE por excelencia es NetBeans, hecho por Sun. Eclipse es otro IDE bastante conocido y utilizado en la industria. Tenemos tambin JBuilder, JDeveloper, IntelliJIDEA y, nuestro bloc de notas.

El servidor Web ms sencillo que hay para desplegar aplicaciones Web Java es Apache Tomcat. Glassfish es un servidor de aplicaciones bastante robusto, al igual que JBoss. Adems tenemos a OC4J.

Para la capa Web, podemos valernos de los servlets o los JSP para desarrollar nuestras pginas Web. Alternativamente podemos utilizar el framework ZK para programacin en Ajax.

Tambin existen alternativas al lenguaje Java como Groovy, JRuby y Jython (todos estos tienen una sintaxis diferentes a la del lenguaje Java, pero son compilados a bytecodes e interpretados por la JVM).

Frameworks y Proyectos Java

Por si fuera poco, existe una infinidad de frameworks y proyectos Java creados para resolver un problema especfico, y que se encuentran distribuidos de manera libre bajo alguna licencia de software libre. Por lo tanto podemos utilizarlos y aprovechar su funcionalidad en nuestros propias aplicaciones.

Esto trae dos ventajas: en primer lugar el tiempo de desarrollo se reduce al no tener que hacer las cosas por nuestra cuenta; y segundo, hace que nuestro software sea de calidad al reutilizar cdigo que ha sido probado y depurado por la comunidad de desarrolladores.

Existen frameworks para todos las necesidades y gustos: frameworks para la persistencia de datos (Hibernate, TopLink), frameworks para desarrollo web (struts, spring), frameworks para soporte de la GUI en aplicaciones Web (MyFaces, ExtJS), para disear y emitir reportes (JasperReports y iReport), etc, etc y etc.

Por qu Java?El lenguaje ms popular!

Adems Java es el lenguaje ms popular en los dos ltimos aos consecutivos, segn un estudio reflejado en la tabla que se puede apreciar en la diapositiva.

Esto de ser popular se refiere al nivel de utilizacin de la tecnologa Java por desarrolladores y organizaciones en todo el mundo.

Quines estn con Java?

Aqu podemos apreciar a algunas de las organizaciones que utilizan y colaboran con la tecnologa Java. Sun Microsystems, por ser su propietaria, es la principal empresa que en aporte a Java.

Tambin tenemos a los gigantes IBM y Oracle que estn bastante involucrados no solamente en aportar a la tecnologa Java, sino a otros proyectos de software libre.

De la misma manera existen muchas fundaciones como Apache y Red Hat que son activos colaboradores del lenguaje de la tacita de caf.

Java est embebido en muchos servicios ofrecidos por las redes sociales ms importantes y que nosotros utilizamos a diario como Facebook y MySpace.

Adems la gran mayora de fabricantes de dispositivos mviles y telfonos celulares utilizan Java para crear las aplicaciones y utilidades que ofrecen en sus productos.

Por ltimo, todos los miembros de la comunidad OSUM somos desarrolladores Java que promueven su uso en todos los campos.

Bolsa de Trabajo

Descargar JRE y JDKhttp://www.java.com/es/download/

Descargar NetBeans IDEhttp://netbeans.org/

Comprar buenos librosJavier Ceballos

http://www.gandhi.com.mx/

Leer tutoriales y blogshttp://www.taringa.net/posts/ebooks-tutoriales/

Participar en comunidades y foroshttp://osum.sun.com/

Java

Cmo Empezar

Prctica, prctica y prctica!!

Para empezar a programar en Java debe descargar el entorno de ejecucin (JRE) y el kit de desarrollo (JDK), que tiene las herramientas para desarrollar en Java (entre otros el compilador).

Tambin debe tener un buen IDE que le ahorre tiempo y esfuerzo en la programacin. Una gran alternativa es el IDE NetBeans.

Siempre es bueno tener libros, adems de leer tutoriales y blogs online. Del mismo modo la participacin en comunidades y foros es una experiencia muy enriquecedora.

Practique mucho.

DEMO

http://www.mediafire.com/file/gs196z79k01901y/Ejemplo_Java.zip

Esperamos que haya disfrutado aprendiendo sobre la tecnologa Java tanto como nosotros nos divertimos en esta presentacin. Esperamos tambin que se convierta en un desarrollador Java activo y experimentado.

A continuacin tiene una relacin de sitios web que sern sus amigos durante su aprendizaje de esta hermosa tecnoologa que es Java.

Preguntas

Muchas gracias!

http://www.slideshare.com/Micky2

Miguel Angel Fras BonfilOSUM [email protected]