SoftOne ERP API Integration & Database Caching Blueprints

SoftOne ERP API Integration & Database Caching Blueprints

Ένα ολοκληρωμένο σύνολο από developer blueprints, διαγνωστικούς servers και συγχρονιστές βάσεων δεδομένων για τη σύνδεση web εφαρμογών με το SoftOne ERP.

Technologies
Node.jsSQLitenode:sqlitePythonopenpyxlREST APISoftOne ERPDatabase PartitioningPostmanIntegration GuideJavaScript

Full Overview

Το project παρέχει έτοιμα προς παραγωγή (production-ready) σενάρια και αρχιτεκτονικές για τη διασύνδεση με το SoftOne ERP. Περιλαμβάνει έναν τοπικό Node.js server για εκτέλεση διαγνωστικών ελέγχων (Authentication, orders submit, customers sync) καθώς και background workers που χρησιμοποιούν native SQLite node:sqlite) για να αποθηκεύουν τοπικά τα δεδομένα του ERP (προϊόντα, τιμές, στοκ, πελάτες). Με αυτόν τον τρόπο, εκμηδενίζονται τα timeouts του ERP gateway και εξασφαλίζεται η απρόσκοπτη λειτουργία της e-commerce πλατφόρμας.

The Challenge

Οι απευθείας κλήσεις στο SoftOne ERP κατά τη διάρκεια της πλοήγησης των χρηστών σε ένα e-shop συχνά προκαλούν καθυστερήσεις, timeouts (λόγω μεγάλου όγκου δεδομένων, π.χ. 77.000 προϊόντα) ή rate limiting. Επιπλέον, κατά τη διάρκεια μαζικών ενημερώσεων στοκ, η βάση δεδομένων SQLite μπορεί να υποστεί database locking, κρασάροντας τις υπόλοιπες λειτουργίες (όπως η ολοκλήρωση παραγγελιών ή η αναζήτηση πελατών).

Our Solution

1. Διαχωρισμός Βάσεων Δεδομένων (Database Partitioning): Διαχωρισμός των caches σε erp_products.db και erp_customers.db ώστε οι μαζικές εγγραφές προϊόντων να μην κλειδώνουν τις λειτουργίες αναζήτησης πελατών κατά το checkout.

2. Chunked Delta Sync: Υλοποίηση μηχανισμού που σπάει τις ερωτήσεις ενημέρωσης προϊόντων σε ασφαλή blocks (π.χ. 1 ημέρας), αποφεύγοντας τα timeouts του ERP gateway.

3. Interactive Diagnostics Server: Ένα Node.js web server dashboard για live testing όλων των API κλήσεων (SALDOC για παραγγελίες, CUSTOMER για πελάτες, getMtrManfctr κλπ.).

4. Excel Compilers: Python scripts με χρήση openpyxl που μετατρέπουν τα SQLite δεδομένα σε μορφοποιημένα Excel με zebra striping.

The Result

Μια εξαιρετικά σταθερή, γρήγορη και lock-free αρχιτεκτονική διασύνδεσης. Το e-shop λειτουργεί αυτόνομα με μηδενική καθυστέρηση (αφού διαβάζει από τοπικό SQLite cache), ενώ οι παραγγελίες υποβάλλονται με ασφάλεια στο ERP στο background

Πίσω στο Portfolio