Bienvenid@! Este wiki es el lugar principal donde buscar documentación sobre el proyecto LML.
Cualquier sugerencia/comentario será bienvenido: paquitosoftware en gmail.com
LML en un pequeño (87Kb) motor de persistencia, fácil de usar, escrito en Java (versión 1.5+), cuyo principal objetivo es librar, en la mayor medida posible, al programador de la tarea de la comunicación entre su aplicación y la base de datos que la alimenta. Es indudable que hoy en día la mayoría de las aplicaciones utilizan una base de datos relacional como almacén de información y una de las tareas más repetitivas para los programadores es escribir el código que permite al core de su aplicación tratar la información almacenada. Por ello, encontrar una manera de hacer este proceso más fácil (en tiempo de desarrollo) ha sido un tema sobre el que se ha hablado mucho. Actualmente tenemos diferentes soluciones bastante avanzadas ya. Posiblemente las más conocidas sean Hibernate, TopLink e iBatis. Hasta no hace mucho, la configuración de estos motores de persistencia, a través de ficheros XML, los hacía en ocasiones poco eficientes a la hora de ahorrar tiempo al programador. Afortunadamente, con la aparición de la especificación EJB3, mis amigas las anotaciones han hecho el trabajo mucho más sencillo.
¿Por qué crear un nuevo motor de persistencia cuando ya existen soluciones profesionales para ello? Bueno, el caso es que en ocasiones cualquiera de esas librerías acaban incrementando mucho el tamaño de una aplicación puesto que suelen tener muchas dependencias. Para un proyecto medio-pequeño puede que introducir una de estas librerías sea como matar una mosca a cañonazos. Por ello, y también porque me apetecía conocer un poco más el tema de las anotaciones y la introspección en Java, surgió la idea de crear un nuevo motor de persistencia con un objetivo menos ambicioso que las librerías mencionadas, pero mucho más ligero e igualmente fiable. La idea es proporcionar un motor de poco tamaño, no intrusivo con el código propio y sencillo de utilizar que permita al desarrollador, de una aplicación pequeña-mediana, poder despreocuparse de las tareas comunes de acceso a base de datos (CRUD y búquedas simples).