Genel olarak
- Web Hizmeti düzeyi, birden çok uygulama için ortak veri taleplerinin yeniden kullanımını destekler
- Web Hizmeti, uygulama düzeyi geliştirmeden kaynaklanan birçok sorunu saptıran sürüm yönetimi ile kurulabilir. Örneğin, mevcut uygulama olan bir projede yeniysem, uygulamamı mevcut veritabanı kaynaklarını kullanacak şekilde yapılandırmak için iyi bir model olarak kullanırım.
- Web Hizmeti, basit bir URI kullanarak istekleri göndermek ve yanıt sonuçlarını JSON gibi ortak bir formatta geri almak için esnek seçeneklere izin verecek şekilde gelişmiştir; bu, istemci uygulamalarının güvenilir tek tip arayüzleri teşvik eden daha yaygın bir standart kullanılarak geliştirilebileceği anlamına gelir.
Sadece ASP.NET Web Api ile ilgileniyorum ve önce veri hizmetlerini yapmayı planlıyorum.
Son zamanlarda, varlık çerçevesinin kullanımıyla .NET MVC web uygulamalarına odaklanıyorum.
- Zaten MVC kullanıyorsanız, Web Api ayrıca MVC'yi Api denetleyicisiyle kullanır, böylece hizmetleri oluşturmak için öğrenme eğrisi oldukça ağrısızdır.
Başlangıçta Oracle depolanan prosedürlerine dayalı olarak oluşturduğum bir MVC web uygulamasıyla kısa süre önce kendimi sinir bozucu bir durumda buldum. Oracle 9 veya daha önceki sürüm gibi orijinal sürüm, Visual Studio 2012 ile daha modern bir bağlantı fabrikası yaklaşımını zorlayarak web yapılandırma bağlantılarına ve TNS adlarına dayalı olarak kullanılacak doğru dll dosyalarını bularak daha modern bir bağlantı fabrikası yaklaşımını ortaya koydu.
Veritabanına bağlanma girişimleri "artık desteklenmiyor" hata mesajlarıyla başarısız oldu. Merak ettiğim için Oracle 12c'yi indirdim ve TNS isimlerim ve yük derleme dll ile güzelce çalışan bazı uygulama seviyesi bağlantıları yaptım ve Oracle ile sorunsuz çalışabildim.
Eski Oracle sürümüne bağlantılarla çalışan bazı web servisleri inşa edildi. Bunlar, benim hayal kırıklığıma rağmen, seçilen tablolarla özel olarak eşleştirilen yöntemlerle oluşturuldu. Kendi yazmam gerekirdi.
Oracle veritabanlarının bakımından sorumlu olan gruba, istemci arayüzünü ve iş mantığı katmanlarını soyutlamak için kullandığım eski prosedürlerin yerine yeni depolanmış prosedürler yazacakları söylendi.
Bu yüzden ilk düşüncelerim, aşağı açılır listeyi doldurma veya kurumsal çaptaki verilerle otomatik tamamlama gibi tüm ortak veri taleplerinin, Oracle saklı prosedürlerini çağıran veri hizmetleri aracılığıyla yapılmasıydı. Neden bu işlemi her uygulama üzerinde tekrarlayıp her geliştiricinin yapılandırma ve sürüm / yük derlemesi, TNS sorunları ile uğraşmasını sağlayın?
yani....
- SQL Server veri kullanımı için genellikle EF kullanan bir .NET MVC uygulamasında Oracle saklı yordamlarının kullanılması gibi birden çok veritabanı sunucusu sorunu için, neden bu baş ağrılarını bu yapılandırma sorunlarının izole edilebileceği Web Api hizmet yöntemlerine itmeyin.
- Yine istemci arabirimi, SQL Server veri istekleri yapmak için Web Api kullanarak zaten kullanmakta olduğunuz JavaScript, JQuery ve JSON kullanılarak yapılabilir.
Ben bir Uygulama Geliştiricisi / Analistiyim ve bir DBA değilim, bu yüzden bakış açım, veritabanı araçları gelişirken uygulamaları sürekli olarak değiştirmek zorunda kalmanın hiç bitmeyen hayal kırıklığı deneyiminden kaynaklanıyor.