Stateful Entities & Webservices best practice

Diskutiere Stateful Entities & Webservices best practice im SOA Forum; Hallo, ich habe eine Entity, welche einen Lifecycle durchleben. Diese können mit einem Zustandsautomat abgebildet werden. Dieser Zustandsautomat...

  1. MoxxiManagarm
    MoxxiManagarm Aktives Mitglied
    Hallo,

    ich habe eine Entity, welche einen Lifecycle durchleben. Diese können mit einem Zustandsautomat abgebildet werden. Dieser Zustandsautomat besitzt 9 Events, wobei nur 7 davon via Rest getriggert werden sollen. Die anderen 2 (u.a. create) werden durch ein anderes System getriggert.

    Grundsätzlich alles kein Problem. Ich möchte nur Fragen, welche die beste Möglichkeit ist, diese Events mit Rest zur Verfügung zu stellen.

    Spontan hätte ich für jedes Event einen Webservice implementiert in der Form:
    Code (Text):

    POST /myentities/{id}/action1
    POST /myentities/{id}/action2
    POST /myentities/{id}/action3
    POST /myentities/{id}/action4
    POST /myentities/{id}/action5
    POST /myentities/{id}/action6
    POST /myentities/{id}/action7
     
    Oder eben etwas in der Art:
    Code (Text):

    POST /myentities/{id}/{action}
     
    Was ich auf jeden Fall vermeiden wollen würde wäre
    Code (Text):

    POST /myentities/{id} body: updatedentity
     
    Was ist hier eure Erfahrung? Gibt es ein best practice und vielleicht noch ganz andere Ansätze dafür?



    Viele Grüße
    MM
     
  2. Vielleicht hilft dir dieser Kurs hier weiter.
  3. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Die Events sind einfach nur ein "jetzt in Zustand X wechseln"?


    Ist der aktuelle Zustand Teil der Entität?
    Dann ginge sowas wie PATCH /myentities/42 body: {state: state_5}

    Ansonsten könnte man die Entität in den Zustand pushen: PATCH /state/5 body: {id: entity_42}

    Keine Ahnung ob das praktikabler ist, aber kam mir grad so in den Sinn...
     
  4. MoxxiManagarm
    MoxxiManagarm Aktives Mitglied
    Nein, es müssen auch unerwünschte Statusübergänge verhindert werden.

    Ja.

    Es ist eigentlich nicht nur ein Zustand, sondern 3. Daher kommt Patch eher weniger in Frage. Aber vielleicht ein Put? :rolleyes: Jedoch sind die Events die Gleichen.

    Ich danke dir aber für deine Antwort. Es gibt mir das Gefühl, dass es für diesen Ausgangspunkt nicht zwingend ein Best Practice gibt und ich vermutlich mit meinem Ansatz ganz gut unterwegs bin.

    Aktuell tendiere ich zu dem Ansatz mit dem Action Parameter und einem switch-case anstatt 7 einzelner Webservices.
     
  5. mihe7
    mihe7 Bekanntes Mitglied
    Schlagt mich, aber ich würde die Events als Ressource behandeln und POSTen.
     
  6. Wenn du Java lernen möchtest, empfehlen wir dir diesen Kurs hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Stateful Entities & Webservices best practice - Ähnliche Themen

Kann eine ServerSocket-Klasse nicht stateful sein?
Kann eine ServerSocket-Klasse nicht stateful sein? im Forum Allgemeine Java-Themen
Stateful stateless
Stateful stateless im Forum Allgemeines EE
EJB / Interface / Class Annotationen / Statless & Stateful / remote & local
EJB / Interface / Class Annotationen / Statless & Stateful / remote & local im Forum Allgemeines EE
Abstrakte Klasse stateful
Abstrakte Klasse stateful im Forum Java Basics - Anfänger-Themen
MessageDrivenBean Problem beim Zugriff auf Stateful EJB
MessageDrivenBean Problem beim Zugriff auf Stateful EJB im Forum Allgemeines EE
Thema: Stateful Entities & Webservices best practice