Entradas

Mostrando las entradas de 2010

Delay

Mantener un blog es complicado, mas no imposible. Me había propuesto en poner un post cada martes, así en un mes habrían al menos cuatro apuntes que podrían ayudar a la comunidad java - en especial a los hispanos. Si en estas últimas semanas no he podido publicar más artículos no fue porque no sé qué publicar, sino por falta de tiempo. Estamos terminando un año, y con él muchos proyectos se deben cerrar, y  para preparar (no es por presumir, pero vuestros comentarios me lo confirman) un  buen artículo se necesita un tiempo exclusivo. Hay bastante material para publicar en mi blog, por ejemplo: RESTful con objetos complejos, con entidades, con arreglos, con conversores de tipo y sus clientes en PHP, JavaScript, JavaFX, etc. Plantillas en Liferay. JPA 2.0 y todo lo que se puede hacer. JSF 2.0: más ejemplos de Ajax, y sus extensiones con ICefaces JasperServer NetBeans Platform Java EE 6 sobre WebLogic etc Como se ve, hay bastante material para publicar, sin mencionar los

RESTful - Parte 2: Manejando un solo objeto

Imagen
Hemos visto en el anterior post cómo hacer un servicio REST solo para producir y consumir un texto simple. Ahora bien, en la vida real no son textos simples, sino estructuras de datos algo complicadas. Pero para ir lentos pero seguros, aprenderemos cómo hacer un servicio REST pero para manejar un solo objeto.

Lo que se viene con JDK 7 & NetBeans 7

Imagen
Se dice que el número 7 es el número de la perfección, y para el mundo Java este número no está lejos de serlo. Está cerca el JDK 7, con muchas mejoras en la sintaxis, y casi a la par también sale el NetBeans 7 con su respectiva compatibilidad. En este post mostraré algunas características de estos software.

RESTful... la forma más ligera de hacer WebServices (Parte 1)

Imagen
Quienes hayan usado SOAP para WebService, sabrán que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para construir los clientes utilizando el WSDL. Por ejemplo, para PHP se necesita de la biblioteca NuSOAP. Entonces, para lograr el concepto de "lenguaje único XML" es un dolor de cabeza. Y más aún si el cliente es tan simple como JavaScript, manejar XML de SOAP provocaría suicidos masivos... o no usar WebServices. Además, con SOAP se permite crear un solo servicio y ponerle varios métodos. Esto puede llevar a un mal diseño del servicio ya que podría tener un servicio que haga de todo: por ejemplo, un servicio de manejo de Clientes que permita también manejar Proveedores. RESTful es una propuesta muy interesante de Roy Fielding que permite manejar los servicios web con métodos definidos, manteniendo la simpleza del protocolo como XML, pero que cada servicio sea identificado únicamente con un solo URI . En este post veremos cómo cr

Preparando capacitación virtual en NetBeans Platform

Imagen
A Geertjan Wielenga (considerado como el maestro de  NetBeans Platform) le he propuesto hacer un entrenamiento virtual sobre NetBeans Platform para Latinoamerica. Le agradó la idea, y me dice que reuna al menos a cinco o seis participantes. NetBeans Platform es una plataforma completa que permite desarrollar aplicaciones desktop (swing) proporcionándonos varias funcionalidades "rutinarias" que se necesitan al momento de hacer una aplicación swing, tales como manejo de ventanas, árboles, ventanas de diálogos, opciones, manejo de archivos, etc.  También se pueden desarrollar complementos que permitan ampliar la funcionalidad del mismo NetBeans IDE. Para tener una idea de lo que se puede hacer: NetBeans IDE y iReport están hechos sobre NetBeans Platform. ¿Quienes se apuntan para este entrenamiento? Si estás interesado, llena tus datos aquí :

Swing: Componentes enlazados a un bean

Imagen
La mejor manera de tener sincronizado un control swing con un javabean es utilizando enlaces (binding). La manera común y poco profesional es utilizar los set  y gets de cada atributo de un bean para asociar a cada componente. //... nombreTF.setValue(persona.getNombre()); edadTF.setValue(persona.getEdad()); //... etc y si son 80 campos, nadie querra hacerle mantenimiento. Aquí es donde entran los enlaces. Mostraremos un ejemplo con NetBeans para enlazar los componentes de un formulario con un JavaBean.

Compilando y ejecutando una clase java.... desde java

Imagen
El JDK 6 viene con varias funcionalidades interesantes, entre ellas la compilación de clases java desde el mismo java.

CouchDB, base de datos orientada a documentos

Imagen
Desde Panamá, nuestro amigo Arístides Villareal , ha publicado algunos post referente a esta base de datos orientada a documentos llamada CouchDB . http://avbravo.blogspot.com/search/label/couchdb http://avbravo.blogspot.com/search/label/m21couchdb CouchDB proporciona un API JSon para que puede ser accdido desde cualquier entorno, incluyendo peticiones HTTP. Fue escribo en Erlang , un lenguaje de programación funcional ideal para sistemas distribuidos concurrentes.

EJB 3.1 en Porlets de Liferay

Imagen
Ya que GlassFish v3 es compatible con Java EE6, y permite módulos web con componentes EJB (por la característica propia de EJB 3.1).. y además Liferay puede ser instalado sobre GlassFish v3... y... los portlets son módulos web con otro archivo de despligue ¿los portlets para Liferay/GFv3 deberían permitir EJB 3.1?

Liferay: Recursos necesarios

Imagen
Para poner en producción un servidor web con Liferay, en base a la experiencia, sugiero lo siguiente: Memoria: 2GB. Recomendable: 4GB CPU: 2 Core. Recomendable 4 Arquitectura: 32bits, Recomendable 64 bits. ¿Por qué tanto? Recordemos que este Liferay es para portales serios, para una empresa u organización seria. Si quieren algo más simple, y más barato, usen Joomla o algo parecido. Otro post más sobre Liferay y hago mi blog "Apuntes de Liferay" :). También hablaré de otros contenedores de portlets, por si liferay parece muy costoso poner en producción.

NetBeans 7.0

Imagen
La versión NetBeans 6.10 cambia de numeración para ser la 7.0. Será lanzada en marzo de 2011 y tendrá importantes cambios. Ojo a la nota:

Liferay: Registrando varios usuarios (usando complemento Hook)

Imagen
He estado buscando alguna opción de Liferay que me permita crear varios usuarios a la vez... pero no tuve éxito. Pensé (y hasta pregunté en el foro de liferay.com) si se podía modificar directamente la base de datos. Pero como es un sistema complejo, hacer esto podría malograr el sistema. Entonces pensé que debería haber otra solución utilizando el API de Liferay. Al final de todo, es una plataforma, y debería existir un API completo para ello.

mysqldump: ignorando el tag DEFINER

Imagen
Este es otro no-apunte-de-java. Se trata del MySQL. Resulta que he tratado de hacer un dump de un servidor a otro. Pero como tienen usuarios restringidos por host, y el mysqldump me genera el script con el tag /*!50013 DEFINER=`root`@`10.%` SQL SECURITY DEFINER */ ... pensé que debería haber algún parámetro de mysqldump para ignorar estos tags. Pero según el mismo MySQL dicen que tendría problemas de seguridad (vamos: darle derechos de pasar un VIEW o STORED PROCEDURE a alguien que no le corresponde). Así que tuve que valerme de un comando de unix/linux para ignorar estos tag:

Enmulando EJB en Web usando Spring

Imagen
Cuando salió el EJB 3.1 con la capacidad de poderse ejecutar en un módulo web, comencé a usarlo sin parar. Con los EJB me hace más fácil conectarme a la base de datosusando JPA porque simplemente debería usar  @PersistenceContext respectivamente. Pero no todos los servidores  donde uno va a desplegar aplicaciones son Java EE6, así que las facilidades del EJB 3.1 serían truncadas. Afortunadamente existe Spring para ayudarnos a instanciar clases como si fueran EJB, y más aún, nos permite usar JPA y mantener las notaciones  @PersistenceContext . Veamos cómo se hace esto.

Instalando Liferay 6 en GlassFish v3

Imagen
Retomando los tutoriales, ahora vengo con lo de la instalación de Liferay 6 en GlassFish v3. La verdad, es casi lo mismo que está explicado en el anterior post " Instalación de Liferay en un servidor GF v3 para producción ", con la excepción de que se debe considerar algunos cambios:

PortalPack 3.0.4 para NetBeans 6.9/6.8/6.7.x/6.5.x

Imagen
!Ya está disponible el Plugin del Portal Pack 3.0.4... ahora con soporte para Liferay 6! http://contrib.netbeans.org/portalpack/pp30/download304.html

Regresando....

Imagen
Hoy regreso de mis vacaciones. Pensé que tendría más tiempo para elaborar algunos artículos, pero me lo dí al verdadero descanso. No es de quedarme echado en cama todo el día todos los días, al contrario, me dediqué a hacer cosas que no hago en un día normal, así que lo pasé con mis niños, mi esposa.. todo divertido. Y como no he pensado en  nada del trabajo (gracias a Dios casi todo anduvo solo) me olvido qué tenía que hacer. (La imagen creo que dice exactamente lo que estoy pasando :) ) Bien, hoy también es el Blog Day , y como parte de este día, recomendaré 5 blog de diferentes temas a todos los visitantes de este pequeño blog:

Descargar XLS y PDF sin abrirlos en el navegador (versión Servlet)

Imagen
Anteriormente hice un post de cómo " Descargar XLS y PDF sin abrirlos en el navegador " pero fue realizado con PHP. Ahora les traigo el mismo ejemplo pero usando Servlet

¿Qué apunte quieres?

Imagen
Debido a diversos temas en mente, aún no me decido por algún apunte para las siguientes semanas. Comienzo uno, y luego veo que otro puede ser interesante, y cuando lo desarrollo me doy cuenta que el primero tiene más documentación... en fin, me hago un lío innecesario.  Además, para mi puede ser útil un apunte, pero para los visitantes quizás no. Así que, haré la siguiente pregunta ¿Qué tema, apunte, tutorial, tip (etc) quieres que se publique en este blog? Tus respuestas puedes hacerlas en este post, en feisbuk y FriendFeed (que es como Twitter... que también puedes conectarte desde twitter) Vamos, todos los comentarios serán considerados :)

Nuestro primer Portlet en Liferay

Imagen
Hasta el momento hemos visto cómo configurar Liferay sobre un Servidor Glassfish v3 para producción . Esto nos permite tener un Portal en blanco listo para que nosotros le configuremos todo. Es decir, el Liferay que viene preconfigurado con el GF, Tomcat o Jetty que está disponible en la página de descarga de liferay.com , tiene contenido preparado, textos de ejemplo, temas, aplicaciones completas, etc. Además que viene configurado con HSQLDB. Si al preconfigurado le cambiamos el acceso a la base de datos para que utilice el MySQL o cualquiera, en ese momento todo el contenido del Portal estará en blanco. Recomiendo la versión preconfigurada de liferay para conocer un poco cómo funciona, y además, para usarlo como caja de arena para probar nuestros portlets. En este post veremos cómo hacer un Portlet para Liferay usando NetBeans 6.x

Liferay 6.0.3 disponible

Después de mucho trabajo dedicado por la gente de Liferay.com, Brian Chan anuncia la disponibilidad de Liferay 6.0.3. (Ahora tendré que hacer posts para actualizar el Liferay a esa versión.. bueno, será después que publique sobre cómo hacer Portlets... ya casi acabo). La nota completa, aquí: con referencia a: Liferay Portal 6 GA Released - Blog - Liferay.com ( ver en Google Sidewiki )

"Persona" de NetBeans

Imagen
Si usas Firefox, te gusta "vestirlo" con las " Personas " disponibles...y además te gusta NetBeans, pues creo que esta "Persona" te podría gustar. Está disponible aquí http://www.getpersonas.com/es/persona/253842 Algo simple como para ser la primera vez :)

Entendiendo especificación Java Portlet 2.0

Y siguiendo con la onda de los portlets (creo que tendré buen tiempo hablando de ellos), aquí un artículo (en inglés) de Deepak Gothe , explicando sobre Portlet 2.0. Es un artículo de tres partes. Part 1, Overview and Coordination Between Portlets Part 2, Serving Resources and Other New Features Part 3, Extensions Si podemos juntarnos virtualmente un día para traducir estos y otros artículos , la comunidad nos lo agradecerá.

Juegos en JavaFX

Como me bloquearon páginas comunes de juegos (esos con Flash), y necesito de cuando en cuando descansar un poco del trabajo (vamos, que no somos máquinas.. Taylor está equivocado!) Encontré esta página de juegos pero hechos con JavaFX, además de tutoriales y guias para el desarrollo de aplicaciones JavaFX. Realmente muy interesante.. a ver si un día me aventuro a hacer un juego. con referencia a: JavaFX Topic: JavaFX Games ( ver en Google Sidewiki )

Instalación de Liferay en un servidor GlassFish v3 para producción

Imagen
En un anterior post mencioné los Portales en Java, y la facilidad que nos da el utilizar una plataforma con muchas funcionalidades, y nosotros simplemente deberíamos hacer los componentes que faltan. Estos componentes se llaman Portlets. Ahora mencionaré uno de los gestores de Portlets en Java que, según mi opinión, es bastante útil. Su nombre LIFERAY. Pero no hablaré de sus cualidades, ni todo lo que puede hacer.. eso ya lo hizo Pedro Edison en su blog :) , y como no hay que amontonar la red con lo mismo, esta vez mostraré cómo instalar el LIFERAY desde cero. No desde la instalación de un .exe, sino desde un archivo .war y sobre GlassFish v3 usando MySQL como gestor de base de datos.

Instalando Portal Pack en NetBeans 6.9

Imagen
Para comenzar con tutoriales de Portlets, es necesario preparar nuestro IDE para programar con Porlets. Por ello primero vamos en este Post vamos a ver cómo instalar el Portal Pack   para NetBeans.

Resultado de encuesta "¿Por qué quieres conocer Java?"

Agradezco a los que participaron de mi encuesta "¿Por qué quieres conocer Java?" Estos son los resultados Soy estudiante y quiero saber para aprobar el curso   21 (42%) Me interesa la tecnología Java, y quiero conocer más   35 (70%) En donde trabajo quieren que aprendan todo o parte de Java   13 (26%) Para agregarlo a mi CV   12 (24%) Aunque pareciera una encuesta sin importancia, estaba midiendo qué tipo de usuario promedio visitaba este blog. Agradezco a los  doce "sinceros" que buscan Java solo para agregar a su CV, aunque creo que también pudieron responder por diversión, y hay un grupo invisible que no ha marcado esta alternativa... solo especulo :). También a los 21 desesperados que necesitan aprobar el curso... también puede haber un gran grupo que no ha respondido... también estoy especulando. Ahora, los 35 que quieren saber más de Java (quizás ya sepan y quieran aprender más), también pueden pertenecer a los demás grupos... quizás, por eso

Tomcat 7.0

Imagen
Apache ha lanzado Tomcat 7.0, con compatibilidad para Servlet 3.0, JSP 2.2, EL 2.2 Se puede descargar desde aquí: http://tomcat.apache.org/download-70.cgi Y más documentación, aquí: http://tomcat.apache.org/tomcat-7.0-doc/

Ajax en JSF 2.0 - Ejemplo 2: Tabla actualizada según se escriba

Imagen
Siguiendo con los ejemplos después de mucho tiempo , ahora mostraré cómo actualizar una lista dependiendo del texto que se escribe en un input-text, pero usando Ajax. Es decir, a medida que se escribe, se actualizará el contenido del texto. Todo esto usando JSF 2.0 con su tag <ajax />

Vídeo: Usando JavaFX Composer en NetBeans 6.9

Imagen
Es como el Matisse de NetBeans para Swing, pero ahora para JavaFX

Desarrollo evolutivo

Imagen
Yo creo que lo único que es evolutivo es el conocimiento humano, por eso antes existían los TV de tubo y ahora están apunto de salir los TV LED 3D :) . Y es porque a medida que se desarrolla una nueva tecnología, el humano descubre que se puede hacer algo mejor, y por tanto lo deja para la siguiente versión. ¿Y que pasa con nosotros los programadores/desarrolladores de aplicaciones?

Actualización de GlassFish v3 a v3.0.1

Imagen
Junto con el lanzamiento de NetBeans 6.9, Oracle también lanzó GlassFish v 3.0.1 (que también viene incluido en el NB 6.9) Ahora, si ya tenemos en producción un GFv3 con todas las aplicaciones configuradas, JDBC Resources puesto a punto... ¿cómo le hacemos para actualizar a la versión  3.0.1? Tranquilos, no hay que temer.. aquí está la solución

NetBeans 6.9 liberado!

Imagen
Valió la espera NetBeans 6.9 ya está aquí!! Información de la versión (en español): http://netbeans.org/community/releases/69/index_es.html Un agradecimiento especial a los traductores hispanos que lograron la versión en español de NetBeans IDE 6.9

Portales en Java

Imagen
Una aplicación web es relativamente fácil de hacer... pero si nuestro cliente quiere que le hagamos un portal para que sea Intranet, Extranet, administración de contenidos, gestor de archivos, foros, chat, wiki y 50 etc. más, podemos decir "sí se puede", y a medida que avanza el proyecto pensamos que se podría vender a otro cliente, tratamos de hacer lo más estándar posible.... y nunca terminamos. Estos sistemas web que permiten administrar contenidos se llaman Sistemas de Gestión de Contenidos (En inglés Content Management System - CMS) Estos ya tienen todo, o al menos todo el soporte necesario para gestionar contenidos web. Es una plataforma, y nosotros deberíamos unicamente anexarle las partes que faltan y lo que nuestro cliente necesita. Los más conocidos en PHP son Joomla , PHPNuke , Drupal .  Estos se encuentran en los hosting que se alquila por US$20 al año. Son simples, y funcionan para todos tipos de usuarios. Pero ¿y Java?

Resultado de encuesta "¿Cómo es más legible un tutorial?"

Es interesante los resultados de la encuesta que he puesto en este humilde blog Sólo vídeo   2 (7%) Sólo instrucciones e imágenes   8 (28%) Vídeo e instrucciones   15 (53%) Solo una leve explicación y tener el código fuente   3 (10%) Por lo que podría concluir con lo siguiente: Pocos respondieron a la encuesta:  28.. para los varios visitantes que monitoreo... muy poco. Es más fácil ver hacer, que leer. Bueno, creo que nadie lee, sino quiere ver. Es mejor un vídeo, porque es como estar con alguien que te explica cómo se hace. Pero también con las instrucciones para volverlo a hacer. Uhm, esto puede sonar a "Quiero tener clases virtuales". Suena bien. No podría concluir cosas como: La gente que ve el blog quiere vídeos, manuales, impresos, CD y hasta profesor particular... todo desde el blog.. y que sea público!  Bueno, creo que eso (si en algún momento alguien lo pensó) está bien difícil, porque la persona que redacta esto es un humano que come y vive.

Empaquetar una aplicación para distribuir, desde NetBeans

Imagen
Uno de los tantos motivos por lo que utilizo NetBeans en lugar de otro IDE, es que utiliza la Apache Ant para compilar, crear .jar .war .ear, javadoc, etc.. prácticamente para todo, y solo usando un archivo .xml. Y lo mejor es que se puede personalizar el .xml a nuestro antojo. En este post se va a explicar cómo empaquetar una aplicación Swing en un archivo .zip para ser distribuido a los usuarios finales.

NetBeans 6.9 RC 2 disponible ( y también en español)

La versión 6.9 del IDE NetBeans está casi lista. Se programa el lanzamiento para (aprox) el 9 de junio. En este momento está en la etapa RC 2 que se puede descargar desde aquí: http://download.netbeans.org/netbeans/6.9/rc/ También incluye la traducción en español, que está al 94%. Si deseas colaborar en la traducción del NetBeans, regístrate en el Grupo que tenemos para tal fin. http://groups.google.com/group/traduccionnetbeans

net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0

Si haz usado iReport para hacer tus reportes, y al ejecutarlo en un servidor lanza este error net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0 y por más que compiles y recompiles el .jrxml, lanza el mismo error.... revisa las versiones del iReport y del JasperReports utilizado en el proyecto.

Convertir cualquier cadena en objeto java.util.Date

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = dateFormat.parse("2010-05-17 15:18:19");

XML a Objeto Java

¿Quién no ha querido convertir un archivo XML a objetos Java? Usando el DOM, es muy útil pero bastante trabajoso. Hay un "parser" de Apache Commons llamado Digester que permite convertir un XML (usando algunas reglas) a objetos Java. Lo he usado bastante tiempo y me es muy útil. Así que comparto un ejemplo usando esta biblioteca. https://apuntes.dev.java.net/files/documents/10908/150452/ReadXML.tar.gz En este ejemplo, se leerá el archivo http://www.xmlfiles.com/examples/simple.xml , lo descargará de Internet usando HttpClient , y lo procesará usando DOM del JDK, y luego usando el Apache Digester.  Espero que les sea de utilidad.

Definición de DataSource en JavaEE6

Las aplicaciones Java EE que se han mostrado en este blog son más orientados para desplegarlos en GlassFish. Esto conlleva a que cada los DataSource sean de acuerdo para proveedor de cada Java EE. Así, mis ejemplos para GlassFish no funcionarían para JBoss, Geronimo, WebLogic, etc. Aún así, cuando se desarrolla la aplicación desde NetBeans, y cuando se genera el .war, este no asegura que en ese archivo no exista la configuración de DataSource para la aplicación para usar. Por ejemplo, para GlassFish desde NetBeans se crea el archivo sun-resources.xml , pero este archivo no existe dentro del .war. Por tanto, antes de desplegar el .war en el GlassFish, se necesita crear manualmente el Pool de Conexiones y el Recurso JDBC. Como siempre he dicho a los que he dictado el curso Java EE: el archivo sun-resources.xml es el archivo de recursos para el modo de desarrollo. Solo es usado desde NetBeans. Ahora bien ¿no debería haber un archivo único? Vamos: el JPA funciona para todos los motores

Instalando base de datos MySQL de ejemplos desde NetBeans

NetBeans con JavaDB (Apache Derby) viene con unas bases de datos ejemplos, que son justamente los que se han usado en los tutoriales de este blog. Iba a hacer una demostración de cómo se instala la base de datos SAKILA de MySQL para un tutorial que iba hacer, pero encontré el plugin para NetBeans . Así que muestro un vídeo de cómo instalar este Plugin, además de cómo crear la base de datos de ejemplo desde NetBeans.

Dónde descargar los complementos (plugins) curiosos de NetBeans

En mi post " Plugins curiosos para NetBeans 6.8 "olvidé mencionar cómo descargar estos plugins. Realmente no pertenecen exclusivamente a la versión 6.8. Son complementos que están en fase de desarrollo, son útiles, pero no están en producción. Pero son muy buenos. Estos están disponibles en la versión de desarrollo de NetBeans. Ahora, les diré cómo incluirlos en cualquier versión de NetBeans. Si el complemento a descargar no es compatible con la versión del IDE que se tiene, se emitirá un mensaje de error.

Cliente remoto de EJB 3.1 (en GlassFish V3)

Imagen
Leyendo el FAQ de EJB ( https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html ) quiero comentar cómo crear un cliente EJB sin necesidad de desplegarlo en el mismo en servidor. Realmente es muy simple:

Nuevas sugerencias (hints) de NB 6.9

Imagen
He estado revisando el nuevo NetBeans 6.9 y he encontrado algunos interesantes hints. No concatenar en un StringBuilder/StringBuffer El logger debe ser final Parametriza el logger, no lo concatenes

Ahora en FaceBook

Imagen
Para estar mas conectados, y todos apoyarnos... Apuntes de Java Promocionar tu página también

Creando un servicio RESTful con NetBeans 6.9

Volviendo con mis vídeos tutoriales, aquí presento cómo hacer un servicio RESTful desde NetBeans 6.9.

La nueva cara de NB 6.9

Imagen
A ver amigos... ¿quién puede ver los sustanciales cambios de la ventana de inicio de lo que será el  NetBeans 6.9?

NetBeans 6.9 Beta

Imagen
NetBeans.org anuncia el lanzamiento de la versión 6.9 Beta de su galardonado IDE. Las características más sobresalientes son las siguientes: Soporte con OSGi JavaFX Composer (el "Visual" JavaFX) Spring Framework 3.0 Editor de Java: seguimiento a métodos heredados y sobreescritos. Completación de código y reestructuración de JavaScript, CSS y HTML Soporte PHP Zend Framework Ruby on Rails 3.0 y mucho más... (y pensar que comenzó como un proyecto estudiantil ) El lanzamiento oficial de NetBeans 6.9 está programado para inicios de Junio 2010 . También estará disponible en los diversos idiomas.. también en español.

Nuevas herramientas para Desarrolladores de OSGi

A partir de la versión 6.9 del IDE NetBeans contendrá herramientas gráficas para el manejo el desarrollo de OSGi. Aquí un tutorial con referencia a: New Cool Tools for OSGi Developers | NetBeans Zone ( ver en Google Sidewiki )

JavaFX en Acción

Aquí un vídeo de cómo funciona el JavaFX desde NetBeans con referencia a: Created by Camtasia ( ver en Google Sidewiki )

Ahora en Google Groups

Imagen
Fueron interesantes los comentarios dejados en la encuesta anterior. En unos días más publicaré los resultados. Lo raro es que pensé que habrían más respuestas. Pero en fin, supongo que el 'desarrollador hispano promedio' solo quiere hacer preguntas y no responderlas. Y si sabe la respuesta, es bastante difícil que lo comparta. ¿O si me equivoco? De todas maneras, he creado un Grupo en Google para que podamos compartir preguntas y respuestas. Este blog seguirá publicando artículos, tips, ayudas, vídeos, tutoriales, comentarios y demás cosas que siempre se ha estado haciendo. Suscribirte a "Apuntes de Java" Correo electrónico: Consultar este grupo

Encuesta sobre capacitaciones de Tecnología Java

Como no quiero que las capacitaciones que doy (o que daba) queden en un aula, me gustaría abrir los temas al mundo.. pero ¿quieren realmente capacitaciones de Java? Así que, como parte de mi investigación de mercado, aquí les paso un encuesta para ver cuales son sus apreciaciones. Cargando... O también puedes responder a esta encuesta aquí: http://miniurl.com/32332

Webinar de ICEfaces

ICEfaces presentará el 18 de marzo un Webinars sobre "desarrollo de aplicaciones con Ajax Push" La presentación durará 50 minutos y su objetivo es presentar más allá de los principios básicos de ICEfaces. Se realizará a las 4PM CET (GMT +1) con referencia a: ICEfaces Webinar - Desarrollar Aplicaciones con Ajax Push ( ver en Google Sidewiki )

Ejemplo de Context Dependency Inject (CDI) en NetBeans 6.9

El NetBeans 6.9 traerá muchas cosas nuevas, entre ellas un soporte más especializado en CDI . Aquí muestro un vídeo y también, el proyecto creado en el vídeo. https://apuntes.dev.java.net/files/documents/10908/148286/EjemploCDIWeb.tar.gz

Catálogo de tutoriales Java

No sé si ya lo sabíais, pero yo recién lo encontré. Existe un catálogo de bastantes (y eso es poco) ejemplos de Java, para todos los gustos y sabores. http://www.java2s.com/Tutorial/Java/CatalogJava.htm También hay catálogos para otros lenguajes, pero lo que a mi me importa es Java :) Provecho

Ahora en java.net

Apuntes de java ya tiene su alojamiento en java.net. https://apuntes.dev.java.net/ Será más fácil para reunir y atender foros, preguntas, publicar proyectos, ejemplos, vídeos, colaboración en todos, etc. Como todo proyecto, comienza con algo pequeño y terminará siendo grande.

Ajax en JSF 2.0 - Ejemplo 1: Combo cambia texto

La técnica Ajax es muy útil para hacer aplicaciones donde solo se actualiza una parte de la página y no toda. Cuando salió JSF no tenía esta característica, pero otros frameworks (como ICEfaces) proporcionaban el Ajax como manera natural. También se podía utilizar otros complementos al JSF para que pueda funcionar.. pero ya no era el JSF natural. Con JSF 2.0, el Ajax ya es natural. Mostraremos un conjunto de ejemplos de Ajax con JSf 2.0. En este post haremos un ejemplo de cómo un combo puede cambiar el valor de un texto. Primero lo haremos sin Ajax, y luego con Ajax. El ManagedBean Primero haremos un ManagedBean llamado FormBean. Tendrá una propiedad que contiene las opciones del combo, y luego un atributo donde tendrá el valor seleccionado del combo. package jsf; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.faces.model.SelectItem; @ManagedBean(name = "FormBean") @RequestScoped public class FormBean { private Select

Spring 3 en NB 6.9

Imagen
En la nueva versión de NB, se incluirá la biblioteca Spring 3, tanto el framework como el MVC .. a ver si también incluyen Spring Roo :)

NetBeans 6.9 en ML1

NetBeans.org ha anunciado hoy el lanzamiento de la versión Milestone 1 de NetBeans 6.9 Geertjan Wielenga , presenta un ejemplo de un CRUD para NB Platform 6.9 usando NB 6.9: Quick Start: NetBeans Platform CRUD Sample in NetBeans IDE 6.9 Esto demuestra que NetBeans aún sigue vivo, a pesar del comentario de muchos que dicen que Oracle lo iba a pisotear. Aprovecho este post para compartirles el Call for Paper para el JavaOne + Developer 2010 Conference que se realizará del 19 al 23 de setiembre del 2010. La recepción de Papers comienza el 10 de febrero hasta el 14 de marzo.

Acceder a ManagedBean desde otro ManagedBean en JSF 2.0

Cuando se trabaja con variables sesión en JSP/Servlets es fácil guardar estas variables y también accederlas... bueno, al menos para quien ha trabajado bastante con este tipo de variables de sesión: Desde un servlet se debería escribir request.setAttribute("obj1",obj1); ... cuando se desea guardar una variable de sesión de alcance "request".Para uno de alcance "sesión" es una historia similar. Y desde un JSP para acceder a esta variable de sesión, usando EL, deberíamos usar algo como esto: Mostrando objeto: ${ob1} Pero en JSF (en especial la versión 2.0), ya no se debería utilizar variables de sesión ya que JSF propone ManagedBeans que tengan alcance Scope, Request, Application, Custom y none. Pues bien, esto funcionaría así. Un ManagedBean: @ManagedBean(name="bean1") @SessionScoped public class Bean1 { public Bean1() { } private String nombre; public String getNombre() { return nombre; } public v

Concatenar filas en una columna (MySQL)

Este truco lo vi en la documentación de MySQL (vamos, sí, sí. no es Java, pero es algo que encontré y quiero compartirlo). Imaginemos que tenemos una tabla así +--------+--------+ | campo1 | campo2 | +--------+--------+ | fila1 | a | | fila2 | b | | fila2 | c | | fila1 | b | | fila3 | b | | fila2 | c | +--------+--------+ Y queremos concatenar todos los valores del campo2 por cada fila no repetida de campo1 así: +--------+--------+ | campo1 | campo2 | +--------+--------+ | fila1 | a,b | | fila2 | b,c | | fila3 | b | +--------+--------+ Para ello, hay que usar la función de agregación GROUP_CONCAT SELECT campo1,group_concat(distinct campo2) FROM tabla GROUP BY 1

Java EE 6 Codecamp (graduados)

Sang Shin de javapassion.com ha dejado de trabajar para sun.com , y sus cursos tan buenos que ha publicado para la comunidad, serán ahora accedidos bajo un pago anual de $89. Yo creo que es lo justo para tan buen material elaborado por este Evangelista de Java. El 8 de febrero se publicó la lista de los graduados de la 1ra sesión del CodeCamp Java EE 6. Ha sido un buen curso donde se ha aprendido más a profundidad sobre esta nueva tecnología. Muchas gracias Sang Shin por tu trabajo a la comunidad. con referencia a: Graduates of Java EE 6 Codecamp ( ver en Google Sidewiki )

Parche 1 de NB 6.8

Imagen
Desde el 4 de febrero está disponible el parche 1 de NB 6.8. Éste se puede obtener desde Herramientas > Complementos y luego hacer clic en el botón "Volver a cargar el catálogo" Si no dispones de una conexión directa para actualizar los .nbm, se pueden descargar directamente desde esta dirección: http://updates.netbeans.org/netbeans/updates/6.8/uc/final/stable/patch1/ Solo que se tendría que bajar uno por uno.

Overview and Frequently Asked Questions for the Developer Community

Ando con poco tiempo para poder hacer un resumen, así que mejor os dejo el link http://www.oracle.com/technology/community/sun-oracle-community-continuity.html

La estrategia de Oracle + Sun para GlassFish

Arun Gupta comenta/resume sobre el futuro de GlassFish en manos de Oracle según fue expuesto el día de ayer. http://blogs.sun.com/arungupta/entry/glassfish_strategy_by_oracle_sun

Sun ha muerto, larga vida a Sun!

Imagen
Ahora, las web de java.sun.com ha pasado por el pincelazo rojo/gris: también http://developers.sun.com/ .. la web de netbeans: http://www.netbeans.org tiene el pie "Sponsored by Oracle". y la web de sun.com ya direcciona a oracle.com Sun va a ser un buen recuerdo.

El plan de Oracle sobre el NetBeans

No sé qué pensar respecto a lo que acaba de decir Larry Elison sobre el NetBeans. A parte de publicitar hasta por los codos sobre el Stack de Oracle, el futuro de NetBeans es la de ser un mero "IDE Ligero" para desarrolladores Java... y el JDeveloper será el software comercial para el desarrollo de aplicaciones Java.. vaya, me imagino que a la gente que desarrolló el jdev no les iba a gustar que se desplace su software por un OpenSource, además que con el jdev solo se desarrolla aplicaciones Oracle, no se desarrolla Java.. el Java en jdev es algo que existe pero no se ve como lo principal. La misma suerte está corriendo GlassFish: Será solo la referencia de la implementación de Java EE, pero para comercial debería usarse el WebLogic (claro, no por nada lo habrán comprado antes). Ahora ¿Cuál habrá sido la estrategia de Sun en sacar el GlassFish V3 con NetBeans 6.8 con el soporte respectivo, hacer sus conferencias online y el curso de javapassion.com? ¿Quizás fue su último

Ahora sí: Sun + Oracle es una realidad

Imagen
La Comisión de la Unión Europa ha aprobado la adquisición de Sun por parte de Oracle (órale!!!) Ver las notas: Washington Post . New York Times . El 27 de este mes Larry  Ellison dará una conferencia virtual sobre ello: http://blogs.sun.com/theaquarium/entry/oracle_sun_strategy_update_webcast James Josling manifiesta esta noticia de manera gráfica: Sun + Oracle =snorcle ?

Chamilo - Nueva herramienta de e-learning

Nuevamente tengo un post que no se tiene nada que ver con Java, pero es bueno mencionarlo. Hace varios años en una oficina de donde trabajo se necesita una herramienta e-learning alterna al conocido Moodle. Así que entre varios encontramos uno que era muy bueno e interesante, llamado Dokeos. Un cierto año lanzaron su versión web para que uno mismo  - a la vez que probaba la versión última - podía crear sus cursos online. Realmente consideré que era un buen software. La última versión disponible es la 1.8.6.1 de agosto de 2009. Pues bien, me acaba de llegar un correo  de chamilo.org donde se explica que el ".. 90% de sus desarrolladores activos y una grande comunidad de contribuyentes, ha decidido the abandonar el proyecto.".. Oops!! "Como seguramente sabrá, Dokeos es una marca registrada con pertenencia personal. Queremos que nuestro desarrollo quede libre de cualquier tipo de control individual y, después de muchas discusiones, no hemos encontrado otra opción qu

Curso OnLine Groovy y Grails

Siguiendo con los cursos online dictados por Sang Shin, en javapassion.com se dictará el curso "Groovy and Grails Application Development (with Passion!) ". La clase comienza el 10 de febrero. con referencia a: "Groovy and Grails Application Development (with Passion!)" - Groovy and Grails Training Online Course by Sang Shin ( ver en Google Sidewiki )

Curso online gratuito de Java EE6 en una semana

Desde el 12 al 20 de enero de este año, se dictará en línea el curso Java EE6 vía JavaPassion.com http://www.javapassion.com/courses/javaee6codecamp.html Se utilizará el NetBeans 6.8 y el JDK 1.6 u17 Habrán tareas al final de cada sesión para medir el avance de cada participante. Al finalizar el curso y haber concluido satisfactoriamente las tareas, se emitirán sus respectivos certificados. Ojo: estos certificados no están asociados a ninguna entidad, solo certifican que han llevado el curso en JavaPassion.com Para participar de dicho evento, deberán registrarse en Google Groups: http://groups.google.com/group/javaee6-codecamp Anímense, y conocerán el Java EE6 de una manera rápida.

Groovy: Un lenguaje dinámico y ágil para la Plataforma Java

Imagen
El primer post de este año quisiera dedicarlo a un lenguaje interesante. Este es Groovy: Un lenguaje dinámico como JavaScript, pero no es interpretado; tiene acceso a todo el API de Java, se ejecuta sobre el JVM, y por tanto puede interactuar con nuestras aplicaciones Java. Podemos tener algunas clases en Groovy y otras en Java. Más información lo puedes encontrar en Wikipedia . Lo bueno de este lenguaje es que - a gran diferencia de Java - no necesita de una clase "Main" para ejecutar la aplicación. Es como JavaFX, PHP, o como JavaScript, que ejecuta las instrucciones de arriba a medida que se van declarando. Por tanto, un "HolaTodos" puede ser así package demogroovy public class Prueba{ public static void main(String[] a){ System.out.println("Hola a todos"); } } o así: package demogroovy println("Hola a todos") Ambos son válidos en Groovy. Notar que los punto-y-coma (;) son opcionales. NetBeans nos permite crear clase

new Año2010().start();

Este año que pasó ha tenido cambios. Recordemos un poco: Se lanzó las versiones de NetBeans 6.5.1, 6.7, 6.7.1 y 6.8 Oracle compró Sun. GlassFish v3 salió a la luz, a la par con la especificación de Java EE6 ...y en lo personal, Pude concluir con mi licenciatura en Ingeniería de Sistemas (ha sido de Dios que mientras llevaba la licenciatura pude seguir trabajando, desarrollar un par de proyectos adicionales y dictar cursos) Mi esposa me compró mi dominio apuntesdejava.com :) ,  Dicté más cursos en bitnetperu.com Participé en el JavaDay de la UNI . (Que por cierto es el 2do que hice en toda mi  carrera profesional. Mi anterior participación fue en Lacfree 2003 . Espero participar más en este año) Muy buena organización y mis sinceras felicitaciones a JocLuis . Espero que este año pueda cumplir con algunos tutoriales más; quiero dictar más cursos sobre la tecnología Java, si es posible organizar una conferencia virtual; quiero de una vez certificarme en Java en este verano; te