Intro
Many business processes run on a schedule—MRP reports, EDI transactions, and database synchronizations. These tasks often run at night or at specific intervals to avoid disrupting operations. I frequently write programs to handle these automated interactions between databases and APIs.
Why Node.js?
Ecosystem & Packages The Node.js ecosystem is vast. Need to retrieve orders from Shopify or WooCommerce? There’s likely a package for that. This availability significantly speeds up development compared to other languages.
Training & Accessibility JavaScript/TypeScript and Node.js have immense training resources. It’s easy for new developers to pick up, and installation is straightforward on most operating systems.
Current Landscape
I often replace legacy applications written in Lansa. When APIs change or older apps fail, updating them in Lansa is often difficult due to a lack of modern libraries (like OAuth or standardized API clients). Rebuilding these integrations in Node.js is often faster and more maintainable.
Architecture
I typically write these as JavaScript applications using ESM imports.
- No Compilation: JSDoc provides sufficient typing without the need for a build step.
- Structure: Traditional MVC architecture, even without a view layer, keeps code organized.
- Database: I prefer Knex as a query builder, though I’ve also used node-odbc for raw SQL.
Since these applications handle sensitive data, they reside in private repositories. Once tested, a CL program triggers them via the operating system’s scheduler.