Signum Framework

Signum Framework
Signum Framework
Desarrollador
Signum Software
http://www.signumframework.com
Información general
Diseñador Signum Software
Lanzamiento 09 de marzo de 2009 (info)
Última versión estable 1.0.0 (info)
9 de marzo de 2009; hace 2 años (2009-03-09)
Género Framework / ORM
Programado en C#
Sistema operativo multiplataforma
Licencia LGPL
Estado actual En desarrollo / Con soporte
Idiomas inglés / español
En español Sí. 
Soporte técnico
A través de la página de codeplex

Signum Framework es un framework ORM Open Source creado por una empresa española en C# orientado al desarrollo de aplicaciones sobre la tecnología .Net de Microsoft, con un visión centrada en las entidades, de manera que es el modelo de datos el que determina el esquema de la base de datos. Como base de datos sólo está soportado MS SQL Server.

Signum Framework se distribuye bajo licencia LGPL.

Contenido

Características

Elementos de Signum Framework

Signum Framework está compuesto por los siguientes ensamblados:

  • Signum.Entities - Las clases base necesarias para generar las entidades de datos.
  • Signum.Engine - El motor ORM con un proveedor LINQ completo.
  • Signum.Utilities - Conjunto de utilidades y herramientas.
  • Signum.Services - Interfaces base del servicio WCF
  • Signum.Windows - Controles base para manipular entidades

Entidades primero

La filosofía centrada en las entidades propicia que el esquema de datos se genere automáticamente a partir de los objetos de código, evitando mapear los campos entre la base de datos y las entidades a través de archivos de configuración. De esta manera se trata de que se detecten las posibles incidencias en tiempo de compilación para todas las clases (tanto de datos como de lógica).

Por otro lado, esto mismo impide que Signum Framework se adapte bien a proyectos en los que existe una base de datos anterior que se debe preservar, ya que, a diferencia de otros frameworks, la base de datos se genera a partir del código y no a la inversa.

Dada la importancia que se concede a las entidades como núcleo de las aplicaciones, Signum Framework provee un pequeño grupo de clases base y primitivas que permiten modelar los objetos de una manera modular y reusable, evitando la redundancia y asegurando la integridad de los objetos, tanto en lógica como una vez persistidos en base de datos. Esto mismo (al tener que heredar las entidades desde alguna de estas clases base) hace que Signum Framework no soporte POCO (Plain Old C# Object).

Generación del esquema

La base de datos relacional se genera automáticamente a partir de las entidades utilizando un mapeado 1 a 1 desde las entidades a las tablas, de manera que cada entidad independiente tiene su propia tabla y cada campo de la entidad su propia columna. Las entidades que son embebidas (EmbeddedEntity) no tienen una tabla propia, sino que sus campos se guardan como columnas en la tabla de la entidad a la que pertenecen. Se utilizan tablas relacionales para las colecciones, lo que permite las relaciones N a N.

Para permitir realizar modificaciones sobre los datos sin tener que regenerar la base de datos cada vez, se puede realizar una sincronización entre las entidades y la base de datos existente, en la que el motor generará un archivo de script SQL con las modificaciones necesarias para actualizar el esquema.

Herencia de entidades

Aunque Signum Framework utiliza un sistema de "tabla por clase concreta", en el que se crea una tabla una por cada uno de los tipos concretos, permite implementar el concepto de herencia utilizando relaciones polimórficas, que cuentan con una clave externa que admite valores nulos por cada posible implementación.

Interfaz de usuario y WCF

Signum.Windows ofrece controles WPF básicos que aprovechan la homogeneidad de las entidades para implementar un comportamiento automático. Estos controles simplifican el desarrollo de las vistas de las entidades de una aplicación.

Para la comunicación entre los clientes y el servidor se utilizan contratos WCF que permiten la compartición de tipos. Esto facilita reutilizar las reglas de validación de las entidades en el cliente, eliminando la redundancia.

La utilización de objetos Lazy permite trabajar con "huellas" de una entidad, conociendo su ToString y su identificador, pero sin recuperar la entidad completa hasta que sea necesario, minimizando así la carga de trabajo y la transferencia de datos, aumentando considerablemente el rendimiento de las aplicaciones.

LINQ

Signum Framework tiene un proveedor LINQ completo, de manera que todas las operaciones se ejecutan en LINQ, e internamente el motor las traduce a SQL. Algunas de las características del proveedor de LINQ son las siguientes:

  • Soporta joins.
  • Soporta valores booleanos en cualquier parte de la consulta.
  • Soporta GroupJoin y DefaultIfEmpty.
  • Soporta Group By en C# y VB.NET con agregados múltiples.
  • Soporta el uso de let en las consultas.
  • Maneja la construcción de objetos en memoria dentro de consultas, así como llamadas a métodos en memoria.
  • Soporta tipos nulables y conversiones implícitas.
  • Ofrece emulación nativa de funciones SQL.
  • Soporta operaciones de tipo SelectMany.

Debido a algunas de las funcionalidades que soporta (en concreto las funciones CROSS APPLY / OUTER APPLY), actualmente las bases de datos soportadas por Signum Framework se limitan a SQL Server 2005 y SQL Server 2008 (tanto en las versiones Express como en las versiones de pago).

La principal diferencia entre el proveedor de LINQ de Signum Framework y otros proveedores es que no depende de un contexto explícito que depende del esquema actual de la base de datos, lo que permite escribir lógica de negocio reutilizable.

Historia

  • 2004 - Primera versión de un motor ORM basado en los principios de reutilización y centrado en entidades.
  • 2007 - Segunda versión del motor ORM, incluyendo el Gestor de Operaciones y Procesos.
  • 2008 - Signum Framework 1.0 Beta 1, incluyendo las funcionalidades de ORM, WPF y LINQ.
  • 2009 - Release de Signum Framework 1.0 en Codeplex.
  • 2010 - Signum Framework 2.0 Beta 1, con soporte para.Net Framework 4 y ASP.Net MVC 2.0 (versión interna).
  • 2011 - Signum Framework 2.0 Beta 2, con soporte para ASP.Net MVC 3.0 (versión interna).

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Anexo:Motores de persistencia — Esta es una lista alfabética de los principales motores de mapeo objeto relacional, indicando si son libres o comerciales. Contenido 1 ColdFusion 2 Common Lisp 3 Java 4 JavaScript …   Wikipedia Español

  • Imperial cult (ancient Rome) — Ancient Roman religion Marcus Aurelius (head covered) sacrificing at the Temple of Jupiter …   Wikipedia

  • Religion in ancient Rome — Ancient Roman religion Marcus Aurelius (head covered) sacrificing at the Temple of Jupiter …   Wikipedia

  • Bildungsbenachteiligung in Deutschland — Mit Bildungsbenachteiligung in Deutschland wird die bildungsspezifische Benachteiligung von Gruppen in Deutschland bezeichnet, die über geringe kulturelle, soziale oder finanzielle Ressourcen verfügen. Der Begriff impliziert nicht vorsätzliche… …   Deutsch Wikipedia

  • Bildungsungleichheit — Mit Bildungsbenachteiligung in Deutschland wird die bildungsspezifische Benachteiligung von Gruppen in Deutschland bezeichnet, die über geringe kulturelle, soziale oder finanzielle Ressourcen verfügen. Der Begriff impliziert nicht vorsätzliche… …   Deutsch Wikipedia

  • Christian Burial —     Christian Burial     † Catholic Encyclopedia ► Christian Burial     The interment of a deceased person with ecclesiastical rites in consecrated ground. The Jews and most of the nations of antiquity buried their dead. Amongst the Greeks and… …   Catholic encyclopedia

  • Deutsches PISA-Konsortium — Die PISA Studien der OECD sind internationale Schulleistungsuntersuchungen, die seit dem Jahr 2000 in dreijährigem Turnus in den meisten Mitgliedstaaten der OECD und einer zunehmenden Anzahl von Partnerstaaten durchgeführt werden und die zum Ziel …   Deutsch Wikipedia

  • PISA-Schock — Die PISA Studien der OECD sind internationale Schulleistungsuntersuchungen, die seit dem Jahr 2000 in dreijährigem Turnus in den meisten Mitgliedstaaten der OECD und einer zunehmenden Anzahl von Partnerstaaten durchgeführt werden und die zum Ziel …   Deutsch Wikipedia

  • PISA-Studie — Die PISA Studien der OECD sind internationale Schulleistungsuntersuchungen, die seit dem Jahr 2000 in dreijährigem Turnus in den meisten Mitgliedstaaten der OECD und einer zunehmenden Anzahl von Partnerstaaten durchgeführt werden und die zum Ziel …   Deutsch Wikipedia

  • PISA-Studien — PISA Logo Die PISA Studien der OECD sind internationale Schulleistungsuntersuchungen, die seit dem Jahr 2000 in dreijährigem Turnus in den meisten Mitgliedstaaten der OECD und einer zunehmenden Anzahl von Partnerstaaten durchgeführt werden und… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”