He estado experimentando recientemente con Silverlight, RIA Services y Entity Framework usando .NET 4.0. Estoy tratando de averiguar si esa pila tiene sentido para usar en cualquiera de mis próximos proyectos. Ciertamente parece que estas tecnologías pueden ser muy productivas para el desarrollo de aplicaciones, pero estoy luchando por decidir cómo se debe diseñar una aplicación sobre esta pila.¿Cuánta lógica de negocios pertenece a la capa de servicios de RIA?
El problema principal que tengo es que en la mayoría de las demos que he visto, la mayor parte de la lógica de negocios termina en anotaciones de datos y validaciones personalizadas en la clase de servicio de dominio de servicios de RIA. Esto me parece inapropiado. Veo el servicio de dominio básicamente como un servicio web glorificado que hace que sea fácil enviar información al cliente. Pero la mayoría de lo que he visto parece orientar el servicio de dominio como la principal fuente de lógica de negocios en la aplicación.
lo tanto, mi pregunta:
- ¿Cuál es la mejor ubicación para la lógica de negocio (reglas, validaciones, comportamientos, autorización) en una aplicación que utiliza esta pila?
- ¿Hay alguna guía publicada a nivel arquitectónico para usar esta pila?
Mis preguntas se refieren a aplicaciones grandes, complejas y de larga duración. Obviamente, para una aplicación de solo unas pocas pantallas esto es menos preocupante.
Editar: Otra cosa que quería mencionar es que, obviamente, se puede hacer la clase de servicio de dominio estúpida, pero entonces se pierde una gran parte de la información de la entidad (por ejemplo automagic validaciones) siendo empujado al cliente. Y luego, si pierde eso, ¿hay algún punto para usar los servicios de RIA?
¡Me gustaría saber lo mismo! Realmente estoy luchando para entender las mejores prácticas para los servicios de RIA. No parece haber demasiados ejemplos detallados de aplicaciones comerciales. – Banford
Todavía estoy descubriendo esto por mí mismo también. Sin embargo, pensándolo bien, incluso haciendo que DomainService sea tan estúpido como sea posible, usted todavía gana el fácil de usar DomainContext para enviar cambios (en lotes) al servidor y cambiar el seguimiento en el lado del cliente. Esta IMO aún hace que los Servicios de RIA sean bastante valiosos. – joshuapoehls
Buen punto digiduck. Eso sin duda vale la pena. – RationalGeek