CA Opens 2E Arrays to Outside Web Services
November 6, 2012 Alex Woodie
A new release of the 2E development environment released by CA earlier this year makes it easier for organizations to expose 2E business logic to the outside world through Web services. The new Enhanced Array support added to 2E version 8.6 marks a fundamental change in the product, and marks the beginning of a new era in how 2E shops will develop and maintain their IBM i applications in the future.
Array programming is well-suited to fourth-generation languages (4GLs) like 2E because it enables lots of individual pieces of data to be updated simultaneously with a single operation. Numerous programming languages support arrays, and the 2E environment has supported basic array functions with its RPG and COBOL generators since 1992.
However, the implementation of arrays in 2E was limited to some extent because they worked differently depending on whether the user was generating RPG or COBOL from the dense 4GL code of 2E. “In all of the different generations between RPG and COBOL, in my opinion, there is not a more vast difference in generation than the difference that is generated for the array support,” CA senior software engineer Mark Ronayne states on CA’s 2E message board.
CA addressed this limitation–and exposed new functionality to boot–with the introduction of the new Enhanced Arrays Support feature with the April launch of 2E 8.6. The Enhanced Array functionality basically enables 2E users to expose their 2E business logic (which exists as generated and compiled RPG or COBOL code sitting on the IBM i server) to the outside world through standard XML-based Web service languages.
With Enhanced Arrays, 2E customers can modify or add to their generated RPG or COBOL applications without modifying the 2E source code. The array result sets generated by the 2E application (that is, the enhanced arrays) serve as the starting point for users to make modifications or additions using the Web services standard.
Patricia Bowman, CA’s 2E product manager, explains the significance. “The Enhanced Array Support feature helps our customers to more effectively model and deploy increasingly complex and beneficial Web services,” she tells IT Jungle via email. “This also helps preserve the heavy investment in the application’s business logic, while extending CA 2E’s reach, beyond the model and even the platform, through the well understood and widely used Web service standard. Clients of the Web services are insulated from requiring knowledge of CA 2E, RPG/COBOL, or the IBM i machine.”
All of the changes or additions that users make to their Enhanced Arrays via Web services remain native to 2E, which ensures that 2E’s impact analysis capabilities will continue to work. This is a critical function, and will undoubtedly help get 2E customers moving in the direction of Enhanced Array support in 2E.
CA has adopted an agile development cycle, and the new Enhanced Array Support function was one of the first “scrums” to bring CA 2E engineers in close working proximity with users. One 2E user who participated in the last scrum was Crispin Bates, a senior information systems consultant with a 2E shop.
“As someone who has been asking for this support for a long time, I think that the 2E team is taking the right route,” Bates says on CA’s public 2E message board. “They have added functionality that can actually be used, reducing the effort to implement result sets in Web Services, while adding the Impact Analysis of these exposed interfaces, something which you are lacking with your User Source route. A much better place than we were with 8.5! Sure, the coding required is a little more than can be done with some source code, but it is native 2E code, and provides all the great impact analysis functionality that makes 2E such a great development tool.”
Other new features delivered with version 8.6 include performance enhancements to the CA 2E Web Option. Bowman says the CA 2E Web Option now provides sub-second response times on applications with thousands of concurrent users. Additionally, there were other improvements to installation and upgrading capabilities for the CA 2E Web Option, she says.
CA also optimized the Language Dependent Objects (LDOs) library to make the transition “more seamless and consistent” when multiple languages are supported in 2E applications. Lastly, CA simplified navigation of its 2E Community pages (the online forum), and improved product documentation and bookshelf resources. All told, there were more than 120 enhancements delivered with 2E 8.6, which was never formally announced by CA.
For more information, see CA’s 2E homepage at www.ca.com/us/modernization-application-development.