Mikro hizmetleri temel alan bileşik kullanıcı arabirimi oluşturma
İpucu
Bu içerik, .NET Docs'ta veya çevrimdışı olarak okunabilen ücretsiz indirilebilir bir PDF olarak sağlanan Kapsayıcılı .NET Uygulamaları için .NET Mikro Hizmet Mimarisi e-Kitabı'ndan bir alıntıdır.
Mikro hizmetler mimarisi genellikle sunucu tarafı işleme verileri ve mantığıyla başlar, ancak çoğu durumda kullanıcı arabirimi hala monolit olarak işlenir. Ancak, mikro ön uçlar olarak adlandırılan daha gelişmiş bir yaklaşım, uygulama kullanıcı arabiriminizi mikro hizmetlere göre de tasarlamaktır. Bu, sunucuda mikro hizmetler ve yalnızca mikro hizmetleri kullanan monolitik bir istemci uygulaması yerine mikro hizmetler tarafından oluşturulan bileşik bir kullanıcı arabirimine sahip olmak anlamına gelir. Bu yaklaşımla, oluşturduğunuz mikro hizmetler hem mantık hem de görsel gösterimle tamamlanabilir.
Şekil 4-20'de monolitik bir istemci uygulamasından mikro hizmet kullanma yaklaşımı gösterilmektedir. Elbette, HTML ve JavaScript oluşturma arasında bir ASP.NET MVC hizmetiniz olabilir. Şekil, mikro hizmetleri kullanan tek bir (monolitik) istemci kullanıcı arabiriminizin olduğunu vurgulayan basitleştirmedir. Bu kullanıcı arabirimi şekline (HTML ve JavaScript) değil yalnızca mantığa ve verilere odaklanır.
Şekil 4-20. Arka uç mikro hizmetlerini kullanan monolitik kullanıcı arabirimi uygulaması
Buna karşılık, bileşik kullanıcı arabirimi mikro hizmetlerin kendileri tarafından hassas bir şekilde oluşturulur ve oluşturulur. Mikro hizmetlerden bazıları, kullanıcı arabiriminin belirli alanlarının görsel şeklini yönlendirir. Önemli fark, şablonlara dayalı istemci kullanıcı arabirimi bileşenlerine (örneğin TypeScript sınıfları) sahip olmanız ve bu şablonların data-shaping-UI ViewModel'inin her mikro hizmetten gelmesidir.
İstemci uygulaması başlatma zamanında, istemci kullanıcı arabirimi bileşenlerinin her biri (örneğin TypeScript sınıfları), belirli bir senaryo için ViewModel'ler sağlayabilen bir altyapı mikro hizmetiyle kendini kaydeder. Mikro hizmet şekli değiştirirse, kullanıcı arabirimi de değişir.
Şekil 4-21'de bu bileşik ui yaklaşımının bir sürümü gösterilmektedir. Farklı teknikleri temel alan ayrıntılı parçaları toplayan başka mikro hizmetleriniz olabileceği için bu yaklaşım basitleştirilmiştir. Geleneksel bir web yaklaşımı (ASP.NET MVC) veya SPA (Tek Sayfalı Uygulama) oluşturup oluşturmadığınıza bağlıdır.
Şekil 4-21. Arka uç mikro hizmetleri tarafından şekillendirilen bileşik ui uygulaması örneği
Bu kullanıcı arabirimi oluşturma mikro hizmetlerinin her biri küçük bir API Gateway'e benzer olacaktır. Ancak bu durumda, her biri küçük bir kullanıcı arabirimi alanından sorumludur.
Mikro hizmetler tarafından yönetilen bileşik kullanıcı arabirimi yaklaşımı, kullandığınız kullanıcı arabirimi teknolojilerine bağlı olarak daha zorlayıcı veya daha az olabilir. Örneğin, SPA oluşturmak veya yerel mobil uygulama (bu yaklaşım için daha zor olabilecek Xamarin uygulamaları geliştirirken olduğu gibi) için kullandığınız geleneksel bir web uygulaması oluşturmak için aynı teknikleri kullanmayacaksınız.
eShopOnContainers örnek uygulaması birden çok nedenle monolitik kullanıcı arabirimi yaklaşımını kullanır. İlk olarak mikro hizmetlere ve kapsayıcılara giriş niteliğindedir. Bileşik kullanıcı arabirimi daha gelişmiştir, ancak kullanıcı arabirimini tasarlarken ve geliştirirken daha fazla karmaşıklık gerektirir. İkincisi, eShopOnContainers ayrıca Xamarin tabanlı yerel bir mobil uygulama sağlar ve bu da istemci C# tarafında daha karmaşık hale getirir.
Ancak, mikro hizmetlere dayalı bileşik kullanıcı arabirimi hakkında daha fazla bilgi edinmek için aşağıdaki başvuruları kullanmanızı öneririz.
Ek kaynaklar
Mikro Ön Uçlar (Martin Fowler'ın blogu)
https://martinfowler.com/articles/micro-frontends.htmlMikro Ön Uçlar (Michael Geers sitesi)
https://micro-frontends.org/ASP.NET kullanan bileşik kullanıcı arabirimi (Belirli bir Atölye)
https://github.com/Particular/Workshop/tree/master/demos/asp-net-coreRuben Oostinga. Mikro Hizmetler Mimarisinde Monolitik Ön Uç
https://xebia.com/blog/the-monolithic-frontend-in-the-microservices-architecture/Mauro Servienti. Daha iyi kullanıcı arabirimi oluşturmanın sırrı
https://particular.net/blog/secret-of-better-ui-compositionViktor Farcic. Ön Uç Web Bileşenlerini Mikro Hizmetlere Ekleme
https://technologyconversations.com/2015/08/09/including-front-end-web-components-into-microservices/Mikro Hizmetler Mimarisinde Ön Ucu Yönetme
https://allegro.tech/2016/03/Managing-Frontend-in-the-microservices-architecture.html