Lavorare su un progetto di e-commerce in cui un'applicazione PHP (back-end e non-customer facing) è attualmente responsabile dell'elaborazione di un ordine dalla fase di checkout fino alla generazione di report di profitti / perdite, elaborazione dell'ordine e anche esecuzione di vari algoritmi su per conto di un team di scienza dei dati.
I componenti algoritmici verranno estratti in un'applicazione separata (python). PHP invierà un payload json tramite curl fino a un end-point dell'applicazione python / passando il payload su una coda beanstalk o simile. Tuttavia, vi sono opinioni contrastanti su quale sia l'applicazione responsabile di cosa.
Lo sviluppatore python desidera che lo sviluppatore PHP prepari e invii un grande carico utile (qty, valore dell'ordine, dati demografici degli utenti, ecc.). Fondamentalmente tutto ciò che lo sviluppatore python richiede per eseguire i loro algoritmi.
Lo sviluppatore Php crede che tutto il servizio python richiesto sia order_id e da questo, può estrarre tutte le informazioni di cui ha bisogno per eseguire qualsiasi algoritmo richiesto dal database. Lo sviluppatore php sostiene inoltre che se sta facendo tutta la preparazione dei dati, allora potrebbe anche eseguire gli algoritmi in quanto la responsabilità passante per il servizio diventa ridondante dato che gran parte del lavoro è già stato fatto.
C'è una scelta giusta o sbagliata? qualcuno potrebbe fornire argomenti decenti da considerare da entrambe le parti? Qualcuno potrebbe raccomandare risorse per aiutare a comprendere l'architettura orientata ai servizi "interna"?