AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prozessablauf in einem Datenbankmodell hinterlegen
Thema durchsuchen
Ansicht
Themen-Optionen

Prozessablauf in einem Datenbankmodell hinterlegen

Ein Thema von borwin · begonnen am 9. Mai 2012 · letzter Beitrag vom 11. Mai 2012
Antwort Antwort
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#1

Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 9. Mai 2012, 12:46
Datenbank: Firebird • Version: 2.5 • Zugriff über: egal
Folgende Aufgabe liegt an:
Der Prozessablauf einer Produktion soll in einem Datenbankmodell gespeichert werden. Dieser Ablauf soll dynamisch sein und ist ständigen Veränderungen ausgesetzt. Mein erster Ansatz war eine Baumstruktur. Das klappt aber nur, wenn der Prozess in einer Richtung verläuft. In diesem Fall gibt es aber Rücksprünge, der dann auch noch neue Zweig eröffnet in denen der Prozess parallel weiter verläuft und sich dann wieder verbindet. Vielleicht so ähnlich wie beim Programmablaufplan in der Programmierung. Meine Frage, gibt es Erfahrungen oder auch bekannte Modelle mit denen man das in einer Datenbankstruktur einfach und flexibel abdecken kann.
Vielleicht kennt jemand hierzu auch eine passenden Komponente zum visualisieren. Das ist aber erst mal sekundär.

Schon mal vielen Danke

Gruß Borwin

Viele Bausteine ergeben ein fertiges Haus
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 9. Mai 2012, 17:45
Wie speicherintensiv wird denn das Ganze und wie schnell soll das sein?`

Vielleicht wäre der Einsatz eines ORM zweckmäßig? Du könntest Die gesamte Logik in Objekten verarbeiten und diese unteranander über Id´s referenzieren.

Die DB würde letztlich nur als Datenlager dienen. Der Zugriff würde über Objekte erfolgen.
Natürlich bringt das einen gewissen Aufwand mit sich (sowohl in der Programmierung als auch zur Laufzeit), sollte aber eine Übverlegung Wert sein.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 9. Mai 2012, 18:54
Eine fertige Komponente(nsammlung) bzw. Framework gibt es von TMS:

TMS Workflow Studio

Zitat:
"Add workflow/BPM (Business Process Management) capabilities to your applications."
Die Speicherung der Prozesse erfolgt vermutlich nicht normalisiert in einer relationalen Datenbank.

Ist aber bei dieser Materie auch eher ungünstig - eine Vektorgrafik würde ich auch nicht unbedingt in Pfade zerlegen und diese dann in Tabellenspalten speichern, höchstens bei einem 3D Actionspiel
Michael Justin
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 9. Mai 2012, 19:21
Ich habe Prozessabläufe über Zustandsübergänge definiert.
Der Tabellenaufbau ist selbsterklärend:
Code:
ProduktID | VonProzessID | NachProzessID
Damit sind jedoch die Sonderprozessketten, etwa bei Reklamationen, Versuchen, Iterationen oder Nachbearbeitungen nicht abgedeckt. Dies müsste durch eine Funktion definiert werden, die prüft, in welchen Prozessschritt ein Produkt in Abhängigkeit seines Zustandes wechseln darf.

Als gerichteter Graph taugen die Zustandsübergänge allemal.

Baumstrukturen sind wegen der fehlenden zyklischen Abbildungsmöglichkeiten jedoch nicht geeignet.
  Mit Zitat antworten Zitat
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 10. Mai 2012, 15:32
Erst mal vielen Dank für die Antworten. Wird mir weiterhelfen.

stahli
Der Vorschlag mit den Objekten hört sich gut an aber ist für diese wohl Aufgabe nicht geeignet.
An den Prozessen werden noch weitere Daten aus der Datenbank angehangen. Da wird es dann doch schwierig bei den Abfragen.

mjustin
Das WorkflowStudio von TMS ist ein guter Ansatz. Ich muss es mir jetzt noch in der Praxis anschauen ob alle Kriterien erfüllt werden. Das DB-Model ist übersichtlich und für meine Zwecke wohl ausreichend.
Leider kann der Zugriff für die Visualisierungskomponente nur über ADO erfolgen.

Furtbichler
Ist auch eine Variante und denke drüber nach ob ich die Prozesse damit alle abbilden kann.

Eine andere Komponente als die von TMS habe ich nicht gefunden. Da gibt es wohl nicht sehr viele.

Gruß Borwin
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 10. Mai 2012, 15:47
Warum ist die Baumstruktur so problematisch? Aus (Vor-)Produkt Perspektive ergibt sich zwangsläufig ein linearer Ablauf, wie er von Furtbichler dargestellt wurde.
Betrachtet man den Baum als Menge der möglichen Wege, muss sich am Ende je "Prozess" ein linearer Ablauf ergeben.
In einer konkreten Produktionsplanung kommen natürlich Kapazitätsfragen dazu (Prozesszeiten versus Arbeitsplatz-/ Maschinenkapazitäten), aber das ist glaub ich nicht gemeint? Oder doch:
.. der dann auch noch neue Zweig eröffnet in denen der Prozess parallel weiter verläuft ..
Gruß, Jo
  Mit Zitat antworten Zitat
borwin

Registriert seit: 14. Sep 2006
Ort: Rostock
72 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 10. Mai 2012, 18:10
Zitat:
In einer konkreten Produktionsplanung kommen natürlich Kapazitätsfragen dazu (Prozesszeiten versus Arbeitsplatz-/ Maschinenkapazitäten), aber das ist glaub ich nicht gemeint? Oder doch:
Nein das ist nicht gemein.

jobo
Das hört sich interessant an. Habe ich aber nicht ganz verstanden. Kannst Du das näher erklären?
So ganz linear geht es nicht. Wenn sich der Herstellungsprozess zeitweilig aufspaltet und dann wieder zusammenführt sehe ich keine Möglichkeit das mit einer Baumstruktur darzustellen. Lasse mich aber gerne überzeugen.

Gruss Borwin
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 10. Mai 2012, 18:53
Warum ist die Baumstruktur so problematisch? Aus (Vor-)Produkt Perspektive ergibt sich zwangsläufig ein linearer Ablauf, wie er von Furtbichler dargestellt wurde.
Nein. Er kann Schleifen beinhalten. Das ist mit einem Baum nicht darstellbar.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 10. Mai 2012, 21:15
Ich behaupte einfach, man kann den Baum als Präsentation aller möglichen Prozessknoten verwenden. Ein konkreter Prozess für ein konkretes Teil wäre ein definierter Pfad durch den Baum. Der konkrete Pfad würde auch Iteration (Zyklen) beinhalten, Aufspaltung kann ich mir allerdings real nicht vorstellen (Kenn das Thema nur aus 2. Hand).
Vielleicht nennst Du einfach mal ein reales Beispiel, das hilft sicher mehr, als dass ich rumfantasiere.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Prozessablauf in einem Datenbankmodell hinterlegen

  Alt 11. Mai 2012, 05:57
Schritt 1:
Überlegen die der Graph des Prozessablauf aussehen kann (gerichteter Graph, sind Mehrfachkanten erlaubt?,... ).
Welche Zusatzdaten werden innerhalb des Graph benötigt?
Gibt es Inputdaten von Aussen, die den Prozessablauf beeinflussen?
Wie flexibel muss das Modell sein?
Geht es eher in Richtung eines Scripts mit Kontrollstrukturen (if, while, for, break)?
Schritt 2:
Überlegen, wie das Modell in einer relationalen Datenbank abgespeichert werden könnte.
Macht es wirklich Sinn jede Kante des Graphs als einzelnen Datensatz abzuspeichern
oder reicht es nicht aus das gesamte Model als Blob abzulegen?

Ganz offensichtlich muss man Schritt 1 vor Schritt 2 vornehmen!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz