Architecture - Master Deck
Architecture - Master Deck
Overview
What are we covering today?
• Marketplace
• Cloud Portal
01
Architectural
Principles
Adopting Mendix is a
subscription to innovation
Mendix 9
☉☉☉☉☉☉☉☉☉☉☉
Mendix 10
☉☉☉☉☉☉☉☉☉☉☉☉
Mendix 11
☉☉☉☉☉☉☉☉☉☉☉☉
Mendix 12
☉☉☉☉☉☉☉☉☉☉☉
Minimal breaking Smooth technology Monthly N-2 major release MTS & LTS versions
changes introductions releases support
Architecture Principles
Designed for today’s complex software development challenges
Mendix is guided by the following architectural principles to ensure customers can address today’s complex software development
challenges:
Styles
2 Dependencies 8 Concurrency
All dependencies are part of the app model Mendix uses a combination of Java threads and processes to scale
3 Configuration 9 Disposability
Defined in the app model via environment variables In multi-instance environment, users will not be impacted when an instance is stopped.
PRIORITIZE
DEPLOY
EVALUATE PLAN
GOVERN
Governance & Quality Services
Standard Platform Architecture
Control SSO
APMs QSM Menditect
Center
Feedback
User Stories
Deploy
Package
Mendix Portal Runtime
Monitor/
Cloud Portal
Apps Status, Logs/
Users Links Backups
Android iOS
Studio Pro Model
Package
Runtime
Version Control Models
Package References
Package
Marketplace Repository
Service
Service Definitions Definitions Event Messages
Event
Catalog Broker
• Intuitive UI
• AI Assisted Development
Based on Git
Discover
Search and explore your data and connectors with the Mendix
Connect Catalog.
Understand
Gain insight into data context, ownership, and sensitivity with
curated metadata right in the Mendix Connect Catalog.
Use
Drag-and-drop data into the IDE, or use curated endpoints to pull
data into BI tools securely.
Govern
Secure and manage trusted data for safe reuse in a single-click via
automatic registration
Event Broker
Seamlessly build event driven architectures
Leverages CloudEvents & AsyncAPI SVC SVC SVC SVC DATA ANALYTICS
{
"guid" : "274790396018",
"objectType" : "Module.Department", Abstract Data Model
"attributes" : {
"DepartmentId" : { "value" : 4 },
"Name" : { "value" : "Oncology" }, • Technology & Protocol Agnostic
"Abbreviation" : { "value" : "ONC" }
}
}
• Queries translatable to any query
language (SQL, OData, REST)
{
"guid" : "224743818103", • Future proof
"objectType" : "Module.Employee",
"attributes" : { Previously XML based, currently everything is based on JSON
"EmployeeId": {"value" : 1 },
"Title": {"value" : "" },
"Firstname": {"value" : "Fien" },
"Lastname": {"value" : "de Strigter" },
"Gender": {"value" : "" },
"Phone": {"value" : "+31(0)50-5736473" },
"JobTitle": {"value" : "Nurse" },
"Specialty" : {"value" : null },
"Email" : { "value" : "fien.de_strigter@summerhouse.com" },
“Module.Department" : { "value" : "274790396018" }
}
}
Tables
Persistent / Non-Persistent / External Entities Domain Models
5. Loop
4. Action
2. Start Event 6. End Event
3. Decision
• Long-lived processes
• Visually express the business processes
• Dedicated workflow editor
• A visual approach to object state-based
workflow
• Drag & drop human tasks and automated
tasks
Modules
Low-code approach to packages
Styling
SSO Security
Repair Calls Returns Process
Pages
Security Security
Logic
Logic Pages
Excel Export
Integration Logic
Styling
Integration Domain Model
Domain Model
Security
Styling
Pages
Security Logic
Pages
App Security Architecture
Layered security model for flexibility and control
• Granular Security configuration on Documents within each Michelle Finance User Editor
Module with Module Roles.
Mendix App Security
The most secure low-code platform
Authorization Authentication
• Set security on all three layers • Secure OOTB authentication
• Leverage role-based access control (RBAC) and attribute- • Authentication can be customized and integrated
based access control (ABAC), allowing you to define user with external identity providers
permissions and access levels based on their roles or • Support for SSO via SAML and OIDC
attributes
• Mendix applies principle of least privilege granting no
access by default
Mendix App Security
The most secure low-code platform
Client-side (Front-end)
MENDIX CLIENT
• Multi-channel client (Responsive, PWA, Native)
• Built in JavaScript (ReactJS), HTML5, CSS3
• Widgets and Core layer leverage open-source JavaScript frameworks:
ReactJS and React Native
• Widget source available on GitHub for customers CSS3 Web & Mobile HTML5
Database Client
• Every app has its own database: PostgreSQL, MySQL, Oracle, SQL Server,
DB2, SAP Hana, other SQL databases. Data Layer
• PostgreSQL DB used for Mendix Cloud
Client-side Experience
One platform for delivering across multiple modalities
Access: Browser Access: Browser & Installable web app Access: Installable as true native app
Capability: Limited access to device sensors Capability: UI is Web-based, but can access Capability: UI is native and can access
via HTML5 camera, GPS, etc. camera, GPS, etc. (no limitations)
Connectivity: Online only Connectivity: Offline & Online Connectivity: Offline & Online
Client-side Architecture
CLIENT
• Provide best in class experience with native controls HTTPS
Client Core
(ReactJS)
Customer Benefits:
• Consumer-grade user experience HTTPS
• Cross platform
SERVER
Runtime
• Increased productivity (Java/Scala)
https://reactnative.dev/showcase
Client-side Architecture
Web Mobile
Widgets Widgets
changes to UI components
Mendix Runtime
Mendix Client
Client Core
JavaScript
Actions
HTTPS
Widgets UI Layer
Server
Client Config
Data Layer
Platform APIs
State/Sync
/Session
Key
Data flow Runtime
Server
Runtime
External
Client-side Extensibility
Create experience that fits your need at every level
Experience
Page
▪ JavaScript based
Custom
Pluggable Widget
▪ React (Native)
Logic
Custom
actions
JavaScript action
HTML5 APIs
Server Runtime built for scale
Run mission critical workloads with ease
Model Execution
• Runtime interprets model definitions not code
• Simplifies updates and shortens downtime
Based on Trigger, Listener, Action model
Generic event driven model enabling easy extensibility
An action: A listener:
• Executes logic • Listens to actions
• Is exposed by: HTTP, SOAP, API • Triggers actions
• Base object for standard actions • Catches (before, during, after)
events
Key
User Action
Local Storage Event Subscriptions
Microflow Workflow
Security
Security Agent Microflow Engine Definition Workflow Engine Definition
• Interpretive Client based on same principles Model
Model Model
Java
Code &
Libraries
Domain Model Event Handler Action Handler
• Project Model drives Domain, Events, Actions, Logic, Domain Model Definition Event Subscriptions User Action
(Java)
Temporary Object
Project Model File Storage Manager File Storage
Storage
M2EE
Database Ext Service Calls External Service
Synchronization
License
Scheduler Server
Custom Java
Runtime
Mendix Client
External
Runtime Server Extensibility
Integration options at every level
configuration
integrations via Marketplace
Marketplace
SHAREPOINT
ORACLE
module
OFFICE
SFDC
SAP
SAP
• Build your own modules and connectors for re-
use using connector kit
Connector
• Extend with custom Java code leveraging Eclipse
visual mapping
Java action
OData
SOAP
REST
JMS
Java action
SQL
or InteliJ
Connector Kit
• REST, SOAP, OData support with with visual
mapper for consuming and publishing Mendix Runtime
code
java plugin
java plugin
java plugin
java plugin
java plugin
java plugin
java plugin
• Pluggable Runtime Server
Container Architecture
Ensuring portability and simple provisioning
• Standard Container image, built from
deployment Model http(s)
OS Kernel
• Opensource build packs provided via
GitHub:
▪ Kubernetes Web server
▪ Cloud Foundry
▪ Docker Java Virtual Machine
Runtime
• Container includes: Container
Application management
▪ Nginx web server; Serving static content
▪ JVM Project model and code
Model meta
Runtime Engine data (BSON) Mendix Studio
Pro Teamserver (git) Web Server Runtime
Requests
Runtime (JRE)
Build
Server
Machine code
Runtime (JRE)
Machine code
Package
Repository
Infrastructure
Infrastructure
The Mendix Database
Choose the data storage solution that meets your needs
For container-based deployments Mendix supports the For server-based installations, the following storage types
following storage services: mounted by the OS are supported:
• AWS S3 • NAS
• Azure Blob Storage • SAN
• IBM Cloud Object Storage • GFS
• SAP AWS S3 Object Storage • Local Storage
• SAP Azure Blob Storage
• MinIO
Thank You
Contato:
José Luis Motta
CEO dtcode