Laden...

Vorgangs basiertes System

Erstellt von curana vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.941 Views
C
curana Themenstarter:in
3 Beiträge seit 2006
vor 18 Jahren
Vorgangs basiertes System

Hallo mycsharp community

Ich habe mal eine Frage ob es möglich ist ein Vorgangs basiertes System auf Basis von Message Queuing aufzubauen oder ob es einen anderen Ansatz gibt. Das heißt es haben die Nutzer des Systems die Möglichkeit einen Vorgang zu erstellen und diesen ggf. an einen anderen Nutzer weiterzuleiten oder diesen zu Ende zu bearbeiten und abzuschliessen. Da jeder Nutzer eine eigene Queue haben soll wo nicht bearbeitet Vorgänge abgelegt werden können bin ich auf die Idee gekommen vielleicht das Message Queuing einzusetzen. Ich bin mir aber nicht sicher ob ich damit richtig liege oder wie oben schon angedeutet es vielleicht andere Lösungsansätze gibt.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo curana,

was du suchst, ist m.E. Workflow und nicht Message-Queueing.

herbivore

C
curana Themenstarter:in
3 Beiträge seit 2006
vor 18 Jahren

Habe auf diesem Gebiet total ein Loch im Kopf. Als Alternative habe ich mir überlegt das soweit über den SQL Server zu erledigen. Message Queuing hat sich soweit interessant an gehört, deshalb die Frage ob es möglich ist solch ein System zu entwickeln. Hast du vielleicht eine Idee wo ich mal ein Sample Project finden kann bzgl. eines WorkFlow wie man diesen abbilden kann. Vielen Dank für die schnelle Antwort.

curana

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo curana,

Message-Queues sind ja in erster Näherung nur ein Programmiermittel, um Anfragen/Request an Server-Programm zu verschicken. Ich denke nach wie vor, das ist nicht das, was du suchst.

Du willst ja, dass der Benutzer einen Posteingangskorb hat, in dem Sachbearbeitung-Aufträge (Vorgänge) landen. Zumindest habe ich es so verstanden. Dafür gibt es (mehr-oder-weniger-)Standard-Software (aus näherer Kenntnis kenne ich nur eine solche Standard-Software, möchte diese aber nicht nennen).

Wenn du sowas selber realsieren willst, dann kannst du das sehr gut datenbankbasiert machen. Analogie: Ein normales (POP3)-E-Mail-Programm bekommt ja auch keine Nachrichten geschickt, sondern holt diese selbst ab. Du kannst das Verschicken von Vorgängen also einfach dadurch realisieren, dass du einen entsprechenden Eintrag in die Datenbank stellst. Der das Posteingangskorb-Programm guckt dann von Zeit zu Zeit, ob es was neues gibt.

herbivore

6.862 Beiträge seit 2003
vor 18 Jahren

Klingt imo auch sehr nach Workflows. Teil von WinFX ist ja die Windows Workflow Foundation - davon gibts auch schon Previews falls du dir das mal anschaun willst.

Baka wa shinanakya naoranai.

Mein XING Profil.

C
curana Themenstarter:in
3 Beiträge seit 2006
vor 18 Jahren

Hi herbivore, ich denke Du hast recht ich war glaube ich total auf dem Holzweg werde das ganze datenbankbasiert realisieren. Das mit dem WWF hört sich auch ganz interessant an aber die Zeit habe ich leider nicht mich einzuarbeiten.

curana

S
8.746 Beiträge seit 2005
vor 18 Jahren

Es ist sicher verführerisch Message Queues für sowas zu verwenden, weil schon einige der "Workflow"-Funktionen "eingebaut" sind. Allerdings merkt man recht schnell, dass man es besser nicht tun sollte, weil:

* Backup nicht möglich oder komplex, bei Crash sind die Vorgänge futsch
* Zustandsmodell ist nicht erweiterbar
* keine Information über Bearbeitungszustände

Messaging ist eher eine reine Server-Server-Technologie und erlaubt es der Anwendung sich nicht mehr um das Thema "Verbindung" kümmern zu müssen. Das ist gut für die Verfügbarkeit. Man stelle sich ein System vor, welches Aufträge verarbeitet. Wenn nun Frontend und Server über Messaging kommunizieren, kann ein User Aufträge erzeugen und einstellen, selbst wenn der Server vielleicht gerade runtergefahren ist. So eine Funktionalität muss man sonst per Hand coden.