About base principle.
Hi Andre,
I would like to put a couple of idea here about the architecture requirement. All the best web framework was build on Model View Controller pattern, and i pretty sure that's a good way to do it. One of the most benefit of the OOP, is the low coupling. In order to achieve that goal, we have to made a good design base on well defined parts, and we have to separate the interface from the implementation at the highest level as possible. Whit the MVC we have the three main part of the system, each part can follow the same principle, keep the interface at the highest abstraction level. For example, the Object Relational Mapper i design have for mission to give persistence to object. So ORM is one of the possible implementation of the design i do, we can have Object File Mapper, Object Embeddable Databases Mapper, and so on... The same client can chose the storage at run time, because the interface is the same for all implementation. For the View paradigm, we can reach the same level of abstraction, and at that level we can do event more, we can let the IDE do the job... A WYSIWYG modeler tool is needed!!!
The user can see exactly the result before running the result. If i go further in that way, the modeler tool can be a kind of gui compiler, the user can chose to generate HTML interface, or regular c++ interface, mobile device interface or what ever he need. HTML is the first goal here, but the design of the view module have to keep this level of abstraction. The last point i would like to talk about is the protocol independence. At this time http is the most use one for web frame work, but depending of the requirement the user have, the another protocol the system can use. So here again abstraction play a crucial goal. Protocol-independent framework is the way to go. In order to made it possible we can use the adapter pattern. The adapter is like a hardware driver, with this layer it become possible to connect new protocol when it need.
I hope thats can help a little, UML diagram can will be of better help.... Let me know your mail, we can do some design when you are ready.
Dec. 3, 2007, 4:04 p.m. - Dave Courtois
About base principle. Hi Andre, I would like to put a couple of idea here about the architecture requirement. All the best web framework was build on Model View Controller pattern, and i pretty sure that's a good way to do it. One of the most benefit of the OOP, is the low coupling. In order to achieve that goal, we have to made a good design base on well defined parts, and we have to separate the interface from the implementation at the highest level as possible. Whit the MVC we have the three main part of the system, each part can follow the same principle, keep the interface at the highest abstraction level. For example, the Object Relational Mapper i design have for mission to give persistence to object. So ORM is one of the possible implementation of the design i do, we can have Object File Mapper, Object Embeddable Databases Mapper, and so on... The same client can chose the storage at run time, because the interface is the same for all implementation. For the View paradigm, we can reach the same level of abstraction, and at that level we can do event more, we can let the IDE do the job... A WYSIWYG modeler tool is needed!!! The user can see exactly the result before running the result. If i go further in that way, the modeler tool can be a kind of gui compiler, the user can chose to generate HTML interface, or regular c++ interface, mobile device interface or what ever he need. HTML is the first goal here, but the design of the view module have to keep this level of abstraction. The last point i would like to talk about is the protocol independence. At this time http is the most use one for web frame work, but depending of the requirement the user have, the another protocol the system can use. So here again abstraction play a crucial goal. Protocol-independent framework is the way to go. In order to made it possible we can use the adapter pattern. The adapter is like a hardware driver, with this layer it become possible to connect new protocol when it need. I hope thats can help a little, UML diagram can will be of better help.... Let me know your mail, we can do some design when you are ready.