Das Unternehmen, für das ich arbeite, unterhält ein erfolgreiches SaaS-Produkt, das im Laufe der Jahre "organisch" gewachsen ist. Wir planen, die Produktreihe um eine Reihe neuer Produkte zu erweitern, die Daten mit dem vorhandenen Produkt teilen. Um dies zu unterstützen, möchten wir die Geschäftslogik an einem einzigen Ort konsolidieren: einer Webserviceschicht. Die WS-Schicht wird verwendet von:
- Die Webanwendungen
- Ein Tool zum Importieren von Daten
- Ein Tool zur Integration in andere Client-Software (keine API per se)
Wir möchten auch eine API erstellen, die von unseren Kunden verwendet werden kann und die in der Lage ist, eigene Integrationen zu erstellen. Wir haben mit der folgenden Frage zu kämpfen:
Sollte die interne API (auch als WS-Schicht bezeichnet) und die externe API identisch sein, mit Sicherheits- und Berechtigungseinstellungen, um zu steuern, was von wem getan werden kann, oder sollten es zwei separate Anwendungen sein, bei denen die externe API nur die interne API aufruft wie jede andere Anwendung? Bisher scheint es in unserer Debatte sicherer zu sein, sie zu trennen, aber das wird den Aufwand erhöhen.
Was haben andere in einer ähnlichen Situation getan?