Vraag Hoe weet u wanneer u een BPM-oplossing nodig heeft?


Mijn klant is op zoek naar een Business Process Management (BPM) -oplossing. Wat ze nodig hebben, is eenvoudige documentroutering en een goedkeuringssysteem. Wat zijn de drijfveren voor het implementeren van een BPM-systeem? Wat is de drempelwaarde waarop een ontwikkelaar zou moeten voorstellen om een ​​BPM-oplossing te implementeren versus een workflowtool of aangepaste ontwikkeling?

Wanneer past jBPM? Wanneer past een staatsmachine die in een app is ingebouwd? Welke problemen zouden er moeten zijn die bepalen dat je moet gaan met een oplossing vergelijkbaar met jBPM?

Ik ben op zoek naar voorbeelden uit de echte wereld van "we hebben geprobeerd de oplossing zelf te bouwen, maar we zijn uiteindelijk met AquaLogic / jBPM / Lombardi gaan werken vanwege _Vult u alstublieft de lege velden in.


24
2018-02-02 00:57


oorsprong


antwoorden:


Ik schreef een workflow-engine, omdat mijn werkgever het IP wilde bezitten, gemodelleerd naar jBPM. De reden dat u een dergelijk hulpmiddel gebruikt, in plaats van uw eigen eindige toestandsmachine te maken, is het aanpassen van veranderingen zonder persistentie aan te tasten en randgevallen van workflowprocessen te ondersteunen, zoals ik u zal uitleggen.

Wijzigingen opvangen zonder de persistentie te veranderen

Uw typische, of misschien beter te noemen, "naïeve" eindige-toestandsmachine-implementatie bevat een reeks databasetabellen die nauw gekoppeld zijn aan de beheerde gegevens en het proces dat deze doorloopt. Er kan een manier zijn om eerdere versies te behouden en bij te houden wie wat heeft gedaan tijdens het proces. Waar dit problemen oplevert, wijzigingen in gegevens en processtructuur. Vervolgens moeten die strak gekoppelde tafels worden gewijzigd om de nieuwe structuur weer te geven en zijn ze mogelijk niet achterwaarts compatibel met de oude.

Een workflow-engine overwint deze uitdaging op twee manieren, door serialisatie te gebruiken om de gegevens en het proces te vertegenwoordigen en door integratiepunten, met name beveiliging, te abstraheren. Het serialisatieaspect betekent dat gegevens en processen samen door het systeem kunnen worden verplaatst. Hierdoor kunnen gegevensinstanties van hetzelfde type volledig verschillende processen volgen totdat het proces tijdens runtime kan worden gewijzigd, bijvoorbeeld door een nieuwe status toe te voegen. En geen van dit vereist het veranderen van de onderliggende opslag.

Integratiepunten zijn middelen voor het injecteren van algoritmen in het proces en verbindingen met authenticatiewinkels (dat wil zeggen gebruikers die actie moeten ondernemen). Geïnjecteerde algoritmen kunnen bepalingen omvatten van het feit of een status al dan niet is voltooid, terwijl het voorbeeld van authenticatievoorraden LDAP is.

Nu is de afweging moeilijk zoeken. Omdat gegevens bijvoorbeeld geserialiseerd zijn, is het meestal niet mogelijk om historische informatie op te vragen, anders dan de records ophalen, deserialiseren en analyseren met behulp van code.

Randgevallen

Het andere aspect van een workflowtool is de ervaring die is ingebed in het ontwerp en de functionaliteit die u waarschijnlijk niet zelf zult ontwikkelen en waar u later spijt van kunt krijgen als u het nodig hebt. De twee gevallen die in mijn gedachten opkomen zijn getimede taken en parallelle uitvoeringspaden.

Getimede taken zijn het toewijzen van een actor verantwoordelijkheid voor gegevens nadat een bepaalde duur is verstreken. Stel dat een persbericht wordt geschreven en ter goedkeuring wordt voorgelegd, en dan een week zonder recensie zit. Wat u waarschijnlijk wilt dat uw systeem doet, is dat slepende document identificeren en de aandacht van de juiste partijen trekken.

Parallelle uitvoeringspaden komen niet vaak voor in mijn ervaring (Content Management Systems), maar zijn nog steeds een situatie die vaak genoeg ontstaat. Het is het idee dat een gegeven stuk gegevens naar twee verschillende paden van beoordeling of verwerking wordt gestuurd, om op een later tijdstip opnieuw te worden gecombineerd. Dit type probleem vereist het hebben van nuttige samenvoegingsalgoritmen en de mogelijkheid om de gegevens gelijktijdig te vermenigvuldigen weer te geven. Weven dat tot een homespun oplossing na het feit is veel lastiger dan het lijkt, vooral als je historische gegevens wilt bijhouden.

Conclusie

Als het niet waarschijnlijk is dat uw systeem zal veranderen, kan zelfrollen een gemakkelijkere oplossing zijn, vooral als wijzigingen oude informatie kunnen doorbreken. Maar als u vermoedt dat u dat soort duurzaamheid nodig heeft of een aantal van deze ongewone maar netelige scenario's zult ervaren, biedt een workflowtool veel meer flexibiliteit en verzekering die u zelf niet in een hoek zult schilderen als de gegevens en bedrijfsprocessen verandering.


21
2018-02-10 04:37



BPM Acid Test (van Essential Business Process Modeling van Michael Havey, uitgegeven door O'Reilly).

... BPM is alleen geschikt voor   toepassingen met een essentieel gevoel   van staat of proces - dat wil zeggen,   toepassingen die dat zijn   Procesmatige. Een applicatie   geeft de BPM-zuurtest door als dat zo is   legitiem procesgericht. De   aanvraag voor een reisbureau, voor   geeft bijvoorbeeld de test door, omdat dat zo is   het best begrepen in termen van staat van   het reisplan en wordt überhaupt gedefinieerd   keer hoe ver de route is   gekregen. Andere typische kenmerken   van een procesgerichte toepassing   omvatten het volgende:

  • Langlopend -

Van begin tot einde, het proces   omspant uren, dagen, weken, maanden of   meer.

  • Aanhoudende staat -

Omdat het proces van lange duur is, is het   staat is zo aanhouden in een database   dat het langer meegaat dan de server die het host

  • Bursty, slaapt meestal -

Het proces besteedt het grootste deel van zijn tijd   in slaap, wachtend op de volgende   teweegbrengen van een gebeurtenis, waarbij   wijs het op en voert een   vlaag van activiteiten.

  • Orkestratie van systeem- of menselijke communicatie -

Het proces is verantwoordelijk voor   het beheren en coördineren van de   communicatie van verschillende systemen of   menselijke actoren.

... Bijvoorbeeld in een geautomatiseerde   betaalautomaat, waarmee gebruikers kunnen zoeken   hun rekeningsaldo, trekt contant geld terug,   storting cheques en contant geld, en rekeningen betalen   - elk procesbesef is vluchtig en niet essentieel; een pinautomaat is online   transactieprocessor, niet een   procesgerichte toepassing.


25
2018-02-08 06:11



Misschien kan het helpen om een ​​paar vragen te stellen.

Gaan de processen veranderen? Zal een oudere versie van een proces voortleven terwijl een nieuwere versie van het proces tot stand komt? Moet de looptijd van processen (en elke stap) worden gemeten?

Gaat het om bedrijfsprocessen (orkestreren van de staat van meerdere bronnen) of levenscycli van bronnen (alleen de status van één document / resource)? ...

Sorry als het niet echt een antwoord is.


5
2018-02-02 01:41



Ik zou de bedrijfsbehoefte die je gedrevenheid drijft (d.w.z. "businesscase") van naderbij bekijken. Naar mijn mening heeft BPM / workflow mogelijk een of meer van de volgende oorzaken doelen:

1. Automatiseer acties

Dit is meestal nodig om mens en machine te vervangen door het automatiseren van taken, zoals het maken van documenten, het archiveren van informatie, het informeren van gebruikers, enz.

2. Volgen van elk proces

Bedrijven moeten tracking mogelijk maken wanneer er een aanzienlijk aantal processen is en zakelijke gebruikers ze uit het oog verliezen, zoals ze meestal uitvoeren in kantoordocumenten, e-mails. Elk extern verzoek om status (bijvoorbeeld van een klant) verandert in een onderzoek.

3. Breng controle tot stand

Voor managers is het meestal belangrijk om een ​​goed beeld te krijgen van het proces en het statistisch te bestuderen: bekijk of KPI's worden bijgehouden, eventuele vertragingen, uitzonderingen, enz.

4. Beheer in-process documentuitwisseling en samenwerking

BPM's dienen vaak als hulpmiddel voor het uitwisselen van documenten, omdat ze vaak schakelen tussen e-mail en verbale communicatie naar een traceerbare uitwisseling in een BPM

5. Automatiseer gegevensuitwisseling tussen bedrijfssystemen

Dit is een pure integratiezaak en wordt meestal vereist in het geval dat een aantal acties al met (of door) verschillende systemen wordt uitgevoerd en er een noodzaak bestaat om de informatie-uitwisseling tussen hen te automatiseren.


Nu zijn volledig functionele kant-en-klare BPM's goed voor 2, 3 en soms 4. jBPM en andere workflow-engines zijn goed voor 1 en 3, maar met een belangrijk voorbehoud: ze vereisen een complexe configuratie / ontwikkeling.

Op SOA gebaseerde process orchestration engines (ook wel BPM genoemd!) Zijn goed voor (5) en (3).

Aarzel niet om aan de lijst toe te voegen en te argumenteren! Ik heb dit gepost als mijn blogpost en hier een beetje meer uitgewerkt: http://processmate.net/do-you-need-a-bpm-or-a-workflow/


3
2018-04-08 19:24



Uiteindelijk zijn alle bedrijfssystemen die zich bezighouden met de verwerking van bedrijfsgerelateerde informatie BPM- of workflowsystemen. De informatieverwerking van elk bedrijf kan worden beschreven in termen van werkstromen of "bedrijfsprocessen", met rollen en activiteiten.

Het feit dat deze bedrijfsactiviteiten vaak worden beschreven in Java, C # of andere programmeertalen, is in feite gewoon het resultaat van automatisering zonder voldoende geavanceerde technologie voor het voorschrijven en beschrijven van bedrijfsprocessen met automatische agenten.

De nadruk lag op groei, time-to-market, enzovoort, en de automatisering werd uitgevoerd zonder goed na te denken over onderhoud en flexibiliteit op lange termijn. 99% van wat nu in code is zou dat niet moeten zijn.

Besturingssystemen in real time, videogames, high performance computing, prognoses, business intelligence en wiskundige analyse zijn daarentegen allemaal voorbeelden van problemen die zich niet lenen voor een grafische workflowbeschrijving. Dit zijn dingen die moeten worden gedaan door computers en worden onderhouden door computerexperts.

Bedrijfsprocessen moeten bedrijfsprocessen worden voorgeschreven, beschreven en leesbaar zijn. De flexibiliteitswinst zal steeds meer worden erkend als de technologie die dit mogelijk maakt (workflowsystemen) beter wordt, en meer algemeen aanvaard als de wereldeconomie de nadruk legt op "groei".


1
2018-02-09 11:50