c# - mac - Compare y contraste NHibernate y OpenAccess de Telerik
descargar justdecompile (4)
¿Has usado el ORM de OpenAccess de Telerik ? ¿Cómo se compara con NHibernate? ¿Cuándo debería considerar usarlo en NHibernate?
Yo diría que nHibernate es gratuito y OpenAccess cuesta $ 399. Aunque las plantillas de CodeSmith con nHibernate cuestan $ 99- $ 399 si quiere que nHibernate se automatice fácilmente. Parece que OpenAccess tiene más transparencia en la capa de datos y es probablemente más fácil de mantener. Pero, si usaras algo como Spring.Net, no solo tendrías nHibernate automatizando los datos, sino también la capa de servicio automatizada. Aunque tome eso con un grano de sal porque nHibernate y Spring.Net son otro lote de archivos de configuración que deben mantenerse. Apuesto a que OpenAccess es amigable para GUI. Cualquiera de los dos funciona, pero hay mucha más información disponible en nHibernate.
Me pregunto lo mismo yo mismo. Por un lado, está el NH con su auto libre de código abierto, pero con opciones de soporte limitadas. Por otro lado, una adición bastante nueva a la caja de un proveedor de herramientas conocido, OA.
OA cuesta dinero, pero obtienes apoyo. NH es gratis, pero el apoyo se ha sabido, al menos en mi breve experiencia, que es limitado y lento.
Creo que ambos son buenos productos. He decidido probar OA porque ya soy usuario de las herramientas de Telerik. OA y su soporte están siendo pagados de todos modos.
NH usa clases simples y objetos sin ningún tipo de decoraciones en las propiedades de la clase. OA requiere decoraciones (muy bien generadas por la GUI de OA Visual Studio).
NH requiere una "sesión" para hacer una unidad de trabajo con la base de datos; OA lo llama "alcance". Ambos usan "transacción".
OA tiene integración con Visual Studio y puede realizar un mapeo hacia adelante y hacia atrás desde y hacia una base de datos. El mapeo directo es para que pueda diseñar sus clases y luego "insertarlas" en la base de datos para persistencia. El "reverso" es para los desarrolladores de "modelos de dominio", que es lo que prefiero.
OA definitivamente está pasando por algunas actualizaciones importantes ya que Telerik juega "ponerse al día" por su reciente adquisición y lanzamiento de OpenAccess, anteriormente propiedad de Vanatec (fuera de Alemania).
En cuanto a un punto de vista de "facilidad de uso" y "rendimiento / escalabilidad", me gustaría saber dónde se encontraba cada uno. Estoy seguro de que alguien por ahí podría armar una prueba honesta entre los dos y hacer esas determinaciones.
Una cosa que me gusta de NH es que las plantillas disponibles generan el código necesario no solo para los objetos comerciales "tontos" (que es todo lo que OA genera ahora), sino también para un BLL y DLL. Después de mucha conversación con Telerik, tengo la impresión de que planean más opciones de generación de código para que OA sea más útil de manera inmediata.
¡Espero que esto ayude! Alguien intente obtener estadísticas sobre los problemas de rendimiento.
No lo he usado, pero un beneficio es obvio para mí, es que TeArik admite OpenAccess, mientras que nHibernate es compatible con la comunidad. Dependiendo de su compañía, este puede ser un factor decisivo si está listo para adoptar soluciones de código abierto sin garantía de soporte.
Editar
Para el registro, soy un gran partidario de nHibernate, y de código abierto en general. He estado usando nHibernate durante los últimos seis meses, usándolo para todo el trabajo nuevo en nuestra aplicación web. Para mi empresa actual es una buena opción (las Startups aman gratis).
Sin embargo, mi empleador anterior habría tenido dificultades para aceptar un componente respaldado por la comunidad como parte central de su infraestructura. Esto es perfectamente razonable, ya que los sitios web de estas empresas son su única fuente de ingresos. ¿Le gustaría apostar toda su empresa en un software que no tiene ninguna responsabilidad asociada con él? Algunas personas no querrían tomar ese riesgo.
Personalmente, he encontrado el apoyo para que nHibernate esté a la par y aún mejor con algunos proveedores comerciales.
Mi punto no es criticar OSS, sino resaltar un beneficio del uso de software que tiene un respaldo corporativo, con un canal de soporte dedicado y con personal completo.
Una razón más: actualmente OpenAccess tiene mejores características de rendimiento, si necesita un ORM rápido para su proyecto, será una mejor opción. Ver los puntos de referencia de ORM para más detalles.