Elke toepassing heeft bedrijfslogica, een stroom van acties en operaties waarmee de functionaliteit van de app tot uiting komt.
Bedrijfsprocessen vormen een groot deel van de bedrijfslogica. Dit artikel bespreekt wat een bedrijfsproces is en hoe het te creëren.
Wat is bedrijfslogica?
Laten we, voordat we bedrijfsprocessen apart bekijken, het concept bedrijfslogica analyseren.
Bedrijfslogica is een stuk software dat bestaat uit processen die de sequenties van acties en operaties in de toepassing bepalen en de regels vastleggen voor de interactie tussen de gebruiker en het systeem.
Laten we de bedrijfslogica bekijken aan de hand van een eenvoudig voorbeeld van het inchecken van passagiers voor een vlucht door een beheerder die informatie invoert in de database.
De beheerder selecteert de vlucht en vult het incheckformulier in door de nodige gegevens in te voeren. Op dat moment controleert het systeem of de gebruiker geautoriseerd is en het recht heeft om deze handelingen uit te voeren. Vervolgens verwerkt het programma de ontvangen informatie, controleert of de gegevens overeenstemmen met het vastgestelde formaat, ontvangt gegevens van de gegevensbank over de vlucht en de passagier, meldt indien de informatie onjuist is, stuurt de gegevens naar de gegevensbank met de opdracht om wijzigingen aan te brengen.
Bijgevolg worden de gegevens bijgewerkt, en verschijnt er een nieuwe passagier in de lijst.
De in het voorbeeld beschreven acties, hun volgorde, gegevensuitwisseling, verwerking, verzoeken en antwoorden vallen onder de verantwoordelijkheid van de bedrijfslogica.
Bedrijfslogica is een integraal onderdeel van de toepassingsarchitectuur. De logica zelf bestaat uit bedrijfsprocessen, die we hierna zullen bespreken.
Wat is een bedrijfsproces?
Bedrijfsprocessen zijn een opeenvolging van handelingen. Via deze acties implementeren we de toepassingsfuncties.
Bedrijfsprocessen in AppMaster.io
Net als bij de klassieke aanpak wordt in AppMaster.io de bedrijfslogica opgebouwd uit bedrijfsprocessen. BP's zijn ontworpen om met gegevens te werken: zoeken, creëren, verwijderen, bijwerken, wijzigen; en zijn verantwoordelijk voor het uitvoeren van alle acties in de applicatie.
Het platform heeft een business process editor voor het werken met business logica. Blokken worden gebruikt om BP te creëren.
In elk bedrijfsproces worden start- en eindblokken automatisch aangemaakt. Ze kunnen variabelen hebben: input voor het startblok en output voor het einde.
Elk BP-blok, behalve de start- en eindblokken, heeft twee soorten connectors - verbindingspunten (input, output):
- flow_connection - execution flow connector, beschrijft de wachtrij van blokken, welke moet worden uitgevoerd;
- var_connection - variabele connector, beschrijft welke variabele waar vandaan gehaald moet worden.
Bedrijfsprocessen zijn onderverdeeld in drie categorieën:
- Back-end bedrijfsprocessen - gecompileerd in Go-broncode en uitgevoerd in een serverapplicatie.
- Bedrijfsprocessen voor webapplicaties - geleverd aan een webapplicatie, verwerkt door JavaScript aan de browserzijde.
- Bedrijfsprocessen voor mobiele toepassingen - geleverd aan mobiele toepassingen en daarin uitgevoerd, verwerkt door native tools van mobiele platforms.
Binnen elk type applicatie is er een specifieke reeks bedrijfsprocessen.
In de backend zijn er gewone bedrijfsprocessen. Ze hebben start- en eindblokken. Kan ondersteunen asynchrone oproep en transactie-modus.
Er zijn de volgende soorten BP's in web en mobiele toepassingen:
- Component BP's worden ingesteld in elke component, pagina, widget of scherm. Ze zijn afhankelijk van de component waarvoor ze worden aangemaakt. Ze hebben geen Einde-blok. Ze hebben een of meer triggerblokken aan de ingang die de uitvoering starten wanneer een bepaalde gebeurtenis plaatsvindt; bijvoorbeeld een knop wordt ingedrukt.
- Application-level BPs - ingesteld voor de hele applicatie, bijna identiek aan component BPs, behalve dat ze een applicatiecontext hebben en slechts één triggerblok hebben - de initiële.
- Generieke BP's worden ingesteld op applicatieniveau, maar ze zijn ontworpen om veelgebruikte logica uit alle andere bedrijfsprocessen te halen. Deze BP's hebben Start- en Eindblokken en gedragen zich vergelijkbaar met server bedrijfsprocessen, maar hebben geen transactiemodus.
Hoe creëert u een bedrijfsproces op AppMaster.io?
Er is een business process editor om met business processen op het AppMaster.io platform te werken.
Alle editors zijn gebaseerd op hetzelfde principe en hebben slechts een paar verschillen, afhankelijk van het type bedrijfsproces (we noemden eerder BP-categorieën).
De BP-editor bestaat uit:
- linkerpaneel met een lijst van beschikbare blokken;
- canvas in het midden;
- rechterpaneel met de instellingen van het geselecteerde element (blok).
Om een bedrijfsprocesblok toe te voegen, moet u een element uit het linkerpaneel naar de werkruimte slepen.
In de instellingen van elk BP kunt u de transactiemodus activeren. In dat geval krijgt de BP de eigenschap van atomiciteit: de BP wordt of volledig uitgevoerd, of geen van de afzonderlijke blokken wordt uitgevoerd. Als er een fout optreedt in een blok, worden alle wijzigingen die door eerdere blokken van het bedrijfsproces zijn veroorzaakt, teruggedraaid.
In het linkerpaneel zijn de blokken verdeeld in groepen naar type:
- Logica. Verantwoordelijk voor het wijzigen van de processtroom, het implementeren van systeemfuncties, het vergelijken van variabelen en het converteren van gegevenstypen.
- Functies. Hiermee kunt u verschillende soorten bewerkingen uitvoeren op verschillende soorten gegevens, zoals het afronden van getallen, het splitsen van strings, het lezen van bestanden en meer.
- Modelfuncties. Hiermee kunt u bewerkingen uitvoeren op gegevensmodellen, zoals creëren, zoeken, bewerken en verwijderen.
- Door de gebruiker gemaakte BP's. Roept alle aangepaste workflows op die u hebt gemaakt.
- Variabelen. Stelt de variabelen voor gebruik in het bedrijfsproces in en slaat ze op.
- Externe API-verzoeken. Start elk eerder aangemaakt verzoek naar een externe API.
- Modellen. Instellen en opslaan van gegevensmodelvariabelen voor gebruik in het bedrijfsproces.
- Enums. Instellen en opslaan van enumerator variabelen voor gebruik in het bedrijfsproces.
- Auth. Blokken toegevoegd door de Auth autorisatiemodule.
Bij het toevoegen van een module aan het project wordt er automatisch een aparte sectie aangemaakt in de lijst van blokken met de bedrijfsprocessen die aan deze module gerelateerd zijn.
Variabelen kunnen worden ingesteld in het rechter paneel. Om variabelen toe te voegen, selecteert u het gewenste bedrijfsprocesblok en klikt u op het plus-pictogram (+) in het paneel Variabelen.
Er zijn lokale en globale variabelen.
Lokale variabelen zijn beschikbaar voor alle typen bedrijfsprocessen. Lokale variabelen bestaan binnen één BP. Na de uitvoering van de BP worden lokale variabelen vernietigd, waardoor het RAM-geheugen van de toepassing vrijkomt.
Globale variabelen zijn bedoeld voor gebruik in de hele applicatie. Ze worden vooraf gedeclareerd en zijn beschikbaar in elk bedrijfsproces. Zij slaan gegevens op tijdens de levenscyclus van de toepassing - terwijl deze draait.
Lokale en globale variabelen kunnen van elk type zijn: van eenvoudige int en string tot arrays van modellen en enums. Uitsluitend opgeslagen in RAM.
Voorbeeld van een bedrijfsproces
Laten we een klein bedrijfsproces maken volgens het voorbeeld dat we eerder beschreven: het inchecken van een passagier voor een vlucht.
*Alle gegevens zijn al ingevoerd in de database. Hieronder wordt alleen het aanmaken van een bedrijfsproces beschreven. De volledige les is hier beschikbaar.
Ga naar de sectie Business Logic en klik op Create business process om een nieuw proces aan te maken.
Voer in een nieuw venster de naam van het proces in, vul het veld beschrijving in en schakel eventueel de transactiemodus in.
Standaard heeft ons BP al twee blokken: Start en Einde.
We voegen een paar variabelen toe als invoer voor het startblok. Klik daartoe op het gewenste blok, en klik rechts in het scherm tegenover Variabelen op het + pictogram.
Voer de naam van de variabele in, specificeer het type, en stel eventueel de standaardwaarde in.
We voegen een paar variabelen toe die we nodig hebben om een passagier in te checken voor een vlucht:
- flight_id;
- passagier;
- stoel;
- status.
Vervolgens moeten we de vlucht ID uit de database halen. Hiervoor voegen we een GetOne Flight blok toe.
We leggen verbindingen tussen de blokken. Daarvoor volstaat het de pijl van het ene blok naar het andere te trekken. Hier fungeert de blauwe lijn als flowconnector tussen de blokken, die de volgorde aangeeft waarin ze worden uitgevoerd. Gekleurde lijnen zijn gegevensverbindingen tussen variabelen en geven aan waar de gegevens binnen de BP vandaan komen en waar ze naartoe moeten.
Het vlucht-ID is ontvangen. We moeten de passagiersgegevens krijgen en ervoor zorgen dat zo iemand in de database zit.
Voeg het blok Expand Passenger toe en haal het passagiers-ID op. Met behulp van het blok GetOne Passenger controleren we zijn record in de database.
Nu moeten we de registratie zelf aanmaken. Daarvoor gebruiken we het Make Registration-blok en maken verbindingen tussen de blokken.
Nu moeten we de registratie in de database opslaan, want voorheen maakten we die alleen als onderdeel van een bedrijfsproces. We voegen het blok Maak Registratie toe, maken verbindingen, en voltooien het bedrijfsproces.
Ons BP toont de volgende stroom van acties:
- zoeken naar vluchtgegevens in de database;
- verkrijgen van een passagiers ID;
- creëren en opslaan van een registratie record.
De video tutorial geeft een stap-voor-stap analyse van het creëren van een bedrijfsproces, evenals een overzicht van de Business Logic sectie op het AppMaster.io platform. En op het YouTube kanaal kunt u de volledige AppMaster.io 101 cursus volgen en leren werken met het no-code platform.
Zo kunt u met behulp van visuele blokken en drag & drop builder op het AppMaster.io platform eenvoudig bedrijfsprocessen van elke complexiteit creëren. U kunt zich altijd registreren voor de proefperiode op het platform en uw eerste bedrijfsproces en misschien applicatie creëren.