Servis tabanlı program yazmak istiyorum. Spring MVC'ye entegre etmek üzere web services konusunu araştırdığımda iki web services ile karşılaştım.

Sizce hangisini neden tercih etmeliyim?

soruldu: 06 Haz '12, 04:49

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

değiştirildi: 01 Kas '12, 08:18

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Spring ile CXF birliktede kullanabilirsin. Çok iyi entegre edilmiş bir birleri ile bir kaç tanımla direk olarak ws açabiliyorsun. Artı olarak interceptor mantığını çok sevmiştim. Değişik fazlar için istediğin zaman araya girip işlemlerini yapabiliyorsun. (http://cxf.apache.org/docs/interceptors.html). Çok basit bir şekilde customization yapabilirsin.

Spring Ws ile bir web servis yazmaya kalktığımda çok cırmaladım diyebilirim.

İlk olarak, servlet tanımlıyorsun. Web.xml de daha sonra servleti oluşturuyorsun. Bazı özel beanler var onları tanımlaman gerekiyor. İşte request sınıfım bu response sınıfım bu diye. Daha sonra xsd oluşturman gerekiyor en son tanımladığın bean (sınıfın) ki bu end pointin oluyor. Bu sınıfında AbstractMarshallingPayloadEndpoint abstract sınıfını extend ettiği an web service çağrılabilir oluyor.

Kesinlikle CXF öneririm.

permanent link

cevaplandı: 07 Haz '12, 02:26

gklp's gravatar image

gklp
789317
cevap kabul oranı: 17%

Anlattıkların contract-first için yapılması gerekenler sanırım. Spring-WS'nin sitesinde contract-first'in ne kadar önemli olduğunu anlatmış. Esasen konfigürasyon kolaylığı açısında CXF seçilebilir ama kafamı karıştıran proje büyüdükçe contract-first'in beni ne kadar rahatlatacağı.

(07 Haz '12, 04:42) SaRPaRDa SaRPaRDa's gravatar image

cxf için contract-last olduğunu söylebilirim, çünkü direk olarak yazdığın java kodunu direk açıyorsun. anlaşacağı wsdl kendisi üretiyor. first yapabilmen için gerçekten sağlam bir analizin olması gerektiğini düşünüyorum. Böyle olsun ki contract ı tasarla ver sonra sen implement et. Bence daha zor. Ama şöyle bir şey var iki geliştirme şeklinde de illaki contract değişecektir.

(07 Haz '12, 05:09) gklp gklp's gravatar image

proje büyüdükçe sorun şu şekilde olabilir, dağıttığın bir web service inputu değiştiği ya da silindiği an hop kullananlarla papaz olursun. Çünkü wsdl ile yeniden sınıflarını üretmek zorunda kalacaklar, soap stack değişti. maliyet çıkacak. Nerelerde kullandığını kimin kullandığını iyi takip etmen gerek.

(07 Haz '12, 05:09) gklp gklp's gravatar image

Peki spring mvc ile entegrasyonuyla ilgili link verebilir misin?

(07 Haz '12, 07:06) SaRPaRDa SaRPaRDa's gravatar image

CXF'i kullanmanı tavsiye ederim. Her şeyden önce Spring WS in en büyük dezavantajı contract first olarak uygulamanı geliştirmek zorunda kalman. Yani önce xsd wsdl ları yazman lazım. Diğer bir ihtimali sunmuyor sana. ha ben zaten wsdl xsd yi kendim yazıyorum dersen senin için bir dezavantajı yok ama cxf springe göre daha komplike bir webservice frameworkü(sanırım framework diyebiliriz.) yani CXF kullandıgın zaman eksiğin olmaz fazlan olur Spring WS e göre.

permanent link

cevaplandı: 06 Haz '12, 15:11

jit's gravatar image

jit
86126
cevap kabul oranı: 16%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×71
×6
×2

Soruldu: 06 Haz '12, 04:49

Görüntüleme: 1,314 kez

Son güncelleme: 01 Kas '12, 08:18

powered by BitNami OSQA