Birbirini çağıran birden fazla hizmetten oluşan bir sistemde (ör. Ön Uç -> Arka Uç -> Depolama), sık sık "aşağı akış" veya "yukarı akış" hizmetleri gibi terminoloji kullanan insanları duydum. Bunların hangi yönde olduğu konusunda net değilim. Veri her iki yönde de akar. İstekler kullanıcı tarafından daha fazla arka uç hizmetine akar, ancak yanıtlar ters yönde akar, bu yüzden bana her iki şekilde de tartışılabilir
Aşağı akış hizmetleri, yukarı akış hizmetini tüketenlerdir. Özellikle, yukarı akış hizmetine bağımlı. Dolayısıyla, ön uç arka uca doğru akar çünkü arka uca bağlıdır. Arka uç, ön uç olmadan anlamlı bir şekilde var olabilir, ancak ön uç arka uç olmadan anlamlı değildir.
Bağımlılığın, bir önceki paragrafta yer aldığım kadar güçlü olması gerekmez. Daha genel olarak, yukarı yönlü hizmetlerin aşağı yönlü hizmetlerin varlığını bilmesi veya önemsemesi gerekmez. Alt hizmetler, yalnızca isteğe bağlı olarak tüketseler bile, üst hizmetlerin varlığına önem verirler.
Maalesef, yukarı/aşağı yönünün anlamı hakkında görüş farklılıkları vardır. Sistem mimarisi hakkında konuşurken, onu şöyle tanımlarım:
Bir endişe sistemi göz önüne alındığında, ilgili sisteme mesajlar/veri alışverişi başlatan sistemler yukarı akış sistemleridir ve ilgili sistemin bağlı olduğu sistemler (yani sistemimin veri alışverişini başlattığı sistemler) aşağı akış sistemleridir.
IBM'in ürünlerinden biriyle etkileşimleri tanımlayan bu bağlantı şu görüşü desteklemektedir: Yukarı ve aşağı sistemlerle entegrasyonhttps://www.ibm.com/support/knowledgecenter/en/SSWSR9_11. 3.0/com.ibm.pim.dev.doc/entegrasyon/pim_con_dev_creatingjobsforintegrationcontainer.html
Bir yukarı akış sistemi, Collaboration Server sistemine veri gönderen herhangi bir sistemdir. Aşağı akış sistemi, Collaboration Server sisteminden veri alan bir sistemdir.
'Akış yukarı' ve 'akış aşağı' terminolojisi göz önüne alındığında, bir nehirle analoji yapılmasına yardımcı olabilir. Nehirde bir mesaj (veri) bırakırsanız, yukarı akıştan (başlatıcı) aşağı akışa (alıcı) akar.
Anekdot olarak, mimarların ve ara katman yazılım geliştiricilerinin bu tanımı ve web geliştiricilerini tam tersini kullandıklarını gördüm (belki 'yükleme' nedeniyle).
Etkinlik zaman çizelgeleriyle bir olay, zaman çizelgesindeki bir noktadan önce gerçekleştiğinde (yani başka bir etkinliği tetikler) yukarı akış olur ve daha sonra gerçekleştiğinde (olayı aldığında) aşağı akış olur. Bu nedenle, bir dizi olayda yukarı akış ve aşağı akış nedir, zaman çizelgesinde nerede olduğunuza bağlıdır. Bir olay, başlangıç noktanızın öncesinde veya sonrasında olmasına bağlı olarak hem akış aşağı hem de akış yukarı olabilir.
@Jack'in notlarına göre RFC7230 tools.ietf.org/html/rfc7230#section-2. buna sahiptir:
"Akış yukarı" ve "akış aşağı" terimleri,
mesaj akışıyla ilgili yönlü gereksinimler: hepsi
mesajlar yukarı akıştan aşağı akışa akıyor
En yaygın kullanımın olduğu oyları görmek isterim!
Bunu düşünmenin en iyi yolu bir nehir düşünmektir.
Nehrin aşağı akış kısmı, yukarı akıştan gelmediği sürece su alamaz, yani aşağı akış suyu için yukarı akışa bağımlı değildir.
Birisi nehrin aşağı akış kısmını tahrip etseydi, bunun yukarı akışta bir etkisi olmazdı. Birisi nehrin yukarı akış kısmını tahrip ettiyse, bu aşağı havayı etkileyecektir, yani su almaz.
Dolayısıyla aşağı yönlü hizmetler yukarı yönlü hizmetlere bağlıdır. Yukarı akış hizmetleri kaldırılırsa, aşağı akış hizmetleri düzgün çalışmaz.
Bu teknik olmaktan çok dilsel ve coğrafi bir sorun olabilir.
Bilgi talebi yukarı doğru gider. Bir alt sistemden gelir.
Bilgi talebine verilen yanıt (talep edilen bilgiler) aşağı doğru gider ve yukarı doğru bir sistem tarafından gönderilir.
Klasik IBM görüşü ile bugünün web topluluğunun terimleri kullanması arasında bir fark yoktur.
Hizmet sağlayıcı (sunucu), hizmet tüketicisine kıyasla konum yukarı akış ve tüketiciye aşağı akış gönderir bilgi olacaktır.
Hizmet tüketicisi (istemci), hizmet sağlayıcısına kıyasla konuml akış aşağı ve sağlayıcıya yukarı akış gönderir istekleri olacaktır.
Teorik olarak fiziksel sistemlerin rolleri anında değişebilir ve bu sistemler arasındaki akışın yönü de değişebilir. Eşler arası bir ağda durum bu olabilir.
Yükleme ve indirme terimleri müşteri merkezli terimlerdir. Müşterinin bakış açısından, bir istek yüklenir ve akış metaforu ile tutarlı bir yanıt indirilir.