One of the cool aspects of being a developer is that you can always learn new tools, languages, and frameworks. In the case of Progress OpenEdge, there are quite a few things to learn - a new language called Advanced Business Language (ABL), a new database (OpenEdge RDBMS), an application server (OpenEdge AppServer), and many more. So where do you start?
In this post I will share my experience learning OpenEdge - how to get started, what resources helped me the most to get my head around the OpenEdge platform, what problems I encountered and their solutions, and finally some tips and tricks that might be helpful.
Get Started with OpenEdge
As usual, getting the software is the first step. Progress offers a very generous 60-day trial for all OpenEdge-related technologies. You have the option to evaluate in the cloud, where you are provided an access to a virtual machine. Alternatively, you can download everything and install it on you own environment. I think the latter option should be preferred.
1 - Installing OpenEdge on Windows environment.
The setup is very straightforward. The only recommendation that I can make is to install OpenEdge using a local account since I had problems when using my own Microsoft account.
The setup allows you to configure the various services, but in pretty much all cases the default values work just fine.
The only screen where you might need to pay more attention is Web Server Type where you configure Web Speed settings.
Please, check out this link for more information on configuring IIS for WebSpeed.
2 - Learning The Basics
As I mentioned in the introduction, the OpenEdge platform encompasses many things and starting from the ground up is very important. Before you can create something meaningful like a business application exposed by a REST service, you need to get acquainted with all the layers of the platform, understand their purpose, and ultimately figure out how they work together.
The first guide that I would recommend is OpenEdge Developers Kit - Guide for New Developers. This guide is a good introduction to the fundamental OpenEdge concepts and tools. Skip chapter 5 (the last one).
To be able to download the guide you need to join the OpenEdge Classroom group.
The next steps is to start building OpenEdge apps and get a better feel to the whole platform. These are the 3 guides that are perfect for that, listed in order:
- Tutorial - OpenEdge Developers Kit: Getting Started with OpenEdge
- Tutorial - OpenEdge Developers Kit: Getting Started with PAS for OpenEdge
- Tutorial - OpenEdge Developers Kit: Sample Application for a Web Browser
3 - Community Groups
Community groups provide forums, wikis, documentation, samples, and other kinds of resources on specific Progress technologies and topics. Joining one of the available groups will allow you to access a wealth of resources.
4 - Download OpenEdge Documentation
Once you know the fundamentals of OpenEdge development, you might be interested in additional topics like JSDO, authentication, architecture, you name it. The offical documentation is a great place to find such information. You can download the whole documentation in HTML or PDF formats.
Digital Transformation - REST Services, JSDO, Telerik Kendo UI
There has been a lot of hype around digital transformation for the past several years and that sure holds true for the OpenEdge ecosystem. Learning how to create modern web and mobile applications is very important for all developers.
One of the best resources on this topic is called "A Sexy UI for Progress OpenEdge using JSDO, OE Mobile Template and Kendo UI with sorting, filtering and paging" and is available in several formats, be sure to check it out.
Here are some additional resources the might be of interest regarding digital transformation:
- OpenEdge REST Backends, JSDO, Kendo UI and Angular 2
- A Smple Aproach to Modernize WebSpeed with Kendo UI
- REST In Piece - Mastering the JSDO with a dynamic ABL backend
- Introduction to OpenEdge REST (part 1 of 2)
- Creating a Dynamic OE REST Service (part 2 of 2)
Tips and Tricks
I have gathered a list of tips and trick along the way that might prove useful to newcomers to the OpenEdge world. Here they are:
Enable OpenEdge Debugging
Debugging of your OpenEdge apps has to be enabled explicitly. Here is how to do it.
PAS for OpenEdge vs. OpenEdge AppServer
There are two primary ways to build OpenEdge application that respond to HTTP requests - using The Progress Application Server or OpenEdge AppServer. Knowing what you can achieve with either of them is very beneficial. The official documentation has a good section on this topic.
Processes failing to start on Windows 10 with Creators Update
If you are on WIndows 10 with the latest updates, you might be unable to start OpenEdge services like brokers, databases, etc. This might be caused by a known issue that is supposed to be resolved with the latest OpenEdge hotfix (11.7.1). Still, feel free to check out this article for more information.
Services not showing in Developer Studio
The Server perspective in Developer Studio allows you to manage the available OpenEdge services. Sometimes thought, the list might not refresh properly.
One workaround that I found is to delete servers.xml (.metadata\.plugins\org.eclipse.wst.server.core) from your workspace folder. This will force an update of the list of services.
OpenEdge services failing to start without NameServer
Some services might not function correctly if they depend on NamesServer. Make sure that your NameServer is up and running if you encounter problems.
Data Administration Tool menus are grayed out / disabled
Data Administration Tool is an GUI tool for managing your OpenEdge databases. If you need to use this tool but its menus are disabled, please refer to this article.
OpenEdge Management Console Address and Port
The management console is one of the tools that you will be using frequently. By default, it will be accessible at http://localhost:9090/
OE Web Server Tomcat Manager - Address and Credentials
The OE Web Server runs on Tomcat and it is where REST web applications can be deployed. Once deployed, you can manage your apps using Tomcat Manager by navigating to http://localhost:8980 . The default credentials are tomcat/tomcat.
Progress Education Community (PEC)
The Progress Education Community (PEC) is a subscription-based service that offers access to OpenEdge training materials. If you are serious about becoming an OpenEdge developer, I would highly recommend signing up for the OpenEdge Developer Catalog. It is not cheap but it will ensure that you acquire in-depth knowledge of OpenEdge.
I hope that the information laid out here will help developer starting with OpenEdge get up to speed faster. Let me know if this blog was helpful and, please, do share additional resources that have proved useful.