web services tutorial
Bu Web Hizmetleri Eğitimi, Önemli Terminolojilerle Birlikte Bir Web Hizmetinin Mimarisini, Türlerini ve Bileşenlerini ve SOAP Vs REST Arasındaki Farkları Açıklar:
Bunda Eksiksiz API Testi Eğitim Serisi hakkında her şeyi keşfettik API Testi önceki eğitimimizde. WSDL ve UDDI'ya ve bir Web Hizmetini nasıl depolayıp tanımladıklarına aşina olmak için bu öğreticinin üzerinden geçin.
Bu öğretici ayrıca, bir istemci uygulaması bir talepte bulunduğunda Web Hizmetlerinin dahili olarak nasıl çalıştığını açıklayacaktır. SOAP Hizmetlerinin bir diğer çok önemli konsepti olan WSS de burada anlatılmaktadır.
Ne öğreneceksin:
Web Servis Testinde Önemli Terminolojiler
Web Hizmetlerini keşfetmeye başlamadan önce, Web Hizmetleri Testinde kullanılan önemli terimlere aşina olmalıyız.
Hadi başlayalım!!
# 1) Birlikte Çalışabilirlik
Web Hizmetleri, 'Tek Kod Farklı Uygulamaları' destekler. Bu, farklı platformlardaki tüm uygulamalar için tek bir genel kod anlamına gelir.
Dolayısıyla birlikte çalışabilirlik, birden fazla uygulamanın farklı bir platformda bulunan diğer uygulamalarla iletişim kurmasını kolaylaştıran süreçtir.
# 2) Kimlik Doğrulama ve Yetkilendirme
Bunlar çoğunlukla SOAP Web Servislerinde kullanılır. Genel anlamda, Kimlik Doğrulama bir şeyi doğrulamak anlamına gelirken, Yetkilendirme bir şeye erişim hakkı vermek / sahip olmak anlamına gelir.
Örneğin - Bir Facebook sayfam varsa, o zaman Facebook'un kimliği doğrulanmış bir kullanıcısı olarak kabul edilebilirim. Oysa facebook'ta fotoğraflarıma bakma hakkınız varsa yetkili bir kullanıcısınız demektir.
Bu ikisini birleştirdiğimizde, 'Kaynaklara erişimi olan tüm kimliği doğrulanmış kullanıcılar, bu kaynaklar için Yetkili Kullanıcılar olarak bilinir' diyebiliriz.
Aynı şey Web Hizmetlerinde de olur, yani belirteci oluşturmak için kullanılan kullanıcı kimliği ve şifre kimlik doğrulama bölümünü kapsar ve web sunucusuna bir istek gönderirken kullanılacak bu simge, yetkilendirme bölümünü kapsar.
# 3) Gevşek Bağlanmış Mimari
Web Hizmetleri, Loosely Coupled Architecture'a dayanmaktadır. Bu, Web Hizmetlerinin arayüzlerinin doğası gereği dinamik olduğu (belirli bir zaman çizelgesinde değiştiği) anlamına gelir. Ancak hizmetle etkileşimde bulunurken istemci mantığının mutlaka değişmesi gerekmez.
Bu, birden fazla yazılımın daha verimli bir şekilde entegrasyonunu kolaylaştırır. Sıkı Birleştirilmiş Mimari ise, arabirim her değiştiğinde, hizmet ile senkronize olması için istemci mantığının değiştirilmesi gerekir.
# 4) Eser
Web Hizmetlerinde bilgi veya verileri belirtmek için kullanılan bir terimdir. Bu verilerin tamamı değil, bir URL veya URI, bağlam anahtarı, belge anahtarı, bir yük veya destekleyici görüntüler içerebilecek bir bilgi parçasıdır.
# 5) Bitiş Noktası
Bu, web servisinin her talebinde kullanılan çok yaygın bir terimdir. Bu, Web Hizmeti örneğine denk gelen tam URL'dir.
Örneğin - https://www.facebook.com/imsaket -> bu, URL olarak facebook.com'a sahip olan ve belirli bir adresi benzersiz bir şekilde tanımlamak için bağlam anahtarı olarak “imsaket” geçen tam URL veya bitiş noktasıdır.
c ++ için tutulmayı kurma
# 6) Idempotent
Bu, hizmetin örneğine kaç kez vurduğunuz önemli olmayan ve sunucunun her zaman istemciye aynı yanıtı vereceği istemci-sunucu etkileşimindedir.
# 7) Marshalling ve Demarshalling
Bildiğimiz gibi, kapsülleme, kod ve verilerin tek bir yerde toplanması olarak tanımlanan bir OOPS ilkesidir. Aynı şey SOAP Web Servislerinde de olur. Bir SOAP mesajı oluşturmak ve bunu sunucuya göndermek için verileri yük (XML) içine sardığımızda veya kapsüllediğimizde, bu kapsülleme işlemine Marshalling adı verilir.
Demarshalling, Marshalling'in sadece karşılığıdır. SOAP mesajından verilerin ve kodun (XML) kapsüllerinin açılması veya açılması yöntemine 'Demarshalling' denir.
Web Hizmeti Nedir?
Daha önce tartışıldığı gibi, Web Hizmetleri, bir makineden diğerine bir ağ üzerinden hizmet veren hizmetlerdir.
Web Hizmetleri Örneği: Çevrimiçi kullanıcıların Amazon.com ve Amazon.in'de satılan farklı ürünlerin fiyatlarını görüntülemelerine olanak tanıyan AWS (Amazon Web Services)
Web Hizmetlerinin Bileşenleri
Aşağıda Web Hizmetlerinin çeşitli bileşenleri listelenmiştir.
# 1) SABUN
Web Hizmetleri, XML'i bir yük veya istek gövdesi olarak kullanan Basit Nesne Erişim Protokolünü (SOAP) kullanır. Bu bir durum bilgisi olan protokol belirli bir işlem türü için bağımsız bir yöntem olmadığından.
Tüm istekler ve yanıtlar aynı anda XML aracılığıyla taşınır ve GET, PUT, POST veya DELETE gibi bağımsız yöntemler açık bir şekilde sunulmaz.
# 2) WSDL
Bu SOAP isteği, Web Hizmetleri Açıklama Dili (WSDL) Bu, Web Hizmetinin çok kullanışlı bir bileşenidir.
Bu, Web Hizmetinin gerçekte nerede bulunduğunu ve ayrıca belirli bir talep için alınacak Web Hizmetinin türünü tanımlar. Bu, Web Hizmeti işlevselliğini açıklayan bir XML dosyası kullanır.
# 3) UDDI
Başka bir kullanışlı bileşen ise UDDI . Bu, Evrensel Açıklama Keşfi ve Entegrasyonu anlamına gelir. Web Hizmetini sağlayan bir hizmet sağlayıcı vardır. Bu nedenle, belirli bir hizmet sağlayıcı için bu UDDI, bu Web Hizmetlerini açıklamak, keşfetmek ve yayınlamak için kullanılır.
UDDI, bir istemcinin WSDL’nin XML dosyasının nerede olduğunu öğrenmesine izin vermekten sorumludur (UDDI, WSDL için bir depo sağlar). Bir Web Hizmeti bu şekilde tanımlanır ve açıklanır.
# 4) XML-RPC
Genişletilebilir İşaretleme Dili - Uzak Prosedür anlamına gelir. Web Hizmetinin bir diğer önemli bileşeni, sistemler arasında mesaj göndermekten sorumlu olan XML - RPC'dir. İstekler ve yanıtlar XML biçimindedir ve HTTP POST aracılığıyla gönderilir / alınır.
XML-RPC'nin en iyi özelliği, farklı bir platformda bulunan bir istemci uygulamasının farklı bir sunucu ile iletişim kurabilmesidir. JSON-RPC denen bir şey var ve bir Web Servisinin bir bileşenini oluşturmadığından makalenin sonraki bölümünde açıklanmış.
Bir Web Hizmetinin Mimarisi
Bir Web Hizmetinin mimarisi aşağıdaki diyagramda gösterilebilir.
Zaten bildiğimiz gibi, tipik bir Web Hizmetleri mimarisi üç varlıktan oluşur, yani işlemi gerçekleştirmek için bir İstemci, bir Web Sunucusu ve bir İnternet. İşlem, bir istemci-sunucu mimarisindeki istek ve yanıttan başka bir şey değildir.
Bir İstemci, tipik olarak bir Web Hizmetini talep eden ve dolayısıyla onu Hizmet Tüketicisi yapan tüm uygulamaların veya yazılım sistemlerinin bir setidir.
Web Sunucusu, Web Hizmeti sağlayan tüm uygulamalar veya yazılım sistemleri kümesidir. Her Web Hizmetinin çalışması için bir ağ gerekir ve bu, İnternet adı verilen üçüncü varlık ile sonuçlanır.
Bu, bir Web Hizmetinin mimarisine genel bir bakıştır.
Bir Web Hizmetinin çalışma şeması aşağıda gösterilen üç bileşenle tanımlanır.
- Hizmet İsteği Sahibi (Bul ())
- Servis Sağlayıcı (Yayınla ())
- Hizmet Kaydı veya Depo (Bind ())
Bu, SOAP Servis mimarisinde (ayrıntılı olarak diyagramla) açıklanmıştır.
çevrimiçi izlemek için ücretsiz anime siteleri
Web Hizmetleri Türleri
Aşağıda iki tür Web Hizmeti ayrıntılı olarak açıklanmaktadır.
# 1) SABUN Hizmeti
SOAP Service, Basit Nesne Erişim Protokolü anlamına gelir. SOAP hizmetleri, bir zarf oluşturmak için XML dilini kullanan durum bilgisi olan hizmetlerdir. SABUN zarfı iki kısımda tanımlanabilir, yani biri bir SABUN başlığı ve gövdesi diğeri protokol SOAP mesajları göndermek için kullanılır.
Bu SOAP başlığı, erişim sağlayan Kimlik Doğrulama ve Yetkilendirmeden oluşur. Gövde, isteğin Web Hizmetini açıklamak için WSDL kullanan yük bölümü altında gelir ve protokol esas olarak HTTP'dir (Hiper Metin İletim Protokolü).
Web Hizmetleri Güvenliği
SOAP hizmetleri, iletim sırasında herhangi bir veri sızıntısını önlemekten sorumlu olan ve böylece şifreleme ve şifre çözme sağlayan bir SSL katmanına (Güvenli Soket Katmanı) sahiptir.
Bu arada, SOAP hizmetleri, hizmet ile uygulama arasındaki iletişim sırasında ifşa edilmemesini garanti eden WSS'ye (Web Hizmetleri Güvenliği) sahip olduğundan daha güvenlidir.
Hepimizin bildiği gibi, her Web Hizmeti (Web API'nin aksine), çalışmasını yürütmek için bir ağa ihtiyaç duyar. Böylece, Web Servislerinin bir ağa bağlandığında güvenliği sağlaması gerekli hale gelir. Dolayısıyla, Web Servislerinin mesaj aktarımı sırasında güvenlik faktörünü kapsaması için üç önemli varlığı vardır.
- Kimlik doğrulama ve yetkilendirme (Yukarıda zaten açıklanmıştır).
- Gizlilik: Bu, tamamen SOAP zarfının şifrelenmesini ve şifresinin çözülmesini sağlayan SSL'ye bağlıdır.
- Ağ güvenliği: Bu, sunucudan aldığınız tüm SOAP ve XML - RPC yanıtlarını çıkarmak anlamına gelir. Örneğin, POSTMAN veya PARASOFT gibi herhangi bir Web Hizmeti aracını alırsanız, bunu HTTP başlık yöneticisi altında Content-Type değerini ayarlama seçeneğinin olduğunu göreceksiniz. Değer, tüm REST'i ayıklayacak şekilde Uygulama / JSON olarak ayarlanabilir (SABUN hizmetleri HTTP Üstbilgi yöneticisi seçeneklerini desteklemediğinden). Böylece, içerik türü: Uygulama / XML'yi bir yük XML biçiminde. Bu aynı zamanda SABUN ve XML-RPC'yi çıkarır.
Bu üç faktör, dış saldırılarla başa çıkmak için Web Hizmetleri Güvenliği'ni oluşturur.
SOAP Servis Mimarisi
Her SOAP hizmeti, sonuçta SOAP Hizmetinin mimarisini oluşturan üç varlığa bağlıdır.
- Servis sağlayıcı: Web Hizmetinin bir parçası olan veya sağlayan tüm yazılım sistemleri veya uygulamaları.
- Hizmet Talep Eden: Hizmet Sağlayıcıdan Web Hizmeti taleplerinin bir parçası olan tüm yazılım sistemleri veya uygulamaları.
- Hizmet Kaydı: Web Hizmeti ile ilgili tüm bilgilerin Servis Sağlayıcı tarafından sağlandığı bir kayıt defteri veya depo. (UDDI'da zaten tartışılmıştır)
Açıklama
Bu üç varlık, başarılı bir Web Hizmeti Uygulaması gerçekleştirmek için birbiriyle etkileşim halindedir. Bu üç aşamada yapılır. İlk aşama, Yayınla() Hizmet Sağlayıcının bir Hizmet Kayıt Defteri veya Depodaki bir Web Hizmeti ile ilgili tüm ayrıntıları beslediği aşama.
İkinci aşama Bul () Burada bir Hizmet Talebi esas olarak istemci uygulamasının Web Hizmeti ile ilgili ayrıntıları bir havuzdan bulur (ayrıca WSDL XML dosyası vardır). Son aşama Bağlama () İstemci uygulaması veya Hizmet İsteği Sahibi, Web Hizmetinin nihai uygulaması için Hizmet Sağlayıcı ile senkronize olur.
# 2) RESTful Hizmet
REST, Temsili Devlet Transferi anlamına gelir. Vatansız Hizmet.
Web Sunucusu istemci oturumu hakkında herhangi bir bilgi depolamadığı için Durumsuz olarak adlandırılır (istemci uygulamasının bağlanmasına ve yürütülmesine kadar geçen süre), bu da her istek türünün GET gibi REST dahili yöntemlerin yardımıyla kolayca işlendiği ve gerçekleştirildiği anlamına gelir. POST, CUSTOM (PUT), DELETE, HEAD vb.
Aslında, bu yöntemler SOAP'ta mevcut değildir.
Yöntem veya Fiiller
REST'teki her yöntemin bir önemi vardır. Aşağıda, her biri hakkında brifing verilmiştir.
- ALMAK: Bu yöntem, PUT veya POST gibi yöntemlerden herhangi biri kullanılarak sunucuya gönderilen bilgileri almak için kullanılır. Bunun bir istek gövdesi yok. Başarılı yürütme size 200 yanıt nesnesi verecektir.
- İLETİ: Bu yöntem, bir istek gövdesi, belirtilen URL, belge anahtarı, bağlam anahtarı vb. Kullanarak bir belge veya kayıt oluşturmak için kullanılır. Aynısı GET yöntemi kullanılarak alınabilir. Başarılı uygulama size 201 yanıt verecektir.
- KOYMAK: Bu, POSTMAN veya PARASOFT'ta bulunan ÖZEL seçeneğinin altındadır. Bu yöntem, zaten mevcut olan herhangi bir belge veya kaydı güncellemek için kullanılır. Başarılı uygulama size 201 veya 200 yanıt verecektir.
- SİL: Bu yöntem herhangi bir kaydı silmek için kullanılır. Başarılı yürütme size 204 yanıt verecektir (içerik yok).
Not: HTTP yanıt kodları, geliştiricilerin nasıl kod yazdığına bağlıdır ve zaman zaman değiştirilebilir. Her yöntem türünden aldığımız ortak yanıt kodlarını listeledik.
REST Hizmetinin Mimarisi
REST hizmetinin mimarisi iki varlığa bağlıdır, yani Hizmet Tüketicisi veya Talep Eden ve Hizmet Sağlayıcı. Hizmet Tüketicisi, Web Hizmetinden yararlanan kişidir ve Hizmet Sağlayıcı, Web Hizmetini sağlayan yazılım veya sistem koleksiyonudur.
Genellikle bir Hizmet Tüketicisi olan istemci uygulaması, yerleşik REST yöntemlerini, bir URL veya URI, bir HTTP sürümünü ve bir yükü (yöntem tarafından destekleniyorsa) kullanır.
SABUN - REST
Bu iki tür Web Hizmetleri, istek ve yanıtı gerçekleştirmek için kullanılsa da, işleyiş biçimleri tamamen farklıdır.
Farklılıkları referansınız için aşağıda listelenmiştir.
- SABUN zarfı REST'te kullanılabilir ancak bunun tersi mümkün değildir. Örneğin. SOAP'ta oluşturulan bir kullanıcı belirteci, HTTP başlık yöneticisi -> Yetkilendirme altındaki REST isteğinde geçirilebilir.
- SOAP hizmetleri, SSL dışında WSS sağladığından, SOAP tipik olarak REST hizmetlerinden daha güvenlidir. Bu SSL hem SOAP hem de REST'te mevcuttur.
- SOAP, XML veri formatı nedeniyle SOAP'ta istek işleme daha fazla zaman aldığından, SOAP REST'ten daha yavaştır. REST, çok hafif olan ve dolayısıyla daha hızlı hale getiren JSON kullanır.
- SOAP'ın herhangi bir dahili yöntemi yoktur, ancak REST'te GET, PUT, POST vb. Bulunur.
- SOAP durum bilgilidir, REST ise durum bilgisizdir.
- SOAP'taki istek ve yanıt gövdeleri yalnızca XML veri biçimini destekler. REST'te, istek ve yanıt gövdeleri JSON, XML, Düz Metin vb. Gibi birçok veri biçimini destekler.
Sonuç
Bu Web Hizmetleri öğreticisi, Web Hizmetlerinin mimarisini, bileşenlerini ve türlerini açıkladı.
Ayrıca, Web Hizmetleri ile ilgili diğer önemli kavramlar ve terminolojilerin yanı sıra SOAP ve REST hizmetleri arasındaki farkları da öğrendik.
Bu eğitimin Web Hizmetlerini anlamanıza yardımcı olacağını umuyoruz !!
PREV Eğitimi | SONRAKİ Eğitici
plsql röportaj soruları ve cevapları pdf
Önerilen Kaynaklar
- Örneklerle Python DateTime Eğitimi
- Java SWING Eğitimi: Konteyner, Bileşenler ve Olay İşleme
- HTML Enjeksiyon Eğitimi: Örneklerle Türler ve Önleme
- Örneklerle Unix Shell Komut Dosyası Oluşturma Eğitimi
- Selenyum Örneklerle Metin Eğitimi ile Eleman Bul
- Uygulamalı Örneklerle Python Ana İşlev Eğitimi
- Araçlar ve Örneklerle İkili Test veya Tüm Çiftler Testi Eğitimi
- Örneklerle Yapılandırma Testi Eğitimi