L'azienda per cui lavoro mantiene un prodotto SaaS di successo che è cresciuto "organicamente" nel corso degli anni. Stiamo programmando di espandere la linea con una suite di nuovi prodotti che condivideranno i dati con il prodotto esistente. A supporto di ciò, stiamo cercando di consolidare la logica aziendale in un unico posto: un livello di servizio Web. Il layer WS verrà utilizzato da:
- Le applicazioni web
- Uno strumento per importare dati
- Uno strumento per l'integrazione con altri software client (non un'API in sé)
Vogliamo anche creare un'API che possa essere utilizzata dai nostri clienti in grado di utilizzarla per creare le proprie integrazioni. Stiamo lottando con la seguente domanda:
L'API interna (ovvero il livello WS) e l'API esterna devono essere una sola cosa, con le impostazioni di sicurezza e autorizzazione per controllare cosa può essere fatto da chi, o dovrebbero essere due applicazioni separate in cui l'API esterna chiama semplicemente l'API interna come qualsiasi altra applicazione? Finora nel nostro dibattito sembra che separarli potrebbe essere più sicuro, ma aggiungerà spese generali.
Cosa hanno fatto gli altri in una situazione simile?