SOA ve Web Servisleri
Web hizmetleri, HTTP üzerinden SOAP kullanarak mesaj gönderebilen/alabilen uygulamalar oluşturmak için kullanılır. Bir web hizmeti, web üzerinden sunulan halka açık bir işlevsellik paketidir. SOA, hizmetlerin geliştirilmesi ve entegrasyonu için kullanılan bir dizi mimari kavramdır. SOA'yı uygulamak için web servisleri kullanılabilir. Ancak SOA tabanlı uygulamaları gerçekleştirmenin yalnızca tek bir yöntemidir.
Web Servisleri Nelerdir?
Bir Web Hizmeti, ağ üzerinden bir iletişim yöntemidir. W3C'ye göre, bir Web hizmeti, bir ağ üzerinden makineden makineye işlemleri desteklemek için ayrılmış bir sistemdir. Bu, WSDL'de (Web Hizmeti Açıklama Dili) açıklanan bir Web API'sidir ve Web hizmetleri genellikle bağımsızdır ve kendi kendini tanımlar. Web servisleri, UDDI (Evrensel Tanımlama, Keşif ve Entegrasyon) protokolü kullanılarak keşfedilebilir. SOAP (Basit Nesne Erişim Protokolü) mesajlarını tipik olarak HTTP üzerinden (XML ile) değiştirerek, diğer sistemler Web servisleriyle etkileşime girebilir.
Web servisleri, RPC (Uzaktan Yordam Çağrıları), SOA (Servis Odaklı Mimari) ve REST (Temsili Durum Transferi) gibi çeşitli şekillerde kullanılır. Web hizmetleri geliştirmek için iki otomatik tasarım metodolojisi vardır. Aşağıdan yukarıya yaklaşım, önce sınıfları oluşturmak ve ardından bu sınıfları Web hizmetleri olarak oluşturmak için WSDL oluşturma araçlarını kullanmakla ilgilenir. Yukarıdan aşağıya yaklaşım, WSDL spesifikasyonlarının tanımlanması ve ardından ilgili sınıfları oluşturmak için kod oluşturma araçlarının kullanılması ile ilgilenir. Web servislerinin iki ana kullanımı vardır. Yeniden kullanılabilir uygulama bileşenleri olarak ve/veya farklı platformlarda çalışan web uygulamalarını bağlamak için kullanılabilirler.
SOA nedir?
SOA (Hizmet odaklı mimari), hizmetlerin geliştirilmesi ve entegrasyonu için kullanılan bir dizi mimari kavramdır. SOA, tüketicilerin bir dizi birlikte çalışabilir hizmet tükettiği dağıtılmış bilgi işlem ile ilgilenir. Birden fazla tüketici tek bir hizmeti tüketebilir ve bunun tersi de geçerlidir. Bu nedenle, SOA genellikle farklı platformlar kullanan birden çok uygulamayı entegre etmek için kullanılır. SOA'nın düzgün çalışması için, hizmetlerin işletim sistemleri ve temeldeki uygulamaların teknolojileri ile gevşek bir şekilde birleştirilmesi gerekir. SOA geliştiricileri, işlevsellik birimlerini kullanarak hizmetler oluşturur ve bunları internet üzerinden kullanılabilir hale getirir. SOA mimarisini uygulamak için web servisleri kullanılabilir. Bu durumda web servisleri, internet üzerinden erişilebilen SOA'nın işlevsellik birimleri haline gelir. Web servisleri, platformlar veya bunları geliştirmek için kullanılan programlama dilleri hakkında endişe duymadan herkes tarafından kullanılabilir. SOA, doğrudan, hizmetin gerçek platform uygulaması hakkında endişelenmeden kullanıcılar tarafından bağımsız olarak erişilebilen basit bir arayüze sahip hizmetlerden bahseden hizmet odaklılık ilkesi üzerine kurulmuştur.
SOA ve Web Servisleri arasındaki fark nedir?
Web hizmetleri ve SOA arasında bazı önemli farklar vardır. Web hizmetleri, HTTP üzerinden SOPA kullanarak mesaj gönderebilen/alabilen uygulamalar oluşturmak için kullanılabilecek bir web teknolojisi tanımlar. Ancak SOA, gevşek bağlı hizmet tabanlı uygulamaları uygulamaya yönelik mimari bir modeldir. SOA uygulamalarını uygulamak için web servisleri kullanılabilir. SOA'ya web servis yaklaşımı çok popüler hale gelse de, SOA'yı uygulamanın yalnızca tek bir yöntemidir. SOA, başka herhangi bir hizmet tabanlı teknoloji (ör. CORBA ve REST) kullanılarak uygulanabilir.