El uso de un servicio web suele ser un excelente enfoque arquitectónico. Y, con la llegada de WCF en .Net, se está haciendo aún mejor.¿Cuándo no se debe usar un servicio web?
Pero, en mi experiencia, algunas personas parecen pensar que los servicios web siempre deben usarse en la capa de acceso a datos para las llamadas a la base de datos. No creo que los servicios web sean la solución universal.
Estoy pensando en aplicaciones de intranet más pequeñas con unas pocas docenas de usuarios. La aplicación web y su servicio web se implementan en un servidor web, no en una granja de servidores web. No va a haber otra aplicación web en el futuro que pueda usar este servicio web en particular. Me parece que el costo de llamar al servicio web aumenta innecesariamente la carga en el servidor web. Hay un rendimiento alcanzado para llamadas entre procesos. Mantener y depurar el código de la aplicación web y el servicio web es más complicado. También lo es el despliegue. Simplemente no veo las ventajas de usar un servicio web aquí.
Se puede probar esto creando dos versiones de la aplicación web, con y sin el servicio web, y realizando pruebas de resistencia, pero no lo he hecho.
¿Tiene una opinión sobre el uso de servicios web para aplicaciones web a pequeña escala? ¿En otras ocasiones cuando los servicios web no son una buena opción arquitectónica?
No podría estar más de acuerdo. El proyecto principal de mi empresa tiene una aplicación web que habla con un servicio web que habla con una capa de persistencia. Nada más accede al servicio web sino a la aplicación web. La eliminación del servicio web eliminaría una capa gigante que no agrega ningún valor. ¡Un cambio en cualquier lugar requiere actualizar 3 lugares! –