Wir haben einen Prozess, der mehrmals am Tag läuft (über einen Windows-Dienst) und jederzeit von einem Administrator-Benutzer (über eine Web-App) aufgerufen werden kann. Dieser Prozess ruft einen Datensatz von einem Partner über einen Webdienst ab. Anschließend führen wir diese Daten mit unserer lokalen Kopie in unserem eigenen Format zusammen. Einfach genug.Anpassung eines 3rd-Party-Webdienstes in Ihr Anwendungsdesign
Meine Frage ist, wie dies in unser Anwendungsdesign passt. Wir verfügen über eine relativ einfache Application Services-Ebene, die mit unserem Repository interagiert, um mit unseren Domänenobjekten umzugehen. Die Domäne ist Persistenz ignorant.
Wie sollte dieser Prozess in diese Architektur passen? Do wir,
- Setzen Sie die meisten Logik in den Anwendungsdienst? Rufen Sie einfach den 3rd-Party-Service an, holen Sie sich unsere lokalen Objekte aus dem Repository und führen Sie unsere Updates/Adds/etc durch und speichern Sie sie erneut im Repository. Behandeln Sie den Drittanbieter-Dienst einfach als ein anderes Repository.
- Lassen Sie den Anwendungsdienst unsere lokalen Daten erfassen (sorgen Sie sich nicht um das Datenvolumen), übergeben Sie diese an einen Domain-Level-Service, der den 3rd-Party-Service aufruft, Daten nach Bedarf zusammenführt und dann ein neues Dataset zurückgibt App-Service zum Einbinden in das Repository?
- Weitere Optionen ...