2010-10-07 33 views
8

No añadir otro SO puesto en relación con los diferentes WCF pilas, pero quiero asegurarme de que estoy yendo en la dirección correcta antes de perder más tiempo de desarrollo ...WCF/WCF Data Services/Servicios WCF RIA

Mi escenario: nuestra empresa tiene varias aplicaciones web que tienen acceso a la misma serie de bases de datos. Todas las aplicaciones se desarrollaron básicamente de forma independiente, por lo que hay un montón de lógica de negocios y repetición de acceso a datos. Además de eso, tengo un objetivo (posiblemente irracional) de hacer que este proyecto sea independiente del cliente: consolidar nuestra lógica empresarial actual y el acceso a los datos en una interfaz a la que se puede acceder mediante una aplicación web, Silverlight, una aplicación móvil, etc.

Introduzca WCF: me parece la opción perfecta para lograr ambas cosas. Desafortunadamente, después de leer toda la "guía" existente que existe sobre los diversos sabores WCF, sigo volviendo más confundido que nada. Estas son las conclusiones a las que he llegado hasta ahora. No dude en corregirme:

  • WCF directo: la opción más flexible y completa, pero todo comienza desde cero; requeriría un tiempo significativo por adelantado para configurar y probar; opción técnicamente madura con ganchos para lograr la mayoría de los objetivos
  • WCF Data Services: la forma más rápida de obtener un servicio REST en línea; excelente si la aplicación solo necesita exponer datos directamente desde el DB; Si se necesita lógica empresarial, debe estar escrita en el lado del cliente o en un segundo servicio que expone la lógica.
  • WCF RIA Services: la forma más rápida de configurar un servicio que está listo para exponer la lógica empresarial; Posiblemente la más técnicamente inmadura de las opciones (pero con lo que parece ser una inversión significativa para llevarlo); Los puntos finales de Soap, REST y JSON permitirían la mayor parte de la independencia del cliente;

Dado que he cumplido con los requisitos anteriores, he llegado a las siguientes conclusiones: Data Services es probablemente un no arranque debido a los requisitos de la lógica de negocios (y la idea de segundo servicio WCF elección arquitectónica extremadamente pobre); La velocidad importa, lo que indicaría que los Servicios de RIA podrían ser el mejor lugar para comenzar (llámame flojo, pero tener un equipo pequeño con un margen de tiempo ajustado hace que la generación de código sea valiosa).

¿Hay una mejor manera de manejar los objetivos que describí? ¿Estoy malinterpretando alguna/todas las opciones de WCF? ¿Qué otra guía práctica se puede ofrecer para elegir qué enfoque de WCF (no solo para mí, sino para cualquier otra persona que intente evaluar las tecnologías)?

Respuesta

2

Me gustaría ir con WCF recto.

Esto le permite exponer sus servicios a través de varios puntos finales, dependiendo de los requisitos:

  • SOAP para interopability multiplataforma
  • binario NetTcp para clientes internos que requieren velocidad
  • JSON para acceder ligera
Cuestiones relacionadas