Reply to comment


Oct. 28, 2007, 11:28 p.m. -  Dave Courtois

At first view, in JDO, i don't see a lot of use of reflexion. But wen the type to pass to a function is unknown, the generic Object type is use. So the framework doesn't care about the type of the object. In counter part the client side have alway to know the true type of the Object and made explicit casting before use it. So the boost type Any is all we need here. For Hibernate, thats a well know ORM, he came before JDO specification and participate in many way of her elaboration. For performance issue take a look to this web cite, http://www.jpox.org/docs/performance.html (Jpox is an implementation of JDO). JDO was part of the J2EE specification, is in fact the persistence tier of EJB 3.0, if we plan to build a container style application like EJB (JBoss or GlassFish) that can be a good architecture to use. There not enough space here to describe in detail JDO but the most important question i try to answer is how i can made code enhancement in C++. Code enhancement is the way JDO works to made object persistent, that's is completely transparent to the application developer, To make long story short, an application from the JDO implementation, get the byte code an object and add persistence functionality. The application developer have to write a configuration file in xml that tell the JDO enhancer what class and field need to be persistent. Another approach available to JDO implementors is enhance the source of the client application itself. The JDO implantation user write her class and a program written by the JDO implementor modify the source code of the class directly, (that's can be made in c++) but we lost transparency, in counter part the code is more verbose, easiest to debug. That's a sample of the consideration we have to look before made decision. A web framework implement the MVC pattern, so the model part the ORM is the first step to do. One of the powerful aspect of JDO is the abstraction of the underlying technologies storage. So it can be file system, ORDMS, RDBMS, or DB Berkley engine directly. I propose to take idea from successful framework and implement it in C++. On the way we probably find her way, that's agile!!! The discussion is not over... Another consideration is Unit test Bug tracker Version control ...

Post your comment

Your email: we will send you a confirmation link to this address to confirm your identity and to prevent robot posting
Get in touch
»...«
Follow updates

Join our social networks and RSS feed to keep up to date with latest news and publications