Web Servis Mimarisi İlk Yaklaşım

708

Web Servisler tasarlanırken alınması gereken önemli bir karar vardır. Servis mimarisinin nasıl olacağı ve geliştirmelere nasıl başlanacağı önceden belirlenmelidir. Bu servis geliştirme yaşam döngüsünün belirlendiği kısımdır. Bu karar servisin contract first ya da contract last olup olmayacağı ile ilgilidir.

Contract First

Service First olarak da bilinir. WSDL dökümanın önceden oluşturulur. Servis geliştirmeye başlamadan taraflar tarafından wsdl yapısının kabul edilmesidir.

  • Wsdl bir sözleşmedir.

O zaman contract first yaklaşımda servisi sağlayan ve kullanan uygulamalar ilk olarak servis mimarisi hakkında bir sözleşme yapacaklardır.

Geliştirme, bu sözleşmeden sonra başlayacak ve bu sözleşmeye göre şekillenecektir. Bu metodolojide önce WSDL yani sözleşme yazılır. Web servisler bu wsdl içerisindeki kurallara göre geliştirilir.

 

Contract Last

Contract First mimarinin tam tersidir. Önce web servisler geliştirilir sonra WSDL üretilip servislerin birbirleri ile konuşması sağlanır.

  • Bu metodlojiler arasında daha öne çıkan Contract First yaklaşımıdır.

Önce servislerin geliştirilip sonradan wsdl dökümanın yaratıldığı durumlarda servisi sağlayan ile servisi kullanan arasında anlaşmazlıklar çıkabilir. Analiz dokümanına göre geliştirme yapan tarafların birbirleri ile senkronize geliştirme yapmalarında zorluklar olacaktır.

Örneğin id değeri için bir taraf Integer kullanmayı tercih ederken diğer taraf String kullanmayı tercih edebilir. O zaman uygulamalarda ya da servis katmanlarında tip dönüşümleri yapmayı gerektiren extra işler çıkacaktır. Ya da veri dağılımı farklı tasarlanabilir. Bu seferde veriler eşleştirilmeye çalışılacaktır. Wsdl’in önceden yaratıldığı mimaride ise taraflar belirli kuralları önceden kabul etmektedirler. Bu sözleşmede

  • Servisin adresi
  • Servisin data mimarisi
  • Servisin hata yönetimi

gibi birçok kural önceden belirlendiğinden geliştirme sonunda sorunlar en az düzeyde olacaktır. Örneğin data mimarisindeki sorunlar daha ortaya çıkmadan çözülmüş olacaktır.

 

Kaynak: Enterprise Java

Yorum yaz

Email adresiniz yayınlanmayacaktır.