Page 70 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 70
70 | Mikro Önyüz Mimarisi
Mikro önyüz mimarisi ve mikroservis mimarisi birlikte kullanıldığı zaman oldukça etkin mimarilerdir.
Mikroservis mimarisindeki mikroservisler ve mikro önyüz mimarisindeki mikro önyüzler Şekil 2’de
olduğu üzere bire bir eşleştirildikleri zaman ideal uçtan uca geliştirme (end-to-end development)
mümkün olur. Mikroservislerden veya mikro önyüzlerden birisi güncellendiğinde veya hataya
düştüğü zaman sadece ilgili mikroservis veya mikro önyüz etkilenir. Bu sayede birbirlerinin
varlıklarından etkilenmemesi gereken mikroservisler ve mikro önyüzler uçtan uca ilgili iş alanının
bir problemini çözerler. Mikro önyüzlerin kendi ilgi alanları dışında bir noktaya yönelmesi mikro
önyüz mimarisine ters olan birçok durumun, dolayısı ile problemin ortaya çıkmasına neden olur.
Mikro önyüz mimarisi Luca MEZZALIRA’nın da dediği gibi birden fazla takımın çalıştığı ve geliştirme
sırasında iteratif yaklaşımın izlendiği projelerde mantıklı bir mimaridir. Geliştirilecek olan uygulama
için mikro önyüz mimarisinin uygunluğuna karar verildikten sonra mimarinin doğru bir şekilde
uygulanması da oldukça önemlidir.
Uygulamanın Derlenmesi
Mikro önyüz mimarisinde uygulamanın bir bütün olarak kullanıcılara nasıl sunulacağı son derece
önemlidir. Uygulama bütünü, kod seviyesi ve kullanıcının cihazı dâhil olmak üzere iki uç arasındaki
herhangi bir yerde bir bütün haline getirilerek kullanıcıya sunulur. Mikro önyüzler bir araya
getirilirken temelde 4 farklı derleme (composition) yöntemi vardır ve her derleme yöntemi altında
farklı entegrasyon seçenekleri mevcuttur. Zamanla gelişen yeni teknoloji ve yaklaşımların daha
farklı derleme ve entegrasyon yaklaşımlarını ortaya çıkarabileceği göz ardı edilmemelidir.
1. Client Side Derleme
Client side derlemede mikro önyüzler kullanıcının cihazında bir araya getirilir. Bu derleme, mikro
önyüz mimarisinin en kolay uygulandığı ve anlaşıldığı yöntemdir. Kullanıcının uygulamaya erişim
için yaptığı ilk istek sonrası hangi mikro önyüzlerin ekran üzerinde nasıl ve nerede gösterileceğine
karar verebilmek ve bu işlemler sırasında kullanıcı deneyimini düşürmeden anlamlı bir içerik
sunabilmek için basit bir JavaScript ve HTML dönülür. Bu yöntemde ölçeklendirme (scalability)
problemi yoktur. JavaScript dosyasının çalıştırılması ve sonrasında ilgili mikro önyüz paketlerinin
dinamik yüklenmesinden dolayı kullanıcı deneyimi açısından uygulamanın yavaş açılması gibi
üstesinden gelinebilecek riskler vardır. Mikro önyüzlerin farklı çerçeveler (frameworks) kullandığı
durumda çerçevelerin getirdiği boyut probleminden dolayı uygulamanın var olan yavaş açılma riski
artabilir. Dolayısı ile bu gibi durumlarda boyut optimizasyonu konusunda daha dikkatli olunmalıdır.
Diğer bir taraftan uygulamayı oluşturan mikro önyüzler kullanıcının cihazında bir araya getirildiği
için SEO konusunda da sorunlarla karşılaşılabilir. Client side derleme, SEO, SSR ve uygulamanın
hızlı açılmasının proje açısından ciddi bir öneme sahip olmadığı durumlarda kullanılması önerilen
derleme yöntemidir.