¿Para qué aplicaciones o escenarios de desarrollo el uso de WCF Data Services tiene sentido y cuando otras tecnologías son la mejor opción (por ejemplo, WCF RIA Services, ADO Entity Framework, ADO.NET clásico, servicios simples o lo que sea)?Cuándo usar los servicios de datos WCF y cuándo no?
Respuesta
WCF Data Services es una manera bastante fácil y rápida de obtener su modelo de datos (colecciones y entidades) en la web. Puede navegar fácilmente por sus colecciones, mirar entidades, etc., a través de llamadas HTTP/REST estándar.
En la medida en que tenga más que eso, mostrando y mostrando entidades y colecciones de entidades, funciona muy bien. Realmente no conozco la bonificación adicional que llevan los Servicios de WCF RIA, no he investigado demasiado.
Los servicios de datos WCF se basan en una representación modelo de sus datos. Aquí entran en juego Linq-to-SQL o Entity Framework y le permiten crear ese modelo, basado en su base de datos física.
Sin embargo, cuando necesite utilizar algo como servicios orientados a métodos, como "Insertar cliente", "Calcular pedidos totales para el cliente", etc., entonces un servicio WCF basado en SOAP será más adecuado. Un servicio WCF basado en SOAP define un contrato de servicio (conjunto de métodos en su servicio) y le permite llamar a esos métodos en su objeto de servicio.
SOAP es genial cuando se realiza un trabajo comercial orientado a las transacciones: es autodescriptivo, p. su cliente puede descubrir e interrogar al servicio SOAP (un área en la que REST no cuenta, no hay "WSDL" o algo similar para los servicios REST).
Y si está haciendo SOAP, también recomendaría utilizar un enfoque basado en modelos para sus datos - cree un modelo de su base de datos y exponga los métodos en esas entidades al mundo exterior - de nuevo, usando Linq-to- SQL, Entity Framework, NHibernate u otra herramienta de modelado/ORM. No recomendaría usar ADO.NET "clásico" o "básico" para la mayoría de su trabajo - es demasiado trabajo pesado y código tonto - deje que un marco como Linq-to-SQL o EF maneje esas cosas aburridas de infraestructura para usted y concéntrese en los requisitos y necesidades de su negocio real.
- 1. Cuándo usar OSGi EventAdmin y cuándo no?
- 2. Cuándo usar Restringir y cuándo no a
- 3. Cuándo usar GWT y cuándo no
- 4. cuándo deberíamos usar instanceof y cuándo no
- 5. Cuándo y dónde debo usar WCF
- 6. Cuándo usar y cuándo no usar Try Catch Finally
- 7. ¿Cuándo usar == y cuándo usarlo?
- 8. Cuándo usar undef_method, y cuándo usar remove_method?
- 9. cuándo usar Tarea y cuándo usar Subproceso?
- 10. Cuándo usar Pepino y cuándo usar RSpec?
- 11. Cuándo utilizar WCF/REST
- 12. Cuándo usar categorías y cuándo usar subclases?
- 13. Cuándo usar señales y ranuras y cuándo no a
- 14. Cuándo usar, no usar, OneToOne y ManyToOne
- 15. ¿Cuándo debería usar async/await y cuándo no?
- 16. Cuándo usar .mdf y cuándo .sdf?
- 17. ¿Cuándo debe usar JCR y cuándo debe usar JPA/RDBMS?
- 18. ¿Cuándo está bien usar Javascript y cuándo no?
- 19. Cuándo usar `zipmap` y cuándo` map vector`?
- 20. ¿Cuándo debo usar malloc en C y cuándo no?
- 21. ¿Cuándo es apropiado usar una asociación bidireccional y cuándo no?
- 22. ¿Cuándo debería usar TCP_NODELAY y cuándo TCP_CORK?
- 23. ¿Cuándo debería usar Silverlight y cuándo XNA?
- 24. Cuándo usar las vistas de la base de datos y cuándo no?
- 25. Cuándo deberíamos usar la clase y cuándo no debemos
- 26. Cuándo usar "nuevo" y cuándo no hacerlo, en C++?
- 27. ¿Cómo decide Hive cuándo usar map reduce y cuándo no?
- 28. ¿Cuándo no usar ACS?
- 29. ¿Cuándo uso ByteString y cuándo no?
- 30. Cuándo utilizar los punteros, y cuándo no usarlos
Gracias por esta respuesta integral. – Kottan