OpenVMS Boot Camp 2015
Using BLOBs in ACMS applications – an Open Source-based approach for dealing with the 64K workspace limit

Track: Open Source Development

Brett Cameron, Senior Software Engineer, VMS Software

Since it was released in 1984, ACMS has imposed a limit of 64K on the maximum amount of data that can be exchanged in a single task call. When ACMS was originally developed, this limit no doubt seemed very reasonable, but as the scale and complexity of software solutions has evolved, and as the use of data types such as images and audio and video media files has become commonplace, the 64K restriction can present a significant limiting factor to the evolution of business-critical ACMS-based applications. Eliminating the 64K workspace limit from the ACMS product is problematical; however it is possible to effectively and elegantly work around the problem. This talk describes a simple yet powerful and totally generic solution that may be used to overcome the ACMS 64K workspace restriction in many situations. The solution provides a set of simple-to-use API calls and utilises a transient data store (based on Open Source software) to effectively provide ACMS applications with a “pass by reference” mechanism. The solution allows application developers to implement their own transient data store if desired, data transferred via the pass-by-reference mechanism may be of arbitrary size and content, and only minimal change to existing application code is required in order to utilise the solution.

Experience Level