Logik
Wie kann ich meiner App Logik hinzufügen?
Die Anwendungslogik wird erstellt in Mendix in Form von Workflows, Microflows und Nanoflows. Dabei handelt es sich um visuelle Möglichkeiten, das auszudrücken, was traditionell in Funktionen oder Methoden des Programmiercodes endet. Mit anderen Worten: Workflows, Microflows und Nanoflows ermöglichen es Ihnen, den Prozessen in Ihrer Anwendung einfach und visuell komplexe Geschäftslogik hinzuzufügen, ohne Code schreiben zu müssen.
Workflows sind langlebige Prozesse, die menschliches Eingreifen erfordern, um den Prozess zur nächsten Aufgabe zu bringen. Weitere Informationen finden Sie unter Workflows.
Mikro- und Nanoströme sind von Natur aus kurzlebig.
In der folgenden Tabelle sind die Unterschiede zwischen Nanoflows und Microflows sowie die jeweils anwendbaren Anwendungsfälle dargestellt:
Luftüberwachung | Nanoströme | Mikroflüsse |
---|---|---|
Lauf weiter | Client (Browser/Gerät) | Server |
Sprache | JavaScript | Java /Scala |
Offline-Apps für Mobilgeräte | Unterstützte | Nicht verfügbar |
Sicherheit | Ausgeführt im Benutzerkontext | Standardmäßig im Systemkontext ausgeführt (Benutzerkontext möglich) |
Transaktionen | Jeder Anruf eine Transaktion | Einzeltransaktion |
Ausführen von Aktionen im Client (zum Beispiel Seite schließen) | Direkt | Nachdem der Mikrofluss ausgeführt wurde |
Wie kann ich sicherstellen, dass die Logik meinen Geschäftsanforderungen entspricht?
Mendix dreht sich alles um die Zusammenarbeit zwischen Business und IT. Durch die visuelle Darstellung von Workflows, Microflows und Nanoflows erhalten geschäftsorientierte Benutzer Einblicke in die Gestaltung einer Anwendung. Das bedeutet, dass alle Mitglieder des erweiterten Entwicklungsteams in die iterative Entwicklung der Logik einbezogen werden können.
Wie erstelle ich clientseitige Logik?
Nanoflows werden zum Erstellen clientseitiger Logik (z. B. Logik für mobile Apps) verwendet. Durch die Verwendung von Nanoflows können Offline-Logik und geringe Latenz unterstützt werden, was zu superschnellen Apps führt, die offlinefähig sind. Ausführliche Informationen finden Sie im Abschnitt Wie schneidet Mendix Clientseitige Logik unterstützen? in Front-End.
Zudem hat auch Frau Mendix bietet einen Mechanismus zur Erweiterung des Frontends mit benutzerdefinierter Logik und Visualisierung durch die Erstellung benutzerdefinierter Widgets. Weitere Informationen finden Sie im Abschnitt Wie kann ich die Mendix Frontend? in Front-End.
Wie erstelle ich serverseitige Logik?
Microflows und Geschäftsregeln werden zum Erstellen serverseitiger Logik verwendet, da Sie mit Microflows die Logik Ihrer Anwendung ausdrücken können. Ein Microflow kann Aktionen ausführen, z. B. Objekte erstellen und aktualisieren, Seiten anzeigen, Auswahl treffen und eine Verbindung zu externen Systemen herstellen. Microflows können aus Workflows aufgerufen werden, wenn sie als Systemaufgabe in einer Workflowdefinition konfiguriert sind. Durch die Bereitstellung von Microflows als benutzerdefinierte Workflowaktion kann die Logik problemlos wiederverwendet werden.
Ein Microflow besteht aus folgenden Elementtypen:
- Events stellen die Start- und Endpunkte eines Microflows und die speziellen Operationen in einer Schleife dar
- Eingangsparameter Versorgen des Mikroflusses mit Eingaben aus seinem Kontext
- Aktivitäten sind Aktionen, die in einem Mikrofluss ausgeführt werden
- Konnektoren kann von der heruntergeladen werden Mendix Marketplace um Ihre App mit anderen Systemen zu verbinden
- Fließt bilden die Verbindung zwischen Elementen
- Spagat ermöglichen, Entscheidungen zu treffen und verschiedene Pfade wieder zusammenzuführen
- Fehlerhandler kann auf eine Aktivität, einen Split oder eine Schleife gesetzt werden, um zu definieren, wie ein Fehler behandelt werden soll
Für weitere Informationen, siehe Mikroflüsse in England, Mendix Studio Pro-HandbuchWeitere Informationen zur Verwendung von Microflows in Workflows finden Sie unter Workflows in England, Mendix Studio Pro-Handbuch.
Eine Regel ist eine spezielle Art von Mikrofluss und kann verwendet werden, um Geschäftsregeln auszudrücken. Eine Regel muss einen Booleschen Wert oder eine Aufzählung zurückgeben und kann in einer Aufteilung verwendet werden, um eine Entscheidung basierend auf diesem Ergebnis zu treffen. Die Idee ist, dass komplizierte Entscheidungen in Regeln konsolidiert und an verschiedenen Stellen in der Anwendung wiederverwendet werden können.
Wie kann ich meiner Anwendung benutzerdefinierten Code hinzufügen?
Auf der Serverseite, Mendix bietet sofort einsatzbereite Mikroflusslogik und Integrationsfunktionen basierend auf REST-, OData- und SOAP-Webdiensten. Dies bedeutet, dass nicht oft benutzerdefinierter Code erforderlich ist. Wenn Sie die Mikroflusslogik mit Ihrer eigenen erweitern müssen (über einen Bibliotheksaufruf oder einen externen Serviceaufruf, der über Java verfügbar gemacht wird), Mendix Mit Studio Pro können Sie Java-Logik erstellen, die direkt innerhalb der IDE verwendet werden kann.
Weitere Einzelheiten finden Sie in den folgenden Abschnitten:
- Wie kann ich meinen eigenen benutzerdefinierten Code in der serverseitigen Logik verwenden? (Siehe unten)
- Wo kann ich die Offenheit und Erweiterbarkeit nutzen, die mir zur Verfügung steht? Mendix? in Offenheit (API und SDK)
- Erstellen Sie benutzerdefinierte Widgets Anleitungen zum Entwickeln von UI-Erweiterungen und benutzerdefinierten Mendix Widgets zum Hinzufügen app-spezifischer Benutzeroberfläche und JavaScript-Logik zu Seiten
- Code schreiben in einer Low-Code-Welt
Wie kann ich meinen eigenen benutzerdefinierten Code in der serverseitigen Logik verwenden?
Die Integration mit einer Programmiersprache der dritten Generation (in diesem Fall Java) ist eine der wichtigsten Stärken des Mendix modellgesteuerter Entwicklungsansatz. Dies ist insbesondere in den seltenen Fällen nützlich, in denen Sie die gewünschten Ergebnisse nicht allein mit Mikroflüssen erzielen können oder in denen Sie bereits in Java-/Scala-Code und -Kenntnisse investiert haben, die Sie in Ihren Anwendungsmodellen nutzen möchten. Mendix Studio Pro ist in Eclipse integriert und unterstützt Sie bei der Codeerweiterung der Modelle. Mendix Die Debugging-Funktionen sind vollständig in Eclipse integriert und bieten Ihnen mit dem referenzierten Java-Code dieselben Debugging-Funktionen wie mit jedem anderen Teil der laufenden Anwendung.
Im Wesentlichen sind Sie nie durch die Reichweite einer bestimmten DSL eingeschränkt und können immer auf die Verwendung benutzerdefinierter Java-Funktionen zurückgreifen. Benutzerdefinierte Java-Funktionen können innerhalb eines Modells aufgerufen und die Ausgabe direkt verwendet werden. Die Schnittstelle jeder Aktion (die einer Java-Funktion entspricht) wird ebenfalls innerhalb des Modells definiert. Der Name, die Parameter und die Rückgabewerte werden alle in deklariert Mendix Studio Pro. Mendix Studio Pro generiert für jede Aktion eine Java-Vorlagenklasse, die als Hook dient, an dem benutzerdefinierter Code hinzugefügt werden kann.
Wenn die Schnittstellendefinition in der App umbenannt oder überarbeitet wird, ändert sich die Java-Klassenvorlage automatisch, ohne dass Ihr benutzerdefinierter Code verloren geht. Änderungen werden auch automatisch von der Mendix Integrierter Konsistenzprüfer der Plattform, der Konsistenzfehler im benutzerdefinierten Code schon früh im Entwicklungsprozess erkennt. Dadurch wird sichergestellt, dass der Java-Code kompiliert wird und die App-Erweiterungen mit dem Modell übereinstimmen, bevor die Bereitstellung erfolgt. Dies spart wertvolle Zeit während der Entwicklungsiterationen.
Ein professioneller Entwickler hat die volle Freiheit, mit jedem Java-Konstrukt zu erweitern, sodass er bei Bedarf jede Open-Source- oder proprietäre Bibliothek nutzen kann. Innerhalb dieses benutzerdefinierten Codes kann eine umfangreiche API für den Kern der Runtime-Engine verwendet werden. Dies ist eine Low-Level-API, die unter anderem reflektierende Programmiermuster ermöglicht.
Java-Erweiterungen werden vollständig verwaltet von Mendix Plattform über den gesamten Anwendungslebenszyklus, einschließlich Versionierung, Kompilierung und Verpackung für die Bereitstellung. Java-Aktionen bieten eine elegante Möglichkeit, neue Microflow-Funktionen zu erstellen, die von Nicht-Java-Entwicklern genutzt werden können. Sobald Ihre Java-Aktion abgeschlossen ist, klicken Sie mit der rechten Maustaste darauf, um sie als native Aktion in Mendix Studio Pro's Tools. Dadurch ist es für alle Entwickler im App-Projekt leicht auffindbar.
Weitere Informationen zur Verwendung von Java-Code in einem Mendix App, siehe Java Programmierung in England, Mendix Studio Pro-Handbuch.
Wie schneidet Mendix Zuverlässige Hintergrundverarbeitung unterstützen?
Für unternehmenskritische Anwendungen ist Zuverlässigkeit entscheidend. Mendix Task Queue bietet die parallele Verarbeitung ressourcenintensiver Aufgaben. Sie können die Ausführung Ihrer Mikroflows und Java-Aktionen über separate, konfigurierbare Threadpools steuern. Auf diese Weise können Sie die Last ausgleichen und die Aufgabenausführung priorisieren.
Durch die automatische Neuplanung fehlgeschlagener Aufgaben, Mendix bietet einen Mechanismus zur mindestens einmaligen Zustellung. Um Störungen dauerhafter Natur zu identifizieren, bietet eine detaillierte Überwachung Transparenz sowohl aktueller als auch historischer Ereignisse.
Weitere Informationen finden Sie im Aufgabenwarteschlange in England, Mendix Studio Pro-Handbuch.
Wie debugge ich in Mendix?
Mendix Studio Pro gewährleistet die Qualität, Sicherheit und technische Konsistenz von Anwendungen, die mit dem Mendix Plattform durch den Ansatz und die Mechanismen, die in Modellkonsistenzen.
Daher sind Debugging und Problemtests hauptsächlich auf funktionaler Ebene erforderlich. Der Vorteil hierbei ist, dass durch umfassende Qualitäts- und Konsistenzprüfungen auch nichttechnische Fachexperten robuste und anspruchsvolle Apps entwickeln können.
Weitere Details zu MendixDie integrierten Debugging-Tools finden Sie unter Debugging-Einrichtungen.
Was Fehlerbehandlungsoptionen tun Mendix Angebot?
Ausgefeilte Fehlerbehandlung wird unterstützt in Mendix durch die Definition von Fehlerhandlern in Microflows. Fehlerhandler ermöglichen Ihnen die ordnungsgemäße Behandlung von Fehlern in der Logik (z. B. Timeouts) oder unerwarteten Ergebnissen eines Serviceaufrufs oder Datenbankzugriffs gemäß Ihren Anforderungen.
Der Mendix Die Plattform ist transaktionsbasiert, was bedeutet, dass die ausgeführte Logik die Transaktion entweder abschließen und beenden oder einen Fehler auslösen kann. Im Falle eines Fehlers haben Sie die Möglichkeit, die gesamte Transaktion rückgängig zu machen (d. h., die zugehörigen Objekte werden in ihren ursprünglichen Zustand zurückgesetzt) oder nicht rückgängig zu machen. In beiden Fällen können Sie dem Mikrofluss eine Fehlerbehandlungslogik hinzufügen, die nach der Transaktion ausgeführt wird.
Dieser Fehlerbehandlungsprozess gewährleistet die Konsistenz über eine Mendix App.
Wie kann ich Logik wiederverwenden?
Die folgenden Funktionen in Mendix Studio Pro macht die Wiederverwendung von Logik einfach:
- Vorhanden Mikroflüsse und Regeln können von jedem anderen Microflow oder Seitenkontext im Mendix App-Projekt. Mendix verfügt über integrierte Refactoring-Tools, mit denen sich Logik aus einem vorhandenen Mikrofluss einfach in einen neuen Mikrofluss mit einer klar definierten Schnittstelle von Eingabeparametern und einem Rückgabetyp extrahieren lässt. Die Logik ist dann in jedem anderen Kontext vollständig wiederverwendbar.
- Sie können Ihre bestehenden Java-Bibliotheken und benutzerdefinierter Code in der App-Logik.
- Wiederverwendbare Logik können in Modulen gruppiert und exportiert werden in die Mendix MarketplaceVon dort aus kann er als öffentlicher oder privater (also unternehmensinterner) Inhalt mit anderen App-Projekten geteilt werden.
- Der Mendix Marktplätze enthält viele wiederverwendbare Microflows und Microflow-Konnektoren, die in Ihr App-Modell heruntergeladen werden können. Dadurch entfällt die Notwendigkeit, die Logik für jedes Projekt neu zu erfinden. Die Community Commons-Funktionsbibliothek Das Modul vom Marketplace ist ein großartiges Beispiel für gemeinsam genutzte Best Practices der Community.