lunes, marzo 21, 2011

JUDCon Boston 2011 - Infinispan Ruby Client

Finalmente no me aceptaron, no dieron explicaciones, solo que hubo muchos abstracts submitidos y no tenían lugar. Esta fue la respuesta.

"Hi Gustavo. Unfortunately your session on Test Driven Development in JEE6 wasn't accepted for JUDCon Boston. However, hopefully you'll consider submitting this for the next JUDCon or maybe giving a lightning talk at this JUDCon if you are around?"

En fin, siempre mirando el lado positivo, voy a tener más tiempo para hacer otra cosa ( y no aprender tanto JEE6 por ahora) y finalmente elegí programar un poco, en este caso propuse contribuir al proyecto Infinispan, que es un grid de datos (o cache distribuida avanzada) para armar el cliente que soporta un protocolo llamado HotRod para el acceso a la cache soportando load balancing.

Ya hice un par de pruebas al menos dos operaciones están funcionado (put y get), el código está disponible en github para el que lo quiera vez. Algunas de las conclusiones que saqué armando este cliente en unas 12 horitas:
  • No lo voy a parar de decir, Ruby la rompe, es increíble lo feliz que soy programando (I feel alive)
  • Hace unos meses que vengo laburando con git y github, realmente me sentí muy cómodo
  • Laburé por primera vez seriamente con BDD en casi el 40% del código que hice,como había mucho trabajo con sockets, al principio hice mucho IRB, pero después con los temás técnicos y de lenguaje resueltos seguí con BDD y RSpec.
  • Me impresioné positivamente con la cálidad del código open source de la gente que hizo Infinispan, todo muy claro, simple de entender y robusto, esto es para los giles que critican el open source.
  • Todavía no me decidí con el IDE, por ahora estoy con RedCar, pero estoy volviendo a probar Aptana.

jueves, marzo 03, 2011

JUDCon Boston 2011 - TDD en JEE6

La semana pasada me pidieron que piense en diferentes presentaciones para proponer en esta conferencia anual de JBoss, obviamente mi primer pensamiento fue "ojo que hay nenes grosos ahi, y la mayoría son core-developers de JBoss, que voy a hacer yo un alquimista de software?" en fin, pensé en tres presentaciones y finalmente submití una sola, que es la siguiente:

1. Proposed track:
JBoss Application Server & Java EE 6
2. Your name
Ing. Gustavo Andrés Brey
3. Bio
Gustavo Andrés Brey is a Solution Architect at Red Hat, Buenos Aires, Argentina. He has more than 11 years in the design, development and leading implementation of information systems. He has been specialized in object-oriented and web application technologies. He has founded a subject at a National University, UTN FRBA where he teaches Software Architecture, Agile Methodologies and Service Oriented Architecture.
4. Title of talk
Test Driven Development in JEE6
5. A brief summary of the presentation (around 30 words)
This presentation will give a set of recommendations about how TDD can be implemented as part of the daily work in a JEE6 architecture (CDI, JSF2, JPA2, etc)
6. A description of the presentation (around 200 words)
TDD is a proven design practice that helps to achieve better quality software and gain productivity once adopted. And JEE6 is the new set of standards that makes enterprise software development easier, so this talk will demonstrate how TDD can used as a design technique to build each of the component of an enterprise application on top of JEE6 architecture.
Proposed agenda:
* Quick introduction to TDD and JEE6
* JEE6 Application Architecture example (JSF2, JAX-RS, CDI/DI and EJB 3.1)
* Testing first considerations
* Unit testing and refactoring considerations
* Test double considerations (Dependency management)
* Recommendations and best practices (Architecture, Integration Test)
During this session, you’ll find useful recommendations along with code examples in a real JEE6 application.
7. The name and bio of any co-presenters
-

Voy a ver como me va, el 11 de Marzo me contestan y en base a eso me voy a tener que poner a laburar :)

Los otros dos temas que se me ocurrieron fueron los siguientes:
1) Como impactan un BRMS en las Arquitecturas de Aplicaciones. Analizar un poco los atributos de calidad (performance, modificabilidad, disponibilidad, seguridad, etc)
2) The future of the RIA development with HTML5 and JBoss. Aca tendría que pensar un poco a futuro y como el server side debería adaptarse con Comet (reverse ajax), Rest, transacciones, replicación de estado, independencia de dispositivo, etc, etc.

Les gusta?