Profound Goes Low Code with Node.js Framework
June 30, 2021 Alex Woodie
Profound Logic is now shipping a new release of Profound.js, its Node.js-based application framework for IBM i and other platforms. The big new feature with version 5.3 is the adoption of a low-code paradigm that eliminates the need for developers to get their hands dirty writing and maintaining code. However, developers can still go behind the scenes and write code if they need to.
While there may be other low-code tools advertised in the IBM i community, Profound.js is the IBM i community’s first true low-code development environment, according to Alex Roytman, the founder and CEO of Profound Logic.
“Low code means different things to different people,” Roytman says. “To me, I don’t think of low code as something that’s like a 4GL, where it generates a bunch of code. To me, it’s more like you can configure an application using point and click, and if you need to jump into code, you can. I see other [4GL] vendors that claim to do low code, but at the end of the day, they generate a bunch of code.”
Profound.js customers running the latest release will never be stuck with a bunch of “bloated” code generated from a 4GL tool that they have to manually maintain, Roytman says. Over the years, many IBM i shops have been stuck with code generated by 4GLs long after they stopped doing development in the 4GL tool itself.
Instead, as an application framework, Profound.js will enable developers to maintain the software the same way they designed it in the first place — by using the product’s facilities for setting (or resetting) the configuration of the application, Roytman says.
When the maintenance work is done, the framework itself handles the complexity of deploying the changes. It’s integrated with Git for version control, but since users are shielded from underlying code, they’re not using Git to track changes to code, but changes to the configuration.
Profound.js takes a modular approach to building applications. The software walks users through the process of building applications, with a basic model-view-controller architecture. The product comes with about 100 pre-build plug-ins for handling repetitive tasks, such as accessing a relational database or pushing the results of a query to a Web-based form, which are the core building blocks of most apps built with Profound.js.
“Basically, we have this concept that, when you click on a button, for example, that’s going to kick off a process, and you can design that process in a step-by-step manner all via configuration,” Roytman says. “And each one of those steps, you select what we call a plug in, which is like a wizard, and we have close to 100 of them.”
The adoption of a low-code paradigm in Profound.js marks a significant event in the product’s history, says Profound’s Chief Revenue Officer Jordan Antonoff.
“Before this update, it wasn’t a low-code tool at all. You had to go in hand code everything,” Antonoff says. “Obviously there is a lot of buzz around low code right now. But there is not really, from what we’ve seen, any true low-code frameworks on the IBM i platform.”
The low-code makeover did not turn Pround.js into a development tool that’s so simple that anybody can use it. Suzy from accounting, for example, is not going to be whipping out business applications like a 30-year Java genius.
The target population for Profound.js are business analysts who understand their organizations existing database structure, and probably know their way around some business logic, too. In many IBM i shops, it’s the RPG developers who wear the analyst’s hat, and they are the most obvious users for the new low-code iteration of Profound.js.
What stands out about this launch is Profound.js’s capability to switch between low-code and full-on-code modes. On the one hand, it can automatically configure Node.js applications for the rudimentary, boiler-plate parts of applications — generating a query from a database, and then presenting that data in a form, for example.
But with a couple button clicks, the tool instantly enables developer to hand-code the parts of the application that need extra attention. The company hopes the dual nature of Profound.js entices IBM i developers (or any other platform) to give it a try.
“Whereas you might see some resistance from developers for low-code tools, that typically comes from the fact that they get stuck in the paradigm of low code, and it’s not easy for them to jump out and hand code,” Antonoff says. “We’re saying, use low code for the simple parts of your development where it’ll help you save a ton of time. But yes, we understand certain complex pieces of your systems need to be hand-coded, so you can easily do that.”
The idea is to dramatically speed up development with the low-code approach and start to eat into the backlog of projects in development shops, but without giving up the capability to get in there and really create some refined, advanced code by hand where absolutely necessary, Antonoff says.
“You hear a lot of this back and forth between the business and IT, where the business is saying ‘Give me this, give me that. I don’t understand why this is taking so long,’ and IT is saying ‘Well, this is much more complex than you think,'” Antonoff says. “Business says ‘I don’t care. Give it to me,’ and IT says ‘OK, can I go hire 10 more people to help?’ ‘No absolutely not.’
“So what are you left to do?” he asks. “You have to make your existing staff more productive. So that’s definitely been the focus from the R&D side over here for the last several years.”
Profound Logic offers application modernization tools, including Profound UI. It also launched an API development tool earlier this year called Profound API that shares much of the underlying plumbing with Profound.js. While Profound.js is really geared toward developing new applications from scratch, it can also play a role in application modernization, Roytman says.
“Sometimes, the initial application is so old and it’s such [excrement], so to speak, that what makes sense is to start over,” he says. “It depends on the state of the code, but it’s pretty common that you might have something that’s from so long ago, and the techniques that are used are so outdated that for future maintenance and various purposes, it’s just better to rebuild. And if you have something that can do it quickly, that’s where the low code really helps.”
A customer may be able to use Profound Logic’s application modernization tools, or even its application modernization service, to convert the bulk of an application to a more modern codebase and user experiences. But when the slate needs to be wiped clean and the business logic rewritten from scratch, that is where Profound.js and its new low-code paradigm can pay big dividends, Roytman says.
“The low code specifically is for starting from scratch,” he tells IT Jungle. “But it works so well with our other technologies where you may convert your entire system but 20 percent of it needs kind of redone because it doesn’t answer business needs anymore, or something needs to change in the workflow, and this is where the low code comes in.”
There is a caveat to Profound.js’s capability to switching between full-code and low-code modes. Once a developer has decided to go in and get their hands on the code for a given segment of the application, it must be maintained manually going forward, and the developer will not be able to utilize the configuration-based approach to tweak it or re-configure it in the future.
But the good news there is that the software takes a very fine-grained approach to that dividing line, and users can mix and match both approaches in their applications, depending on which approach makes the most sense.
“It is really granular,” Roytman says. “It can be one little step within an application. So you can have a bunch of low-code steps and then you can actually insert like a calculation of code, right in between there. It’s not like this big switch where the entire routine or the entire application is switched to code. ”
Profound.js version 5.3 is available now. For more information, see the company’s website.