I want to develop mysql database application using dbexpress to develop from scratch or work with existing databases. To create reusable layers what patterns-components should I use. I want the app to be scalable to n-tier easily. Tried google search for ready frameworks but I found nothing much informative (some lack documentation, some lack examples).
Something in the veins of famous java frameworks i.batis or hibernate would be useful. I'm familiar using such a framework in PHP to develop xml defined business objects. I tried to convert it to Delphi but it is much of a work.(Abstraction with delphi strict typing makes everything hard for my exprerience level.)
Also ruby on rails activerecord-like implementation may be useful.
I could never be clear about trashing dbaware components or not.
I tried to implement some design patterns to separate layers (data access/connection), (business objects), (gui), but with no success. What I try to achieve is to mimic lego (I can use any database engine , any delphi database technology(bde, ado etc.. dbexpress is a must, others are optional). Also I may use xml (mybase or native), text files (csv-like, legacy parsing code)
I may need single tier, client/server and n-tier.
Also I may need some kind of web service implementation (the client side may be any technology apart from delphi executable , so I think generating xml, wsdl easily is necessary)
The data access layer is the most important part. It must be flexible because other frameworks will be developed upon it (user authentication, app configuration etc...).
- I may challenge to develop my own simple framework (I don't know what to follow: database adapter pattern, db connection factory, mappers, data access objects etc..)
- I can use an existing one (instantobjects not applicable. not work with existing db schema). Some of the others I tried lack dbexpress support or I could not understand the configuration.