Forum  Community Devel...  Community Frame...  MEF/VWG CEM framework
Previous Previous
 
Next Next
New Post 6/1/2009 3:46 AM
Informative
  mhensen
199 posts
www.webvize.nl
5th Level Poster




MEF/VWG CEM framework 
Modified By mhensen  on 6/1/2009 6:07:05 AM)

Before I start giving an overview of what I am working on I have to admit that most already has been said in other threads here on the forum but I wanted to have a single thread on discussing the MEF/VWG Customer Experience Management Framework.

What is it all about?
This framework is all about extendibility. Imagine a single form that based on MEF and database settings can represent complete applications. Discovering new controls, new models, new forms, new themes by itself. Applications that constantly can be extended and changed without having a developer do the 'hard' work for most of the time.  Having been around for almost 15 years, I have found myself building and rebuilding constantly the same base over and over again. Implementing the same things over and over again. For one client a need and for the next client a need that is almost similar then the first. And beside this almost 80% of the time you are just filling the database and presenting this back to the client.
The other 20% of the application is based on processes. Even the 20% can be taken down by letting the Workflow engine taking up the process. So eventually you are writing reusable control libraries, WF activities and gradually the 20% will come down more and more.

Solution
What if we could build a framework that would give you the power to define. Just based on metadata and always the option to write a complex control to implement some function or process. That is what the CEM framework is all about.
Removing the dependencies and thus removing the constant rebuild and deploy off applications. Just set the base needs and than start configuring the rest of the environment. And even this should be doable by non-developers.

Progress
Currently I am building the data access layer. This layer is not a physical layer but a dynamic self generating layer that will constantly read your definitions. Changes in the model (the database or an XML file) should reflect these changes back to your datalayer.
By using the CodeDom classes will be generated and compiled on the fly, these objects will contain the knowledge of how to persist itself to the database and how to collect the data from the database.

Next step
After building the data generation layer I will go back to the drag and drop designer and let the designer be based on the newly generated classes. This so that we are not depending on a data provider but that we even could have multiply providers. And even no matter what data provider we would have. SQL, Oracle, Access, XML, XSL, CSV or even a web service, all should be able to be used and can be implemented by using a predefined interface (the model interface). how you will work with the data or what architecture you would have behind it shouldn't matter. Raw SQL, Entity Framework or any other ORM platform all should be the same!

Open source
This  all will be open sources as soon as I have the base of the application up and running. Then some refactoring will take place, this because right now it is a rumble of idea's and possible implementations. I will take screen cast of the progress I am making. As this is a combined effort between me, myself representing the company WebVize BV , and one of my clients I will have to communicate with my client also on what I can expose in source and what not. If elements are critical in how to implement I will give a substitute solution. So you would always end up with a fully working framework that can be adjusted to your needs.

What I need from the community and how could you be a part of this development?
Idea's, libraries, controls, questions, examples, documents, reflections, mind maps, bugs. Show me the things you are proud of! Show me the things you want to share, show me proof of concepts. Get involved!!!
Everything is welcome and I can guarantee you will be heard. I will answer all the questions, give all the credits, because I have a very strong believe that, if this framework is finished, the way you develop stuff could change. This should be a framework that would pay itself back in the easy of development, meaning doing more in less hours, so it will be a productivity booster. 

Closing note
I hope I haven't scared anybody off and there is anybody with whom I can reflect, can share idea's. And is willing to give their thoughts on how things could be better, is still missing, are superb or even are total crap!  in the last instance I will do expect and alternative for that particular problem ! :-) 

Gizmox has given us, the users and developers, the tools to be able to develop,communicate and join forces, So let the rest of the world be amazed of what we, Gizmox and its users, can do and come up with a 'new' standard in developing applications.
I am very enthusiastic as I have developed many different kind of applications in the past 15 years and have spend numerous hours in the 'new' idea so far. This results in such a strong believe in this CEM framework that I dear to say that when finished you would be able to build any kind off application ever needed!

Sorry for this long post but I hope I have made my point. So I am off developing on the new framework and I hope to see some of you guys getting involved!

 


With kind regards,

Michael Hensen

VWG Community Frameworks
 
New Post 6/1/2009 4:05 AM
  jayhobbs
1644 posts
1st Level Poster




Re: MEF/VWG CEM framework 

Hi Michael,

Putting it all on one page certainly helps.

It sounds as though you are making great progress

Cheers

Jay

 

 
New Post 6/1/2009 4:12 AM
  mhensen
199 posts
www.webvize.nl
5th Level Poster




Re: MEF/VWG CEM framework 

Hi Jay,

Indeed I am making great progress.. 14 hours a day investing in this framework :-)
But the codedom object generation is really cool. Having a model generated dynamicly in under 1 second and being able to reuse this the entire scoop of the session is very cool. But not nearly finished and hope that all will stay under 1 second.. I have enough room left as it is now just 133ms for generating and compiling but I need to decorate the classes and enums and have it implement some baseclasses and references. so I hope I can stay under a second.. If I loose 1 second in startup I can deal with that as long as it is only at startup! :-)


With kind regards,

Michael Hensen

VWG Community Frameworks
 
New Post 6/1/2009 5:43 AM
  Ewans
464 posts
2nd Level Poster




Re: MEF/VWG CEM framework 

Hi Micheal

The approach you are taking makes a lot of sense and is the ultimate way forward for rapid application design

I would like to get involved

Regards

Ewan

 
New Post 6/2/2009 4:12 AM
  Alexnaldo
267 posts
www.automato.org
4th Level Poster


Re: MEF/VWG CEM framework 
Modified By Alexnaldo  on 6/2/2009 6:13:31 AM)

Michael,

Please, explain more about the data access layer.

"This layer is not a physical layer but a dynamic self generating layer that will constantly read your definitions."

-> Is it an ORM ?

"By using the CodeDom classes will be generated and compiled on the fly, these objects will contain the knowledge of how to persist itself to the database and how to collect the data from the database."

-> How to extend the schema ?
-> How to query data ?
-> How to create calculated fields ?
-> How to validate data ?

"...drag and drop designer and let the designer be based on the newly generated classes"

-> How the framework will handle this ?

"...And even no matter what data provider we would have. SQL, Oracle, Access, XML, XSL, CSV or even a web service"

-> How the framework will handle this ?

"..Raw SQL, Entity Framework or any other ORM platform all should be the same!"

-> How the framework will handle this ?
-> Can I uses EF and LLBLGen as ORM without changes ?


,
Alexnaldo Santos

 
Previous Previous
 
Next Next
  Forum  Community Devel...  Community Frame...  MEF/VWG CEM framework
Azure banner
.NET Web, Cloud and Mobile application delivery platform | Sitemap | Terms of Use | Privacy Statement | Copyright © 2005-2011 Visual WebGui®       Visual WebGui weblog on ASP.NET Visual WebGui Group on LinkedIn Visual WebGui updates on Twitter Visual WebGui Page on Facebook Visual WebGui YouTube Channel Visual WebGui Platform News RSS