Sind Sie neu in der Welt von Mendix und möchten mit der Plattform experimentieren? Oder nutzen Sie bereits Mendix, möchten aber eine kleine Anwendung verwenden, um zu experimentieren oder eine Idee zu validieren? In diesem Fall können Sie die kostenlose "Sandbox-Umgebung" nutzen. Dies ist der ideale Ort, um zu testen, ob eine Anwendungsidee einen Mehrwert bieten kann. In einer Sandbox können Sie ausgiebig experimentieren und testen. Wenn sich die Idee durchsetzt und einen geschäftlichen Wert hat, können Sie in eine lizenzierte Umgebung mit umfassenderen Vereinbarungen wechseln.
Die wörtliche Bedeutung von "Sandbox" ist "Sandkasten". Der Begriff wird in Softwareentwicklungsprojekten häufig verwendet, um darauf hinzuweisen, dass die von Ihnen verwendete Umgebung vorübergehend, begrenzt oder kleiner ist als Umgebungen, die höhere Anforderungen an Funktionalität, Verfügbarkeit oder Leistung stellen.
Laut Wikipedia werden Sandbox-Umgebungen häufig zum Testen von Software in einer vollständig isolierten IT-Umgebung (ohne Netzwerk oder Verbindung zur Außenwelt) verwendet.
Jede Mendix App, die Sie auf Ihrem lokalen Rechner erstellen, läuft in Mendix Studio Pro, der Entwicklungsumgebung der Plattform. Studio Pro ist jedoch nicht gut geeignet, um Anwendungen für andere Benutzer verfügbar zu machen. An dieser Stelle kommt die Sandbox ins Spiel. Von Mendix Studio Pro aus können Sie die Anwendung mit einem einzigen Mausklick in eine Sandbox-Umgebung übertragen. Die Anwendung läuft nun "in der Cloud" und ist für mehrere Personen zugänglich.
Sie können eine Sandbox mit einem einzigen Mendix Projekt verbinden. Diese Verbindung wird hergestellt, wenn Sie ein neues Projekt erstellen, um eine Mendix App zu erstellen. Die Sandbox ist in ihrer Funktionalität, Skalierbarkeit, Verfügbarkeit und Leistung eingeschränkt. Die Unterschiede zu einer kostenpflichtigen Umgebung werden später in diesem Artikel ausführlich besprochen.
Aus technischer Sicht wird eine Sandbox-Anwendung in einem Docker-Container ausgeführt. Dieser Container läuft in der Mendix Cloud v4 (free tier) auf der AWS (Amazon Web Services) Cloud-Plattform. Die Spezifikationen sind:
Eine kostenpflichtige Umgebung, für die Sie eine jährliche Lizenzgebühr entrichten müssen, wird als lizenzierter Cloud-Knoten bezeichnet. Ein solcher Knoten wird in der Regel mit mindestens einer Produktions- und einer Abnahmeumgebung geliefert, und häufig wird auch eine Testumgebung für die einfache Bereitstellung von applications verwendet.
Hier sind die 11 Unterschiede zwischen einer Sandbox und einem lizenzierten Cloud-Knoten:
Sandbox Knotenpunkt | Lizenzierte Cloud Node |
---|---|
|
|
Wenn Sie bei der Verwendung von Sandbox-Umgebungen auf echte Probleme stoßen, müssen Sie eine kostenpflichtige Umgebung mit einer Lizenz erwerben. Sie können dann Ihre Mendix Projekte in der Mendix Cloud bereitstellen. Sie können auch Ihre Cloud-Umgebung verwenden, wenn Ihre Lizenz diese Option unterstützt. Denken Sie zum Beispiel an Azure, Google Cloud, SAP Cloud und Pivotal. Mendix hat zu diesem Zweck Mendix for Private Cloud, das einen Kubernetes-Cluster verwendet (siehe Mendix for Private Cloud). Als Entwickler haben Sie über das Plattformportal die gleichen Möglichkeiten wie auf der öffentlichen Mendix Cloud . Wenn Sie sich dagegen entscheiden, sollten Sie bedenken, dass Sie die Infrastruktur, Konfiguration und Wartung von applications auf diesen Cloud-Plattformen selbst verwalten müssen.
Einige Einschränkungen lassen sich manchmal mit einer Umgehungslösung beheben, aber diese solutions sind oft nicht ideal. Betrachten Sie die folgenden Probleme und solutions:
Kein Einblick in die Überwachung von Diagrammen und Informationen → Verwenden Sie Google Analytics Widgets in Ihrem Modell. Diese Widgets liefern mehr Informationen über die Nutzung der Anwendung, z. B. die Anzahl der Nutzer und wann sich diese Nutzer anmelden.
Keine Protokolldateien aus dem letzten Zeitraum, in dem die Anwendung lief, verfügbar → Verwenden Sie das Protokollierungsmodul aus dem Mendix Appstore, um Protokollmeldungen in die Datenbank zu schreiben. Auf diese Weise bauen Sie Ihr eigenes Logging-Archiv auf. Beachten Sie, dass Sie nur begrenzten Platz in Ihrer Datenbank haben. Sie können diese Log-Meldungen auch extern über eine REST-Schnittstelle z.B. zu Datadog oder einer ähnlichen Plattform schreiben. Sie können auch eine andere Datenbank wählen.
Kein eigener Domainname, unter dem die Anwendung läuft → Um die URL der Sandbox zu verbergen, können Sie eine Domain registrieren oder eine Seite auf einer bestehenden Domain verwenden, auf der ein Iframe mit der URL der Sandbox sichtbar ist(Beispielcode finden Sie hier). Sie können dann die Anwendung über diesen eigenen Domänennamen aufrufen. Iframes haben Einschränkungen, zum Beispiel wenn sich die Bildschirmgröße Ihrer Anwendung ändert.
Tipp für Fortgeschrittene: Wenn Sie Deeplinks verwenden, müssen Sie dies berücksichtigen (übergeben Sie den Deeplink an den iframe, z. B. mit JavaScript).
Keine erweiterte Backup-Funktionalität → Sichern Sie regelmäßig ein Backup, indem Sie es lokal herunterladen. Bei einer Sandbox werden Backups maximal 2 Wochen lang aufbewahrt. Eine noch bessere Option ist die Entwicklung von Funktionen zum Exportieren und Importieren Ihrer Daten. In einer Sandbox können Sie nur ein Backup wiederherstellen, das von Mendix erstellt wurde, und Sie können es nicht selbst hochladen.
Sie möchten mehr als 1 GB an Dateien speichern → Wenn Sie eine Anwendung verwenden, die viele Dateien speichern möchte, sollten Sie die Verwendung eines externen Cloud-Speichers in Betracht ziehen und diesen über eine REST-API integrieren. Denken Sie z. B. an AWS S3 oder Dropbox, Lösungen, die einen niedrigen Preis pro GB bieten.
Keine geplanten Ereignisse → Um Prozesse auszulösen, die Sie täglich durchführen müssen, müssen Sie Ihre Sandbox-Anwendung von einer anderen Cloud-Anwendung aus aufrufen. Beispielsweise kann die Synchronisierung der Daten von weiterhin täglich erfolgen. Google Scheduler, AWS Cloudwatch oder die (CRM-)Anwendung, die Sie bereits verwenden, können dieses Problem für Sie lösen.
Ja, das können Sie. Allerdings müssen Sie die oben genannten (technischen) Einschränkungen berücksichtigen. Darüber hinaus haben Sandbox-Umgebungen eine geringere SLA und eingeschränktere Betriebszeitgarantien. Natürlich steht Ihnen der Mendix Support zur Verfügung, falls Probleme in Ihrer Umgebung auftreten sollten. Sie können dafür ein Ticket erstellen.
Ist dies, eventuell in Kombination mit Workarounds, ausreichend für die Anforderungen, die Sie an die Umgebung für Ihre Anwendung haben? Dann können Sie getrost eine Sandbox für die Produktion verwenden applications!
Meiner Erfahrung nach funktioniert eine Sandbox für kleine, nicht missions- oder prozesskritische Anwendungen applications gut, insbesondere wenn nicht viele Benutzer die Anwendung gleichzeitig nutzen. Seit der Einführung von Sandbox-Umgebungen gibt es immer noch Anwendungen, die ich stabil in einer Sandbox verwende.
Wenn Sie eine neue Anwendung in der Mendix Plattform erstellen, wird auch die URL Ihrer Anwendung festgelegt. Hinweis: Diese URL kann nachträglich nicht mehr geändert werden!
Ihre App ist dann unter folgender URL verfügbar: https://<app-name-numberXXX-sandbox.mxapps.io. Diese URL wird auf der Grundlage des Namens generiert, den Sie beim Erstellen Ihrer neuen App verwendet haben. Nach der ersten Bereitstellung ist Ihre App über diese URL zugänglich.
Um eine neue Version in einer Sandbox-Umgebung bereitzustellen, klicken Sie auf "Ausführen" im Menü "Ausführen". Hinweis: Ihre Änderungen werden sofort auf den Teamserver (SVN) übertragen, und Ihre Version wird in der Sandbox-Cloud überschrieben. Wenn Sie lokal testen, wählen Sie unbedingt die Option "Lokal ausführen".
In der Grundeinstellung ist dies nicht direkt von einem Mendix Projekt aus möglich. Es gibt jedoch einen Workaround, um eine Testumgebung zu erstellen. Dies bietet Vorteile, wenn Sie neue Funktionen zuerst testen wollen, bevor Sie sie in die "Produktions"-Sandbox übertragen.
Leider sind immer einige manuelle Aktionen erforderlich. Folgen Sie dem nachstehenden Schritt-für-Schritt-Plan, um eine Testumgebung neben Ihrer Anwendung zu erstellen:
Tipp für Fortgeschrittene: Wenn Sie wirklich eine andere URL für Ihre Testumgebung wünschen, geben Sie z.B. "SurveyBuilder-test" im Projektnamen an. Benennen Sie dann die .mpr in diesem Projekt über TortoiseSVN oder SmartSVN in genau denselben Namen um wie die .mpr Ihrer Produktionsanwendung und übertragen Sie diese zuerst, bevor Sie mit Schritt 4 fortfahren.
Wenn Sie die Änderungen an Ihrer Anwendung zunächst in der Testumgebung testen möchten, gehen Sie wie folgt vor:
Kopieren Sie alle Dateien aus dem Verzeichnis Ihrer Produktionsanwendung, mit Ausnahme der Verzeichnisse .svn und .mendix-cache (wenn Sie diese nicht sehen, prüfen Sie View->Hidden items).
Ich wünsche Ihnen viel Spaß bei der Nutzung der Mendix Sandbox. Experimentieren und lernen Sie! Und wenn Sie Fragen haben, zögern Sie nicht, uns zu kontaktieren.
In der Technologiebranche gibt es zahlreiche Möglichkeiten, den digitalen Wandel voranzutreiben. Möchten Sie die digitale Situation Ihres Unternehmens verbessern? Und suchen Sie einen Partner, der Sie bei der Erreichung dieses Ziels unterstützen kann? Dann ist Emixa der richtige Partner für Sie. Wir übersetzen komplexe Sachverhalte in einfache, benutzerfreundliche IT-Lösungen , die Ihre digitale Transformation beschleunigen und Ihr Unternehmen auf ein höheres Niveau bringen.Zögern Sienicht, uns zu kontaktieren. Wir würden uns freuen, Sie kennenzulernen!