I mentioned I want to start a series on what does a business app actually is, how does Siena change the playground (if it does change it). I’ll start with the historic world, so what elements did a framework designed to create business app contain back, a long time ago? Of course, it needs to have an ORM (what would a business app do without an ORM?), a multitude of UIs (yes, desktop AND web), and… and this is the point when some of the frameworks I previously used stop. They keen to provide some prepackaged controls – look, how cool this grid is -, and then that’s it. So, what I think we are missing here? Validation, as one of the items. Validation throughfully the system, from db to ui, which can break and roll back… hey, I just found another missing point. Operations, that defined on… business entities! And these entities execute these through following collaborations between the items, using runtime metadata service to find out runtime information – information like data location (sharding, multiple sources). Finding out security – role based, row based with custom entitlement filters, column based. You need to cache and invalidate, provide pluggable configuration, serialization, but hey, by having serialization I can do workflows with hydrated states! Add a dash of BI (you always have to add BI), services integration, and you are… have created a compelling system that with appropriate level of documentation and support will eventually work.
So, where is the catch here? What is missing? Empowering the developer and the end user! Add entity designer, service designer, component editor, codegen, metadata explorer and editor, BI wizards, ide integration, colorful themes, clippy, – I got Light Switch! Make it work in metro design – hey, I got Microsoft Siena! So in the following posts I’ll discuss some of the elements from above in more details, but this is for just setting the general tone, and topics list.