Im vorherigen Modul haben wir uns mit der Erstellung einer Datenbank beschäftigt. Für den vollen Betrieb der Anwendung reicht es jedoch nicht aus, nur Daten zu speichern. Sie müssen irgendwie verarbeitet, geändert, in Berechnungen verwendet und übertragen werden. Der wichtigste Schritt bei der Entwicklung der meisten Anwendungen ist die Erstellung der Logik ihrer Arbeit.

Geschäftsprozess-Editor

Grundlagen der Geschäftsprozesse

Auf der AppMaster-Plattform ist ein Geschäftsprozess-Editor für die Erstellung der Arbeitslogik vorgesehen. In diesem Modul geht es darum, ihn kennenzulernen.

Jeder Geschäftsprozess (GP) ist ein separater Teil der Anwendungslogik, eine spezifische Funktion. Gleichzeitig besteht der GP selbst aus einer Reihe von Blöcken und Verknüpfungen zwischen ihnen.

Ein Block ist normalerweise eine Art elementare Aktion. Zum Beispiel die Multiplikation zweier Zahlen, das Schreiben einer Variablen in eine Datenbanktabelle, die Verkettung von Zeichenketten oder das Hinzufügen eines Elements zu einem Array. Komplexere Operationen können jedoch in einem separaten Block durchgeführt werden, z. B. die Suche nach Elementen in der Datenbank mit Filterung und Sortierung.

Darüber hinaus kann jeder erstellte Geschäftsprozess auch als separater Block dargestellt werden, als Teil eines anderen Geschäftsprozesses. Dies ist in Situationen sinnvoll, in denen die GP-Funktion in anderen Geschäftsprozessen wiederverwendet werden kann, und auch, wenn der GP zu groß wird und seine einzelnen Teile als unabhängige Blöcke dargestellt werden können.

Zwischen den Blöcken werden Kommunikationslinien geschaffen, die die Reihenfolge der Blöcke, die Sequenz ihrer Ausführung, bestimmen. Oftmals handelt es sich dabei nicht um eine normale lineare Abfolge. In bestimmten Situationen kann es zu Verzweigungen kommen, wenn die in einer Phase des GP gewonnenen Daten die Wahl der weiteren Handlungsoptionen beeinflussen können. Es ist auch möglich, in Zyklen zu arbeiten, wenn die Abfolge von Aktionen immer wieder durchgeführt wird, bis die Bedingung für die Beendigung des Zyklus erfüllt ist.

Gleichzeitig gibt es zwei Blöcke, die für jeden Geschäftsprozess obligatorisch sind. Blöcke für den Beginn (Start) und das Ende (End) der Arbeit des GPs. Diese Blöcke werden automatisch erstellt und können nicht gelöscht werden. Sie führen selbst keine Operationen aus, sondern sind die Eingangs- und Ausgangspunkte des Geschäftsprozesses. Darüber hinaus können in diesen Blöcken Variablen gesetzt werden, die die Eingangs- und Ausgangsdaten des GP darstellen.

Aufbau von Geschäftsprozessen

Nun ist es an der Zeit, das Ganze auszuprobieren. Fahren wir fort mit dem Abschnitt über die Arbeit mit Geschäftsprozessen. Erstellen wir den ersten Geschäftsprozess und richten wir die interne Logik seiner Arbeit ein.

Wenn Sie auf "+ Geschäftsprozess erstellen" klicken, öffnet sich ein modales Fenster mit den Parametern für die Erstellung eines neuen Geschäftsprozesses:

  1. Prozessname. Das einzige erforderliche Feld.
  2. Ordner. Wenn es viele Geschäftsprozesse gibt, ist es sinnvoller, sie in Gruppen aufzuteilen und in den entsprechenden Ordnern abzulegen.
  3. Beschreibung Ein Name reicht möglicherweise nicht aus, um den Zweck des GPs vollständig zu vermitteln und die Details seiner Arbeit zu enthüllen. Das Feld Beschreibung ist für solche Informationen vorgesehen.
  4. Transaktionsmodus. Wenn der Schalter aktiviert ist, erhält der GP die Eigenschaft der Atomarität. Dies bedeutet, dass der GP entweder vollständig ausgeführt wird oder keiner seiner einzelnen Blöcke ausgeführt wird. Tritt in einem der Blöcke ein Fehler auf, werden alle Änderungen, die durch die vorherigen Blöcke verursacht wurden, rückgängig gemacht.

Erstellen wir einen Geschäftsprozess, der die Werte von zwei Zahlen als Eingabe erhält. Wir wollen mit diesen Zahlen mathematische Operationen durchführen. Berechnen wir die Ergebnisse von:

  1. Summierung
  2. Subtraktion
  3. Multiplikation
  4. Division.

Das Ergebnis der Division werden wir zusätzlich auf die erste Dezimalstelle aufrunden.
Als Ergebnis erhalten wir 5 Zahlen, die wir in einem Array zusammenfassen werden. Dieses Array wird das Ergebnis des Geschäftsprozesses sein.

Alles beginnt mit der Eingabe. Es ist notwendig, die Zahlen zu bestimmen, mit denen wir mathematische Operationen durchführen wollen. Es ist wichtig zu verstehen, dass wir nicht die Zahlen als solche abfragen. Wir legen Variablen an, die die gewünschten Werte annehmen. Man kann dies mit dem Lösen von Schulgleichungen vergleichen. X + Y = Z. Wir setzen also nicht 2 konkrete Zahlen, sondern abstrakt X und Y. Deren exakter Wert kann in Zukunft von jedem gesetzt werden.

Um die Eingabewerte festzulegen, wählen Sie den Block Start. Auf der rechten Seite erscheint ein Abschnitt zum Einstellen von Variablen. Es ist notwendig, ihre Namen festzulegen (wir haben bereits entschieden, dass sie X und Y heißen werden) und den Typ der Variablen auszuwählen. Im zweiten Modul haben wir besprochen, dass es zwei Optionen für das Schreiben von Zahlen gibt. Integer (für Integer-Daten) und Float (für Fließkommazahlen). In diesem Fall werden wir uns nicht auf Integer-Werte beschränken, also ist es richtig, den Typ Float zu wählen.

Der nächste Schritt besteht darin, Blöcke mit mathematischen Operationen hinzuzufügen. Sie befinden sich auf der linken Seite und sind in Abschnitte unterteilt. Sie brauchen nur die benötigten Blöcke auszuwählen und sie auf die Arbeitsfläche zu ziehen. Zunächst sind wir an mathematischen Operationen interessiert, d. h. wir benötigen die Blöcke Summe, Subtraktion, Multiplikation und Division.

Sie können sich vergewissern, dass jeder Block ein Geschäftsprozess im Kleinformat ist. Er hat notwendigerweise einen Anfang(In) und ein Ende(Out) sowie Eingabe- und Ausgabedaten (meistens sind sie vorhanden, aber das ist nicht zwingend, es gibt auch GPs ohne sie).

Die Operationen werden sequentiell, d. h. nacheinander, ausgeführt. Es ist notwendig, ihre Verbindung herzustellen (die Reihenfolge ihrer Ausführung festzulegen) und die erforderlichen Eingabedaten zu übermitteln).

Der nächste Schritt besteht darin, das Divisionsergebnis zu runden. Wir verwenden den Rundungsblock (die Optionen Aufrunden oder Abrunden sind für das Auf- bzw. Abrunden möglich), wir geben das Ergebnis des Divisionsblocks als Eingabe ein und stellen die Genauigkeit ein. Wir sind an 1 Dezimalstelle interessiert, also setzen wir den Parameter Precision auf 1.

Das Zwischenergebnis sollte in etwa so aussehen:

Es ist erwähnenswert, dass die Anordnung der Blöcke selbst beliebig sein kann. Man kann sie in einer Reihe anordnen, man kann einen Block unter einen anderen setzen. Dies betrifft nur die Bequemlichkeit der Wahrnehmung, aber nicht das Ergebnis des Geschäftsprozesses. Die Hauptsache ist, dass die Kommunikationsleitungen selbst in der richtigen Reihenfolge angeordnet sind und die erforderlichen Daten am Eingang der Blöcke empfangen werden.

Der nächste Schritt besteht darin, ein Array mit den empfangenen Daten zu erstellen. Der Append-Array-Block ist dafür ideal. Seine Aufgabe besteht genau darin, dem Array ein neues Element hinzuzufügen. Die Eingabe ist ein Array und das gewünschte Element, die Ausgabe ist ein Array mit 1 Element mehr.

Beachten Sie, dass Sie den Datentyp nicht manuell einstellen müssen. Der Block stellt sich automatisch auf den erforderlichen Typ ein, je nachdem, welche Daten er als Eingabe erhält. Wenn Sie Float auf die Eingabe anwenden, dann wird die Ausgabe automatisch ein Array von Float sein, es wird nicht möglich sein, ihn versehentlich mit einem inkompatiblen Datentyp zu verbinden.

Wir fügen dem Array 5 Werte hinzu, also muss der Block Append Array 5 Mal verwendet werden. Im ersten Fall genügt es, nur das hinzuzufügende Element als Eingabe anzugeben. Das Array wird dann automatisch erstellt. In den folgenden Fällen müssen sowohl das Element als auch das Array selbst, zu dem wir das Element hinzufügen, zur Eingabe gelangen.

Übrigens sehen Sie im linken Panel neben Append Array Funktionen mit ähnlichen Namen. Prepend Array macht das neue Element zum allerersten und unterscheidet sich damit von Append, das ein Element am Ende des Arrays hinzufügt. Der Block Concat Array wird verwendet, um zwei Arrays zu verketten.

AppMaster verwendet viele verschiedene Blöcke. Scheuen Sie sich nicht, zu experimentieren und sie alle zu verwenden, auch wenn im Kurs keine Informationen über einen bestimmten Block gegeben wurden.

Um das Endergebnis zu übertragen, müssen Sie nur noch die entsprechende Variable zum End-Block hinzufügen. In unserem Fall ist dies ein Float-Array.

Die Erstellung des ersten Geschäftsprozesses ist abgeschlossen! Im nächsten Modul werden wir verstehen, wie man ihn in der Praxis einsetzt, Eingangsdaten liefert und ein Ergebnis erhält.


Hausaufgabe

Erstellen Sie einen Geschäftsprozess, der 3 Zahlen verarbeitet. Eine davon ist konstant, die anderen beiden sind variabel.

Berechnen Sie:

  1. Die Summe dieser Zahlen
  2. Multiplikation
  3. Das Ergebnis der Division von 2) durch 1) aufgerundet auf einen ganzzahligen Wert
  4. Das Ergebnis der Division von 1) durch 2) aufgerundet auf die zweite Nachkommastelle.

Das Ergebnis des Geschäftsprozesses soll aus zwei Arrays bestehen. In einem sind die Daten in der Reihenfolge angeordnet, in der sie berechnet wurden. Im zweiten die gleichen Daten, aber in umgekehrter Reihenfolge.