Buscar
Social
Ofertas laborales
martes
dic222015

Servidores tipo Node.js en la JVM y el fin de JavaEE

Desde hace un tiempo ya podemos afirmar el éxito de Node.js , especialmente en el tema de la escalabilidad. El éxito de dicha escalabilidad en Node.js se basa en que un único proceso en node.js puede servir de forma intercalada gran cantidad de peticiones , evitando de esa forma la perdida de tiempo en los cambios de contexto entre threads como ocurre en los servidores Java. Esto ha hecho que desde el mundo Java se creen frameworks/servidores con la misma filosofía que Node.js en la que un mismo thread pueda servir múltiples peticiones simultaneamente. Ejemplos de esos frameworks son Vert.x o Akka , aunque este último esté mas centrado en el lenguaje Scala. Sin embargo debido al gran cambio de funcionamiento de estos frameworks y no ser unos frameworks mayoritarios (todos sabemos que el uso de nuevas tecnologías y poco usadas suele llevar a problemas de falta de documentación, falta de profesionales, etc. ) en el entorno Java puede hacer que sigamos usando servidores “clásicos” de Java como por ejemplo Tomcat.

Pero todo ésto puede estar cambiando. La semana pasada en DZone publicaron un post sobre uso de frameworks Web Java Survey Results, Part II - Web Frameworks. Estas encuestas salen de vez en cuando y no suelen deparar muchas sorpresas, pero esta vez si que ha habido una. El segundo puesto de frameworks web mas usados ha sido para Vert.x. Personalmente me parece una sorpresa el gran uso de Vert.x aunque visto el éxito de Node.js también podríamos pensar que en el entorno de Java llevamos ya unos años de retraso y que este paso debería de haberse dado hace unos años.

Click to read more ...

jueves
dic172015

Deeplearning4j, librería Java para aprendizaje automático basado en redes neuronales

Deeplearning4j es una librería para Java y para Scala para análisis de datos basados en algoritmos de "deep learning"; esto es, algoritmos de aprendizaje automático (redes neuronales en este caso) organizados de modo jerárquico que emplean múltiples capas que van generando abstracciones de mayor nivel.

Deeplearning4j puede emplearse para reconocimiento de imágenes, análisis de texto o predicción de series temporales. En el futuro tienen intención de incorporar funcionalidad de análisis de video, análisis de sentimiento y detección de transacciones fraudulentas. La librería es completamente de código abierto y la comunidad es activa en Gitter.

lunes
dic142015

java.net deja de existir

Oracle paulatinamente ha ido abandonando poco a poco el portal de java.net, portal que en su día Sun Microsystems había creado con la intención de ser un portal no corporativo que agruparse a toda la comunidad Java. Oracle ha dejado esa idea atrás, y ahora ha puesto el último clavo en el ataúd de java.net: el dominio ahora redirige a  https://community.oracle.com.

Aunque algún contenido, entre ellos proyectos y listas de discusión, de java.net han sido migrado a este portal, este es un portal que, como queda claro por el dominio, es de Oracle y no de la comunidad Java. La imagen de esta noticia es una captura de pantalla del portal en 2005.

viernes
dic112015

Nuevos grupos de usuarios de Spring en Madrid y Barcelona

Con la finalidad de tener un punto de encuentro para compartir experiencias, conocimiento, problemas y soluciones alrededor del ecosistema Spring, se han creado los nuevos grupos de usuarios de Spring en Madrid (http://www.meetup.com/es/madrid-spring-user-group/) y Barcelona (http://www.meetup.com/es/Barcelona-Spring-User-Group/).

¿Qué os gustaría ver en los meetups? Apuntaos a los meetups y dejadnos vuestros comentarios. Si tenéis algún tema interesante a compartir (todos tenemos cosas a contar), no dudéis en proponer una charla.

miércoles
dic092015

WebLogic 12.2.1 es Java EE 7 Compatible

Oracle ha anunciado la disponibilidad de WebLogic 12.2.1. Esta es la primera versión de su servidor de aplicaciones que ha pasado la certificación de Java EE 7 (Java EE 7 Full Platform; a diferencia de IBM WebSphere parece que, al menos por lo de ahora, no tienen una versión del servidor que cumpla sólo con el Web Profile).

Además de los cambios relativos a Java EE 7 el servidor ha incluido varias novedades relativas a alta disponibilidad, como la posibilidad de instalar parches mientras el servidor se está ejecutando, mejoras en el soporte de clustering y de balanceo de carga y funcionalidad para recuperarse de problemas. También tienen nueva funcionalidad orientada a computación en la nube, como mejoras a la hora de aislar distintas aplicaciones que se ejecutan en el servidor.

Click to read more ...

viernes
dic042015

Java 9 probablemente se va a retrasar

Mark Reinhold, Chief Architect of the Java Platform, ha propuesto en un e-mail en la lista de discusión sobre Jigsaw (el proyecto que pretende modularizar Java 9) retrasar la fecha de lanzamiento seis meses. La fecha actual prevista para la liberación era el 22 de septiembre 2016. El motivo para esto es que todavía hay bastantes incógnitas sobre cómo exactamente implementar ciertas características del soporte para módulos.

Entre ellas, sobre si hacer que los chequeos respecto a los módulos y las dependencias sean simplemente algo que se hace en tiempo de compilación, o si se deben de chequear en tiempo de ejecución también. Otro problema considerable, como siempre, es mantener la compatibilidad hacia atrás. Es importante introducir el soporte para módulos tratando de no romper aplicaciones ya existentes. Y esto no siempre es fácil ya que este cambio es muy profundo en el funcionamiento de la JVM.

Click to read more ...

jueves
dic032015

Videos y presentaciones de Codemotion 2015

En la web de Codemotion.es, en la agenda, se han publicado ya más de la mitad de las presentaciones de las charlas y parte de los videos. Codemotion es el principal evento dedicado a profesionales TIC de España. En su cuarta edición, celebrada el 27 y el 28 noviembre en la Universidad CEU San Pablo en Madrid, hubo más de 2000 asistentes.

En esta edición hubo cerca de 150 charlas y talleres, estando casi la tercera parte de ellos relacionadas con tecnologías Java. Aquí podéis ver algunas fotos del evento los que os lo hayáis perdido. Y aquí os dejamos el video con la apertura del evento.

lunes
nov232015

Fundamentos de Grid Computing, por Chris Engelbert de Hazelcast

El pasado 24 de septiembre tuvo lugar la charla que ofreció en Madrid Christoph Engelbert, miembro de Hazelcast. La organización de la misma, llevada a cabo por el equipo de MadridJUG, el grupo de usuarios de Java en la capital organizó la primera de sus reuniones en el nuevo Google Campus madrileño. En este vídeo que adjuntamos podréis disfrutar de la charla en la que el ponente habló sobre las principales razones tras el in-memory computing y los fundamentos usados para construir este tipo de sistemas. Charla ofrecida por el equipo de periodistas tecnológicos de Autentia. Todas sus charlas en su blog. ¡No te la pierdas!
lunes
nov232015

Interesante reflexión sobre el futuro de JavaFX

Shai Almog ha escrito en DZone un extenso e interesante artículo reflexionando sobre el futuro de JavaFX. Al margen de que Shai Almog es un ponente de bastante renombre y experiencia dentro del mundo Java, su empresa usa JavaFX y Swing Y él afirma que ambas son tecnologías importantes para la empresa. Por tanto es una persona que habla de algo que conoce bastante bien.

En su artículo Shai tiene un par de gráficos interesantes para mostrar como JavaFX ha fallado a la hora de ganar tracción: el número de búsquedas en Google de los términos "JavaFX" y "Java Swing":

Este gráfico deja claro que, a pesar de los esfuerzos de Oracle, JavaFX no termina de despegar. Pero es todavía más interesante añadir a este gráfico las búsquedas de "Adobe Flash", una tecnología que incluso el propio adobe reconoce que no es el futuro:

Click to read more ...

miércoles
nov182015

Nueva API para JUnit 5

Como comentamos hace un par de meses el proyecto jUnit está preparando la versión 5 a través de financiación colectiva.

Ahora han liberado la primera versión de la API para su revisión por la comunidad. En los ejemplos podemos ver algunas novedades como el uso de lambdas para comprobaciones múltiples

@Test

void groupedAssertions() {
// In a grouped assertion all assertions are executed, and any
// failures will be reported together.
assertAll("address",
() -> assertEquals("Johannes", address.getFirstName()),
() -> assertEquals("Link", address.getLastName())
);
}

o la injección de Mocks usando anotaciones:

Click to read more ...