Home | Print | Archive | Blog | Contact
A Newsletter for Unisys EAE and Agile Business Suite Clients | April 2022

Faster than the Average Language: Accelerating Development with AB Suite

By Grantley McCauley, Howard Bell, and Russell Pederick – Agile Business Suite Architects

Thanks to an approach that sees transactional applications developed with high-level business objects that execute within a business cycle, you’re able to reduce the amount of code required to develop an enterprise-grade application in Agile Business Suite (AB Suite®).

Business Logic

The business logic (LDL+) has been designed to allow business objects to interact with each other with minimal operators. Behind the scenes sits a rich library of objects that maintain information as the application is executing. This includes such GLB members as COPY, TOTAL, STATUS, TODAY, PARAM, MAINT, and FINANCIAL.

The above expression is an excerpt from our Sample.model that stores a relative day number for today’s date in the “GLB.TOTAL” attribute.

Business Cycle

To interact with the AB Suite business cycle, any additional logic is written in the methods – Construct, Prepare, and Main – which automatically execute at particular stages.


These transaction processing stages are detailed below, working clockwise from “Client:”

Initialize Attributes: Automatically initializes a range of attributes and readies them for use.

Automatic Edit: Automatically validates numeric fields and returns any errors to the client.

Prepare Method: Writes additional validation or initialization – such as, generating a customer number or recalling another business object.

Automatic Validation: Validates record keys, dates, and required fields, tests conditions defined for attributes, and returns any errors to the client.

Main Method: Houses user logic, such as checking available stock and confirming a customer’s credit limit prior to a sale.

Automatic Update: Automatically creates database records for the business object.

Initialize Attributes: Automatically initializes a range of attributes and readies them for use.

Construct Method: Performs any necessary user logic before presenting the screen – such as pre-filling some of the screen fields with database record values, etc.

Comparison

There are similarities between LDL+ and other languages, such as Python, particularly when it comes to operators, conditions, and looping commands. However, LDL+ requires that fewer lines of logic be written to execute simple tasks, like iterating over a set of customer records in the persistent store.

Executing a similar task in Python would require you to implement the “__iter__()” and “__next__()” methods to your object. But because these behaviors are built into the business objects in AB Suite, you’re able to sidestep this effort and focus more energy on the business process itself.

The above example from our Sample.model shows how easy it is to read records from the persistent store of customers.

Conclusion

Building the AB Suite business objects automatically generates the additional low-level code required to complete the application. As a result, an object that includes little more than the statements above will create over 5,000 lines of C# code.

Above is a screenshot of the generated code.

Subscribe | Unisys.com | Comment | Newsletter Archive