Buscar
Social
Ofertas laborales ES
viernes
jul252008

Google Developer Days Europa 2008

Google ha anunciado y abierto el registro para su serie de talleres sobre tecnologías propias Google Developer Days. La fechas y lugares son los siguientes:

 y además, fuera de Europa, en Bangalore, India (Oct 11).

El registro para España ya está abierto y como puedes ver en la agenda del evento, se tocarán temas como OpenSocial, App Engine, el API de Youtube, Gears, GWT y GData. Hace unos meses estos Developer Days se impartieron en Latinoamérica y la experiencia fue muy positiva para los asistentes ya que las charlas y los talleres los imparten los creadores de las tecnologías (si no hablas inglés no te preocupes, que los de Google realizan la traducción simultánea y dan auriculares a los que lo requieran). 

Si estás por Madrid en septiembre o en alguna otra ciudad donde se impartirán, vale la pena asistir a estas conferencias.

viernes
jul252008

Anuncios de Sun en el OSCON 2008

Estos días se está llevando a cabo la conferencia OSCON 2008, la conferencia anual sobre opensource de O'Reilly. Este año Sun Microsystems ha aprovechado el escenario para hacer algunos anuncios dentro de la estrategia opensource que vienen siguiendo desde que Schwartz está a cargo de la empresa.

El primer anuncio es el de Sun Web Stack. Un paquete AMP (Apache - Mysql - PHP/Perl/Python) para Linusx y Solari. Sun además de ofrecer soporte a estos productos, ha optimizado el software de este stack para mejorar su rendimiento en las plataformas Solaris y Linux. Sun anunció que ha liberado (liberar en el sentido de volver opensource) componentes del Sun Java System WebServer 7 y de Sun Java System Web Proxy bajo la licencia BSD. Estos componentes ahora forman parte de Sun Web Stack.

Sun también anunció que junto a Joyent darán hasta 12 meses de hosting gratuito en la Nube de Joyent para el desarrollo y despliegue de aplicaciones sociales para Facebook y OpenSocial. Esta nube corre sobre OpenSolaris en servidores Sun.  Además darán training sobre el desarrollo de aplicaciones web en ella.

Por último, se anunció el soporte oficial para OpenSSO Express, el gestor de identificación opensource de Sun. Esta versión de OpenSSO se publicará una nueva versión cada 3 meses, a diferencia de los 12-15 meses que toma a OpenSSO Commercial. La herramienta es el proyecto opensource más grande sobre gestión de identificación y ofrece funcionalidades cono Single Sign On federado, Servicios web de identidad, OpenID y soporte a estándares empresariales.

Durante la OSCON 2008 hubo charlas sobre OpenJDK, Dalibor Topic ha colgado las diapositivas de la suya que resulta muy interesante ya que es un bosquejo de la historia de las JDK opensource y como han convergido ahora en OpenJDK y otros proyectos como IcedTea. 

miércoles
jul232008

SpringSource Enterprise: Soporte oficial para Spring

SpringSource ha lanzado su nuevo producto llamado SpringSource Enterprise Edition en forma de una subscripción anual para recibir soporte oficial sobre Spring directo de sus creadores.

La subscripción no solo incluye servicios de soporte, también brinda herramientas para monitorrizar y mejorar tus aplicaciones Spring. En concreto, contiene:

Spring Enterprise Edition: La versión empresarial de Spring Framework y otros productos como Spring WebServices, Spring Security, Spring Integration y Spring LDAP. Esta versión recibirá los últimos patches para resolver bugs, mejorar el desempeño, etc Además de que viene con una clausula de indemnización en caso de fallos.

SpringSource Perfomance Suite: Que contiene los productos

  • SpringSource Tool Suite. Suite de plugins para Eclipse para desarrollar con Spring
  • SpringSource Application Management Suite: Aplicación web para monitorizar tus Spring Beans en tiempo real y obtener estadísticas de su desempeño. 
  • SpringSource Advanced Pack for Oracle:  Perimite usar opciones avanzadas de Oracle (como integración con Oracle RAC) sin tener que cambiar una sola línea de código en tu aplicación.

Acerca del soporte, SpringSource brindará ayuda técnica, fixes de emergencia a bugs críticos, compromiso de resolver los bugs en el siguiente patch y un portal dedicado a los clientes se este programa.

Me parece bien el soporte empresarial que ofrece SpringSource y es algo que se veía venir ya que cada vez más aplicaciones críticas en empresas confían en Spring Framework. Lo que no me gusta para nada es el tener una versión "empresarial" de dicho framework al que solo tienes acceso pagando una cuota y que tiene prioridad en los patches. Solo espero que estos patches y mejoras para la edición empresarial también lleguen a la versión gratuita.

miércoles
jul232008

Ubuntu incluirá un servidor JEE: Glassfish o SpringSource application platform

The Register ha informado que Canonical - la empresa detrás de Ubuntu - ha decidido incluir un servidor de aplicaciones Java en su popular distribución Linux. Para ello, está en pláticas con Sun Microsystems para incluir Glassfish 3 y con SpringSource para incluir SpringSource application platform.

El servidor de aplicaciones elegido se distribuirá con la versión Servidor de esta distro. Los de Canonical han dejado claro que no es probable que la siguiente versión (la 8.10) que sale en octubre ya cuente con el servidorde aplicaciones ya que el tiempo no lo permitiría. Por otro lado, seguirá contando con Tomcat 6.

Al parecer, al final se decantarán por Glassfish, ya que formaría parte de una estrategia global de ofrecer servidores certificados en tecnologías Sun. Por ahora Sun ya ha certificado a Ubuntu para sus servidores Intel y Sparc. No sería extraño que Ubuntu Server sea certificada también para MySQL y Glassfish 3. Lo que ofreceria un stack completo para montar un servidor para aplicaciones JEE usando opensource.

Ubuntu ha elegido evaluar estos dos servidores, ya que considera que cualquiera es una opción más mantenible que Apache Geronimo. Hay que recordar que tanto Glassfish 3 como S2AP están basadas en OSGi que los dota de una gran modularidad, además de ser pequeños. Como ejemplo Glassfish estará integrado por alrededor de 40 jars, mientras que Geronimo usa 280.

miércoles
jul232008

Entrevista a Kirk Pepperdine (java champion) acerca de Performance Tuning

Janice J. Heiss continua la serie de entrevistas que Sun ha venido haciendo a los Java Champions, con esta conversación con Kirk Pepperdine, principal contribuidor del sitio javaperformance.com

En la conversación Kirk menciona asuntos generales sobre cómo mejorar el desempeño de las aplicaciones Java, pero en vez de dar tips concretos nos brinda consejos que nos ayuden a encontrar más fácilmente los cuellos de botella de nuestras aplicaciones.

El primer consejo es "mide, no adivines" y trata de que no se debe actuar hasta no tener medidas sólidas que nos ayuden a detectar el problema directamente. Tener estas medidas puede no ser fácil, sobre todo teniendo en cuenta que las personas a menudo trabajan con sobre entendidos.

Es aquí que viene el segundo consejo: la caja:

Que simplemente es una guía para investigar problemas y sirve para recordarnos que una aplicación es más que software, involucra a la gente, al hardware y -en el caso de java- a la JVM.

Otro tema que toca Kirk en la conversación son las ideas equivocadas que tenemos sobre el performance tunning. Menciona que en su trabajo como experto en el tema, a menudo el gerente le pone un ordenador con el código de la aplicación y espera que en una semana haya resuelto los problemas de performance. Este tipo de personas se sorprende cuando él ni siquiera revisa el código y se dedica a medir con herramientas como los profilers el desempeño para poder detectar los problemas. Resulta interesante también que menciona que en los cursos que da, el primer tema es resolver el problema de desempeño de una aplicación auxiliándote de un profiler en 30 minutos; sin embargo los programadores nunca pueden hacerlo porque al tener el límite de tiempo se van directo sobre el código fuente a aplicar lo que ellos piensan son optimizaciones. De acuerdo a Kirk, las personas que han podido resolverlo en el tiempo dado, son todos testers que al no tener tantos conocimientos sobre Java, deciden usar primero el profiler y solo entonces tocar el código.

Sobre el tema de mejorar el desempeño de acceso a la base de datos, menciona que es invaluable tener la ayuda de un DBA en este aspecto y que a menudo se consigue el objetivo mediante las técnicas propias de las bases de datos relacionales: disminuir el número de joins, creación de índices, etc. 

Otro punto importante es usar cache, si usas un ORM este punto puede ser simple de implementar. Sin embargo si has hecho cosas como poner mucha lógica de negocio en la base de datos (supongo que en forma de stored procedures) usar un cache es mucho más complicado sin tener que rescribir tu código.

Copio y pego estos consejos de Kirk: "... el primer paso para reconocer la sobreutilizaciónn es contar el número de interacciones entre la aplicación y la base de datos. Esta cuenta debe ser confrontada conhtera el trabajo que la aplicación realiza. Existen herramientas que te permiten hacer medir esto. Glassbox y JaMon son un par de herramientas opensource. La mayoría de los fabricantes comerciales también las ofrecen. El quick fix es añadir cache, ya que es mucho más fácil hacer esto que eliminar llamadas excesivas a la base de datos. Aquí hay un consejo para llevar: la llamada más barata que puedes hacer es la que no haciste".

Sobre optimizar el consumo de memoria Kirk menciona tres casos:

  • Memory leaks: los más sencillos de detectar y resolver, gracias al uso del profiler de Netbeans o de VisualVM.
  • Objetc Loitering: este término se refiere a los objetos que ya no están siendo usados y deberían de ser recolectados por el GC pero no lo son. Kirk menciona que ahora son sencillos de detectar gracias a una nueva funcionalidad en el profiler de Nb (llamado generations).
  • Object churn: un término que se refiere a un estado en que la JVM se dedica a crear y recolectr objetos con el GC. Si el tiempo dedicado a esto es demasiado alto, te provocará un mal desempeño. Kirk recomienda monitorizar el comportamiento del GC para detectar estos problemas, que se pueden resolver de forma simple ajustando el tamaño del Heap.

Esta entrevista me ha gustado mucho y creo que los tips que da son invaluables para todos nosotros que nos dedicamos a desarrollar con java, no se pierdan la entrevista completa en inglés que sin duda tiene más información de la que yo pude resumir aquí.