Şirketimiz oldukça büyük bir SOA girişimine başlıyor. Birçok şeyi doğru yapıyoruz: iyi iletişim var; uygun olduğunda araçlar için para; ve geçiş konusunda bize yardımcı olacak bazı uzmanlıklar getirdik.
Grup olarak takip edebileceğimiz standartlar geliştirmeye çalışıyoruz ve önerilen standartlardan biri beni biraz rahatsız ediyor:
Her işlemin bir istek nesnesini aldığı ve bir yanıt nesnesini döndürdüğü model üzerinde standartlaştırdık.
Bunun birçok insan için az çok standart bir yaklaşım olduğunu fark ettim, ama neden rahatsız etmem gerektiğini soruyorum. (Alınan bilgelikte o kadar iyi değilim, nedenine ihtiyacım var).
Vereceğim hizmetlerin çoğu basit kurumsal meta veri alımıdır. Örneğin, belirli bir kullanıcının güvenlik ilkesini bulun. Bunun için bir kullanıcı kimliği gerekir ve başka bir şey gerekmez. Standart, bu isteği bir nesneye sarmam ve döndürülen ilkeyi bir yanıt nesnesine sarmam gerektiğini söylüyor.
Rahatsızlığım, sözleşmelerimizden üretilen WSDL'ye bir bakışla güçlendirildi. WCF otomatik olarak istek ve yanıt iletileri oluşturur ve hatta istek / yanıt nesnesini sarar.
Karmaşık bir istekte bulunursanız, karmaşık bir giriş nesnesinin garanti edildiğini tamamen anlıyorum. Hizmetler dahil olmasa bile bunu yapardınız.
Sorum şu: Neden istekleri ve yanıtları otomatik olarak sarmam gerekiyor?
- Basit hizmetleri daha az etkileyici hale getirir
- Karmaşık bir hizmet için yine de yapardınız
- WCF yine de bir istek / yanıt mesajı oluşturur
Bu yaklaşım lehine aşağıdaki argümanları buldum:
İsteğe bağlı parametrelerin istek nesnesine kaydırılmasına izin vererek sürüm oluşturmayı destekler.
O günlerde, biraz COM yaptım ve bunu versiyonlama için neredeyse bir anti-desen olarak düşünürdüm. Bazı şeyler için, sanırım yardımcı olur, ama ben yardımcı olacağı yerde zaten zaten bir parametre nesnesi var bekliyoruz.
Ortak veri ve davranışın temel bir sınıfa ayrılmasını sağlar
Bu benimle biraz ağırlık taşıyor.
İnsanları bir RPC tarzı davranıştan ve bir mesajlaşma davranışına doğru yönlendirir
Bunu Microsoft'un sitesinde okudum ve gurumuzdan duydum, ancak ne anlama geldiklerini veya neden değerli olduklarını hala net bir şekilde bilmiyorum. Doğal görünümlü arayüzler insanları uzaktan servis çağırdıklarını unutmaya yöneltti mi?
Belki 300 yöntemin imzasını yeniden gözden geçirmeye çalışıyorum, bu yüzden bu önemsiz bir acı. Ben uygulamalarda büyük bir tutarlılık hayranıyım, bu yüzden acıyı üstlenmeye hazırım, sadece sonunda buna değeceğini bilmek yardımcı olacaktır.