FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Harbour + Node.js via WebSocket: Modern Integration in ~300 Lines of Code – No Frameworks
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Harbour + Node.js via WebSocket: Modern Integration in ~300 Lines of Code – No Frameworks
Posted: Wed Jan 07, 2026 12:33 AM

https://clipper2web.com/docs/nodejs.mp4

Hello friends,

Today I implemented something that for a long time was considered complex, untypical, or even unrealistic for Harbour β€”
and it turned out to be surprisingly simple.

What mattered most to me was long-term maintainability, debuggability, and a clear understanding of the interface.
I wanted a solution where the data flow is explicit and transparent, not hidden behind frameworks or abstractions.

Harbour now talks directly to Node.js via WebSocket.
No DLLs.
No frameworks.
No magic.

Just a few hundred lines of clean, explicit code β€” and suddenly a new door opens.


---

What this enables

A classic Harbour application can now:

  • establish a persistent WebSocket connection
  • communicate with a modern Node.js service
  • access SQL databases through Node.js
  • receive results directly back into Harbour

All of this is bidirectional, stateful, and fast.

Harbour does not become a web framework β€”
but it gains modern interface capability, and that is what really matters.


---

Key integration areas

Modern databases (without DLLs / ODBC)
PostgreSQL, MySQL/MariaDB, SQLite, MongoDB, Redis
β†’ Node.js handles pooling, reconnects, and TLS
β†’ Harbour stays focused on business logic

Cloud & Web APIs
Payments, logistics, CRM/ERP, geo services, messaging
β†’ Harbour only speaks JSON over WebSocket

AI & LLM services
Text analysis, document processing, assistants, translations
β†’ Harbour provides context, Node.js connects to AI providers

Real-time features
Live status, push updates, dashboards, multi-user scenarios
β†’ No polling β€” Harbour can react instantly


---

Clean separation of responsibilities

  • Harbour: business logic, validation, state
  • Node.js: APIs, protocols, external services
  • Outside world: SQL, cloud, AI

Result:

  • less complexity per layer
  • better maintainability
  • easier debugging

---

Why this matters

  • Existing Harbour systems remain intact
  • Decades of business logic are preserved
  • No rewrite, no β€œbig bang” migration
  • Modernization becomes incremental and controlled

Harbour is not replaced β€” it becomes connectable.

Best regards,
Otto

https://clipper2web.com/docs/nodejs.mp4

Continue the discussion