Archivado con la Etiqueta: java

Reingeniería de Twitter

Twitter, seguidores falsos

En su blog oficial la historia de por qué y cómo realizaron la reingeniería migrando Twitter desde RoR a Java. Un artículo realmente apreciable para quienes estén interesados en las tripas de un sistema que necesita ser tan complejo para que se logre la sencillez y disponibilidad de cara al usuario.

No faltará quien quiera volver a etiquetar lenguajes, frameworks y máquinas virtuales a la luz del escenario. Ruby On Rails probablemente permitió a Twitter la velocidad de desarrollo que necesitaba en sus comienzos, lo que no quita que para cuando buscaron una solución que les permitiese tener una escala global (que apenas un puñado de empresa precisan en todo el mundo) pensasen en un cambio… del que Oracle saca pecho en estos tiempos en los que se ve a Java como una solución para software empresarial y no para startups que ofrezcan servicios y aplicaciones web.

Oracle is coming

La conferencia “Oracle OpenWorld” ha venido con jugosas novedades del gigante, que finalmente parece acercarse a varias de las grandes tendencias del mercado, alguna de las cuales había ninguneado en el pasado. De lo que han enseñado Ellison y compañía, destacaría sobre todo tres movimientos:

  • Oracle abraza el cloud computing. Tal como lo explican se trata de una aproximación de plataforma como servicio pública basada en plataforma Java más base de datos Oracle, claro. Uno de los aspectos que más han enfatizado es que la propuesta utiliza estándares y tecnologías que permiten migrar a otro proveedor de forma más o menos sencilla, en contraprosición a otros, citando expresamente a Salesforce (a cuyo CEO empujaron a última hora fuera del evento). Más detalles en Saasmania.
  • La red social de Oracle, enfocada a la colaboración entre empleados y también con proveedores, integrada con varias de las soluciones de la compañía tal como explican en la nota de prensa. Aquí las referencias que me vienen a la cabeza son Jive o Chatter, donde parece que Oracle ha tomado algo de inspiración.
  • Y por último, algunas pistas de lo que quieren hacer con Java en el futuro… entre otras cosas rescatar algunos “fantasmas del pasado” como Javafx. Reconozco que cuando lo vi en el twitter de David Bonilla se me iban a saltar las lágrimas.

En definitiva, “Oracle is coming” probablemente empujado por una realidad del mercado, como es el comienzo del movimiento de sus clientes a soluciones basadas en cloud computing, algo que parece van a dejar de negar de una vez.

Relacionado: Database de Salesforce, ¿está el rival de Oracle en la nube?.

Oracle entierra el espíritu de Sun: demanda a Google por Android y Java

JavaEl tiempo comienza a dar la razón a quienes se echaron a temblar cuando Oracle compró Sun: demandan a Google por violación de patentes y vulneración de su copyright por el uso de Java en Android. La demanda se puede leer en Cnet y viene a ejemplificar el distinto ADN que tiene Oracle respecto a SUN, la compañía que creó y liberó Java y que utilizaba las cuestionadas patentes software de un modo defensivo.

No hay más que leer a James Goslin – mayor culpable de la existencia de Java y uno de los grandes genios del desarrollo software de todos los tiempos – para entender como se va a leer este movimiento: en Oracle sólo importa el dinero, sin medir el impacto que puede tener este tipo de movimientos en la comunidad de desarrolladores que es una de las pieza fundamentales de por qué con Sun funcionaba Java. Al final atacar a Google es atacar a uno de los grandes aliados a la hora de empujar Java y eso es algo que Sun entendía perfectamente: GWT, Java en App Engine y su uso en Android son tres ejemplos de ello.

Java en Google App Engine

Google App EngineEl anuncio de soporte de Java en el Google App Engine ejemplifica las luces y las sombras de las plataformas como servicio dentro de lo que se ha venido denominando Cloud computing. Por un lado tenemos un movimiento razonable para facilitar el desembarco de muchas empresas que ya tienen aplicaciones empresariales en Java y, sobre todo, mucho “know how” alrededor de la tecnología de Sun y mucho invertido en el ecosistema Java. Además se beneficia de la integración con muchas herramientas diseñadas para desarrollar en Java, desde Eclipse hasta Ant.

Pero además de ser un movimiento razonable, muestra claramente como apostar por plataformas como servicio del tipo Google App Engine también tiene sus “peros”: un entorno en el que se te dan muchas cosas dadas, pero poco flexible y en el que todo está acotado y decidido previamente por la plataforma. En el anuncio dejan claro que no se soporta Java Enterprise Edition por completo, entre otras cosas porque debajo de App Engine no hay bases de datos relacionales, así que hay que olvidarse de JDBC o Hibernate, pero también de JMX, EJBs o de Struts. ¿Traducido para no desarrolladores? Un entorno que escala muy bien, a bajo coste, pero muy controlado para que no se “desmadre” basado sobre todo en librerías estándares, de las que también faltan algunas muy significativas.

En general, Google App Engine está todavía muy lejos de ser un producto maduro. Este soporte de Java puede atraer desarrolladores, sobre todo porque los hostings económicos que soporten Java escasean, pero difícilmente lo hará con empresas hasta que evolucione bastante. Como producto se sigue perfilando como un entorno muy controlado y limitado, lejos de la flexibilidad – y mayor complejidad – de las soluciones tipo “infraestructura como servicio” que ofrecen los web services de Amazon.

Para solicitar entrar en el beta test, appengine.google.com. Qué entra y qué no, en el grupo oficial. También lo comenta Nube blog.

Flash y AIR como el nuevo Java

Adobe AIRFlash y AIR llegan a la arquitectura ARM, con lo que parece que Adobe va a superar la etapa de Flash Lite y va a llegar con la versión completa a teléfonos y otros dispositivos móviles. Ya se han podido ver versiones para Android y Windows Mobile de Flash 10 (Xataka Móvil), con lo que las páginas con Flash pasarían a ser accesibles desde móviles con esos sistemas operativos; el tema de Adobe AIR también es muy interesante, aplicaciones para el escritorio del móvil creadas mediante tecnologías para la web… y multiplataforma.

En este último aspecto es en el que Adobe configura Flash y AIR como el nuevo Java, como tecnologías para el desarrollo de aplicaciones multiplataforma tanto en la web como en el escritorio. Con ambos Adobe ha ido mucho más allá de lo que era Flash hace unos años – una tecnología para hacer animaciones simplonas – pero no tanto como para encontrarse todos los problemas de incompatibilidad que se ha encontrado Java en movilidad.

Una estrategia realmente interesante, pero que choca con varios rivales (Silverlight móvil, tecnologías como los widgets de Nokia u Opera, y el inminnete JavaFx, del que espero mucho) y también con dispositivos cerrados como el iPhone, del que Apple le dejó fuera. Mucho se está comentando un artículo de Wired sobre esta decisión, al final Apple va a tener que reflexionar sobre el control (de la experiencia y del dinero que gana cada uno) que ejerce sobre el dispositivo y el potencial que añade una tecnología como Flash a un terminal pensado para el internet móvil. Hay quien afirma que Apple podría estar preparando un buscador (Alt1040), es probable que en las tecnologías para las RIA sea donde necesite ofrecer algo… o buscar un aliado.

Artículos relacionados

Ulteo y OpenOffice en el navegador con Java

OpenOffice con Ulteo

OpenOffice 3 en el navegador, es lo que ofrece Ulteo, salvando el planteamiento de paquete para trabajar en local que comentamos en OpenOffice 3 y el software libre ante la nube. Ulteo utiliza un cliente VNC Java en el navegador para ofrecer las funcionalidades de OpenOffice, con una cuenta gratuita que contempla un giga de espacio para almacenar documentos “en la nube” y sesiones de 25 minutos como máximo. Más tiempo y espacio, además de sincronización con carpetas del sistema operativo, de pago.

No está mal, al final tenemos una versión de OpenOffice 3 en el navegador que funciona de forma decente. Las limitaciones vienen dadas por la tecnología utilizada, el applet Java impone algunas restricciones, es algo lento y no podemos hacer cosas como redimensionar la pantalla en la que escribimos. La sincronización tiene un valor relativo (hay un montón de herramientas en el mercado para ella) y, sobre todo, perdemos la capacidad de trabajo en equipo que ofrecen herramientas como Zoho o Google Docs, amén de que no hay acceso desde el móvil. En definitiva, esta propuesta de Ulteo puede ser interesante si necesitas trabajar con algún documento en OpenDocument y no quieres – o no puedes – instalar OpenOffice. Personalmente, prefiero con mucho trabajar en local y sincronizar mediante otra herramienta o utilizar directamente software creado ex profeso para el navegador, que va mucho mejor.

Gracias Dante por el chivatazo.

Skype en teléfono móvil con versión java en beta

SkypePor fin parece que vamos a tener Skype en el teléfono móvil, hoy se ha anunciado la salida de la beta de una versión java que funcionaría en 50 móviles de Motorola, Nokia, Samsung y Sony Ericsson. Eso sí, esta versión de Skype móvil mantiene algunas funcionalidades como SkypeOut sólo estarán disponibles en un puñado de países, entre los que no está España, pero sí Brasil, Dinamarca, Estonia, Finlandia, Polonia, el Reino Unido y Suecia.

Es difícil de entender cuanto ha tardado Skype en llegar a los teléfonos móviles más populares, si exceptuamos acuerdos operadoras. Si tenemos en cuenta que ya lo prometieron en 2005, la verdad es que parece que el sistema de Voz IP más popular ha pasado por una era de congelación tras la compra de eBay y sólo en los últimos meses parece volver a moverse con movimientos como este y la tarifa plana de llamadas internacionales. Mientras, un montón de actores llevan años en el móvil: Gizmo, Jajah, Fring y muchos otros…

Más información y descarga en Skype.com

De la escasez de programadores y estudiar informática

Interesante el debate que se ha montado acerca de la escasez de programadores en España, con un artículo de Dans y comentarios, entre otros, de Javier Pérez y Galli. Estoy completamente de acuerdo con el punto de partida, es difícil encontrar profesionales cualificados en el desarrollo software y hay multitud de empresas y proyectos “hambreando” encontrar unos cuantos.

Ando en contacto tanto con emprendedores como con los antiguos colegas de la consultoría informática y mi percepción (sería genial contar con un estudio serio sobre esto, ¿dónde están las administraciones cuando se les necesita?) es que hay mayor urgencia y necesidad en los primeros, que buscan un perfil más escaso en España (desarrollo Php o Ruby), que en las grandes empresas y sus granjas de programadores en Java o .Net. También porque los emprendedores buscan más la excelencia (nada de eso de “titulados sin experiencia”) y porque existe la percepción en muchos universitarios que lo mejor es “meter la cabeza” en una multinacional y no en compañías que aparentan menos estabilidad (el antológico temor al riesgo patrio).

Aún así, el fantasma del Offshore (el coco hace cuatro años) parece que poco a poco se desvanece: si la tecnología forma parte del “core” de tu negocio, más te conviene tener cerca (las nearshore) al equipo encargado, cuando no en tu plantilla.

Eso sí, cuando algún incauto me pregunta acerca de estudiar ingeniería informática, últimamente siempre le digo lo mismo. Si aspiras a ser un profesional muy cualificado, que aporte muchísimo valor, más allá de controlar un lenguaje e ir tirando, hay toda una carrera por delante. En otro caso, la labor de programador junior/senior puede ser externalizada con facilidad (o al menos ese es el entendimiento desde el “management”) si no ya a la India, si a una consultora que no valora y trata a los empleados como se merecen.

¿Están los profesionales del software poco valorados? Al final, es oferta y demanda y el estado del mercado de las TI. Ahora que escasean y el dinero vuelve a internet, todos empezamos a hablar de lo importante que es tener buenos programadores. Hace unos años, los que estábamos aguantando el chaparrón de la caída de las .com, llorábamos las penas en solitario.

Prefiero hablar de “profesionales del desarrollo software” para evitar el manido debate sobre ingenieros, programadores y quién realiza qué en un proyecto. Hasta hace no demasiado me dedicaba al desarrollo software (Java, Oracle, Weblogic, Sybase, algo de web) y programaba al igual que hacía análisis y diseños técnicos. En realidad me consideraba más programador que otra cosa y, la verdad, echo de menos hacer algunas tareas más técnicas ahora que llevo la dirección editorial en WeblogsSL. A ver si encuentro un hueco para no oxidarme.

JavaFX frente a Apollo, Silverlight y Ajax

JavaÉramos pocos… y Sun anuncia JavaFX, otra tecnología para las Rich Internet Applications que supone una nueva alternativa a desarrollarlas en Flash, Ajax o Silverlight. La idea es que sea totalmente multiplataforma, desde el escritorio (corriendo sobre una máquina virtual Java SE) hasta los dispositivos móviles para los que habrá un JavaFX mobile. Así, al igual que con Apollo, la propuesta es utilizar el mismo lenguaje para la web y para el escritorio. En el móvil, JavaFX debería solventar todos los problemas de incompatibilidades entre las distintas implementaciones de Java ME (que tiene guasa que haga falta ahora un lenguaje de scripting para conseguir lo que debería hacer la plataforma por su propia filosofía de “escribe una vez, ejecuta en cualquier sitio”).

¿Tiene posibilidades Sun con un nuevo lenguaje de scripting sobre Java? De entrada cuenta con millones de desarrolladores y también con muchos equipos con Java instalado, no es un mal punto de partida. A eso hay que sumar que Java es libre bajo GPL, así que si Adobe pensaba atraer más desarrolladores con la liberación de Flex… de hecho, todos los que nos hemos dedicado al desarrollo Java y hemos odiado Javascript, hubiéramos dado millones por esto hace años.

En News.com dan bastante información sobre el lanzamiento de JavaFX. De entrada, como posibles objeciones, tenemos el problema del rendimiento y su capacidad para el streaming de vídeo, dos asignaturas con las que habrá que examinar con lupa a JavaFX. Por otro lado, una tecnología para las RIA que sea libre (el propio Schwartz lo cuenta en su blog) podría ser la más fácilmente aceptable por una compañía que tiene mucho peso en esto de la web… y que no es otra que Google.

Página oficial en JavaFX.

Java libre bajo GPL

JavaTras muchos años de debate “Java libre sí o no“, Sun anuncia hoy que publica el código fuente de Java Platform Micro Edition (JME) y del Java Platform Standard Edition (JSE) bajo liciencia GPL versión 2. Se espera que el anuncio lo haga hoy Jonathan Schwartz en Java Opensource (vía tbray). Además su Java Platform Enterprise Edition, que ya había sido liberada bajo licencia CDDL, pasa también a la GPL.

Llevo años en el desarrollo software con Java y reconozco que era de los escépticos respecto a su liberación (hace ya más de dos años que llevamos hablando de esto). El mayor problema es la posibilidad de aparición de “forks” o versiones incompatibles entre sí cuando la mayor virtud de esta plataforma es aquello de “escribe una vez y ejecuta donde quieras”. Para Sun y la comunidad detrás de Java queda el reto de que esto siga siendo así y que todo lo que traiga el logo de la taza de café respete el estándar oficial.

Por lo demás, un hito en la historia del desarrollo software y de los lenguajes de programación. La plataforma más utilizada en software empresarial es ahora libre, siguiendo los pasos de otros actores principales de su ecosistema (Tomcat, JBoss, Struts, Eclipse) y asegurándose un sitio en las distribuciones Linux, a cuyos desarrolladores quiere atraer. La competencia con .Net y LAMP (cada uno en su sector) va a seguir siendo dura, pero el paso a GPL de Java puede ser su principal valor para sobrevivir: atraer talento de las comunidades de desarrollo de software libre y conseguir distribución gracias a las distros Linux, del que todos quieren ser amigos ahora.