Windows 7, Windows Server R2 y Azure, la nueva plataforma de Microsoft
Posted by Dario Quintana in General on November 26th, 2009
El martes 1 de diciembre de 2009, a partir de las 17:30 horas, se realizará en Resistencia una importante jornada de tecnología organizada por el Grupo de Usuarios Microsoft. El evento es gratuito y se requiere inscribirse previamente.
Será en el Aula Magna Universidad Tecnológica Nacional, Facultad Regional Resistencia, French 414, Resistencia.
Programación:
17:30 – 18:00 Acreditación
Presentación de Windows 7 – Grupo de Usuarios Microsoft
La nueva arquitectura del sistema operativo. Novedades de la versión, mayor velocidad, mayor disponibidad de memoria servicios y dispositivos
Cloud Computing / Azure: el nuevo paradigma de computación del siglo XXI – Ing. Carlos Perez (MVP)
El nuevo paradigma de sistemas de información en internet ya está aquí. La plataforma Azure® de Microsoft permite diseñar y ejecutar sistemas que corren en servidores remotos y grandes datacentros, ofreciendo ventajas económicas y un nivel de servicio elevado. Se trata del “software + infraestructura” vendida como servicio, ideal para las empresas modernas, de todos tamaño y área de negocio.
Windows Server 2008 R2 / SBS 2008: La nueva plataforma para las soluciones empresariales – Ing. Gabriel Zabal (MCSE)
Presentación del último release de Windows Server 2008. Mejoras y Novedades. Seguridad. Plataforma de Virtualización Hyper-V R2. Introducción y Novedades de SBS 2008.
22:00 Cierre y Sorteos
REGÍSTRESE AL EVENTO * EVENTO GRATUITO por favor ignore la pregunta sobre forma de pago.
NHibernate Validator 1.2 Beta3 liberado
Posted by Dario Quintana in NHibernate, NHibernate.Contrib, NHibernate.Validator on October 26th, 2009
NHibernate Validator 1.2 Beta2 liberado
Posted by Dario Quintana in NHibernate, NHibernate.Validator on October 10th, 2009

Descarga NHibernate Validator 1.2 beta2 con fuentes, binarios y ejemplos aquí.
Listo para usarse con NHibernate 2.1 GA.
A disfrutarlo
NHibernate Validator y Asp.net MVC
Posted by Dario Quintana in Asp.net MVC, NHibernate.Validator on April 4th, 2009
Hace unos días escribí un post sobre cómo integrar estos frameworks. El código que hay que escribir es realmente poco y se requiere solamente de una clase en nuestro proyecto Asp.Net MVC que pueda agregar los mensajes de errores y actualizar el status del modelo.
Leer artículo

NHibernate Validator 1.2 alpha3
Posted by Dario Quintana in General on March 30th, 2009

Descarga NHibernate Validator 1.2 alpha3, los binarios y el código fuente aquí
La version 1.2 alpha2 demostró se muy estable, por lo tanto este es solamente una actualización para aquellos que lo quieren usar con NH 2.1 alpha2.
Alt.Net en español
Posted by Dario Quintana in Alt.Net on March 20th, 2009
Habiendo tantos frameworks de .Net elaborados por terceros que usamos, la creación de este grupo era obligatoria, se hizo esperar, pero ya está aquí. Si bien el grupo dice Argentina, no te dejes llevar por esto, todos hablamos español, y lo importante es compartir las experiencias.
Bug con SCOPE_IDENTITY() en Sql Server 2005/2008
Posted by Dario Quintana in .NET, NHibernate, SqlServer on March 19th, 2009
Bueno, la historia es ya conocida, cuando trabajamos con NHibernate no es conveniente usar identity, hay cosas de NHibernate que no se aprovechan. Cuando se usa Identity y se realiza un Save(), NHibernate tiene que forzar el INSERT para obtener el Id, por lo tanto el concepto de Unidad de trabajo no es explotado.
Ahora sumémosle este bug, que la gente del SQL Server team después de evaluar dice: ?Desafortunadamente, después de evaluar las opciones para solucionar el problema, llegamos a la conclusión que no podemos arreglarlo para Sql Server 2008?
Conclusión
Si usas NHibernate+SQL Server, no te aconsejo identity como generador de identificadores en producción. Una muy buena opción que tiene muchas bondades es usar como generador a hilo.
Ms Sql Server y caraterísticas molestas en un multi-RDBMS framework
Posted by Dario Quintana in NHibernate, SqlServer on March 16th, 2009
Estos días fueron de análisis acerca de las caráterísticas de SQL Server, en especial las versiones 2005 y 2008, que sí molestan cuando se habla de un framework que genera código hacia múltiples motores relacionales, el actual framework en cuestión NHibernate, otros, pueden unirse a la queja.
Siempre en el núcleo de NHibernate hay que aplicar parches para las propias características de los motores relacionales que soporta, lo cual es muy entendible, cada motor tiene derecho a implementar como cree que es mejor sus características. Muchos de esos cambios desembocan en el dialecto, otros en el parser, otros en la parametrización o preparación de los commandos a ejecutar (lease IDbCommand) y otros vaya uno a saber.
Algunas características que implicaron cambios a pedido de los usuarios, tanto en dialecto como en parsers son entre otros: la paginación! Esta característica de SQL Server dio qué hablar, y mucho dolor de cabeza.
Cómo algo tan básico, que se usa día a día en las aplicaciones que desarrollamos, y hasta pareciera inofensivo, terminó desembocando en TODO un cambio en el dialecto de MsSql2005 (dentro de NHibernate por supuesto).
Qué hicimos los usuarios de Sql Server 2005/2008 para recibir semejante fea característica de paginación? Quizás no haya ejemplos de otros de otros RDBMS con paginación?, quizás no fuimos tan devotos del producto? Vaya uno a saber. Pero ejemplos de paginación en otros RDBMS. Este Sr. Postgres hace una linda paginación con la clausula LIMIT, donde se declara el límite y el offset. Fácil no? Resumiendo, esta característica se salvó aplicando un parche grande al dialecto gracias a contribuidores.
Compliquémosle un poco cuando usamos Sql Server 2005/2008 con las clausulas de FullText Search nativas: Contains y FreeText. Ambas clausulas hasta parecen mágicas por que son ?void?, no devuelven ningún valor, y esto significó otro parche en el Parser de NHibernate, uno chico, pero modificamos el Parser (no el Dialecto del motor específico), lo cual lo hace un poquito más molesto, porque? Por que el dialect es una de las cosas más recomendadas a inyectar cuando se trata de características que faltan. Para ver cómo terminaron las cosas, ir a este post.
Ahora vayamos a Queries Parametrizadas + Planes de ejecución. Bueno, todos saben es extremadamente bueno que el RDBMS cachee los planes de ejecución de las consultas para poder usarlas más tarde, ganando en performance. Incluso muchos usan SP por que dicen que NHibernate: ?genera consultas dinámicas que desembocan en el recalculo del plan de ejecución de cada consulta?. Esto es FALSO. NHibernate genera consultas, pero son todas parametrizadas, por lo tanto son reusables para no volver a calcular los planes de ejecución. Inclusive NHibernate se vale de opciones como: ?prepare_sql?, que sirve para activar el comando Prepare() en el IDbCommand. El punto es el siguiente, ahora Sql Server 2008 lanzó otra característica que le agrega otro pedazo de código a nuestras consultas SQL: OPTIMIZE FOR UNKNOWN. Podemos tomar un pequeño paseo por esta característica leyendo este post. La característica me parece bárbara, pero, otro pedazo más de SQL para eso?
No quiero saber a donde vamos a parar de acá a 10 años: O se empiezan a hacer más transparentes algunas opciones importantes, o cuando tenemos algún framework que genera código SQL para nuestro motor SQL Server vamos a necesitar impresiones en algo más que formato A4 para leer.
Quizás, quien dice, haga falta una re-estandarización del lenguaje SQL, por que nos estamos pasando con ?nuestras? propias implementaciones, y ese tipo de cosas perjudican a las herramientas (frameworks) que trabajan sobre estos motores para hacer las cosas más fáciles a los desarrolladores.
Nuevas releases de NHibernate y NHibernate Validator
Posted by Dario Quintana in General on March 16th, 2009
- NHibernate 2.1 alpha1. Ver la release official. Download.
- NHibernate.Validator 1.2 alpha1. Ver la release official. Download.
Future<T> Queries con HQL y Criteria
Posted by Dario Quintana in NHibernate on February 4th, 2009
Hace unos días atrás habilité una caraterística nueva en NHibernate para Hql (que previamente habia sido implementada para Criteria). La caraterística se llama Future y no va a ayudar a prevenir hits innecesarios al motor de base de datos. Felizmente va a estar disponible en la version 2.1, que se liberará una alpha en marzo.
Leer artículo.