Ana içeriğe atla

WebHook Nedir?

Backend teknolojileri ile ilgilendiyseniz API'nin ne olduğunu duymuşsunuzdur. REST,SOAP gibi API uygulamaları bir içerik sağlayıcısının, bu içerikle ilgilenen diğer uygulamalara bu içeriği nasıl sunacağını belirlerler. Örneğin SOAP XML yapısı içerisinde verileri sunarken, REST JSON olarak verileri sunar. API'ler genelde tetiklenmeye ihtiyaç duyarlar. Yani API kaynakları sizin hangi içeriğe ne zaman ihtiyacınız olduğunu bilmedikleri için sizin API'den bu içerikleri talep etmeniz yani request oluşturmanız gerekir. Eğer sadece bir takım olayları takip etmeniz gereken bir durumla karşı karşıyaysanız, örneğin mail sunucunuza mail gelmiş mi, bunun için belirli aralıklarla API kaynağını rahatsız etmeniz gerekir. Bu da ortada henüz içerik yokken API'lerin gereksiz yere meşgul edilmesi demektir. Bu duruma çözüm olarak işte WebHook geliştirilmiştir. 

  WebHook tetiklenmeye ihtiyaç duymayan bir API çeşididir diyebiliriz kısaca. Yani burada kullanıcılar içerik elde etmek için API'yi rahatsız etmezler. Tam tersine API onları rahatsız eder. Nasıl yani? Yani şöyle. Siz API kaynağına kendinizi kayıt ettirirsiniz, hangi bilgileri talep ettiğinizi söylersiniz(bu seçenek varsa tabi) ve daha sonra içerik sağlayıcısı kaynaktan,yani API'den,gelecek verileri beklersiniz. Böylece sürekli içerik sağlayıcısını meşgul etmenize gerek kalmaz. WebHook için reverse api de denilmektedir yani tersine api. 

 Peki buradaki kayıt mantığı nedir, WebHook bize verileri nasıl gönderir? Öncelikle kayıt işleminden kasıt şudur. Siz API servisine verileri işleyeceğiniz bir web adresi verirsiniz, API servisi de bir içerik oluştuğunda sizin bu web adresinize istekte bulunur, tabi içerikle beraber. Örneğin mailleri almak istediğiniz bir web adresiniz var, https://example.com/getmail. Bunu API servisine bildirirsiniz. Aynı zamanda bu web adresinize gelecek olan istekleri ele alacak şekilde konfigurasyon yaparsınız. Örneğin django uygulamanız varsa urls.py dosyanızda getmail/ adresini views.py dosyasında mail_parser fonksiyonuna yönlendirirsiniz. Veya diğer web frameworklerinde başka şekilde istekleri değerlendirmek için gerekli işlemleri yaparsınız. Böylece size bir mail geldiğinde API servisi sizin https://example.com/getmail adresinize bu maili gönderir ve siz de gelen bu maili işlersiniz. 

 WebHook teknolojisinin nasıl çalıştığını elimden geldiğince anlaşılır bir şekilde anlatmaya çalıştım. Umarım faydalı olur, bir başka yazıda buluşmak üzere...

Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

CLAHE (Contrast Limited Adaptive Histogram Equalization) Histogram Eşitleme Tekniği

Bu yazıda CLAHE algoritmasını nasıl uygulayacağımızı ve verilen bir resmi histogram eşitlemesi için nasıl işleyeceğimizi öğreneceğiz. Bu yazıda, CLAHE algoritmasının, görüntü iyileştirme için nasıl uygulandığını göreceğiz. CLAHE, görüntü kontrast değerlerinin aşırı yüksekliği ile ilgilenen AHE algoritmasının bir varyantıdır. CLAHE, bütün resim üzerinde işlem yapmak yerine kesitler olarak adlandırılan küçük bölgeler üzerinde işlem yapar. Küçük kesitlerde yapılan işlem sonrasında oluşan yapay sınırları kaldırmak için bilinear interpolasyon işlemi uygulanarak bu küçük kesitler birleştirilerek son görüntü elde edilir.  Bu algoritma görüntü kontrastını iyileştirmek için kullanılabilir. CLAHE algoritmasını renkli görüntülere de uygulayabiliriz. Genelde HSV görüntülerin yalnızca parlaklık kanalına uygulandığı durumlarda, tüm RGB kanallara uygulamaktan çok daha başarılı sonuçlar elde etmemizi sağlar.  CLAHE algoritması uygulanırken 2 parametre önemlidir. Birincisi clipLimit parametres...

Python Subprocess

subprocess modülü, yeni bir process oluşturmayı sağlayan, bunların girdi-çıktılarını ele alma imkânı veren ve dönüş kodlarını almayı sağlayan bir modüldür. Yani daha basit bir şekilde, program içinde program çalıştırmaya imkan veren bir modüldür. Subprocess Modülünün Kullanımı subprocess basit bazı process'leri kullanmak için birkaç tane fonksiyon sunuyor. Daha karmaşık bir process çalıştırmak isterseniz, Popen sınıfını kullanabilirsiniz. Bunlara detaylı bir şekilde değinmeye çalışacağız. Şimdi basit fonksiyonları inceleyelim

Python Soket Programlama

Merhaba arkadaşlar. Bugün sizlerle birlikte Python'da socket programlama yapacağız. Bunun için Python da socket kütüphanesini kullanacağız. Peki nedir bu socket programlama? Soket programlama, sizin iki program arası yada iki bilgisayar arası iletişim kurmanızı sağlar. İşte bizde bugün iki programımızı birbiri ile haberleştireceğiz. Bunun için elimizde iki program olacak. Birinci program,mesaj bekleyen program olacak, diğeri ise mesaj gönderen program.