Last post Jan 03, 2017 10:12 AM by XIII
Jan 02, 2017 05:49 AM|harshanand|LINK
Need advice on below architecture. Need to know advantages and disadvantages of below architecture.
We need to create metadata driven architecture where Metadata is nothing but UI layout .i.e Form layout consisting of Form and Controls which needs to be stored in a database. And UI will be generated from this metadata dynamically and will be rendered
Please advice is it good idea to dynamically create a form from Metadata?
Jan 02, 2017 09:06 AM|XIII|LINK
I did this on several projects and they turned out to be ok. Depending on what you want you could also take a look into what SharePoint can offer you and see if that fits your plans.
Jan 03, 2017 06:44 AM|harshanand|LINK
Thanks for the reply.
Can you plz help me to know advantages of this kind of Architecture over static form.
Jan 03, 2017 07:02 AM|XIII|LINK
advantages of this kind of Architecture over static form
It's usually more complicated to build but it provides flexibility and provides the opportunity for non tech people to create their own forms instead of constantly having to bother you or your development team to create a new form for them. As such they
can put their own forms pretty quickly into production instead of having to follow a release cycle which might be once per month. As said the downside is that you have to program more up front and it becomes more difficult to code.
Jan 03, 2017 09:49 AM|harshanand|LINK
Thanks XIII for detailed explanation.
Will it have impact on Performance of the application? I think rendering static form will always be faster than creating FORM dynamically from Metadata. Please provide your thought on this.
Jan 03, 2017 10:12 AM|XIII|LINK
there will be some overhead but if you cache the metadata in memory instead of getting it each from a database you can already win quite a lot. For the 'static' forms. If your 'static' forms are made up with ASP.NET webforms / MVC there will also be rendering
going on in memory.
I suggest you set up a little proof of concept and measure performance.