Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Advice on an Idea
3 points by srid68 on July 6, 2009 | hide | past | favorite | 3 comments
I am trying to create a web framework which assembles, configures and links independent components to create complex web applications.

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.

The framework reads the above meta data and constructs the application.

Why is there no such framework to compose applications at component level instead of object level.

I have see vertical constrained applications like Popfly, Webbly or Wuffo implement similiar concept, only those are not generic component assembly framework.

Has any one come across such a framework?

Will not a Assembly oriented product development where there is a clean separation of Assembly from coding will make us do complex application.

Any advice would be much appreciated.




Such frameworks do exist. Spring, amongst others, allows you to do that in the Java world (http://springframework.org/).

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.

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.

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.

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.

There are 'object brokering architectures' that come close but none give you the kind of functionality that I think you are going for.


Sorry may be I did not explain it clearly. I am not try to do SOA, but more as an enhancement to MVC.

What I want to build is a normal application, like suppose I want to build a authentication system, I will have a display component, validation component and a securit provider component, data store component. Each of these components will be independent but the framework will load these components and will connect them together to implement final functionality.

What will be the benefit for developing using this component approach will be reusability and changeability.

Another advantage will be that I can change the Metadata and rewire the components to implement different functionality for certain user groups.

Since the framework language of assembly is very simple, namely, Define a Context, Add Components into that Context Configure Components in that Context Link Components in that Context

I believe this will cleanly separate assembly from coding of the component but increase the productivity and relibility of the final application feature.

What you have suggested is the components are distributed, which creats a reliability and connectivity problem. What I am trying to do is developing instead of a single monolithic application, why we cannot split the application into individual components and only the framework will stitch this together to give the final functionality.

Do you think such a framework will be useful?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: