En general
- El nivel de servicio web promueve la reutilización de solicitudes de datos comunes para múltiples aplicaciones
- El servicio web se puede configurar con la gestión de versiones, lo que evita muchos problemas que surgen del desarrollo a nivel de la aplicación. Por ejemplo, si soy nuevo en un proyecto, ¿qué aplicación existente utilizo como un buen modelo para configurar mi aplicación para usar fuentes de bases de datos existentes?
- Web Service ha evolucionado para permitir opciones flexibles para enviar solicitudes y obtener resultados de respuesta en un formato común como JSON mediante el uso de un URI simple, lo que significa que las aplicaciones cliente se pueden desarrollar utilizando un estándar más común que fomenta interfaces uniformes confiables.
Acabo de empezar a usar ASP.NET Web Api y planeo hacer servicios de datos primero.
Recientemente me he centrado en aplicaciones web .NET MVC con el uso del marco de entidad.
- Si ya usa MVC, Web Api también usa MVC con el controlador Api, por lo que la curva de aprendizaje para construir los servicios es bastante sencilla.
Hace poco me encontré en una situación frustrante con una aplicación web MVC que estaba construyendo originalmente basada en procedimientos almacenados de Oracle. La versión original como Oracle 9 o incluso anterior, que presentaba otro problema con Visual Studio 2012, impulsaba un enfoque de fábrica de conexiones más moderno con ensamblajes de tiempo de carga que encontraban los archivos dll correctos para usar en función de las conexiones de configuración web y los nombres de TNS.
Los intentos de conectarse a la base de datos fallaron con mensajes de error "ya no es compatible". Por curiosidad, descargué Oracle 12c e hice algunas conexiones a nivel de aplicación que funcionaron muy bien con mis nombres de TNS y la dll de ensamblaje de carga y pude trabajar con Oracle sin problemas.
Se crearon algunos servicios web que funcionaban con conexiones a la versión anterior de Oracle. Fueron construidos con métodos que se asignaron específicamente a tablas seleccionadas, sin embargo, para mi decepción. Tendría que escribir el mío.
Me dijeron que el grupo que era responsable de mantener las bases de datos de Oracle estaría escribiendo nuevos procedimientos almacenados para reemplazar los más antiguos que yo estaba usando para abstraer la interfaz del cliente y las capas de lógica empresarial.
Entonces, mis primeros pensamientos fueron que todas las solicitudes de datos comunes, como completar la lista desplegable o autocompletar con datos de toda la empresa, se realizarían a través de servicios de datos que llamarían a los procedimientos almacenados de Oracle. ¿Por qué repetir ese proceso en cada aplicación y hacer que cada desarrollador tenga problemas con la configuración y el ensamblaje de versión / carga, problemas de TNS?
entonces....
- Para múltiples problemas del servidor de bases de datos, como el uso de procedimientos almacenados de Oracle en una aplicación .NET MVC que normalmente podría estar usando EF para el uso de datos de SQL Server, ¿por qué no llevar esos dolores de cabeza a los métodos de servicio Web Api donde esos problemas de configuración pueden aislarse?
- Nuevamente, la interfaz del cliente se puede hacer usando JavaScript, JQuery y JSON que ya está usando si lo está haciendo usando Web Api para realizar solicitudes de datos de SQL Server.
Soy un desarrollador / analista de aplicaciones y no un DBA, por lo que mi perspectiva es la de la experiencia con la frustración interminable de tener que modificar constantemente las aplicaciones cuando las herramientas de la base de datos evolucionan.