• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Creating Gui Programs With Openedge

#1
Good evening to all of you.

I use OpenEdge 10.2b in UNIX environment .
ERP i use was written a lot of years ago and it was built for Character Mode environment ...

We have also OpenEdge 10.2b for Windows in a different server.
(In this server we installed OE Architect and WebSpeed )

I'd like to built GUI procedures for company's department ...(connecting ERP DB...)

My question is about what is the best approach to start with GUI Applications ...
I mean i am studying OpenEdge Guide ,,, and i understood you can do in two ways :

- AppBuilder (i understood is OpenEdge GUI ...i read in 11.x versions there is a new ABL UI Interface -Palette)
- OpenEdge GUI .Net (I understood is a different way to built GUI procedures using .NET Controls).


PS: In 2018 most probably we will interested to upgrade 10.b Windows in 11.7 Windows version.

Regards in advance ....
 

Cecil

17+ years progress programming and still learning.
#2
Have you consider creating a Web Based application? i.e. RESTfull and WebSpeed?
 

Osborne

Active Member
#3
Cecil has raised a very good point, and these threads discuss alternatives that you may find useful:

Answered - Transition from CUI to ASP/AppServer
To use App Builder or not !!
.Net and Progress Gui

If alternatives are not an option, then some basic points of the differences between GUI ABL and NET:
  1. GUI .NET uses the Microsoft .NET Framework - Using the Microsoft .NET Framework to Create Windows-based Applications - which gives a more modern Windows interface. The AppBuilder created window can appear dated in comparison.
  2. GUI .NET allows access to many WinForms (Windows Forms) .NET controls such as Infragistics UltraControls and Telerik. AppBuilder can only use OCXs.
  3. No ABL widgets can be placed on a .NET form apart from an ABL window which is embedded using a specialised .NET control called Progress.Windows.Form. For buttons, fields, browses (.NET DataGridView) you use .NET versions instead.
  4. Database or temp-table fields also cannot be placed on a .NET form.
  5. .NET heavily uses object oriented programming.
  6. With AppBuilder you can mostly use the same widgets and coding used in the character environment.
This is just a brief summary only but hope it helps. Embedding an ABL window onto a .NET form is a very useful feature, so if you prefer use the AppBuilder to do most of the standard coding, and then embed on a .NET form enhanced with .NET controls and features.
 

Cringer

ProgressTalk.com Moderator
Staff member
#4
The most important thing in considering building a new application is to make it as future proof as possible. Almost everyone using a legacy application has the same problem - it's almost impossible to modernise it. That's because it wasn't future proofed.
So, design something where the business logic is separate from the UI. Write the business logic in such a way that it can easily be accessed by different interface technologies. So that probably means putting some sort of layer in front of it that decides what sort of response is required. Think about how you will pass data around. ABL clients can use temp tables and/or handles, but REST, for example, can't. You need to use something like JSON for this. So you need to add a layer that is aware of how to present data in whatever circumstance. If you do all of this right, then you can give people the choice of what sort of UI they want. Nativescript, HTML5, GUI for .NET, Java, whatever people think of in 5 years.