dsuryd/dotNetify-Elements

Dotnetify for Composite UI provided by microservices

jersiovic opened this issue · 3 comments

I'm evaluating the posibility of using dotnetify for an app based on microservices where each microservice also provides its own VMs and UI elements with dotnetify.

The idea is to use for certain views composition of different components dinamically loaded from different urls.
For example catalog microservice will provide composite view named product that will be composed by a product_catalog component that is a form element loaded from the same microservice, product_commercialTerms is a component with a form element loaded from commercial term microservice and other elements related with product entity loaded from other microservices.
If I show only a submit button for all the view. When it is pressed it will submit data on product_catalog view model, if validation of data in server side is ok view will be informed and an event on client side named Product_catalog_Update_Validated will be emited (using a library like that https://github.com/chrisdavies/eev ) it will be handled by all the other commponents in the view that will validate its part of the data on server side, product_commercialTerms for this example. If all of them emit an event saying everything is ok like product_catalog then container view will use same procedure for commiting all the data each one on its own microservice.

All of that is theoretical. Do you think there is any problem on using Dotnetify in this scenario? Do you think it is a reasonable approach?
Thank you

Related with that I'm playing with the idea of having the order view composed by at least two microservices: Order Microservice and CommercialTerms microservices.
Order Microservice will render a form in master area of an order view with customer data and other information and detail area will render order lines with the product reference, the product format and the amount of product format ordered.
However in master area CommercialTerms microservice will render info related to general discounts of the order. But also for detail areas it will render a part of each line: there would be a component per line provided by this microservice. It will show rate, price and info related with discounts and promotions applied.
I'm not sure this could be possible with mechanism provided by dotnetify.
What do you think?

What you're thinking here is definitely inline with the project's vision. Here's what I stated when I introduced dotNetify-React in a Medium article last year:

My desire with this project is to get to a state that can support full-stack micro-service on .NET platform: the ability to have a complex web app composable of independent front+back-end modules that can be worked on and deployed by completely autonomous teams with very minimal downtime.

With that said, there's still a lot more things to figure out to get to the production-ready state. DotNetify and dotNetify-Elements are still designed for a monolithic SPA, so you may end up with roadblocks.

Cool, you saved me a lot of time fighting on that direction too soon.
Thank you