Reading Time: 9 mins

5 best practices om Mendix op de juiste manier te gebruiken

https://www.zucisystems.com/blog/5-best-practices-to-use-mendix-the-right-way/

5 best practices om Mendix op de juiste manier te gebruiken

Dit artikel behandelt: vijf best practices elk bedrijf moet volgen bij gebruik Mendix fof a gebruiksvriendelijk, veilig, schaalbaar, naadloos, en zeer onderhoudbaar sollicitatie.

Mendix is een snelle applicatie-ontwikkeling (RAD) platform waarmee u digitale oplossingen voor mobiel, web en integraties kunt maken zonder code te schrijven.

Het is een krachtig platform dat de ontwikkeling van bedrijfsapplicaties mogelijk maakt met de gebruiker in gedachten. Maar met elke RAD-tool die er is, zijn er bepaalde best practices en dingen om op te letten bij het bouwen van een applicatie met een bepaalde technologie.

Als je merkt dat je problemen hebt met Mendix of het gebruikt zonder een echte ROI te behalen, kan de reden te maken hebben met hoe je Mendix gebruikt. Als dat het geval is, maak dan van deze 5 best practices uw nieuwe best practices.

Door deze vijf best practices te volgen, weet u zeker dat u een toepassing kunt maken die gebruiksvriendelijk, veilig, schaalbaar en gemakkelijk te onderhouden is.

Hieronder vind je 5 best practices om Mendix op de 'juiste manier' te gebruiken. Laten we er meteen in duiken.

Mendix Best Practice #1: Basic: Codeer niet op een low-code platform

Of je nu nieuw bent in de software of een ervaren veteraan, het is belangrijk om goede praktijken in de codeerwereld te volgen. Bij het ontwikkelen in Mendix was de mantra om niet te coderen in een low-code platform.

Maar sommige ontwikkelaars proberen hun eerdere ontwikkelingsaanpak te volgen in een low-code platform, wat niet het geval zou moeten zijn.

1. Mendix is een platform met veel functies. Leer het op de juiste manier te gebruiken om applicaties te ontwikkelen.

Bijvoorbeeld: Gebruik het beschikbare raster, probeer geen tabellen te maken met het HTML-blok.

2. UI Elements moet een ingebouwde gegevensbron gebruiken. Ontwikkelaars proberen externe API aan te roepen vanuit het beschikbare JS-blok. In plaats daarvan zouden ontwikkelaars de vooraf gedefinieerde aanpak van Mendix voor API-aanroepen moeten gebruiken.

3. Het op de juiste manier gebruiken van de Mendix-functies is direct gerelateerd aan het leven van de applicatie, omdat het de veiligheid helpt behouden en de schaalbaarheid van de applicatie ondersteunt.

Bekijk deze video van onze software-engineer, Kiran Krishnan, die de volgende 5 best practices uitlegt die we in deze blog hebben gemist om low-code-ontwikkeling te versnellen met de Mendix-tool.

Mendix Best Practice #2: Houd rekening met de onderhoudbaarheid van de applicatie

Applicaties zijn bedoeld om lang te bestaan. Door de jaren heen voeren verschillende ontwikkelaars projecten uit. En daarom is het verplicht om de omgeving schoon en begrijpelijk te houden.

1. Structureer de mappen op de juiste manier volgens het projectverhaal, zodat het begrijpelijk is voor andere ontwikkelaars. Gemeenschappelijke Microflows of Nanoflows moeten bijvoorbeeld in een herkenbare map worden geplaatst om herbruikbaar te worden.

2. Modules binnen een project dienen als aparte applicaties te functioneren. Domeinmodellen, Microflow, NanoFlow, Styles, etc. kunnen erin worden geplaatst.

3. Gebruik Annotatie zoveel mogelijk om de bereikte functionaliteit uit te leggen. Enkele veelvoorkomende plaatsen waar het verplicht is, zijn Microflows, Domain Models, NanoFlows, enz.

4. Houd er rekening mee dat Mendix constant bezig is om het beter te maken. Houd je altijd aan de Mendix-aanpak van ontwikkeling om het proces van het upgraden van de applicatie te vergemakkelijken.

Low-CodeNo-Code-Is-Het-Echt-de-Toekomst-van-Software-ontwikkeling

Mendix Best Practice #3: Domeinmodellen

Een goed databaseontwerp is als een sterke basis voor een applicatie. Bouw domeinmodellen die schoon zijn en ontworpen voor de toekomst van de applicatie.

1. Geef de entiteit en attributen een passende naam, zodat deze beschrijvend is. Houd er rekening mee dat Mendix automatisch de associatie tussen entiteiten een naam geeft.

2. Entiteiten met veel interacties moeten worden geïndexeerd. Mendix haalt het object met alle kolommen op, en indexeren helpt om de Mendix ID snel te krijgen en helpt ook bij het sorteren.

3. Verwijdergedrag moet effectief worden geconfigureerd. Verkeerd beheerde configuraties kunnen verweesde gegevens verzamelen die onnodige ruimte in beslag kunnen nemen. Het verwijderen van een object kan bijvoorbeeld de bijbehorende objecten onbruikbaar maken als het verwijderingsgedrag niet correct is geconfigureerd in het domeinmodel.

4. Handhaaf afzonderlijke domeinmodellen voor elke module en minimaliseer de associatie met entiteiten met andere modules

5. Wees voorzichtig bij het gebruik van berekende attributen. Berekend kenmerk wordt geactiveerd telkens wanneer een object wordt gewijzigd of opgehaald. In zo'n geval resulteert dit in een extra belasting (en vertraging) terwijl de uitkomst van de logica niet wordt gebruikt. Het maken van berekende kenmerken heeft altijd invloed op de prestaties, dus u moet evalueren of het nodig is om ze te gebruiken.

6. Niet-permanente entiteiten spelen een belangrijke rol bij het vermijden van onnodige associaties tussen entiteiten. Niet-persistente objecten in Mendix worden niet op de runtime-server bewaard, maar in de Mendix-client.

IT-afdelingen hebben tijd nodig met een ongelooflijk hoge vraag naar digitalisering. Zij wenden zich tot low-code platforms om de ontwikkeling van complexe applicaties te vereenvoudigen en snel te implementeren. Bekijk ons webinar om leren waarom zou je reclame moeten makenopt a low-code platform nu.

Mendix Best Practice #4: MicroFlow

Over het algemeen moeten namen van microstromen het type gebeurtenis bevatten waardoor ze worden geactiveerd, de naam van de hoofdentiteit die wordt verwerkt en de bewerking die wordt uitgevoerd: {PREFIX}_{Entity}_{Operation}.

Bijvoorbeeld: ACT_Vendor_StartWorkflow

1. Voer commits uit na de lus in een lijst-commit. Maak indien nodig een lijst met de naam < entiteit>_CommitList vóór de lus en verzamel de items die daar zijn vastgelegd. Overweeg voor het ophalen in een lus alle gegevens vóór de lus op te halen en doe de vondsten op die lijst binnen de lus. Als lussen beslissingen bevatten, overweeg dan of de beslissingslogica een query vóór de lus kan zijn om iteraties te minimaliseren.

2. Voorkom onnodige opvragingen als objecten of lijsten als parameters kunnen worden doorgegeven.

3. Gebruik indien mogelijk het ophalen over associatie. Dit maakt gebruik van caching, wat beter leesbaar is, en het maakt gebruik van een index. Als bedrijfslogica de databasewaarde vereist (omdat de waarde over associatie kan worden gewijzigd), moet u begrijpen dat een database-ophaalactie nodig is.

4. Leg zo laat mogelijk vast. Een commit vergrendelt die record (of lijst met records). Dit betekent dat elke andere gebruiker/logica die hetzelfde object wil vastleggen, moet wachten tot de eerste transactie is voltooid.

5. Splits microstromen op in logische, functionele elementen. Als een microflow meer dan vijfentwintig elementen heeft, splits deze dan op door voor een deel een submicroflow te maken, bijvoorbeeld door presentatielogica te scheiden van bedrijfslogica.

Krijgen Citizen Developers de output die ze nodig hebben van Low Code Platforms?

Mendix Best Practice #5: Beveiliging

Het is belangrijk om te onthouden dat informatiebeveiliging een constante strijd is. Daarom zorgt Mendix altijd voor de dataveiligheid en beveiliging van haar klanten door middel van een effectieve en betrouwbare databeschermingsstrategie gecombineerd met een agressieve aanvalsweerstandsstrategie. Volg deze best practices voor maximale applicatiebeveiliging.

1. Geef toegangsregels op voor een entiteit die wordt toegepast wanneer een query wordt uitgevoerd, waardoor de gegevens worden beperkt voordat ze terugkeren naar de gebruiker.

2. Gebruik altijd native componenten van Mendix, zodat u zich geen zorgen hoeft te maken over injectie. Query's (zoals XPath) zijn geparametriseerd en daarom altijd ontsnapt, waardoor SQL-injectie onmogelijk is. Zorg er bij het gebruik van componenten uit de Mendix app store of externe interfaces voor dat deze worden ontsnapt om injectie te voorkomen.

3. Beperk de toegang tot verzoekbehandelaars vanuit de ontwikkelaarsportal (omgevingsdetails), zoals het uitschakelen van ongebruikte eindpunten, het toepassen van IP-beperkingen of authenticatie van clientcertificaten.

4. Versleutel gevoelige gegevens die zijn opgeslagen in de database. In de Mendix app store zijn versleutelingsmodules beschikbaar die helpen bij het versleutelen van gevoelige gegevens.

5. De gebruikersnaam van de beheerder kan worden gewijzigd in de beveiligingsinstellingen van de app op het tabblad Beheerder. Het is raadzaam om de admin-gebruiker te hernoemen.

6. Gebruik SSL-verbinding en openbare sleutel voor het eindpunt in de toepassing. HTTP-headers kunnen ook een extra beveiligingslaag toevoegen en u helpen bij het detecteren van specifieke aanvallen.

7. Verwijder ongebruikte modules, widgets, Java-bibliotheken, microflows die niet worden gebruikt. Door je app-hygiëne op een hoog niveau te houden, verklein je de kans op een kwetsbare applicatie.

laatste gedachte

Ongetwijfeld is Mendix een geweldig platform dat bedrijven gebruiken om snel prototypes, MVP's en productieklare applicaties te bouwen.

De voordelen van het gebruik van Mendix zijn onder meer de uitbreidbaarheid en snelheid; het kan ongeveer een week duren om te bouwen wat anders maanden of zelfs jaren zou duren.

Maar we weten allemaal dat met grote kracht grote verantwoordelijkheid gepaard gaat. Zuci Systems is een low-code implementatiepartner en heeft met succes meer dan 200 low-code applicaties geïmplementeerd. Bekijk hoe we kleine, middelgrote en Fortune 500-bedrijven hebben geholpen met de ontwikkeling van low-code-applicaties.

Wil je hulp bij low-code ontwikkeling ? Plan een 15 minuten bellen met onze lage - code architecten vandaag.

Janaha Vivek

I write about fintech, data, and everything around it | Senior Marketing Specialist @ Zuci Systems.