Profound.js Future of open source development on IBM i Alex Roytman Profound Logic
Profound.jsFuture of open sourcedevelopment on IBM i
Alex Roytman
Profound Logic
Copyright © 1999-2017
• The most exciting technology ever to be brought over to IBM i
• Brings the platform forward in a way like nothing else ever did before
• Platform won’t be viewed as legacy by anyone again
• In many shops, it’s going to save IBM i
What is Node.js?
Copyright © 1999-2017
• Outdated green-screens
• Finding IBM i developers to work on your applications
Addresses these concerns perfectly:
Copyright © 1999-2017
Server-side JavaScript
Node.js
Copyright © 1999-2017
• Simple, portable, powerful high level language
• It’s everywhere
– So much open source, examples, education, tools for it
– Most popular language today
– Perfected for use by browsers first
– Millions of developers, transferrable skill
• JSON is inherent to JavaScript
• Interpreted and great for prototyping
• Stable, performant, great for production
JavaScript
Copyright © 1999-2017
Node.js widely used by Enterprise
Copyright © 1999-2017
And now on IBM i
• Runs in PASE like other open source technology on i
• But Node doesn’t have to run in its own silo
• Can act like an ILE language (can run under same call
stack and environment as RPG, COBOL, and CL)
Copyright © 1999-2017
• Node.js was built to be extensible and adoptable
• Start out with a blank slate
• Bring in packages that extend Node.js
How can Node act like an ILE language?
Copyright © 1999-2017
• Node ships with Node Package Manager
• Uses a public registry of packages
• Packages often depend on each other
• Usage stats for each package gives it a social aspect
NPM – Node Package Manager
Copyright © 1999-2017
• Various packages:– Web Services Capabilities
– PDF, Excel, Image generation and processing
– IoT, AI, BlueMix, Watson API, Cloud, Cognitive
– Encryption / Security
– JSON, XML processing, Web, Mobile Tools
– Integration: drivers and API to access data on any other system
• More than ½ million packages
• More than 2.5 billion downloads per week
Some staggering NPM statistics
Copyright © 1999-2017
• NPM provides a package for everything
• What if there was a package that …
– Made Node.js act like an ILE language
– Provided all capabilities of RPG
– Made learning curve for RPG developers a matter of hours / days
How can Node act like an ILE language?
Copyright © 1999-2017
• Profound.js Framework
• Profound.js Connector
• Profound.js Converter
• JumpStart
Profound.js
Copyright © 1999-2017
• Free NPM Package that gives Node.js RPG-like capabilities
• Top-down transactional business programming
• Support for all IBM i data types
• Various API to work with these IBM idata types
• Built-in support for Rich Display or HTML interfaces
• Visual Designer Tool for building interfaces
Profound.js Framework
Copyright © 1999-2017
• Very simple to use API for DB2 Access, Data Areas, and other system resources
– Record Level Access
– SQL
– Support for overrides, QTEMP, and other IBM i concepts
• Call any IBM i Program or Command directly
– Pass any IBM i parameters
– Works even with interactive 5250 commands and programs
• Be called by any IBM i Program directly as an ILE object
– Object Level authority and traditional IBM i security in place
– Receive any IBM i parameters
– Display HTML or Rich UI in the midst of 5250 or RPG OA program
• Call any System API like a simple JavaScript function
• Call any Service Program procedure
Profound.js Connector
Copyright © 1999-2017
• Extremely accurate
• Think of it as a more holistic version of free format RPG
• One to one relationship between RPG and Node.js
• Simplifies code (especially fixed format concepts)
• Modularizes your code automatically
• Finds and removes dead code
• Creates REST API out of any program
• Agile approach used– Convert one or multiple programs at a time
– All dependencies still work
Profound.js Converter
Copyright © 1999-2017
Transactional business programming
Copyright © 1999-2017
Transactional business programming
Copyright © 1999-2017
Defining variables or fields
Copyright © 1999-2017
Calling programs / commands
Copyright © 1999-2017
User Interface
Copyright © 1999-2017
User Interface - Subfiles
Copyright © 1999-2017
Databases – Record Level Access
Copyright © 1999-2017
Databases – Embedded SQL
Copyright © 1999-2017
Profound.js Demo
Copyright © 1999-2017
Questions & Answers
Our Web Site:www.profoundlogic.com
Profound.js Microsite:www.profoundjs.com
Contact me: [email protected]
company/profound-logic-software
profoundlogic
@ProfoundLogic