Build, protect and deploy apps across any platform and mobile device
Leverage a complete UI toolbox for web, mobile and desktop development
Automate UI, load and performance testing for web, desktop and mobile
Rapidly develop, manage and deploy business apps, delivered as SaaS in the cloud
Automate decision processes with a no-code business rules engine
Build mobile apps for iOS, Android and Windows Phone
Deploy automated machine learning to accurately predict machine failures with technology optimized for Industrial IoT.
Optimize data integration with high-performance connectivity
Connect to any cloud or on-premises data source using a standard interface
Build engaging multi-channel web and digital experiences with intuitive web content management
Since the earliest days of Progress Software, the ABL has made it easier for developers to build world-class business applications, enhancing productivity and enabling faster adoption of new approaches to architecture and deployment. Every new release of OpenEdge has included at least a few enhancements to the ABL, proving it to be a living language that grows with the needs of the programmers who use it.
OpenEdge11.1 continues this tradition by delivering some exciting new ABL capabilities to improve the developer’s toolbox.
In an age of ever-increasing demands for data security, the new ABL encoded password support solves a business problem faced by many ABL applications as they seek to meet regulatory requirements in the marketplace. With this feature, an application administrator can encrypt a user-account password in any script’s command line parameter or configuration file element. It is also possible to store and use encoded passwords with custom configuration files, providing an administrator with a way to adopt a unified approach to creating and configuring encoded passwords across their OpenEdge application.
Continuing with the theme of enhanced security, ABL-based username and password authentication with Client-Principal provides functionality to bridge the gap between OpenEdge’s configurable user-authentication framework and any homegrown ABL-based authentication that a developer might have implemented previously. Authentication using the Client-Principal is OpenEdge's recommended approach when using Transparent Data Encryption (TDE) or Multi-tenant Tables. By providing this new feature in OpenEdge 11.1, we allow existing applications to much more easily integrate their homegrown authentication systems with the Client-Principal approach, avoiding the need to “rip and replace” the previous authentication framework. With this feature, user authentication can follow a single code path regardless of how and where the physical authentication action takes place, and can be extended without having to make changes in multiple places in the code. An updated authentication
module can also be readily distributed to production sites without disrupting the rest of the deployed application, since the entire authentication approach can be contained within a standalone procedure file.
With OpenEdge 11.1 you can also now define a method or function parameter by using a LIKE phrase instead of the “AS <datatype>” phrase. This allows a programmer to easily maintain parameter consistency across multiple elements – whether database fields, temp-table fields, or other variables – without having to manually change each parameter definition whenever a related field or variable changes.
Taken together, these new ABL features enhance security, productivity, and deployment. If you are a security-minded application developer, if you’ve been considering Multi-tenant Tables or Encryption, or if you’re simply looking to write more efficient ABL code, then you should look into upgrading to OpenEdge 11.1 today!
View all posts from Rob Holzel on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Copyright © 2017 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.