2017-06-07 1 views
0

Wir haben ein System mit einem Dienst, der über ein Frontend verfügt, damit Benutzer den Dienst manuell verwenden können. Benutzer lesen Informationen von einer Benutzeroberfläche für den Dienst und initiieren Aktionen über die Benutzeroberfläche durch den Dienst. Nichts Ungewöhnliches hier.Wie wählen Sie zwischen einem Software Service und einem Software Agent?

Wir möchten jedoch weiterhin die manuelle Nutzung dieses Dienstes durch Benutzer zulassen, möchten aber auch den Benutzer automatisieren, z. Haben Sie einen Software-Agenten schreiben wir Zugriff auf die gleichen Informationen und initiieren die gleiche Art von Aktionen.

Natürlich müsste der Softwareagent die Benutzeroberfläche nicht verwenden, er könnte die Ansichts-API abfragen und Befehle an die Schreib-API senden. Wir können dies tun, da wir eine gute Trennung zwischen Front-End-Benutzeroberfläche und Back-End-Service haben.

Meine Frage ist, sollten wir einen Benutzer automatisieren, indem Sie einen Agenten wie diesen erstellen ODER sollten wir den Benutzer als einen anderen Dienst neu implementieren, der mit dem ursprünglichen Dienst interagiert (z. B. ein ereignisgesteuerter Dienst)?

In beiden Fällen wird der Agent oder Dienst in unserem System gekapselt. Die Frage ist, ob diese Komponente den Dienst als Benutzer verwenden sollte (aber nicht über die UI) oder gleichwertige Funktionalität als Dienst implementiert

Vielen Dank im Voraus für alle Gedanken, Anregungen oder Hinweise.

Prost, Ashley.

PS Ich verwende hier den Begriff "Softwareagent", weil die Komponente etwas repliziert, wie ein Benutzer arbeiten würde, d. H. Auf Informationen reagieren und Aktionen ausführen würde. Ich meine nicht, dass dieser Agent eine AI oder ein Mobile usw. ist.

Antwort

0

Wenn das Automatisieren des Benutzers eine Funktion Ihrer Anwendung ist, ist es sinnvoll, es als einen Dienst zu modellieren, um dieses Verhalten einzukapseln. Wenn die Automatisierung nur zum Entwickeln/Testen vorgesehen ist, möchten Sie möglicherweise nur ein Skript erstellen.

+0

Vielen Dank für Ihre Antwort clonq. Der automatisierte Benutzer soll ein Merkmal der Anwendung sein und sein Verhalten wird gekapselt sein. Die Frage ist mehr darüber, ob diese Komponente den Dienst steuern sollte (wie der Benutzer es tun würde) oder die Funktionalität als unabhängigen Dienst implementieren würde. –

Verwandte Themen