lunes, enero 14, 2008

SPOIL: Simplificando el acceso a SQL

No te acostarás sin saber una cosa más, pero es que hoy estoy aprendiendo de tirón unas cuantas.
¿Qué es SPOIL? Son las siglas de Stored Procedure Object Interface Layer
Vale, pero ¿Que es SPOIL? Vale, lo pillo. SPOIL es algo así como usar el código que otros han escrito y probado, para que tu código sea más sencillo (programación orientada a objetos, vamos). Los chicos de Microsoft se han currado una librería que hace lo siguiente:
  • Permite un mapeo más eficaz entre tu DAL y la base de datos (en SQL, eso sí). Esto es, que si tengo que llamar a un SP que se llama Get_LastName y me devuelve el apellido de un usuario a partir de su ID (un entero), bastaría con que creara un método en el DAL con esa firma. Es decir, public string Get_LastName(int ID).
  • La propia librería se encarga de la converión de parámetros .NET a parámetros SQL. Simplemente hay que especificarle la cadena de conexión y el mapeo de parámetros.

Ya sabemos lo que es, pero, ¿es útil? Buena pregunta. He hecho algunas pruebas, pero no lo he usado en ninguna aplicación "real". Parece que se simplifica el mantenimiento, pero SOLO PARA SQL SERVER. Así, nos libramos de arrays conteniendo parámetros de SQL y líneas y líneas inicializándolos.

En contra, parece que se condensa demasiado el código, y a la hora de buscar errores tendremos que analizar en qué punto exacto está fallando (se acabó el típico mensaje de error y que sepas exactamente a qué parámetro se refiere). Además, debemos mantener una coherencia entre la nomenclatura en el código y en la base de datos. Otro contra es que usa Reflection, algo muy útil, pero muy lento. Tendremos que valorar el trabajo que ahorramos - el tiempo de procesador que añadimos.

En cualquier caso, os invito a hacer unas cuantas pruebas. Por lo menos el walkthrough que nos ofrecen en la MSDN.

Un saludo @Madrid

No hay comentarios.: