(27-11-2017, Saat: 17:03)Bahadir.Alkac Adlı Kullanıcıdan Alıntı: Merhaba,
İşin doğrusu ben de SOAP taraftarıyım. Ama SOAP'ın çok ciddi bir XML yükü var. Bu yüzden de özellikle yüklü miktarlarda veri göndermek istediğinizde çok fazla gereksiz XML verisi de göndermiş oluyorsunuz. REST API'si hem mimarisi, hem de genelde JSON kullandığı için bu sorun çok daha az.
Abdullah Bey, acaba siz kendi projelerinizde SOAP'ın bu ciddi XML veri yükünü yönetmek için bir şeyler yapıyor musunuz? Yapıyorsanız neler yapıyorsunuz?
Teşekkürler
Bahadır Bey, öncelikle taraf güçlendirmesi yaptığınız için teşekkür ederim.
Projelerin genişleme türüne göre tedbir alıyoruz. Bir projenin sadece windows tabanlı (ki bu durumda da yapıyoruz) olmasında yaklaşım biraz değişiyor. Mobil, web ve masaüstü platformları ne kadar bir arada ve çeşitli işlemleri paylaşıyor olsa da, hepsinin uygulama katmanını web servis üzerinde yapıyoruz. Böylece her platforma has baştan kodlamalar yapılmıyor. Platform bazlı çeşitli kontrol ve denetimler dışında kapsülleme için oluşturulan veri tipleri dahi bu servisler üzerinde tasarlanıyor.
İlerleyen zamanda projeye 3. parti geliştirme yapmak isteyenler olduğunda altyapının müsait olmasından ötürü talep edilen metodların ayrılıp bir token ile verildiği ek servislere taşımak çok kısa oluyor. Orada da çok katmanlı mimari üzerinden servis geliştirdiğimiz için n tane asmx dosyasına business metodlarını çıkartmamızın bir sakıncası olmuyor.
Dokümantasyon işi çok fazla yük alıyor. Onun haricinde XML parse işlemleri ile uğraşmıyoruz. Doğrudan wsdl'den oluşan pas dosyaları ile yerel soap nesnesi oluşturup metodları invoke ediyoruz. Tek tip mantığını da veritabanına göre planladığımız zaman her platform için başka kişiler geliştirme yapacağını hesaba koyarsak; tek bir dil ve standart üzerine yoğunlaşılıyor. Metod imzaları, isimlendirmeler, complex types dediğimiz veri yönetimi için oluşturulan özel obje tiplerine kadar her şey ortak kalmış oluyor.
Her ne kadar xml yük gibi gözükse de, güvenliği ve kararlılığı açısından benim vazgeçmem ilk aşamada çok zor gözüküyor.
E-fatura gibi milyonlarca datanın aktığı sistemlerin altyapısının planlamasında xml tercih ediliyorsa bir sebebi vardır kesinlikle. Buradan yola çıkarak; UBL (evrensel iş dili) standartları gibi kendi jargonunuza has standart bir isimlendirme politikası çok ciddi anlamda kolaylık sağlar.
Siz nasıl yaklaşıyorsunuz peki? Yönetimi, kullanımı ve dağıtımı açısından neler planlıyorsunuz?