I am trying to create a web framework which assembles, configures and links independent components to create complex web applications.<p>Basically I find that if I have a meta data definition of a context, what components to load in that context and what properties to set on the components and the links between the components i can assemble any application.<p>The framework reads the above meta data and constructs the application.<p>Why is there no such framework to compose applications at component level instead of object level.<p>I have see vertical constrained applications like Popfly, Webbly or Wuffo implement similiar concept, only those are not generic component assembly framework.<p>Has any one come across such a framework?<p>Will not a Assembly oriented product development where there is a clean separation of Assembly from coding will make us do complex application.<p>Any advice would be much appreciated.
Such frameworks do exist. Spring, amongst others, allows you to do that in the Java world (<a href="http://springframework.org/" rel="nofollow">http://springframework.org/</a>).<p>Edit: because a simple link to the website won't tell you a whole lot about the idea behind it, here's a shot at explaining the basic premise of the core of the Spring framework.<p>Instead of hard wiring objects, you let Spring handle it for you through dependency injection. You simply specify that you want an "authentication" object and the framework will go ahead and look it up. Whether it's an LDAP authentication object or something for a different backend is determined by the context, which you can specify in XML or annotations.
I think that one of the major objections to such a framework would be that it would be difficult to create a reliable system when the components are hosted in so many different places with each of them being a point of failure.<p>I had an idea very similar to yours a while ago (I called it 'softbricks'), but I never could find a way around the reliability issues.<p>You're basically constructing applications from widgets that can be hosted by any number of parties, if you figure out a way to make it reliable I'm fairly sure you have a winner here.<p>There are 'object brokering architectures' that come close but none give you the kind of functionality that I think you are going for.