Çalıştığım yer bazı temel kurallar oluşturmaya çalışıyor ve şu anda yaptığımız tartışma, kodların yeniden kullanımı için yerel kütüphaneler vs web hizmetleri. Web hizmetleri çoğu şirkette popüler bir seçim gibi görünüyor ve buradaki geliştiricilerin çoğu buna yöneliyor.
Herhangi bir ciddi iş için web hizmetlerini nasıl etkili bir şekilde kullanabileceğinizi göremiyorum. Bir işlemi kullanamıyorsam nasıl birden fazla servis çağrısı yapabilirim?
Diyelim ki, bilgilendirilmeleri gereken belirli bir koşula uyan müşterileri veritabanımızdan alan bir cron işim var. Bir faks, e-posta gönderilir ve sorunu dahili olarak izlemek için bir bilet oluşturulur. Bu, bir for döngüsündeki her müşteri için gerçekleşecek 3 farklı servis çağrısıdır.
Orada herhangi bir yerde bir hata oluşursa, örneğin müşteriye bir faks ve e-posta gönderilebilir, ancak bir bilet oluşturulmaz. Daha da kötüsü, bu cron işi her seferinde aynı noktada başarısız olmasına neden olan bir hatayı içerebilir ve aynı müşteriye tekrar tekrar e-posta gönderir. Kitaplıkların hepsi yerel olsaydı, her şey bir işleme sarılabilirdi ve bunların hiçbiri olmazdı. Ancak bu örnekte web hizmetlerini kullanıyoruz.
E-posta ve faks yöntemlerinin gerçekte verileri veritabanı destekli kuyruk tablolarına eklediğini ve bunun da ayrı bir cron iş süreci tarafından işlendiğini unutmayın. Dolayısıyla, "e-posta gönder" ve "faks gönder" hizmet yöntemlerine yapılan çağrılar, gerektiğinde yan etkisiz olarak iptal edilebilir.
Bir seçenek, bu kodun tamamını web hizmetinin kendisine koymaktır, böylece web hizmetinin kendisi bir işlemde e-posta, faks ve bilet oluşturma yöntemlerini çağırır. Ancak, yalnızca bir işlemin kullanımı için bir web hizmeti yöntemi oluşturuyoruz; bu yöntemi bu cron betiği dışında herhangi bir yerden çağırmamızın geçerli bir nedeni yoktur.
Bu yöntemi genel olarak nasıl ele alırsınız?