Showing posts with label Mendix. Show all posts
Showing posts with label Mendix. Show all posts

Sunday, 13 April 2025

Mendix - Logging & Tracing

Mendix offers a few integrations with various Application and Performance Monitoring (APM) tools.

There is no integration with Azure Monitor.  The closest I have is log files can be downloaded.

Cloud edition allows you to download the log files.

TBC

Saturday, 3 August 2024

Mendix Notes 2024

Extendibility: Mendix Studio Pro IDE

  • Currently, Aug 2024 you can build Extensions with Mendix with C#.  Extend the Mendix Studio Pro/IDE/editor e.g. Connect to Azure, and query for resources, unit testing,..
  • Mendix look like they will also support TypeScript (TS) and JS for extensions.  Eventually, we may add low-code extensions using Mendix...

Mendix Series

1.  Overview of Mendix 

2. Mendix - Part 2 - Diving deeper

3. Extensibility for Mendix Studio (this post)

4. Building a Mendix Widget for the Mendix Market Place (Convert text to Audio using Azure AI)

5. Mendix Tips & Thoughts



Wednesday, 29 May 2024

Mendix tips & thoughts

Mendix Charting/dashboarding options:

  • E-Charts (Community supported) are simple and nice,
  • Anycharts (very common),

Grafana can be integrated, but I haven't tried it with Mendix.

Power BI can show reports using an iFrame widget.  I like this approach.

Module/Widget Support Note: Check whether libraries are supported by Mendix/Platform or Partner.

Community-supported obviously can be changed by the community. Partner-supported is also an option if you have an agreement with the partner or trust them.

Performance Testing Tool options:

A colleague has used JMeter and feels it was not ideal. 

I'm considering using the Microsoft Playwright Testing service and Playwright testing.

Enterprise Logging/SIEM SaaS integrations supported by Mendix:

  1. App Dynamics.
  2. Datadog,
  3. New Relic,
  4. Dynatrace, and
  5. Splunk

Watch out for:

Logging
Each system logs to loc files on the local machine; these can be pushed into the Postgres local instance.  This can result in a massive storage load being added for auditing and logging.  

Monitoring
Logs can be shipped out using backup and restored or by calling the REST Open API.

Maintenance
Mendix builds a database per app per environment, so the recommendation is to use at least 3 per app as you need dev, Test, and Prod. Each instance, by default, uses PostgreSQL (you can only use PostgreSQL if you use the Mendix-provided images deployed on AWS).  

Global Variables
Mendix doesn't have a concept of a global variable at the start or per session. You can load lookup data, which is often held centrally in your enterprise. This can get heavy quickly, but you can copy Open API results into the local PostgreSQL database so it only gets local data.  

Costs
With Mendix, the cost can escalate rather quickly. Reduce cost by scaling back to the most minor instance in dev and test, especially post-go-live. Each app has a separate database, so management and connectivity can become hard to control. 

Performance
Number of Controls & Size of each application.



Thursday, 7 December 2023

Mendix - Part 2 - Diving deeper (E2E automation testing of Mendix using Playwright)

Mendix Series

1.  Overview of Mendix 

2. Mendix - Part 2 - Diving deeper (this post)

AI with Mendix (current version Mendix 10.5.x):

  1. Logic bot - recommends what you are likely to do, like a copilot as you go along building the app
  2. Performance bot - shows redundancies, recommends performance improvements 
  3. Chatbot in beta

Playwright is a good UI testing tool for Mendix:

For more advanced applications, Playwright is a good testing framework that can help developers know their code is running end-to-end, useful for monitoring applications and behaviour, and also can be used as part of the CI process to validate Mendix end user accessibility as shown in this mp4 (7 minutes - good video).

Thoughts:

I needed to change from US format to UK date time format:
The community has the answer: Mendix Forum - Question Details

Mendix Series

1.  Overview of Mendix 

2. Mendix - Part 2 - Diving deeper (this post)

3. Extensibility for Mendix Studio 

4. Building a Mendix Widget for the Mendix marketplace (Convert text to Audio using Azure AI)

5. Mendix Tips & Thoughts

Sunday, 29 October 2023

Mendix Overview

Overview: Mendix is a market leader in low-code app builders. While I predominantly use the Power Platform, Mendix can be a good option.  

The ALM has Version Control. This is intuitive and follows a local checkout version commit back to a main branch (simple version control). It allows you to use branches so comprehensively and flexibly. Checking in small and often is a good idea, or you run the risk of large, complex competing merges. I believe it is git, but from the Mendix Studio Pro IDE, it is seamless.  

Build a local Version using Mendix Studio Pro and deploy it to the cloud. There are several options, including on-prem. The free version is basic and has limitations, but it has proven helpful for learning.

Note: There is also a Mendix Studio (Not Mendix Studio Pro) but it is hardly used by anyone.

Mendix supports sprints and boards, so you can work with User Stories in the Developer Portal for ALM.

An App Package can be stored, and it is a good idea to use this as the base for all projects in your company so that basic branding and naming conventions are consistent.

Deployment anywhere such as on-prem. via Kubernetes deployment, as well as the major cloud platforms i.e. AWS, Azure, GCP, Oracle.

Marketplace - templates, connectors, and components to reuse. 

Domain Modelling is excellent. When creating an app, you can choose your database (not the canned version). Modelling and exposing via OpenAPI contract and generating CRUD screens are easy. 

Get Data Options

Types of Data Sources available in Mendix.


Logic/Programing: In Mendix, we use flows for logic; there is no programming language.

  • Microsflows - Server-side logic.
  • Nanoflows - Smaller basically client side (think JavaScript logic)

Tip: The variable state is typically stored within the local Postgres database for later use.

Publishing to cloud production versions is very easy, and the local version, which is being developed, is seen on localhost. Mendix has simple, great built-in source control.

Image 1. A high-level overview of the logical components making up Mendix.

Pros:

  1. Easy to use.
  2. The basics for Low code are included, such as version control, project management, and deployment/publishing.
  3. Build native mobile apps.
  4. Improve business processes efficiently.
  5. Supporting multiple languages is unbelievably simple and easy.

Image 2. Add multiple Languages to your app

Simple exercise: Call a key-secured API and display it on a Mendix page after watching this 7-minute video on API Calls.

The running example has:

  1. Various pages and forms show and persist database information. 
  2. A REST Call to a 3rd party using the OAuth key.  
  3. Publishing a REST API based on a table and an associated entity.
  4. Displays an Azure Chatbot

Me playing around with a Mendix App:

1. Get a REST endpoint and verify using postman (using a key for secure access)

Image3. Postman showing the REST call to be used

2. Create a new "microflow" as shown below:

3. Add a new "Action" of type "REST Call"
4. Add a JSON Structure file


5. Decide which attributes to pull out

6. Create an "Entity" in the Domain model to hold the retrieved data.
7. Map Model to the Import as shown below

...

Monday, 2 January 2023

Power Platform Competitors

Mendix Series

1.  Overview of Mendix (this post)

2. Mendix - Part 2 - Diving deeper

Overview: I like Power Platform, but other options exist. Most competitors' products cover a piece of what the Power Platform covers.

Originally Generated with Thanks to Gareth R.
Mendix Vs PowerApps
  • Mendix and PowerApps are compared across various criteria. Mendix is suitable for complex, enterprise-grade applications with extensive customisation options but is generally more costly.
  •  PowerApps is ideal for rapid app development, integrates seamlessly with Microsoft services, and is more cost-effective for smaller projects. Larger projects require premium licenses per user, so PowerApps can become extremely expensive. Once you build many apps and your user base has premium licencing, PowerApps becomes extremely economically viable.  
  • Mendix scores higher in integration capabilities, scalability, performance, innovation, and accessibility, while PowerApps scores higher in ease of use, development speed, customization, and support and community.  
  • Many factors affect which low-code tool to use, including what the developers are trained in, how many apps you build and support over the next 3-5 years, and what licences and technology stacks your business currently has. Getting Canvas app developers is far easier and cheaper than getting Mendix developers and experts.
  • A common scenario for businesses that use Mendix is having Office 365 E5 plans; then, it is about picking the right technology for the right project.  
  • Mendix excels in Factory and manufacturing applications.

Mendix Studio Pro version 10.x

Mendix: I have used Mendix a fair amount and like the product. Mendix is straightforward, logical and easy to learn. 

Cons

  1. The publishing is very slow.
  2. For the free version, you have to use the Mendix subdomain. The basic plan is $50/month for my small demo. The cost of a Mendix licence and hosting is high for a one-off project; therefore, it is more suitable for building medium-sized projects.
  3. Each app has a separate database, which needs to be managed or, in the cloud-hosted scenario, does not allow direct access except via backups or REST OData API's. You can build multiple front ends, but this is more of a workaround than a good idea.
  4. For decent ALM, follow Mendix guidance as it is tightly coupled to the IDE/dev process.
  5. Building many apps/gap-filling apps, as well as large complex apps, can overwhelm Mendix.

Outsystems is the other recognised leader in the Low-code space. Its focus, to me, is on building large, complex solutions faster using low code.

Outsystems focuses on Low code for large enterprise systems. It is big on flows like Mendix to build logic, but unlike Mendix, which only allows custom Java code in widgets, Outsystems allows custom code in multiple languages to be integrated.

Outsystems can use either SQL Server or Oracle for its main data store. Similar to Mendix, Outsystems can expose REST APIs via automatic generation. Both products are good at consuming APIs.

Both systems allow for MFA IDP SSO authentication. Data is encrypted at rest and in transit by default. Both have many compliance standards, such as ISO and GDPR.

I like the way Outsystems can use AAD Security Groups; Mendix can be awesome, but it's not my favourite.

I'd choose Outsystems if I were building a large, complex system using low code over Mendix, assuming no in-house skills in either.

Airtable:  Has lots of templates and easily connects to various data sources.  Easy to extend or build apps on the platform. Provides storage and low-code apps.  It's like having Dataverse and Power Apps.  There are pre-built templates to get the team off to a start.

Nintex: Bought K2 and have a long history in workflows (workflows for SharePoint and O365), screen/form generation and form building.  If your company uses Nintex, it's worthwhile, but I wouldn't use it for new projects or if the team does not have significant experience.

UiPath is an RPA tool that is strong for automation. UiPath is ahead of Power Automate Desktop (PAD) from a desktop automation and recording perspective. Both UiPath and Power Automate allow for attended and unattended runs. PAD is part of Power Automation Premium or Power Automate Process licences. Automation Anywhere and Blue Prism are other prominent players in the RPA space.

Postman Workflows: It's a dark horse, but people love Postman, and this may become an interesting option for Rapid development.

Amazon: AWS has various services that allow for Low-code solutions. "Amazon Honeycode" is model-driven, and Canvas apps can call code running as a service, i.e., Lambda's, which is the same service as Azure Functions on AWS. AWS Honeycode has predefined templates as starting points, which is more like Salesforce's low-code approach. This allows the developer to break out and write complex logic or persist the database in S3 storage. "Amazon QuickSight" works like Power BI to report on solution data.

Salesforce Lightening: Allows for the building of custom apps and the utilisation of Salesforce CRM and its data. 

Retool: Good set of connectors for APIs.

Appian: This drag-and-drop UI is for rapid development. It has RPA built in. I hear it's not super easy for non-tech staff, and customisation can be difficult. It is aimed at enterprises, so cost and performance need to be watched. There is no native database; probably only if a business is already into Appian would I stick with it.

Further out competitors:

Windsuft.io

Mendix Series

1.  Overview of Mendix (this post)

2. Mendix - Part 2 - Diving deeper

3. Extensibility for Mendix Studio 

4. Building a Mendix Widget for the Mendix marketplace (Convert text to Audio using Azure AI)

5. Mendix Tips & Thoughts