Profound.js is a business application development platform for Web and Mobile applications. It helps in both creating new applications and modernizing legacy code.
For modernization, Profound.js modernizes your IBM i RPG code with an agile, iterative, and low risk approach that taps into the capabilities of open source and Node.js. It works together with Profound UI, the IBM i user interface modernization platform.
Profound.js consists of 3 main components:
- Profound.js Framework – Free npm package that gives JavaScript robust business programming capabilities, such as strong data types and the ability to code business applications in a transactional top-down manner. It also includes the Profound UI Visual Designer tool for building browser and mobile interfaces visually.
- Profound.js Connector – Commercial offering that provides connectivity to popular relational databases and IBM i resources like DB2 data, programs, commands, service programs, and operating system API.
- /wiki/spaces/PUI/pages/164499383 – Tool (available as a service) to automatically convert legacy RPGLE code into clean Node.js (server-side JavaScript) code.
Some of the main features of Profound.js are listed below:
- Ability for legacy code to start utilizing any Node.js module, and immediately realize the benefits of the open source ecosystem, including the use of Web services, npm, IoT, and Watson in your applications
- Simple integration with various databases, including IBM i DB2, MySQL, Microsoft SQL Server, Oracle, and MongoDB
- Ability to modernize RPG to Node in a step by step iterative manner, rather than using an “all or nothing” approach
- Node.js database driver for both Record Level Access and SQL operations, including support for overrides and QTEMP in an interactive job
- Ability to code Node.js logic in a top-down manner suitable for transactional business applications (“callback hell” is automatically avoided)
- Integration with Profound UI’s Rich Display or HTML-based user interface technologies
- Ability for Node.js modules to act like native ILE programs on IBM i
- Ability to assign object level security to Node.js scripts
- Ability to call RPG, CL, and COBOL programs seamlessly from Node
- Capability to call 5250 green-screen interactive commands from Node, and having them render as HTML5 on-the-fly
- Ability for Node.js to be called from RPG, CL, or the command line using a standard IBM i CALL
- Support for all native IBM i data types and seamless handling of parameters between native programs and Node.js
- Ability to call any service program procedure on IBM i from Node, including operating system API
- Ability to automatically expose any existing legacy logic as SOA web services, even when legacy programs are not well-modularized and screen logic is intermingled with business logic
- Automatically modularize existing code, making it more readable, introducing modern object-oriented concepts, and removing dead code