Ogólnie
- Poziom usługi sieci Web promuje ponowne wykorzystanie typowych żądań danych dla wielu aplikacji
- Usługa sieciowa może być skonfigurowana z zarządzaniem wersjami, które rozwiązuje wiele problemów wynikających z rozwoju na poziomie aplikacji. Na przykład, jeśli jestem nowy w projekcie, którego istniejącej aplikacji używam jako dobrego modelu do konfigurowania mojej aplikacji do korzystania z istniejących źródeł bazy danych.
- Usługa sieci Web ewoluowała, aby umożliwić elastyczne opcje wysyłania żądań i otrzymywania wyników odpowiedzi z powrotem we wspólnym formacie, takim jak JSON, przy użyciu prostego identyfikatora URI, co oznacza, że aplikacje klienckie można tworzyć przy użyciu bardziej powszechnego standardu, który zachęca do niezawodnych, jednolitych interfejsów.
Właśnie zaczynam przygodę z ASP.NET Web Api i planuję najpierw stworzyć usługi danych.
Ostatnio skupiam się na aplikacjach internetowych .NET MVC z wykorzystaniem frameworka jednostki.
- Jeśli korzystasz już z MVC, Web Api również używa MVC z kontrolerem API, więc krzywa uczenia się tworzenia usług jest dość bezbolesna.
Niedawno znalazłem się w frustrującej sytuacji z aplikacją internetową MVC, którą tworzyłem pierwotnie w oparciu o procedury składowane Oracle. Oryginalna wersja jako Oracle 9 lub nawet wcześniejsza, która przedstawiała inny problem z programem Visual Studio 2012, który wypychał bardziej nowoczesne podejście do fabryki połączeń z zestawami czasu ładowania znajdującymi odpowiednie pliki dll do użycia na podstawie połączeń konfiguracji sieci Web i nazw TNS.
Próby połączenia z bazą danych nie powiodły się i wyświetlają się komunikaty o błędach „nie są już obsługiwane”. Z ciekawości pobrałem Oracle 12c i utworzyłem kilka połączeń na poziomie aplikacji, które dobrze działały z moimi nazwami TNS i biblioteką DLL zestawu ładowania i mogłem bez problemu pracować z Oracle.
Powstało kilka usług internetowych, które współpracowały z połączeniami ze starszą wersją Oracle. Zostały zbudowane przy użyciu metod, które zostały specjalnie zmapowane do wybranych tabel, jednak ku mojemu rozczarowaniu. Musiałbym napisać własne.
Powiedziano mi, że grupa odpowiedzialna za utrzymanie baz danych Oracle będzie pisać nowe procedury składowane, aby zastąpić starsze, których używałem do wyodrębnienia interfejsu klienta i warstw logiki biznesowej.
W pierwszej chwili pomyślałem, że wszystkie typowe żądania danych, takie jak wypełnianie listy rozwijanej lub automatyczne uzupełnianie danych w całym przedsiębiorstwie, są wykonywane za pośrednictwem usług danych, które nazywają się procedurami składowanymi Oracle. Po co powtarzać ten proces dla każdej aplikacji i mieć każdego programistę z problemami z konfiguracją i wersją / obciążeniem oraz problemami z TNS?
więc....
- W przypadku problemów z wieloma serwerami baz danych, takich jak korzystanie z procedur składowanych Oracle w aplikacji .NET MVC, która zazwyczaj może używać EF do wykorzystania danych programu SQL Server, dlaczego nie przesuwać tych problemów do metod usługi Web Api, w których te problemy z konfiguracją można odizolować.
- Ponownie, interfejs klienta można wykonać za pomocą JavaScript, JQuery i JSON, których już używasz, jeśli robisz to za pomocą Web Api do wysyłania żądań danych SQL Server.
Jestem programistą / analitykiem aplikacji, a nie administratorem bazy danych, więc moja perspektywa wynika z doświadczenia i niekończącej się frustracji związanej z koniecznością ciągłego modyfikowania aplikacji, gdy rozwijają się narzędzia bazy danych.