EJB 3 Overview


Recientenmente he tenido que analizar un proyecto web que se encuentra divido en dos partes (backend y frontend), el entregable es un ear con un jar y un war.

Todo el backend esta constriudo con EJB’s y aunque siempre he escuchado pestes de esta tecnología nunca le he dado un vistazo. Así que comencé por leer algunos artículos y en realidad me parece que los EJB’s son una buena iniciativa en Java para simplificar el desarrollo y adoptar mejores prácticas. Particularmente me ha encantado este:

http://refcardz.dzone.com/refcardz/dependency-injection-in-ejb3 Seguir leyendo

Anuncios

OZ Ejemplo Cajero ATM

¿Que vamos a desarrollar?

Una aplicación que simule el funcionamiento de un cajero automático, mostrando el uso de múltiples frameworks Java para crear un sistema modular y extendible.

Requisitos

  • Apache Maven >= 3.X
  • Java JDK >=  1.6
  • Netbeans >= 6.5
  • Base de Datos MySQL

Análisis

Supongamos que tenemos el siguiente requerimiento por parte del cliente o del analista:

Crear un cajero que permita realizar dos operaciones, Retirar efectivo y hacer Transferencias a otro Banco.

Veamos como se vería en un diagrama de casos de uso:

El usuario unicamente va a realizar dos operaciones retiro y transferencia.

Bien ahora la base de datos, vamos a utilizar este script para generarla.  Ejecutas el archivo en tu gestor favorito y te  creará el esquema llamado OZ_TEST, con las siguiente tablas:

Seguir leyendo

Spring Security, problemas con proxy Apache

He participado en un desarrollo web donde me ha tocado configurar un proxy con el servidor apache (mis últimos artículos han sido sobre este tema), la idea es exponer una aplicación web en Java por medio de un proxy con Apache.

Tengo una aplicación Java que utiliza Spring Security y todo funciona de maravilla cuando entras a la página web, sin embargo al colocar el proxy frente a este servidor Spring Security puede provocar algunos problemas:

Problema 1: Login, Authentication method not supported: GET

A la fecha no entiendo como puede ser esto posible, dentro del form está estrictamente definido que los datos se envían por POST y no por GET:

Este es el formulario: Seguir leyendo

Hibernate Composite Keys With Annotations

Hibernate, Llaves Compuestas Con Anotaciones

Dentro de las buenas y muy malas experiencias que me han tocado con Hibernate he aprendido que existen varios caminos y formas de utilizarlo, y en esta publicación quiero colocar la forma para crear una tabla con llaves compuestas utilizando anotaciones.

A pesar de que esto puede sonar una tarea común y corriente implica conocer algunos detalles que a veces son imperceptibles para los desarrolladores hasta que estamos frente al IDE (o editor de texto) y decimos “Y ahora como rayos hago esto??”, en fin en mi experiencia esto es lo que  he encontrado:

Nota: Los ejemplos los hice en MySQL pero llevan la anotación SequenceGenerator por que funcionan también en Oracle sin modificar nada de códig

Seguir leyendo

Introducción a Spring Framework

¿Que es Spring?

Es un contenedor ligero para la construcción de aplicaciones empresariales que proporciona un soporte comprensivo para el desarrollo de sistemas. Spring framework es modular, por lo cual te permite utilizar solo lo que necesitas, además no es intrusivo, es decir se integra facilmente en los proyectos y promueve el desarrollo con una alta cohesion (Especialización de clases) y bajo acoplamiento (Codigo menos dependiente).

Te permite generar código que no es dependiente incluso del mismo Spring (solo para el Core), por lo que facilmente puedes remover el framework si así lo deseas y por si fuera poco, se integra perfectamente con otros frameworks (¬¬ honestamente yo no lo cambiaría por nada!!!)

En resumen, yo me quedo con esta maravillosa frase que viene su documentación oficial:

“Spring handles the infrastructure so you can focus on your application.”

Spanish:

“Spring maneja la infraestructura así que TU puedes enfocarte en tu aplicación”

Seguir leyendo