"Dynamic workflow" denk ik?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Xantios
  • Registratie: Maart 2006
  • Laatst online: 11:57
Grallow!

Voor een project ben ik momenteel aan het kijken naar wat toffe nieuwe dingen.

een van de dingen die we in de software (web based) willen gaan doen is in blokken proppen van functionaliteit die je vervolgens zelf achter / aan elkaar kan knopen.

Achtergrond informatie:

- het idee is dat een klant een bestelling doet.

- deze moet worden gepasseerd door een aantal functies ( bijvoorbeeld: een pot verf heeft andere vereiste dan een brandweer auto, al kunnen ze beide rood zijn )

- vervolgens wordt deze order door gekopt naar de mannen ( en vrouwen ) van het magazijn via een API.

dit is natuurlijk allemaal niet zo spannend.
echter mis ik een stukje terminologie ( en dan googled het verschrikkelijk moeilijk )

een voorbeeld van een order:
wat ik graag zou willen maken zijn een aantal "stappen" ( Haal Order op, %VoerFunctieUit% verwerk order met type %type% als %TypeFunction% , %VoerFunctiePostParseUit% verstuur order naar magazijn ) ( alles tussen % en % zou dus vanuit de webinterface configureerbaar moeten zijn )

Ik hoop dat dit verhaal niet te warrig is ?

is "Dynamic Workflow" de goede term? want dit is hoe het hier intern ooit bestempelt is tijdens een babbeltje bij de koffie automaat >:) en zo niet ( waar ik min of meer vanuit ga ) wat is dan de goede naamgeving voor dit idee?

Acties:
  • 0 Henk 'm!

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 12:00
Dynamic Workflow lijkt mij de lading wel aardig te dekken ja. Maar wat heeft dit verder met Programming te maken?

Acties:
  • 0 Henk 'm!

  • Xantios
  • Registratie: Maart 2006
  • Laatst online: 11:57
InZane schreef op dinsdag 07 juli 2015 @ 10:20:
Dynamic Workflow lijkt mij de lading wel aardig te dekken ja. Maar wat heeft dit verder met Programming te maken?
het zal geprogrammeerd moeten worden.
software schrijft zichzelf ( nog ) niet :+

Acties:
  • 0 Henk 'm!

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 12:00
Xantios schreef op dinsdag 07 juli 2015 @ 10:21:
[...]


het zal geprogrammeerd moeten worden.
software schrijft zichzelf ( nog ) niet :+
Ja dat snap ik, maar je vraag gaat verder niet over programmeren.

Acties:
  • 0 Henk 'm!

  • Xantios
  • Registratie: Maart 2006
  • Laatst online: 11:57
InZane schreef op dinsdag 07 juli 2015 @ 10:22:
[...]


Ja dat snap ik, maar je vraag gaat verder niet over programmeren.
lijkt me dat het concept verder taal onafhankelijk is.
ik was van plan om dit in Laravel te gaan doen.

maar wat is hier niet programmeren aan? want dat punt zie ik even niet helemaal?
het is software die orders heen en weer rommelt.

het onderliggende probleem ( wat is de goede terminologie ) heeft dan weinig tot niks met programmeren in de praktijk te maken, daarom ben ik ook in de eerste instantie niet over talen begonnen

maar om het wat meer in code te vormen ( wie weet maakt dit het ook wel duidelijker, ik vind het lastig om dit goed uit te leggen gezien het voor mij momenteel wat onoverzichtelijk is hoe het goed te doen )

- user krijgt HTML formuliertje naar zijn hoofd, hier kan hij configureren voor elk type order wat er gedaan moet worden. ( een dropdown om het type te kiezen, en iets leuks om blokken op elkaar te lego-en ) dit is kwestie van een keer configgen, maar is nog altijd beter dan hardcoden in de code lijkt me.
( deze bij elkaar gepropte set regels noem ik gemakshalve even een workflow )

- Orders worden opgehaald ( door een cron ) deze hebben al een attribuut om gekoppeld te worden aan de diverse workflows , deze worden door de hierboven gedefinieerde regels gehaald

- vervolgens krijgt de order de status die onder aan deze workflow is gegeven ( bijvoorbeeld: "klaar voor verzending" of "wachten op onderdelen" )

*plonk* en nu ging er boven mijn hoofd ineens een lampje branden :( altijd he !

het feitelijke probleem wat ik dus wil kunnen uit programmeren is vooral, hoe maak ik functies op zo'n manier dat ik ze achter elkaar kan gooien en op een redelijke manier kan controleren.

Mijn huidige idee ( zie plonk-moment ) zou zijn, maak functies zoals je gewend bent in laravel. verzin een leuke tabel, bewaar in die tabel "naam" ( mens vriendelijk ) "naam" ( functie naam ) "description" ( duh ) en params ( hier moet ik nog even over na denken ) en een tweede tabel met "gedineerde workflows" met daarin een leuke lijst van functies in volgorde :-)

( Zo zie je maar weer, soms helpt het om het probleem even op te schrijven 8)7 )


-

[ Voor 61% gewijzigd door Xantios op 07-07-2015 10:51 ]


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Ik heb niet alles gelezen. Maar volgens mij wordt het al snel vrij ingewikkeld wat je wil maken. Zorg ervoor dat je niet valt in het 'inner platform effect' Wikipedia: Inner-platform effect maar houd ales duidelijk en simpel. Houd ook dit soort logica zoveel mogelijk buiten de database. Functies en hun argumenten definieren in de database lijkt me niet slim.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Tjolk
  • Registratie: Juni 2007
  • Laatst online: 10:06
Als ik het allemaal zo lees dan zit je veel te ingewikkeld te denken. Uiteindelijk gaat het om klant die een order plaatst, welke uit diverse orderregels bestaat. Een orderregel staat tegenover een of meer van dezelfde artikelen welke op een plaats in het magazijn liggen. Een artikel kan meerdere varianten (bijv kleur/maat) hebben, maar dat wordt bepaald door de orderregel.

Dat alles moet je gaan uittekenen in een database schema. Dus tabellen als:

data_articles (bijv. pot verf)
data_article_choices (bijv. rode verf, prijs XX, barcode YY)
data_stocklocations (magazijnlocaties)
link_article_stocklocations (koppelt articles aan magazijnlocaties)
data_order_rules (bijv 2x article_id P, onderdeel van order_id Q)
data_orders
data_customers

etc.

Hier bouw je wat logica en views omheen. Vanuit de webshop worden de orders geplaatst en vanuit het magazijn zien ze de orders, gaan ze orderpicken, afpiepen en verzenden (waarbij je in data_orders of data_order_rules de status, track&trace, etc. bijhoudt)

Tjolk is lekker. overal en altijd.


Acties:
  • 0 Henk 'm!

  • supreme tweaker
  • Registratie: December 2002
  • Laatst online: 28-08 01:27
Wat ga je eigenlijk doen met een proces dat halverwege de loopduur aangepast wordt?

Burp


Acties:
  • 0 Henk 'm!

  • Sv3n
  • Registratie: Mei 2002
  • Laatst online: 11:40
Volgens ben jij op zoek naar een workflow engine, zie bijvoorbeeld: Wikipedia: Business Process Model and Notation

Nu zie ik dat je dit in PHP wilt gaan doen en ben ik daar niet echt thuis in maar er zijn vast implementaties van in PHP. In Java zijn er een hoop engines waar dit mee kan, bijvoorbeeld jBPM en Activiti. Wellicht handig om eens naar te kijken om inspiratie op te doen.

Last.fm
Films!


Acties:
  • 0 Henk 'm!

  • supreme tweaker
  • Registratie: December 2002
  • Laatst online: 28-08 01:27
Sv3n schreef op woensdag 08 juli 2015 @ 11:49:
Volgens ben jij op zoek naar een workflow engine, zie bijvoorbeeld: Wikipedia: Business Process Model and Notation

Nu zie ik dat je dit in PHP wilt gaan doen en ben ik daar niet echt thuis in maar er zijn vast implementaties van in PHP. In Java zijn er een hoop engines waar dit mee kan, bijvoorbeeld jBPM en Activiti. Wellicht handig om eens naar te kijken om inspiratie op te doen.
Dat was ook mijn eerste reactie; volgens mij ben je dan al snel Windows Workflow Foundation aan het nabouwen

Burp


Acties:
  • 0 Henk 'm!

  • joram.agten
  • Registratie: Oktober 2010
  • Laatst online: 15-01 11:07
Misschien is een State Machine ook al voldoende, waar je dan dynamisch (per order) de juiste statussen in steekt.
Pagina: 1