Buscar
Social
Ofertas laborales ES
miércoles
oct102007

Nuevo BEA Workshop Studio incluye Adobe Flex

Como resultado del nuevo acuerdo entre BEA y Adobe anunciado en el pasado BEA World en San Francisco, BEA ha empezado a distribuir su suite de desarrollo Workshop 10.1 incluyendo el Flex Builder 2 y Flex Charting 2.

BEA engloba el partnership con Adobe en el marco de su estrategia para crear Rich Internet Applications. La idea es unir la creación de aplicaciones RIA con Flex y el uso de servicios Aqualogic de BEA para construir aplicaciones.

Tanto BEA Workshop como Flex Builder son distribuidas como plugins para Eclipse.  Por otra parte, Adobe anunció que distribuirá BEA Workshop dentro de su suite Adobe LiveCycle Enterprise Suite.

BEA Workshop con Flex puede ser descargado en este enlace, la licencia tiene un costo de USD$999

lunes
oct082007

Sun Labs lanza Lively Kernel: ambiente para programación web

El equipo de investigación de Sun Microsystems acaba de anunciar el proyecto Lively Kernel, un ambiente para programación dinámica de aplicaciones web basado en javascript. Como su nombre lo indica, es un Kernel hecho en javascript, cuando tu programas tus aplicaciones simplemente usas las llamadas al sistema de dicho kernel.

En palabras de los creadores:

"La diferencia principal entre Lively Kernel y otros sistemas parecidos es que se enfoca en la uniformidad. Nuestro objetivo es construir una plataforma usando el número mínimo de tecnologías por debajo. (...) En Lively Kernel intentamos hacer lo más posible usando una sola tecnología: JavaScript. Hemos elegido JavaScript por su ubicuidad en los navegadores web y por su similaridad sintáctica con otros lenguajes altamente populares como C, C++ y Java. Sin embargo, también queremos nivelar los aspectos dinámicos de JavaScript, especialmente la habilidad de modficiar aplicaciones en tiempo de ejecución. Tales capacidades son el ingrediente esencial para la construcción de un ambiente de programación web maleable que permita desarrollar aplicaciones de forma interactiva y colaborativa"

La idea es que no se necesite de ningun plugin para usarlo y de salirse del tradicional modelo de programación para aplicaciones web basado en documentos. Lively Kernel permite constuir aplicaciones de forma rápida usando objetos de bajo nivel como rectángulos y círculos, combinar dichos objetos en formas más complejas, crear ventanas y manejar sus eventos, crear widgets con lógica interna, etc.

Por ahora funciona al 100% en Safari (que extraño por cierto) y de forma estable en Firefox 3, yo lo probé en Firefox 2 va bien; pero si tienes Explorer ni lo intentes ya que hace uso de SVG que no es soportado en dicho navegador. Puedes ver un tutorial sobre su uso en este enlace y probar el sistema en este otro

Como verás es un trabajo de investigación y por ahora no está pensado para su uso masivo; sin embargo me recuerda mucho a lo que Joel Sposky habló en uno de sus últimos artículos sobre el futuro de las aplicaciones web. En dicho artículo Joel compara lo que está sucediendo en este momento en el mundo web con la era pre-windows de hace unos años. Muchas aplicaciones muy buenas como Lotus 1-2-3 que desaparecieron cuando el uso de Windows API empezó a extenderse y no pudieron interoperar con otras aplicaciones. En el artículo Joel vaticina que surgirá un NewSDK para aplicaciones web que estandarize y haga más fácil el uso de AJAX y defina formatos de intercambio de datos entre aplicaciones. Los que primero se adapten a esa hipotética nueva SDK podrán sobrevivir.

¿Qué opinas sobre el tema? ¿Te parece interesante esta nueva iniciativa de Sun? 

lunes
oct082007

VersionOne publica los resultados de una encuesta sobre metodologías ágiles

VersionOne ha publicado los resultados de su segunda encuesta anual sobre metodologías ágiles. En la encuesta participaron más de 1700 desarrolladores de 71 países. Según la encuesta, los equipos de desarrollo que emplean metodologías ágiles están creciendo en tamaño y son cada vez más distribuidos. El 31% de los desarrolladores que participaron en la encuesta pertenecía a grupos de desarrollo de más de 250 personas, y el 74% a grupos de más de 20 personas.

 

Los principales beneficios de adoptar las tecnologías ágiles parecen ser, en este orden, un incremento en la productividad, una reducción en los defectos del software, aceleración del Time-to-Market y una reducción de costes. Los dos principales motivos para adoptar tecnologías ágiles son la gestión de requerimientos cambiantes y la reducción del "Time-to-Market". Y los dos principales problemas para adoptar estas metodologías parecen ser la resistencia al cambio dentro de la empresa, y encontrar gente formada en metodologías ágiles.

¿Qué os parecen los resultados de la encuesta? ¿Creéis que reflejan la realidad del mercado hispano?

lunes
oct082007

Artículos sobre Domain Driven Design y JPA

Debashish Gosh, ha estado publicando una serie de excelentes artículos sobre la construcción del modelo de dominio con JPA (Java Persistence API). Este API permite realizar un mapeo objeto relacional de forma estándar, sin importar el motor de persistencia que estés usando (TopLink de Oracle (o TopLink essentials que es abierto y gratuito), Kodo de BEA, OpenJPA de Apache, Hibernate de JBoss, etc). Aunque los artículos se enfocan a la implementación de Hibernate, los tips pueden usarse en cualquier otra.

Domain Driven Design es una técnica para construir aplicaciones basada en un modelo de dominio rico, dicha técnica  provee una serie de mejores prácicas, patrones y recomendaciones para la construcción de modelos de dominio complejos como los que comúnmente lidiamos en nuestro trabajo. Todo aquel que ha usado JPA o cualquier otra API de ORM se ha dado cuenta que está vinculando el modelo de dominio con el sistema de persistencia usado de forma dinámica. Por lo que cualquier cambio en el modelo, se reflejará en la base de datos. Este hecho por sí solo modifica la forma de lidiar con nuestro modelo y requiere de establecer mejores prácticas para hacerlo de forma correcta.

El trabajo de Gosh se centra en encontrar dichas prácticas y establecer pautas a seguir. El autor no plantea soluciones sino propuestas y el feedback recibido por los lectores ayuda a una discución bastante interesante sobre el tema.

Por ahora ha publicado tres artículos que seguro encontrarás interesantes:

Entidades inmutables. Que trata sobre cómo hacer para que nuestro modelo de dominio no sea modificado en otras capas de la aplicación, sobre todo en la capa de vista.

Creación de Value Objects con JPA. Cómo implementar uno de los patrones más comúnes usando JPA.

Tips sobre abstracción de relaciones. Buenas prácticas para creación de relaciones muchos a muchos con JPA.

Estos temas son un poco avanzados y están dirigidos a personas que ya usan JPA, si quieres iniciarte con esta gran API te recomiendo el blog de Ignacio Andreu que tiene unos artículos muy buenos sobre OpenJPA:

Usando OpenJPA. Una gran introducción al uso de esta implementación.

Relaciones con JPA.

JPQL y cómo borrar objetos en JPA

 

lunes
oct082007

Liberado el impresionante software de VoIP de Wonderland

Para aquellos que no lo conozcáis, Wonderland es una especie de Second Life pero desarrollado en Java y orientado a los negocios. Al igual que en el famoso videojuego, cada participante es una imagen tridimensional de un ser humano que puede caminar por distintos escenarios tridimensionales. A diferencia del videojuego, cuando se camina por este mundo virtual puedes escuchar las conversaciones de otras personas (a no ser que se hayan protegido esas conversaciones creando una habitación aislada). Cuando te acercas a las personas cada vez la voz es más fuerte. Cuando te alejas es más débil.

 

El proyecto, una de las grandes novedades de la JavaONE de este año, fue creado por Sun Microsystems y liberado casi en su totalidad bajo licencia GPL. Una de las partes que no se liberó en su día, por problemas de propiedad intelectual, era la parte que controlaba el sonido. Ahora esa parte de Wonderland también está disponible bajo licencia GPL como el proyecto jVoiceBridge de Java.net.

jVoiceBridge permite realizar las tareas de comunicación y mezclado necesarias para procesar voz sobre IP (VoIP), tareas que son necesarias para aplicaciones como telefonía sobre IP, celebración de conferencias, detección de habla y, obviamente, para conseguir los efectos 3D de Wonderland.

Sin duda este proyecto es el punto de partida ideal para construir un "Skype" en Java. ¿Creéis que alguien se va a animar a emprender ese proyecto?