Some progress Questions.

dayv2005

Member
What exactly is CHUI and what is it used for?

Also i was wondering what is adm2 and what is it used for?

And one final thing where can i learn more about this stuff, such as some good beginner's white papers.
 
ChUI = Character User Interface. Good, old-fashioned green screens ;)

ADM2 = Smart Objects. One of PSC's various development frameworks. Mostly oriented to GUI projects. There's some app-server stuff in there too.

They're both "out of favor" so you aren't going to find a whole lot of information. You might be able to dig up some ADM2 stuff on PSDN if you have more patience for rooting around in dustbins than I do.
 
> 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.
 
For OERA, IMO it will die out, academical, very experimental, not real world,

One really should distinguish between OERA the architecture and something like AutoEdge, an example implementation, and the whitepapers. There is nothing new or experimental about the architecture. People like Forté were advocating this kind of architecture nearly 20 years ago ... back then it was new and revolutionary, but today it is just the way things are done in the big leagues.

This is not to say that PSC OpenEdge folks aren't still trying to wrap their heads around the details. But then, when has PSC ever been a source of good architectural examples. Frankly, AutoEdge is probably the best they have done in the company's history since it at least has enough interesting things going on with it to make it worth discussing. And, no one at PSC except some wayward consultants believe that it is really ready for prime time as it sits. It was intended as a pedagogical device and for that it works.
 
CHUI is character interface Progress - applications like the old DOS ones with blue browses and flashing cursors. Like you see when you go through the system BIOS menu when you interrupt Windows booting.

I've always steered clear as the only code I've ever dealt with has been, well, 'challenging', but this may be because I am 'challenged', who knows. If you ever have a customer who requires a blue browse with a flashing cursor though, it may well be worth considering.

ADM2 is PSCs (old) 4GL-based framework for (in theory) putting CRUD applications together quickly.

It's a pretty steep learning curve, unless you have a mentor, but once you get your head round it, it's extremely clever and useful. I was very suspicious before I tried it, and became a convert.

To some extent the framework attempted to introduce aspects of OO programming via the old-style 4GL, and some of the code-behind is quite difficult; I would imagine some of this has been superceded by the genuine OO extensions in OE10+.

However the essential idea is you use ADM2's components to slot together a distributed business application very quickly, overriding default functionality where required to suit your particular needs.

The standard ADM2 documentation is not great - but John Sadd has supplied useful supplementary whitepapers, which I am completely unable to find a category link to at the moment though individual ones crop up in searches.

There is also a decent complementary book by Michael Lonski.

http://www.allegroconsultants.com/codingsmart/
 
Try the appbuilder guide.. it gives you a starting in ADM2 direction.
http://www.psdn.com/library/entry!default.jspa?categoryID=280&externalID=1042&fromSearchPage=true

Just wondering.... what's in favour these days??

Dumping Progress?

OK.

.Net or Web for those fancy front ends; Progress for those quick to create back ends. Appserver/webservices connections.

I'm fine with ADM2 at the moment, but it's getting old, and I'd love to see it updated for .Net communication - did the prodataset sdo ever get released?

On Joey's points about Web 2.0 etc.; this is the paradigm du jour it's true, but I can't help noticing that all these fancy Web applications are essentially getting bigger and fancier and more - well - desktop app like.

The essential difference is the 'zero install' and stateless ideas (or rather your browser acts as a sort of virtual machine). The zero install is nice, but not that necessary in your average corporate network; stateless web apps appear to be implementing Ajax to minimise the statelessness.

But I wouldn't be suprised at some point if people start saying "wait a minute, we can do all this stuff much better already with smartly connected desktop applications".

These frameworks and approaches come and go in cycles, and we learn good ideas from each of them, but it's rare that one takes over forever.
 
Hi KnutHandsome :)

> well - desktop app like.

Right on. It used to be a choice between rich and reach, now we want it all :)

Rich, responsive ... just as if the app was installed on your desktop, but with no install and deployment headaches.

Lets not forget about cross platform, different OS's, mobile devices etc.


> stateless ideas (or rather your browser acts as a sort of virtual machine)

Exactly. Pretty much the definition of RIA's is having some client and being state aware (UI not BL !!), like a desktop app.

Whether running in Flash, Browser and JavaScript, Java Applets etc.


That is definitely where UI's seem to be heading not just web apps and where the big companies and applications are doing.

Can't help wonder about Progress huge investment in the new fat/obese client .NET UI will pay off not to mention 3rd party controls/widgets that are planned to be added.
 
OK.. way way off topic but..

what would be your fav choice for creating/designing a system today.

Take into account webspeed/escript/adm2/webclient anything "progress" that comes to mind .

-Would you seperate you BL (Business loginc) from from DL (Data Layer) ?
- Would you create UI in .NET or any fancy web front end or rather wait for 10.2?

-Parul.
 
OK.. way way off topic but..

what would be your fav choice for creating/designing a system today.

Take into account webspeed/escript/adm2/webclient anything "progress" that comes to mind .

-Would you seperate you BL (Business loginc) from from DL (Data Layer) ?
- Would you create UI in .NET or any fancy web front end or rather wait for 10.2?

Difficult to generalise, as it depends on business requirements, platform(s), budget, etc, but...

Progress GUI vs. Other GUI
I wouldn't wait for 10.when - as far as possible I would like to remove Progress as a frontend supplier from my system. This raises communication issues (different providers and technologies, and integrating the expertise with oddball Progress - at what point do you decide Progress is too much trouble?), unless you have Progress-savvy rich client experts on staff.

If I was going to use Progress for everything (which is sometimes the way in resource-limited departments, eg. one-man shops), it would be ADM2/Appserver + ActiveX all the way, with escript for the Web stuff. And hope the enhancements to 10.RND() integrate with ADM2 or provide a better replacement.

Business vs Data Layers

At the risk of sounding like a st00pid n00b I've never really understood the difference between 'business' and 'data' layers - I tend to have a business-worded API which accesses the data; so I would continue with that.
 
Back
Top