Geschäftsprozessautomatisierung des Unternehmens Trello mithilfe semantischer Modellierungstechnologie

In den letzten Jahren wurde Trello zunehmend als hervorragendes Werkzeug für die Organisation und Planung bezeichnet. Seit 3 ​​Jahren verwenden wir Trello in unserem Unternehmen, um viele Prozesse zu planen, von Urlaub, Geschäftsreisen und Vertragsgenehmigungen bis hin zum Projektmanagement.

Leider ist in Trello nicht alles so schön. Sie können keinen benutzerdefinierten Workflow ausführen. Das heißt, wir müssen einen Mitarbeiter beschäftigen, der Karten mit seinen Händen in verschiedenen Brettern zieht. Wie kann dieser Mitarbeiter auf eine andere, interessantere und kreativere Arbeit übertragen werden?

Natürlich, sagen Sie, können Sie ein Skript schreiben, das all dies für uns erledigt. Aber es gibt ein Problem. Ein Skript kann nur von einem Programmierer oder einer Person geschrieben werden, die versteht, wie dies zu tun ist. Er muss das Skript pflegen. Wir haben eine einfachere und logischere Lösung gefunden - dies ist die semantische Modellierung.

Mit der semantischen Modellierung können Sie die gesamte Logik der Tafel in Trello in natürlicher Sprache schreiben.

Reise- und Urlaubskoordination


Nehmen Sie den einfachsten Prozess: passende Reisen und Ferien. Gemäß unseren Bestimmungen veröffentlicht jeder Mitarbeiter, der Urlaub machen oder eine Geschäftsreise unternehmen möchte, eine Anfrage an Trello. Der Antrag fällt in das Blatt „Zur Genehmigung“.



Sobald der Antrag genehmigt wurde (dies bedeutet, dass der Leiter des Mitarbeiters und / oder der Vertreter der Finanzabteilung das Kontrollkästchen aktiviert hat), werden sie in die Liste „Vereinbarte Reisen“ verschoben. Ein Urlaubsantrag fällt jeweils unter „Vereinbarter Urlaub“ usw. Danach müssen Sie den Mitarbeiter darüber informieren, dass seine Bewerbung genehmigt wurde.

Angenommen, wir möchten diesen Prozess automatisieren, sodass der Antrag nach der Genehmigung automatisch auf das gewünschte Blatt verschoben wird und der Mitarbeiter eine Benachrichtigung über die Änderung des Status des Antrags erhält. Überlegen Sie, was wir dafür brauchen.

Notwendige Werkzeuge


Um das Modell zu entwickeln, haben wir ide aus dem Jetbrains MPS (Meta Programming System) ausgewählt. Als Modellierungssprache wird die Sprache d0SL verwendet - die semantische Sprache Delta0, die auf der Grundlage semantischer (logischer) Modelle erstellt wurde.

Der gesamte Prozess der Installation von Jetbrains MPS und der erforderlichen Plug-Ins wird hier vollständig beschrieben: https://d0sl.imtqy.com/en/quick/installation/ .

Sie können das fertige Trello-Board-Modell unter folgendem Link installieren: https://d0sl.imtqy.com/en/quick/trello/ .

Semantisches Modell. Was ist passiert?


Mal sehen, wie das resultierende semantische Modell von Trello-Boards aussieht. Es enthält unsere Regeln:

  • Ist das Kontrollkästchen aktiviert - Überprüft, ob das Kontrollkästchen mit dem Namen requiredCheckBoxName auf der Karte mit der ID cardId aktiviert ist. Auf diese Weise können wir prüfen, ob unser Antrag genehmigt wurde oder nicht.
  • moveCard - Verschiebt die cardId-Karte in die Liste und fügt der Anwendung für den Benutzer einen Kommentar hinzu



Das Modell verfügt über ein Prädikat-CheckBoard, das für jede Karte im Board aufgerufen wird. Die Kennung der Karte, der Name des Benutzers, der die letzte Operation mit der Karte ausgeführt hat, das Blatt, von dem die Karte verschoben wurde, und das Blatt, in dem sie sich gerade befindet, werden auf sie übertragen. Weiter in checkBoard können wir die Regeln festlegen, nach denen wir unsere Anträge bearbeiten möchten.



Beachten Sie, dass Sie mit der semantischen Modellierung alle logischen Geschäftsregeln in einem Dokument zusammenfassen und diese Regeln in der Sprache des Themenbereichs, der "Muttersprache" für Benutzer des Modells, schreiben können.

Die Möglichkeit, etwas mit der Karte zu tun, bietet das TrelloBoard-Basismodell, das folgendermaßen aussieht:



Wenn wir das Modell ausführen, besteht der Genehmigungsprozess, sobald der Antrag im Blatt „Zur Genehmigung“ den Genehmigungsprozess besteht.



Das System verschiebt es in den entsprechenden Bereich und benachrichtigt den Kartenhersteller über die Änderung des Anwendungsstatus.



Wenn jedoch versucht wird, eine nicht vereinbarte Anwendung manuell zu verschieben, sendet das System sie an den Ort und schreibt einen verärgerten Kommentar.

Und was ist unter der Haube?


Das grundlegende TrelloBoard-Modell ist im Wesentlichen eine Schnittstelle, die wir in Java implementieren (in diesem Fall in der Klasse com.gav.semanticTrelloBoard.TrelloBoardDSL).

Es sieht so aus:



Wir definieren Funktionsnamen mithilfe von Dekoratoren und implementieren sie.
Wir haben auch die AiTrelloBoard-Klasse, mit der wir mit Trello arbeiten können. Es enthält Java-Implementierungen von Funktionen wie start:



In der Datei trelloBoard.properties behalten wir alle trello-API-Parameter (wie application_key, board_id usw.) und last_update_timestamp - Zeitstempel des letzten Updates.

Auf diese Weise können wir auf Kosten eines nicht allzu großen Aufwands die erforderlichen Geschäftsprozesse in Trello automatisieren. Die Verwendung und Wartung dieser Lösung ist wesentlich praktischer als der Programmcode.

Offensichtlich sind die Möglichkeiten der semantischen Modellierung nicht auf die Lösung dieses Problems beschränkt. Wenn der Analyst beim klassischen Lösungsansatz zuerst Spezifikationen erstellt, auf deren Grundlage Entwickler anschließend die Architektur implementieren und den Code schreiben, kann der Analyst bei Verwendung der semantischen Modellierungssprache d0sl Aufgabenspezifikationen in der formalen logischen Sprache erstellen, die ohne menschliches Eingreifen in ausführbaren Code konvertiert werden. Dies kann die Kosten für die Entwicklung, Bereitstellung und das Testen neuer Dienste erheblich senken.

Wir haben die Lösung für die Arbeit mit Trello geöffnet und auf Github gestellt .
Wir wollten nicht nur ein Werkzeug zur Prozessmodernisierung in Trello bereitstellen, sondern anhand dieses einfachen Beispiels auch die Vorteile eines modernen Ansatzes wie der semantischen Modellierung demonstrieren. Wir freuen uns, wenn Sie diesem Fall etwas Eigenes hinzufügen und Ihre Erfahrungen mit unserer Lösung teilen können.

Nützliche Links


Lesen Sie hier mehr über die semantische Modellierungssprache d0sl.
Die mathematischen Grundlagen der semantischen Modellierung werden hier skizziert.

Source: https://habr.com/ru/post/de453492/


All Articles