To manage Node.js application processes in production on IBM i, we recommend PM2 Runtime. As PM2’s official documentation states, PM2 “…allows you to keep applications alive forever, to reload them without downtime and facilitate common DevOps tasks.”
Author Archive for: Alan Seiden
About Alan Seiden
Alan helps CIOs and IBM i teams design and implement high-performance web and mobile applications using PHP, Python, Node.js, Db2 and RPG business logic.
With a passion for open source and the IBM i, Alan co-developed the popular PHP Toolkit with IBM. He was one of the first Zend Framework certified engineers; co-founder of the NYC Zend Framework Meetup; and charter member of IBM/COMMON’s PHP Advisory Board. He has been called “the performance guru of PHP on IBM i.”
An IBM Champion and award-winning speaker, Alan hosts the CIO Summit twice per year and mentors younger developers in the Club Seiden forum.
In his spare time, Alan plays the trombone and studies and teaches the Feldenkrais Method® of Somatic Education.
Entries by Alan Seiden
IBM i integration via APIs has been central to many of our development projects, especially those involving web/mobile applications, software-as-a-service (SaaS) solutions, and cross-platform data sharing. Lately we’ve been helping customers prepare for new state sales tax rules on internet sales by integrating APIs with their IBM i systems.
With IBM’s delivery of open source capabilities on IBM i, Seiden Group has been there to apply the technology to application modernization initiatives. Starting with PHP and the PHP toolkit, then Python, and now Node.js and Ruby, we’ve worked with IBM and customers to flesh out the capabilities of the technology, teach best practices at conferences and directly with clients, and develop award-winning solutions.
As big fans of Python, Seiden Group now offers Python training for IBM i developers. Our training covers not only the popular Python language, but all the pieces necessary to succeed on IBM i, including how to use the Python toolkit to call RPG and COBOL business logic as well as best practices for accessing Db2 and SQL from web applications with Python.
When modernizing applications, we help organizations select a software architecture that’s flexible, yet can last many years. A recent article about our client K3S got our attention. Author Alex Woodie wrote that the inventory forecasting software vendor had updated their package with an attractive web-based interface using PHP, while adapting their existing RPG code into APIs written in RPG. But I knew there was more to this story. So I asked King Harrison IV—K3S’s executive vice president, friend, and founding member of Club Seiden— to elaborate on their choice of RPG APIs.
We’ve recently been getting requests to help upgrade the venerable Zend Framework 1 (ZF1) to newer PHP frameworks. The effort is necessary but not trivial. To help you succeed with your migration, here are some suggestions.
This week marked our 6th anniversary, evolving from “just Alan” to the amazing team at Seiden Group. This milestone got me wondering…with as much change as we’ve seen over the past six years with PHP and Zend Server, how many PHP environments out there are four, five, or six or more years old?
When your site gets busy, your web server may need a configuration change to handle the load. We often start with the Apache web server’s ThreadsPerChild directive. ThreadsPerChild controls how many connections can exist at once. Defaulting to 40, its value can be set in your Apache instance configuration file (for example, /www/zendphp7/httpd.conf):
Sometimes a fresh perspective makes all the difference. I recently needed to cancel a WebEx meeting. I clicked the menu item to cancel the meeting and was presented with this dialog box: