> Just wondering.... what's in favour these days??
For UI's it's web 2.0/RIA's. Fat clients are falling out of favor.
All these new interactive, GUI like, rich, zero install, web technologies, lots of AJAX frameworks, Openlaszlo, Flex, Silverlight and a few others that didn't really make it IMO, like, XUL. Talk about another browser war
IMO, Flex really stands out, its certainly the best looking, I think.
Silverlight *for now* is more of a graphical language lots of vectors, gradients, paths, animation etc. Seems more like Flash, reminds me alot of SVG (another graphical XML language/standard that is, well, dead or dying)
Flex on the other hand is alot more GUI like and controls/widgets oriented seems like it was build with business apps in mind. Also has very impressive charting controls, reporting products based on PDF's (because UI's aren't just about controls!) etc. what you'd expect for building business apps.
Some examples:
http://examples.adobe.com/flex3/labs/dashboard/main.html
http://examples.adobe.com/flex3/labs/networkmonitor/main.html
http://examples.adobe.com/flex3/componentexplorer/explorer.html explorer for the various controls.
For OERA, IMO it will die out, academical, very experimental, not real world, not practical, doesn't really click even for Progress themselves etc.
John Sadd never writes anything practical, or understandable.
In short and IMHO, my experience, separate UI and BL into "coarse grained" services. Anything more and you start running into huge design complexities and answers that no one has to this date. I don't really see how you could effectively separate and modularize DA for most real world queries in 4GL, maybe if we had views ? And MVC/MVP when the client and the controller would one day be in ActionScript, one day AJAX and less likely 4GL. Maybe Thomas could make sense of it for me ? Maybe a repository or maybe modeling is a better approach for UI's but without its own disadvantages like most frameworks ?
Queries for the most part don't lend themselves for code reuse and modularization very well, not in 4GL, except maybe for more complicated queries that require code and return temp-tables, like recursive queries. Update logic on the other hand modularize very well.
Oh, I found datasets aren't good for anything besides (mostly) passing temp-tables as a single object which by itself is very useful. All those fill capabilities aren't really practical for many simple real world queries, they should stop pursuing it. by-reference for datasets and temp-tables is also sweet.