Tenemos un servicio de acceso a datos en nuestro sistema SOA WCF. Este servicio es responsable de realizar operaciones CRUD (crear, actualizar, eliminar) en tablas de bases de datos "de todo el sistema" y también es el origen de esta información para las consultas. Cualquier otro servicio en el sistema que desee acceder a las tablas bajo el control del DAS debe ir al DAS para obtenerlo o modificarlo. Usamos Entity Framework y construimos nuestro propio sistema de seguimiento de estado POCO para este DAS.WCF SOA: Servicio de acceso a datos de CRUD ... ¿por qué molestarse (o nuestro diseño es incorrecto)?
Tenemos otras tablas en nuestra base de datos que pertenecen a servicios individuales y almacenan datos solo para su propio uso, es decir, información de estado a la que pueden acceder si bloquean, reanudan o registran información comercial. Tenemos una regla a la que no se puede acceder a ninguna tabla por más de un servicio: por lo tanto, los datos que necesitan los servicios múltiples terminan en el DAS.
La verdad es que nunca he entendido por qué un servicio de acceso a datos es una buena idea en lugar de simplemente acceder a las tablas directamente. Parece ser más lento, nuestro DAS no es transaccional ya que no puede enviar un gráfico POCO para la actualización de la base de datos (solo un solo POCOS a la vez) y también tenemos problemas donde el DAS es realmente un cliente de otro servicio que necesita datos de ella ... dependencia circular.
¿Por qué molestarse con un DAS? ¿Por qué es un DAS tan importante cuando se trata de SOA? ¿Que me estoy perdiendo aqui? Único punto de control?
¿También es una falla de diseño de SOA que no todas las tablas son parte de un DAS y que algunos servicios tienen sus propias tablas "privadas"?
Cualquier discusión sobre esta bienvenida.
¿Por qué lanzar su propio servicio en lugar de usar un Servicio de datos WCF?Le brinda algunas de las características que dice que le faltan a su servicio, y su esfuerzo es * extremadamente * bajo si ya tiene un modelo EF. –