In generale
- Il livello di servizio Web promuove il riutilizzo delle richieste di dati comuni per più applicazioni
- Il servizio Web può essere configurato con la gestione delle versioni che devia molti problemi derivanti dallo sviluppo a livello di applicazione. Ad esempio, se sono nuovo in un progetto, quale applicazione esistente devo utilizzare come buon modello per configurare la mia applicazione per utilizzare origini database esistenti.
- Il servizio Web si è evoluto per consentire opzioni flessibili per inviare richieste e ottenere risultati di risposta in un formato comune come JSON utilizzando un semplice URI, il che significa che le applicazioni client possono essere sviluppate utilizzando uno standard più comune che incoraggia interfacce uniformi affidabili.
Sto solo iniziando con ASP.NET Web Api e ho intenzione di creare prima i servizi dati.
Recentemente mi sono concentrato sulle applicazioni web .NET MVC con l'uso del framework delle entità.
- Se utilizzi già MVC, Web Api utilizza anche MVC con il controller Api, quindi la curva di apprendimento per creare i servizi è abbastanza indolore.
Di recente mi sono trovato in una situazione frustrante con un'app Web MVC che stavo creando originariamente sulla base di procedure archiviate Oracle. La versione originale come Oracle 9 o anche precedente che presentava un altro problema con Visual Studio 2012 che spingeva un approccio di fabbrica di connessioni più moderno con assembly del tempo di caricamento che trovavano i file dll giusti da utilizzare in base alle connessioni di configurazione web e ai nomi TNS.
I tentativi di connessione al database non sono riusciti con messaggi di errore "non più supportati". Per curiosità ho scaricato Oracle 12c e ho effettuato alcune connessioni a livello di applicazione che funzionavano bene con i miei nomi TNS e la dll dell'assembly di carico e sono stato in grado di lavorare con Oracle senza problemi.
Sono stati creati alcuni servizi Web che funzionavano con connessioni alla versione precedente di Oracle. Sono stati costruiti con metodi che sono stati specificamente mappati su tabelle selezionate, tuttavia con mia delusione. Dovrei scrivere il mio.
Mi è stato detto che il gruppo responsabile della manutenzione dei database Oracle avrebbe scritto nuove procedure memorizzate per sostituire quelle più vecchie che stavo utilizzando per astrarre l'interfaccia client e i livelli di logica aziendale.
Quindi il mio primo pensiero è stato che tutte le richieste di dati comuni, come il riempimento di un elenco a discesa o il completamento automatico con dati a livello aziendale, fossero eseguite tramite servizi di dati che chiamerebbero le procedure memorizzate Oracle. Perché ripetere quel processo su ogni applicazione e fare in modo che ogni sviluppatore abbia difficoltà con la configurazione e l'assemblaggio di versione / caricamento, problemi di TNS?
così....
- Per più problemi del server di database come l'utilizzo di procedure archiviate Oracle in un'applicazione .NET MVC che di solito potrebbe utilizzare EF per l'utilizzo dei dati di SQL Server, perché non spingere quei mal di testa ai metodi del servizio Web Api in cui tali problemi di configurazione possono essere isolati.
- Anche in questo caso l'interfaccia client può essere eseguita utilizzando JavaScript, JQuery e JSON che stai già utilizzando se lo stai facendo utilizzando Web Api per effettuare richieste di dati di SQL Server.
Sono uno sviluppatore / analista di applicazioni e non un amministratore di database, quindi la mia prospettiva è quella dell'esperienza con la frustrazione infinita di dover modificare costantemente le applicazioni quando gli strumenti di database si evolvono.