Application framework for small or mid sized apps
-
Hi I am looking for some 'ready to use' application framework for writing small or mid sized apps (both win and webforms). I have tried Lhotka's CSLA, but it has some disadvantages like lack of data paging or awful cooperation with nHibernate which I decided to use as the data layer. My last found is the Developer Express OXP+eXpress App Framework. It seems to be complete - starts with data mapping, has included reporting solution, data controls and all of this stuff. I haven't tried to build anything on this, but it looks very promising, however it is beta version with no known official release date. My needs are simple - ability to work wih MS SQL, less than 100 classes in project. Since we integrate our apps with existing solutions, databases are exist (or exist in part), so data mapping has to be flexible enough to use existing data (and all of goods like database schemes etc.) So - what do you use? What can you suggest?
-
Hi I am looking for some 'ready to use' application framework for writing small or mid sized apps (both win and webforms). I have tried Lhotka's CSLA, but it has some disadvantages like lack of data paging or awful cooperation with nHibernate which I decided to use as the data layer. My last found is the Developer Express OXP+eXpress App Framework. It seems to be complete - starts with data mapping, has included reporting solution, data controls and all of this stuff. I haven't tried to build anything on this, but it looks very promising, however it is beta version with no known official release date. My needs are simple - ability to work wih MS SQL, less than 100 classes in project. Since we integrate our apps with existing solutions, databases are exist (or exist in part), so data mapping has to be flexible enough to use existing data (and all of goods like database schemes etc.) So - what do you use? What can you suggest?
Forget about all this ORM stuff - you will regret it in the end.
-
Forget about all this ORM stuff - you will regret it in the end.
Have seen CSLA go very badly, but it might have been simply the customized way it was implemented here. The higher ups want to have another go at it but I am doubtful. Have you considered microsoft application blocks? After a cursory look it seemed promising, but I haven't had a chance to dig into it.
topcoderjax - Remember, Google is your friend. Try this Custom Google Code Search
-
Have seen CSLA go very badly, but it might have been simply the customized way it was implemented here. The higher ups want to have another go at it but I am doubtful. Have you considered microsoft application blocks? After a cursory look it seemed promising, but I haven't had a chance to dig into it.
topcoderjax - Remember, Google is your friend. Try this Custom Google Code Search
TopCoderJax wrote:
Have seen CSLA go very badly
I am not sure what you mean, but I think DataPortal concept is a little bit too "enterpise" for the rest of the framework.
drinkwater wrote:
Forget about all this ORM stuff - you will regret it in the end.
What I really appreciate in ORMs is dynamic SQL. The Microsoft Application Blocks documentation says (http://msdn2.microsoft.com/en-us/library/ms978510.aspx#daag_datapaging[^]):
The options for data paging are: * Using the Fill method of the SqlDataAdapter to fill a DataSet with a range of results from a query * Using ADO through COM interoperability and use a server-side cursor * Using stored procedures to implement data paging manually
Best choice for me is the fourth one - dynamic SQL which is build during app's runtime with all the filters taken from UI, with all the order clauses needed, with paging etc.. Lower performace is the price I can pay for it in smaller apps (in bigger too, being honest ;) ) Maybe I should find some runtime SQL query generator and build it into CSLA or any other nice framework? -
TopCoderJax wrote:
Have seen CSLA go very badly
I am not sure what you mean, but I think DataPortal concept is a little bit too "enterpise" for the rest of the framework.
drinkwater wrote:
Forget about all this ORM stuff - you will regret it in the end.
What I really appreciate in ORMs is dynamic SQL. The Microsoft Application Blocks documentation says (http://msdn2.microsoft.com/en-us/library/ms978510.aspx#daag_datapaging[^]):
The options for data paging are: * Using the Fill method of the SqlDataAdapter to fill a DataSet with a range of results from a query * Using ADO through COM interoperability and use a server-side cursor * Using stored procedures to implement data paging manually
Best choice for me is the fourth one - dynamic SQL which is build during app's runtime with all the filters taken from UI, with all the order clauses needed, with paging etc.. Lower performace is the price I can pay for it in smaller apps (in bigger too, being honest ;) ) Maybe I should find some runtime SQL query generator and build it into CSLA or any other nice framework?..Hubert.. wrote:
Best choice for me is the fourth one - dynamic SQL which is build during app's runtime with all the filters taken from UI, with all the order clauses needed, with paging etc..
Why is that "Best choice" rather than Stored Procedures and SqlCommand approach?
-
..Hubert.. wrote:
Best choice for me is the fourth one - dynamic SQL which is build during app's runtime with all the filters taken from UI, with all the order clauses needed, with paging etc..
Why is that "Best choice" rather than Stored Procedures and SqlCommand approach?
I really hate writing stored procedures ;) Small or mid projects are almost always not well specified which means, that there's huge risk of changes. With ORM approach you can just add new properties to your objects then add new fields to tables and you're ready to go (yeah, most of them arent't so easy, but let's assume they are). With SPs you have to change tables, SProcs and loading code. There's one more catch-up - deployment. That's why I prefer ORMs in small apps. However I've got one question - how do you write SPs which returns lists of objects with pagination and order passed from UI?
-
I really hate writing stored procedures ;) Small or mid projects are almost always not well specified which means, that there's huge risk of changes. With ORM approach you can just add new properties to your objects then add new fields to tables and you're ready to go (yeah, most of them arent't so easy, but let's assume they are). With SPs you have to change tables, SProcs and loading code. There's one more catch-up - deployment. That's why I prefer ORMs in small apps. However I've got one question - how do you write SPs which returns lists of objects with pagination and order passed from UI?
..Hubert.. wrote:
how do you write SPs which
I am not a DBA. If you are serious about that question try asking in the SQL forum. I think there are some pretty sharp people in there. So your answer to my question is "changes"? And there are less changes using embedded SQL than using stored procedures? In my experience I have not found that to be true. Also your first post states that you want to use dynamic SQL (embedded SQL) and the last one talks about ORM. Which is it?
-
Hi I am looking for some 'ready to use' application framework for writing small or mid sized apps (both win and webforms). I have tried Lhotka's CSLA, but it has some disadvantages like lack of data paging or awful cooperation with nHibernate which I decided to use as the data layer. My last found is the Developer Express OXP+eXpress App Framework. It seems to be complete - starts with data mapping, has included reporting solution, data controls and all of this stuff. I haven't tried to build anything on this, but it looks very promising, however it is beta version with no known official release date. My needs are simple - ability to work wih MS SQL, less than 100 classes in project. Since we integrate our apps with existing solutions, databases are exist (or exist in part), so data mapping has to be flexible enough to use existing data (and all of goods like database schemes etc.) So - what do you use? What can you suggest?
you could try mixing it up a bit. i'm trying diamond binding (dunnchurchill.com) at the moment (some guy on here suggested it recently), which takes care of the data-end really well. seems to be based on nhibernate - and you can do custom mappings manually using attributes. it doesnt do the gui side though, but i've found the data layer it creates is really clean, so you could use whatever tool you wanted (i'm just using the inbuilt databinding in VS). not sure if anyone can suggest a good business object to gui framework?