iModernize - The Profound Logic Software Blog

Components of Profound.js 2.0 (Part 2)

Posted by Tim Losee on Jun 20, 2017 3:22:20 PM

Over the next several weeks we will be taking an in depth look into Profound Logic's newest product... Profound.js 2.0. We will be discussing the benefits, the different components as well as the easiest ways for you to access Profound.js 2.0 for your needs. Profound.js 2.0 enables you to easily adopt Node.js in your business, and to take advantage of the many benefits of Node, including access to a much larger pool of developers for IBM i and access to countless reusable open source code packages on NPM (Node Package Manager)

Last week we began to discuss the components of Profound.js 2.0 by discussing the Framework and the Connector module. This week we are going to begin to discuss the largest module of Profound.js 2.0, the Converter module:

The Profound.js Converter (currently available as a service) automatically converts existing RPGLE code into clean Node.js (server-side JavaScript) code. Unlike most code conversion tools, Profound.js actually simplifies programs, and generally creates less lines of code than the original RPG. The Conversion module allows you to replace any RPG program with a Node.js module while maintaining the integrity of the entire application. Here are the benefits to the Converter module:

Hire and Use Modern Developers

Translating RPG into JavaScript (via Node.js) allows organizations to tap into an ecosystem of millions of developers. 

While JavaScript (along with Node.js) is still growing, significantly, the technology has already surpassed all other languages in terms of usage, popularity, number of open source projects, and developers. Compared to traditional IBM i languages, JavaScript offers more examples, education, tools and open source resources. 

Because JavaScript is the defacto high level language of client -side user interface development, most developers today already know the JavaScript language and gives you an edge in hiring and retaining new developer talent. 

Open Source Node Packages

After a program has been converted, it can immediately start utilizing open source packages provided by Node Package Manager (NPM). Much of the functionality found on NPM provides capabilities that would normally cost thousands of dollars in licensing or entail time-consuming custom development. Profound.js gives you access to these packages without any additional cost or effort. A few examples of these packages are:

  • PDF, Excel, Image generation 
  • Email
  • Web Services Capabilities
  • IoT, AI, BlueMix, Watson API, Cloud, Cognitive
  • Encryption/Security
  • JSON, XML processing, Web, Mobile Tools

Making Applications SOA Accessible

Converted programs are automatically SOA accessible and can be accessed as a REST web service that communicates using the JSON protocol. It doesn't matter if the program is not well modularized with the user interface logic neatly separate from business logic (a typical requirement for virtually all other SOA efforts). 

Profound.js program logic becomes easily accessible because the code no longer runs directly within an interactive   IBM i job and sends information to and from a screen as JSON data. The data can now be accessed both programmatically via web services and by a live user interacting with the application. 

Cleaning up Dead Code

Over time, it is typical for an application to accumulate unused code. Without a lengthy manual analysis, you just don't know which sections of the code are used and which ones aren't. With the Converter Module you have the capability to automatically find those sections and eliminate them, giving you less lines of code to work with and therefore simplifying future development. 

Automatically Modularizing Code

The Converter module can modularize your code into separate functions with isolated scopes. This simplifies maintenance by allowing developers to work with code in smaller units. With typical large monolithic RPG programs, all subroutines have global scope. When you introduce new variables and business logic, they can inadvertently affect data and other routines. 

Profound.js Converter will transform these subroutines into more independent functions, allowing developers to declare local variables and introduce logic that is scoped only to the current routine, thus avoiding any unintended consequences outside of that routine. 

Tune in next week where we will continue our look into the amazing benefits that Profound.js 2.0's Converter Module can have on your companies IBM i applications. See you next week!


Profound.js harnesses the power of Agile Modernization and Node.js for IBM i application modernization. Join our live Webinar on the power of Profound.js 2.0 on June 28th, at 10:30am PDT. We will be giving a step by step look through our newest product and be able to answer questions for you afterwards. Sign up today!



 

Topics: Node.js, Profound.js, IBM i applications, IBM i, RPG Development, RPG, Application modernization, AS400 modernization, IBM i Modernization, Agile modernization

Subscribe to Blog Updates

...and get the The Node.js for Enterprise
IBM i Modernization White Paper!

Node.js cover page option 2-1.png

Recent Posts