2010-02-18 13 views
8

Tengo un dilema. Aquí está mi configuración: Creación de aplicaciones web ASP.NET/NET 3.5 usando estándares (capas de DB, capas BL, etc ...)Microsoft Reporting Services. ¿Debo usar webservices como fuente de datos?

Necesito generar algunos informes. La forma estándar de hacerlo es tener una base de datos de consultas de servicios directamente o puedo tener servicios de informes de servicios web de consultas (que crearé).

Me gusta el enfoque de servicios web porque si el esquema subyacente cambia, solo necesito asegurarme de que mis servicios web devuelvan los datos correctos. Los servicios de informes no se ven afectados.

Si utiliza la consulta directa a la base de datos, los servicios de informes deben actualizarse.

¿Debo utilizar los servicios web (http://msdn.microsoft.com/en-us/library/aa964129(SQL.90).aspx) o las consultas directas?

+0

Diría una consulta directa por el bien del rendimiento. –

+0

mi objetivo es hacer cambios en un solo lugar. con los servicios web, solo tengo que asegurarme de que el servicio web devuelva los datos correctos y no preocuparme por la notificación de los servicios. Por ejemplo, el simple cambio de nombre de columna en la base de datos me obligará a ir a los servicios de informes y cambiar la consulta, mientras que con los servicios web no tengo que preocuparme por ello. Ahora, ¿qué pasa si se trata de un cambio más complejo que el cambio de nombre de una columna? – Chicago

+0

OData sería una buena opción si puede esperarlo. –

Respuesta

0

Creo que un mejor enfoque sería (si es posible) usar los servicios como su API para ambos (servicios de solicitud e informes). Eso mantendría el código/lógica en un punto central y también cumpliría sus objetivos en los servicios de informes.

2

El uso de un servicio web facilita el mantenimiento. El rendimiento sufrirá algo, pero hasta qué punto es relativo a su hardware, diseño de bases de datos, consultas, etc. Usaría el servicio web, ya que esta es la manera en que se supone que las aplicaciones de Adobe Flex deben hacerlo y Microsoft WCF parece estar apuntando Desarrolladores de DotNet en la dirección de fuentes de datos de servicios web.

Otra ventaja es que puede utilizar varios clientes con el mismo servicio.

Cuestiones relacionadas