Page 76 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 76
76 | Mikro Önyüz Mimarisi
Ekranlar Arası Yönlendirme
Mikro önyüz mimarisinde ekranlar arasında yönlendirme (routing) yapmak sanıldığı kadar zor bir
işlem değildir. Yönlendirme yönetimi projeden projeye ciddi anlamda farklılık gösterebilir. Mikro
önyüz mimarisi kullanılan projelerin bazılarında hiç yönlendirme yapılma ihtiyacı yok iken bazılarında
hem ana uygulama hem de mikro önyüzler seviyesinde yönlendirme ihtiyacı söz konusu olabilir.
Mikro önyüzlerin basit parçalardan oluştuğu durumda yönlendirme yönetimi işlemleri çoğunlukla
sunucu üzerinde Server Side Includes (SSI) ile veya CDN üzerinde Edge Side Includes (ESI) ile
gerçekleştirilir. Bunlara ek olarak istemci tarafında iFrame’de kullanılabilir ama getirdiği ek yükten
dolayı tercih edilmez.
Mikro önyüzler arasındaki
yönlendirme işlemleri, mikro
önyüzlerin bir araya getirildiği
yerde yapılır. (Sunucuda,
Mikro Önyüz A Mikro Önyüz B Mikro Önyüz C CDN’de, istemcide)
Mikro önyüzler, kendi içlerinde
yönlendirme işlemlerini
gerçekleştirir.
Bölüm 1 Bölüm 2 Bölüm 1 Bölüm 2 Bölüm 1 Bölüm 2
Şekil 10. Yönlendirme Yönetimi
Mikro önyüzlerin tek başlarına uygulama olduğu durumda, ana uygulama (host) üzerinde en üst
seviyede yönlendirme işlemleri yaparak ilgili mikro önyüzler ekrana yerleştirdikten sonra detaylı
yönlendirmeler mikro önyüzlerin kendileri tarafından gerçekleştirilir.
Mikro Önyüzler Arasında Veri Yönetimi
Mikro önyüzler arası iletişim konusu da oldukça önemlidir. Optimum yaklaşımda mikro önyüzler
birbirlerinden haberdar değildir ve olmamalıdır. Mikro önyüzlerin her biri farklı bir işten sorumlu
ve birbirinden bağımsız olduğu için birbirleri ile bilgi paylaşmaya hiç ihtiyaç duymazlar veya çok az
duyarlar. Istisnai durumlarda mikro önyüzler arası veri paylaşımı söz konusu olabilir. Bu durumda
da paylaşılacak olan veriye göre farklı yaklaşımlar benimsenebilir. Örneğin mikro önyüzler arası
veri paylaşımı için query-string kullanılabilir. Ancak bu yöntem ile büyük verileri veya güvenlik
açısından önemli verileri (örneğin parolaları) paylaşmak çok uygun değildir. Ihtiyaç duyulan zorunlu
durumlarda büyük verilerin paylaşılması için üretici/tüketici (pub/sub) yaklaşımını benimseyen
eventbus yöntemi kullanılabilir. Bu yöntemde mikro önyüzlerden birisi bir veri paylaştığı zaman,
paylaşılan veriye ihtiyaç duyan diğer mikro önyüz(ler) kullanır. Üretici/tüketici yaklaşımında
tarayıcıların kendine has (native) araçları kullanılabileceği gibi projenin durumuna göre ortak bir
kütüphane de kullanılabilir.