Thursday, March 28, 2024    
English 
Portuguese 
Skip Navigation Links
Inicio
Mi Cuenta
Foro
¡Pruébelo!
¡Adquira Ahora!
Skip Navigation Links
Sobre
Contáctenos
Mapa del Sitio
Skip Navigation Links La Capa de Acceso de Datos en la Aplicación Framework StrataFrame es independiente (trata cada petición como una transacción independiente sin relación a cualquier petición anterior), altamente cohesivo y débilmente acoplado. Diferente de otras aplicaciones de framework o capas de acceso de datos generados por O/R Mappers, una sola clase se utiliza para todo el acceso de los datos dentro de una aplicación de StrataFrame. El desarrollador no interconecta directamente con la clase DataAccessLayer, sino algo indirectamente con el BusinnessLayer.

Descripción

Una capa de acceso de datos debe de ser rápida, eficiente y transparente al desarrollador de aplicaciones; el DataAccessLayer de StrataFrame es dirigido para resolver cada uno de eses criterios. Esta única clase contiene la lógica del acceso de los datos para el framework todo. Puesto que sigue siendo independiente, altamente cohesivo y débilmente acoplado, es utilizado por todos los objetos de negocio como un puente para tener acceso al almacén de los datos. La capa de acceso de datos es proveedor independiente (SQL Server, Oracle ú OLE DB) y eso apalanca mucho las características de optimización de los distintos proveedores y eso garantiza un funcionamiento excelente.
  • Base de Datos Soportadas
    • SQL Server 2000
    • SQL Server 2005
    • SQL Server 2008
    • Oracle
    • OLEDB
  • Anatomía de la Capa de Acceso de Datos

StrataFrame soporta nativamente SQL Server, Oracle, Visual FoxPro y Microsoft Access. Además, cualquier proveedor OLE DB se puede utilizar para conectarse a los datos a través de la capa de acceso de datos. 

Independiente, Altamente Cohesivo y Débilmente Acoplado

La capa de acceso de datos de StrataFrame fue diseñada para ser independiente, altamente cohesivo y débilmente acoplado. Al tratar cada petición como transacción independiente, permite a todos los objetos de negocios utilizar un caso de la misma clase DataAccessLayer, no necesitando requerir una implementación específica de clase de capa de acceso de datos para cada objeto de negocio. La capa de acceso de datos se separa totalmente de la capa de negocios y realiza solamente las funciones requeridas específicamente por una capa de acceso de datos.

Transparencia al Desarrollador de Aplicaciones

Conteniendo una instancia de la clase de DataAccessLayer dentro de cada instancia del objeto de negocio, la capa de acceso de datos llega a ser totalmente transparente al desarrollador de aplicaciones. El desarrollador nunca la visualiza directamente, pero indirectamente por los métodos de fabricación y recuperación de datos dentro de un objeto de negocio.

Acceso Dinámico (Streamlined) de los Datos

Las mejoras alcanzadas en ADO.NET 2.0 han permitido que la capa de acceso de los datos llegue a ser totalmente dinámica, eficiente y optimizada. Además, la capa de acceso de los datos se aprovecha del proceso asincrónico, permitiéndose hacer los registros en el almacén de los datos a través de múltiples hilos. Enhebrando el acceso de los datos, la latencia de la aplicación es reducida, particularmente a través del VPN o de una conexión remota.

Ayuda Total a la Concurrencia (Concurrency)

La clase DataAccessLayer contiene soporte de nivel de núcleo para la concurrencia y ofrece tres opciones al desarrollador:
Ningún Este ajuste irá evitar/desviar todo el manejo del registro de la concurrencia.
Optimista Esta técnica sigue directamente la definición de Microsoft de la concurrencia optimista. (Vea MSDN para informaciones adicionales)
Versión de Línea Este módulo permite que un campo específico sea especificado para propósitos de hacer versiones de líneas. Este es el método más optimizado de soporte de la concurrencia, ya que, el requiere el menor número de testes en el servidor para determinar sí existe un potencial y suave conflicto. Cuándo una línea es guardada, el DataAccessLayer automáticamente actualiza la versión de la línea.
Time Stamp Utilizar un campo “time stamp” es similar a usar el método de la Versión de Línea (Row Version). Cuándo esa opción es utilizada, una columna “TIMESTAMP” es especificada como un llave para hacer versiones en lugar de una columna número-basada.


Opciones de Notificación de Conflictos
Cuándo una excepción de la concurrencia es detectada por el framework, el DataAccessLayer recupera el registro en conflicto de la base de datos y compara la versión local del registro con la versión del servidor. Sí no se encuentran datos distintos, el registro es guardado y el usuario final nunca será notificado de este conflicto de datos. Sí se encuentran datos distintos, entonces el usuario final es notificado que alguien ha modificado el registro antes y el usuario final es presentado con una forma que permita que él corrija las ediciones de la concurrencia antes de guardar el registro otra vez.

Este manejo automático de los conflictos de datos se puede desactivar y hay las características de como el desarrollador será notificado si ocurre una excepción de la concurrencia. Por padrón, un evento así es automáticamente manejado por la forma de nivel superior del objeto de negocio (para presentar al usuario final la lista de discrepancia de valores), pero un objeto de negocios se puede configurar para tirar una excepción cuándo un conflicto ocurra.

Sincronizado y Hilo Seguro

La clase del DataAccessLayer fue sincronizada para prevenir repercusiones indeseadas que provengan de accesos simultáneos de hilos múltiples. Las requisiciones de datos pueden ser hechas por la capa de datos en diferentes hilos sin requerir al desarrollador sincronizar explícitamente esas peticiones. Además, los acontecimientos levantados por la capa de acceso de datos se levantan explícitamente en la aplicación principal de hilos para prevenir excepciones de hilos cruzados cuándo los eventos son mostrados para el usuario de la interfaz.

Ayuda Avanzada a CRUD (Crear, Actualizar y Eliminar)

Procedimientos Almacenados
Los ajustes de CRUD son críticos al procurar alcanzar la más optimizada y dinamizada performance de inserción, actualización y eliminación entre el DataAccessLayer y la base de datos. En algunos casos, la política de la compañía fuerza al desarrollador utilizar procedimientos almacenados en toda la interacción de CRUD. En esas situaciones las opciones de CRUD son no sólo provechosas, son vitales. Un procedimiento almacenado se puede especificar para cada operación CRUD (INSERCIÓN, ACTUALIZACIÓN y ELIMINACIÓN) a través de propiedades en el objeto de negocio que utiliza esos ajustes alternadamente al trabajar recíprocamente con el DataAccessLayer.

Recuperación Automática del Valor de la Llave Primaria
Cuándo se crea un nuevo expediente, los valores de la llave primaria son recuperados y actualizados automáticamente dentro de la fuente de datos interna del objeto de negocio. Esta característica se puede ajustar a través de los ajustes de CRUD también.

Conexiones Ilimitadas de Servidor y Clases de Base de Datos

Conexiones Ilimitadas de Servidores
Frecuentemente un desarrollador puede tener más de una fuente de datos que será vista, actualizada y eliminada. Esto es especialmente común al trabajar recíprocamente con datos dispares o datos de herencia. Por lo tanto, una aplicación StrataFrame permite un número ilimitado de conexiones que pueden accederla simultáneamente. Las secuencias de conexión separadas necesitadas para cada conexión son manejadas por la ‘Administración de la Secuencia de la Conexión proveído por StrataFrame.

Soporta Múltiples Clases de Base de Datos
Ampliarse las conexiones ilimitadas de servidores es la capacidad de conectarse con un número ilimitado de base de datos al mismo tiempo. Esto incluye distintas clases de base de datos tales como SQL Server y FoxPro. Esta funcionalidad es significativa porque permite que los objetos de negocio se comuniquen a las bases de datos del SQL Server y del FoxPro, por ejemplo, en la misma forma, el desarrollador no tiene que manejar estas conexiones. Esto es un medio ventajoso adelante del incremento de migración de aplicaciones de herencia existentes, o creando conversiones dinámicas de datos.

Métodos Extensos de Recuperación de Datos

Extractos ELIGIDOS Personalizados
A diferencia de muchos otros frameworks y Mapeadores O/R, un extracto ELIGIDO personalizado o procedimiento almacenado se puede fácilmente ejecutar para la recuperación de datos. El desarrollador no se limita a los procedimientos almacenados, ni a los extractos ELIGIDOS pre-generados utilizados por la capa de accesos de datos.

Comandos Parametrizados y Preguntas de Procedimientos Almacenados
Otra opción útil de recuperación de datos es un DbCommand. Esta es la mejor opción de recuperación de datos al crear preguntas dinámicas o cuándo una cláusula “DONDE” sea indicada, desde que el DbCommand tenga ayuda a este parámetro. Un DbCommand con parámetros puede también llamar un procedimiento almacenado.

Preguntas Específicas no Relacionadas a la Base de Datos
Hay circunstancias donde la base de datos del lado del servidor puede cambiar desde un tipo a otro que depende del ambiente del despliegue. El StrataFrame QueryInformation permite que los desarrolladores creen las preguntas de proveedor-independiente que son convertidas al apropiado proveedor-específico de sintaxis SQL por la implementación específica del DbDataSourceItem de la base de datos. Esta poderosa característica permite que una única pregunta sea escrita y reutilizada para preguntar al SQL Server, FoxPro, Oracle o cualquier clase de base de datos que esté siendo utilizada por la aplicación, mientras haya consistencia ente las estructuras de datos.

Ayuda Escalar
StrataFrame tiene ayuda escalar completa que permite que un desarrollador recupere rápidamente una pieza única de datos o ejecute una pregunta que realice un cálculo simple y vuelva el valor calculado.

Procesamiento de Transacción

Transacciones Simultáneas Ilimitadas
StrataFrame lleva la ayuda a la transacción completa a un nuevo nivel permitiendo un número ilimitado de transacciones sean procesadas al mismo tiempo. Objetos de transacción son manejados por el framework permitiendo un acercamiento sin manos (hands-free) al procesamiento de transacciones. Cada transacción se puede controlar individualmente y todos los objetos de negocio tienen la capacidad de que sean incluidos o excluidos de una transacción. Esto puede ser muy beneficioso cuándo se está procesando una transacción grande y el desarrollador desee guardar datos de otro objeto de negocio en una transacción separada o una transacción entera.

Acceso Programático Simple
El procesamiento de transacciones se puede controlar a través de métodos muy simples y accesibles, y es tan simple como llamar a TransactionBegin() junto con TransactionEnd() o TransactionRollBack(). Cualquier error o notificación que necesiten que sean manejadas serán automáticamente presentadas al desarrollador, que entonces debe decidir simplemente qué acción tomar.

Modo de Depuración de la Capa de Acceso de Datos
Ver Cuadro Mayor
  Modo de Depuración de Datos

El modo de depuración proporciona una vista completa de cada declaración del SQL, ejecutada en una fuente de datos, incluyendo declaraciones ELIGIR, INSERIR, ACTUALIZAR Y ELIMINAR. Cada declaración se escribe en un fichero de registro en el formato de HTML y demuestra la sintaxis del SQL, los parámetros, el contexto de la transacción, la conexión y muchas otras piezas de información. Esta característica es inestimable al intentar localizar cualquier tipo de error que derive de piezas de procesamiento de datos que no pueden ser fácilmente depurados a través del Visual Studio.


Especificaciones Técnicas y Características

expand all
Acceso de Datos
Constructor Dinámico de Comando
Disponibilidad Almacenada de Procedimientos Inserir/Actualizar
Procedimientos Almacenados y Seleccionados Personalizados Para Recuperación
Comandos con Parámetros Dados
Transparente al Desarrollador
expand all
Características Adicionales
Procesamiento de Transacción
Administración de la Secuencia de la Conexión
Ayuda a Notificaciones de Preguntas del SQL Server 2005
Actualizaciones Multi-Enhebradas
Mapa del Sitio - Inicio - Mi Cuenta - Foro - Acerca de Nosotros - Contáctenos - ¡Pruébelo! - Adquirir

Microsoft, Visual Studio, y el logo del Visual Studio son trademarks o trademarks registrados de Microsoft Corporation en EEUU y/u otros paises.