Mendix Archives - Indium https://www.indiumsoftware.com/blog/tag/mendix/ Make Technology Work Wed, 12 Jun 2024 09:03:51 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 https://www.indiumsoftware.com/wp-content/uploads/2023/10/cropped-logo_fixed-32x32.png Mendix Archives - Indium https://www.indiumsoftware.com/blog/tag/mendix/ 32 32 How Mendix can work with your Existing Database https://www.indiumsoftware.com/blog/how-mendix-can-work-with-your-existing-database/ Mon, 15 Apr 2024 11:34:00 +0000 https://www.indiumsoftware.com/?p=14884 Problem Statement In some cases, the solution needs to work with organizations who want to keep the Database separately from Mendix or want to use the existing database. 1. Solution First, it is possible to build a Mendix application and to bring your own database. But the question is how your Mendix application can work

The post How Mendix can work with your Existing Database appeared first on Indium.

]]>
Problem Statement

In some cases, the solution needs to work with organizations who want to keep the Database separately from Mendix or want to use the existing database.

1. Solution

First, it is possible to build a Mendix application and to bring your own database. But the question is how your Mendix application can work seamlessly with your existing database tables & data. The solution(s) we are discussing and elaborating here is not applicable in case the existing application is being developed with a Microservices or Service Oriented Architecture, with this architecture mostly the database operations are handled using APIs.

There are ways Mendix can work with existing database tables, but how? Each of our problem statements is different, but it can be broadly classified and sectioned into a few questions that we need to answer and identify the right approach for our problem statement(s)

1.1 Questions

1. How do we want to provide access to the database?

  • Full Control to Mendix
  • Limited access to user roles, e.g. Read only
  • Whether the production needs database administrator intervention to approve the DML statements before the application installation?

2. Are we going to share this database with other applications?

3. Are we migrating the application, which uses your current database, to Mendix?

4. Do you want to migrate Mendix database but a different database like MSSQL to Postgres using Mendix?

1.2 Indium Matrix for using Existing Database in Mendix

Below are the tools and techniques to choose from

1. Database Replication

2. Database Connector

3. Mendix Modeller Configuration

4. Database as a Web Service – REST, OData, SOAP

5. Mendix Platform SDK (Programmatic solution)

We at Indium Software put together our knowledge and experience with the simple matrix to choose the right option at given point in time based on the problem the customer faces.

 

2. Tools

Read our success story on: Diagnostics Management Application Development Using Mendix

Click here

2.1  Database Replication

Database Supported Type Category Company Support Link
RDMS Module Modules Mendix Platform DB Replication

2.1.1 About

You can use the Database Replication module to import data from existing databases into your Mendix application. You have the ability to specify the mapping for each table, column, and relationship to your Mendix domain model. Even complex mappings involving multiple table joins can be achieved. The configuration can be done either in the client or using Java.

2.1.2 Typical Use Cases

  • Convert an existing database to a Mendix domain model.
  • Integrate your programme with a database used by another programme.
  • Create mappings between database columns and object attributes
  • Map database references to Mendix object references
  • Map object attributes based on multiple joined tables

2.1.3 Features

  • Support for custom queries for object attributes
  • Compatibility with SQL Server 2005 or later, Oracle, AS400, DB2, PostgreSQL, DMS2, and Informix database systems.
  • Assistance with non-persistent objects
  • Automatic query generation for object attribute values
  • Object events are executed when importing

https://marketplace.mendix.com/link/component/160

2.1.4 Advantages

  • You can configure how you want to import the data using multiple options which gives the flexibility.
  • Easy to use.
  • Reduce the efforts of migration.

2.1.5 Limitation

  • If  you are using the Excel Importer, then  you will need Excel Importer 3.0 or higher when using this module
  • Consumes lots of memory, since all the values need to be remembered to keep the track of all the key changes
  • It commits the object even though there are no changes to trigger the events, which can overburden the app.

2.1.6 Database Sync Process (Optional)

The data is updated in both systems thanks to scheduled synchronization between your application and a database used by another application.

Typical use case, during the phases of migration of the application. We do not recommend keeping two copies of the same data. This will cause the data to be inconsistent. So, choose wisely.

2.2  Database Connector

Database Supported Type Category Sub Category Company Support Link
Mendix Guide Module Addons Connectors Mendix Platform DB Connectors

 

 

GitHub Link: https://github.com/mendix/database-connector

2.2.1 About

The Database Connector allows for a quick connection to external DBs (databases), offering you the freedom to choose from a wide range of databases and SQL dialects. This enables you to integrate your external data directly into your Mendix application without any limitations.

The connector supports below functionality to execute queries at your databases: 

  • Run (Execute) query – For executing SELECT queries and obtaining a list of objects as a result
  • Run(Execute)  statement – For executing other DML commands and obtaining either an integer or long value indicating the number of rows affected.
  • Run(Execute)  parameterized query – For executing SELECT queries with input parameters, resulting in a list of objects.
  • Run(Execute)  parameterized statement – For executing other DML commands with input parameters and getting either an integer or long value representing the number of rows impacted.
  • Execute callable statement – For executing a callable statement.

2.2.2 Prerequisites

These are the prerequisites for using this connector:

  • A database connection URL address that points to your database
  • The username for logging into the database, with respect to the database connection url address
  • The password for logging into the database, with respect to the database connection url address
  • Add necessary JDBC driver libraries (.jar files) in the userlib directory of Mendix application
    • For e.g., if Mendix app needs to establish the connection to the Cloud PostgreSQL database (jdbc:postgresql://<instance URL>:5432/postgres), we need to put the corresponding PostgreSQL JDBC driver .jar inside the userlib folder.
  • Relevant to the Execute Query action: a domain model entity that can be utilized to hold the results of the executed query
    • For instance, if you have a query such as “select name, number from stock”, which has two columns (of string and integer data types respectively), to use the Execute Query action, you must add an entity in the domain model with attributes that match the columns in the query.

2.2.3 Advantages

  • Database connector is maintained with single threaded, avoiding memory leakages
  • Ability to connect to multiple databases in a single application (a composite microservices)

2.2.4 Limitation

  • The parameterized actions are only available with Database Connector versions 3.0.0 and above. For these, it is necessary to use Mendix 8.6.0 and above.            
  • You can face memory issues for large data sets.
  • Doesn’t have any configurations on thread pool size, connection timeout, etc.

2.3  Mendix Modeller Configuration

These settings can be configured as follows:

  • Studio Pro – To access the option to connect to a database in Studio Pro, go to the App Explorer, view the App, open Settings, edit a configuration, and check the Configuration tab. select either the Default Configuration or Active Configuration to display the option.

2.3.1 Prerequisites

    • Type: Currently supported RDMS databases
    • URL:  Database URL that points to your Database with the port. For example, if you want to connect to the Cloud PostgreSQL database, :
    • Database Name: Your Initial Database
    • Use Integrated Security, Applicable only for MSSQL (Microsoft SQL Server) Database
    • The username and password for logging into the database, relative to the database URL address
    • If the database connection requires a self-signed certificate to establish the connection, then add a Certificate in Certificates Tab

    2.3.2 Advantages

    • Easy to use connection can be achieved easily by proving the details.       

    2.3.3 Limitation

    • You can connect to the databases which are available in the list, else you need to use connectors.
    • For Production in Mendix Cloud, only PostgreSQL is available.
    • To use Integrated Security with MSSQL, the Mendix application should be deployed in Windows Server(IIS)

    2.4  Database as a Webservice

    2.4.1 About

    Web Services provide a solution to the interoperability issue by enabling different applications to connect their data. With Web Services, you can transfer data between diverse applications and platforms. To allow Mendix to use an existing database, you can expose the required functionality as a Service, making it easily accessible by Mendix.

    Mendix supports the most widely used web service standards, including SOAP, REST, and OData. However, creating a wrapper for an existing database to connect with Mendix may require additional effort. The recent trend towards Service-Oriented Architecture or Microservices promotes API-based connectivity, which is effortless and efficient in Mendix.

    On the other hand, if the database is not being utilized by any other applications, it is recommended to use the Data Connector or Data Replication to fully leverage the capabilities of Mendix.

    2.4.2 Mendix Data Hub

    There are few advantages when using Database as a web service when it is exposed as OData. Mendix provides a premium service called Data Hub.

    The Mendix Data Hub Catalog is a comprehensive and open metadata repository that is based on industry standards, allowing developers and business experts to find and explore data resources within their interconnected ecosystem.

    Data Hub Connectors enable organizations to integrate their data sources with Data Hub, thereby enhancing the catalog and making the data available to developers. Connecting to data from Mendix applications, Siemens Teamcenter, SAP, and numerous other commonly used enterprise data sources can be done with ease.

    Refer: https://www.mendix.com/data-hub/

    With Mendix Data Hub you find all data that is available across your Company’s software landscape and use it in your Mendix projects.

    To learn more about Indium’s experience with low code services

    Click Here

    Share Data between Mendix Apps – Use and edit Data Assets from one Mendix app in another.

    Connect to Non-Mendix Apps – Build an OData wrapper around your non-Mendix App to connect.

    Integrated in Studio (Pro) – Use the Data Hub Panel in Studio Pro to search and use for Data Assets.

    2.4.2.1  How to use Data Hub

    Search – Finding Connectable Data Sources

    Users can find shared datasets by searching the Data Hub Catalog

    Register – Sharing Datasets

    To make the data from your apps accessible to others, you can publish the datasets as an OData service and register it in Data Hub. In a Mendix application, the datasets correspond to the Entity sets for a specified Entity

    Consume – Using Registered Datasets

    Assets that have been registered in the Data Hub Catalog can be utilized in the Mendix Studio Pro for app development. These external data sources are displayed in the domain model as external entities, which can be combined with local entities.

    Curate – Maintaining Registered Assets

    To make sure the right people find your service, you can edit app owners, add tags and descriptions, and toggle discoverability.

    2.4.2.2  Advantages
    • DataHub has versioning, so you can stick to a specific version of the data and it is not required to change after structure is changed in the parent.
      • Latest Mendix  version supports CRUD operations in DataHub, which helps to maintain a single source of truth.
    2.4.2.3  Considerations
    • There will be some rework when DataHub data version is changed. 

    The post How Mendix can work with your Existing Database appeared first on Indium.

    ]]>
    Top 5 reasons why Mendix should be your go-to platform for low code application development https://www.indiumsoftware.com/blog/tips-for-building-enterprise-apps-with-mendix/ Tue, 17 Oct 2023 05:52:01 +0000 https://www.indiumsoftware.com/?p=21159 In today’s rapidly evolving business landscape, agility and innovation are the keys to success. Building and deploying applications that meet these demands can be a complex task. Organizations must harness the power of technology to stay competitive, and one platform that’s been gaining traction in recent years for building enterprise applications is Mendix. With its

    The post Top 5 reasons why Mendix should be your go-to platform for low code application development appeared first on Indium.

    ]]>

    In today’s rapidly evolving business landscape, agility and innovation are the keys to success. Building and deploying applications that meet these demands can be a complex task. Organizations must harness the power of technology to stay competitive, and one platform that’s been gaining traction in recent years for building enterprise applications is Mendix. With its low-code development capabilities, Mendix empowers organizations to develop and deploy applications faster and more efficiently than traditional methods. But before you dive headfirst into your next Mendix project, here are 5 crucial things to remember that will help you build robust and future-proof enterprise applications.


    Ready to harness the power of the Mendix ecosystem? Uncover the key insights and best practices now!

    Click Here

    1. Simplify application development with Mendix

    Mendix is renowned for its user-friendly, low-code capabilities. Even individuals without extensive coding experience can create applications quickly. The platform provides an intuitive drag-and-drop interface, reusable components, and a visual modeler. This simplicity accelerates the development process and minimizes the need for specialized technical skills.

    a. Intuitive drag-and-drop interface: Mendix offers an intuitive drag-and-drop interface that allows developers to build applications on the go. This visual approach makes it easy to create user interfaces, define data models, and configure application logic. Developers can visually assemble the building blocks of their applications without writing extensive lines of code.

    b. Reusable components: Mendix encourages the reuse of components and modules. It provides a library of pre-built widgets, templates, and modules that can be easily incorporated into your application. This means you don’t have to reinvent the wheel for common functionalities like user authentication, data access, or reporting. Reusing these components not only saves time but also ensures consistency and reliability across your applications.

    c. Visual modeler: Mendix offers a visual modeler that empowers developers to create data models, define workflows, and set up business rules using a visual representation. This model-driven approach is highly accessible, allowing even non-technical stakeholders to participate in the design and decision-making processes. Business users can provide input and validate application logic, leading to a more collaborative development environment.

    d. Minimized need for specialized technical skills: One of Mendix’s core strengths is its ability to reduce dependency on highly specialized technical skills. While traditional application development often requires deep knowledge of programming languages and frameworks, Mendix services and its low-code approach enable developers with a broader skill set to be productive. This democratization of development allows subject matter experts and business analysts to actively contribute to the application creation process.

    2. Assess Mendix’s capabilities for new app development and system enhancement

    Mendix is a versatile low-code platform that addresses the complex needs of businesses, particularly those seeking to modernize legacy systems without disrupting existing operations.

    a. Modernizing legacy systems

    Seamless integration: One of Mendix’s key strengths is its ability to seamlessly integrate with legacy systems. Many businesses rely on older applications and databases that house critical data and processes. Mendix allows you to connect with these legacy systems through APIs, web services, and other integration points. This means you don’t need to scrap your existing investments but can build on them to create modern, feature-rich applications.

    Enhanced user experience: Legacy systems often have outdated user interfaces that may not meet the expectations of modern users. Mendix allows you to build new user interfaces on top of existing systems, providing a modern and user-friendly experience without rewriting the entire application. This ensures that your users can interact with the system more intuitively.

    b. Building new applications

    Rapid application development: For businesses looking to create entirely new applications, Mendix’s low-code approach accelerates the development process. You can design and develop new applications quickly, even if you don’t have a large team of developers. The visual modeling tools and pre-built components streamline the creation of new functionality.

    Customization and scalability: Mendix doesn’t limit you to cookie-cutter solutions. You can customize applications to suit your specific business needs. Whether it’s building a customer portal, a supply chain management tool, or an analytics dashboard, Mendix allows for flexibility and scalability to cater to your unique requirements.

    c. Future-proofing

    Mendix is not just a one-time solution; it supports continuous improvement. As your business evolves, you can easily modify and extend your applications to meet changing requirements. This adaptability future-proofs your technology investments.

    3. Foster alignment between IT and business units with Mendix

    Collaboration between IT and business teams is often cited as a critical factor in the success of application development projects. Mendix recognizes this and has designed its low-code platform to facilitate and enhance collaboration in several key ways:

    a. Shared platform for design

    Mendix provides a centralized, web-based platform that serves as a common workspace for IT professionals, developers, business analysts, and other stakeholders. This shared platform ensures that everyone involved in the project is on the same page and working with the same set of tools and resources.

    b. Real-time feedback and adjustments

    Mendix promotes real-time collaboration by allowing stakeholders to provide feedback directly within the platform. Business users can interact with prototypes and offer input on the application’s look, feel, and functionality. This feedback loop ensures that the final product aligns with business goals and user expectations. Developers can make adjustments in response to feedback, fostering a dynamic and iterative design process.

    c. Rapid prototyping

    With Mendix, it is possible to create functional prototypes quickly. This means that business users can see and interact with a working version of the application early in the development process. This hands-on experience helps bridge the gap between IT and business teams, as it allows stakeholders to validate their requirements and expectations in a tangible way.

    d. Collaboration tools

    Mendix offers collaboration features such as commenting, notifications, and task assignments within the platform. These tools ensure that communication between IT and business teams remains organized and transparent. For example, business users can flag issues or request changes directly within the application, and IT teams can respond promptly.

    e. Alignment with business goals

    Mendix’s emphasis on collaboration is geared towards ensuring that the final application aligns closely with business goals. By involving business users throughout the development process, the platform helps avoid misunderstandings and misalignments, resulting in a product that meets the specific needs and objectives of the organization.

    4. Multi-device compatibility with Mendix

    Modern users expect applications to be accessible across various devices, from smartphones and tablets to desktop computers. Mendix excels in this area, offering responsive design capabilities that enable the creation of applications that automatically adapt to different screen sizes and devices. This ensures a consistent user experience, regardless of how users access the application.

    a. Fluid grid system

    Mendix uses a fluid grid system as part of its responsive design approach. This grid system allows developers to define how page elements should behave and reflow as the screen size changes. Elements can be configured to stack vertically, horizontally, or adjust their size proportionally, ensuring that the user interface remains visually appealing and functional on any device.

    b. Component-based responsiveness

    Mendix’s low-code platform includes pre-built responsive widgets and templates. These components are designed with responsiveness in mind, making it easier for developers to create mobile-friendly user interfaces without needing to write extensive custom code. For example, a data grid or a form input field can automatically adjust its layout and behavior based on the device’s screen size.

    c. Design preview across devices

    Mendix provides design preview tools that allow developers and designers to see how an application will appear on various devices during the development process. This feature helps identify and address any layout or design issues early on, ensuring a smooth user experience across the board.


    Transform your enterprise with Mendix: Elevate customer experience (CX) and boost efficiency.

    Watch our webinar

    5. Accelerating time-to-market with Mendix deployment

    Speed to market is a critical factor in today’s competitive landscape. Mendix supports continuous integration and continuous delivery (CI/CD), enabling rapid updates and improvements. Mendix’s cloud-native architecture ensures scalability, making it easy to accommodate growing user bases and changing business needs.

    a. Streamlined deployment process

    Mendix simplifies the deployment process significantly. Developers can publish applications with just a few clicks, eliminating the need for complex and time-consuming deployment procedures. This streamlined deployment ensures that applications can go live rapidly, reducing time-to-market.

    b. Agile development

    Mendix encourages an agile development approach where developers can work on small, incremental changes and improvements. This iterative development process allows for rapid prototyping and frequent feedback, ensuring that the application meets evolving business requirements and user expectations.

    c. Real-time monitoring and feedback

    Mendix provides real-time monitoring and analytics dashboards that offer insights into application performance and user behavior. This data-driven approach allows organizations to identify issues quickly, prioritize improvements, and respond to user feedback promptly, contributing to ongoing enhancements and faster iterations.  

    Partner with Indium

    Partnering with Indium and their team of experts is a strategic step towards achieving success with Mendix solutions. Their ability to build enterprise applications with Mendix can accelerate your organization’s digital transformation. By starting with a strong business case, embracing low-code while not skipping the fundamentals, and focusing on UX design, they set the stage for success. With Indium’s guidance, you can confidently navigate the complexities of enterprise application development, fostering a successful and impactful digital transformation.

    Final thoughts

    Mendix is a powerful low-code platform that empowers enterprises to build, extend, and deploy applications efficiently. Mendix’s user-friendly and low-code approach empowers a broader range of individuals to participate in application development. Its intuitive interface, reusable components, visual modeler, and minimized need for specialized technical skills contribute to a more efficient and collaborative development process, making it an ideal choice for organizations looking to create applications quickly and effectively. Whether you’re starting a new project or modernizing your existing systems, Mendix can be a game-changer in your enterprise application development services journey. Remember these five key considerations, and you’ll be well on your way to building robust and future-proof enterprise applications that propel your organization into the future.

    The post Top 5 reasons why Mendix should be your go-to platform for low code application development appeared first on Indium.

    ]]>
    Legacy Integration Challenges and Solutions with Mendix https://www.indiumsoftware.com/blog/legacy-integration-challenges-and-solutions/ Thu, 24 Aug 2023 10:23:50 +0000 https://www.indiumsoftware.com/?p=20433 Fixing your legacy system will never break your business or its revenue. Instead provides stability and functionality to your IT environment through data protection and performance upgrades into cloud technology. How do you feel about working in Windows XP for your company’s operations in 2023 if asked to? It might sound obsolete and challenging to

    The post Legacy Integration Challenges and Solutions with Mendix appeared first on Indium.

    ]]>
    Fixing your legacy system will never break your business or its revenue. Instead provides stability and functionality to your IT environment through data protection and performance upgrades into cloud technology.

    How do you feel about working in Windows XP for your company’s operations in 2023 if asked to?

    It might sound obsolete and challenging to handle the XP software as it cannot cope with the latest architecture, protocol, and cybersecurity concerns the digital era poses. So the need to modernise the legacy system rises as software becomes antiquated and difficult to emerge with the latest technologies.

    Identifying and integrating legacy systems with modern applications closes the divide between legacy systems and the latest technologies. Through legacy system integration, organizations can seamlessly transfer data and speed interoperability between them. In this regard, you can easily renew your existing software applications and implement the latest technologies for operations without any hustle and bustle.

    This blog presents the need for modernization, its challenges, and how to resolve legacy system integration with Mendix Solutions, a low-code platform rapidly evolving in the digital landscape since 2005.

    Unveiling the Facts

    Explore the repercussions experienced by each organization concerning legacy systems and their integration.

    The urgent drive to replace legacy systems for 2022-2024 may call for an investment of $6.3 trillion per IDC 

     An estimation of about USD 2 trillion was spent on technology products, services and staff by the U.S. government in 2022.  

    Research suggests that 91% of employees are frustrated with workplace technology and 57% stem from legacy technology.  

    Retailers spend nearly 60% of their IT budget on maintaining legacy systems.

    Deciding on Modernization: A Practical Perspective

    Before undertaking legacy system integration, a comprehensive evaluation of software libraries, protocol components, code behavior, and compatibility with modern technologies is imperative.

    Slow responsiveness, data vulnerabilities, or insufficient data processing capabilities persist; it is incumbent upon your organization to upgrade your existing infrastructure. The following reasons ensure you move to modernization at the earliest.

    High Maintenance Support  

    The older the version of the legacy system, the more difficult it is to maintain, as the functionality becomes slow and monotonous resulting in poor performance. The cost spent on hardware exchange, skilled personnel and vendor support is higher than the benefit you can yield. So an outdated application means increased maintenance cost and less operational value.

    Inflexible to Adapt

    As mentioned earlier, the major drawback of legacy systems is the inability to connect with new applications and transfer data securely to the latest technology. This can hinder your business for not rapidly responding to new technologies, thereby creating a setback for your business and reputation.

    The threat of Cyberattacks

    The legacy systems have limited data security audits and mechanisms that do not help with security breaches and unauthorized access in this digital era. It may lead to a hacking marathon if required authentication and configuration are unavailable. Avoid phishing attacks, as your customers trust you with their sensitive data and access.

    Data Silos Systems 

    Isolated and disconnected legacy systems data have limited accessibility and visibility, unlike cloud and other modern applications. Data silos obstruct a seamless flow of data and integration, so data-driven strategy and informed decision-making are critical in legacy system integration.

    Rise of Spaghetti Code

    Maintaining a legacy system over time results in damaged and unstructured data that resemble spaghetti. For example, software implemented a decade ago would have undergone numerous unhealthy coding practices that may not be relevant, creating a tangled and interconnected plate of spaghetti code that is hard to understand and recover.

    Breaking Down the Challenges on the Path to Legacy System Integration

    As you are ready to work on the legacy system integration for interoperability and seamless data transfer, the journey towards modernization is not a shift of job that can be done easily.  Infer the following challenges blocking your business operations from leveraging modern technology and solutions.

    our recent webinar on how you can harness the full potential of Mendix by adopting best practices and building a CoE.

    Check out

    Lack of Documentation

    Without comprehensive documentation, deciphering code behavior and understanding interfaces, API and integration points can be time-consuming and critical for developers to identify the relationships between various system components and break the functionalities.

    Limited APIs & Web Services

    Older legacy systems fail to access data and other functionality due to the lack of a well-defined API and web service system. The integration process is hindered by requiring constant custom development efforts, prolonging development time and increasing costs.

    Data Transformation & Mapping

    The data storage formats in the legacy systems have inconsistencies, errors, and structure disparity obstructing data exchange between legacy and modern systems. Before the transformation, data must be cleaned and validated for accuracy and sensitivity, increasing the time duration for integration.

    Security Considerations

    With legacy systems having limited to outdated authentication, issues like security breaches and unauthorized access cause potential damage to an organization’s reputation. The legacy system integration can be a high investment if security complexities persist for long.

    Mendix’s Low-Code Functionality: A Solution for Legacy System Integration

    What if a low-code platform can confront your challenges with legacy system integration?

    Mendix was built for modern applications to empower developers for rapid and seamless integration of applications and their functionalities. As no extensive coding is required, users rely on Mendix for reducing development time and accelerating time-to-market.

    With Mendix offering so much flexibility and reliability through its model, let’s find out how it tackles the legacy system integration challenges.

    01| Minimum Development & Deployment Time 

    Mendix’s low-code approach enables developers to visually build integration logic with drag-and-drop components and pre-configured connectors, reducing the reliance on custom code. Additionally, Mendix supports cloud deployment, offering scalability, flexibility, and faster deployment without requiring extensive on-premises infrastructure when integrating with legacy systems.

    02| Well-Defined API & Security Mechanism

    Mendix offers a comprehensive set of pre-built connectors and APIs that simplify integration with legacy systems. With data encryption &  Single Sign-On (SSO) solutions, Mendix protects sensitive information during transmission between modern and legacy systems. Regular vulnerability scans and security assessments address legacy systems from known security threats.

    03| Extensibility & Scalable Performance

    Mendix allows developers to create custom modules and widgets for seamless integration, facilitating the incorporation of external functionalities and easing maintenance. Its cloud deployment ensures scalable resources, accommodating varying workloads when integrating with legacy systems.

    04| Connectivity & Mapping Capacity

    Mendix enables developers to create custom APIs and adapters for legacy systems without pre-built connectors. It supports multiple data exchange protocols, including XML and JSON. With data mapping tools, developers can align data structures between modern applications and legacy systems, accurately exchanging and interpreting data.

    05| Pre-built Integration & Monitoring Process 

    Mendix’s App Store features community-contributed pre-built integrations, widgets, and modules to enhance application functionality. Built-in monitoring tools with detailed integration logs help diagnose problems efficiently and provide valuable insights into the integration process’s efficiency and effectiveness.

    The application of Mendix is understood from the below comparison.

    Platform Integration capabilities Data Transformation Connectivity Options Security Feaatures Extensibility Scalability
    Strong Good Strong Good Good Strong Strong
    Other low-code platforms(zoho creator, Appian, Mulesoft, etc.) Moderate Good Moderate Good Moderate Moderate

    Learn how you can leverage Mendix’s potential to create, optimize, and excel in a digitally-transformed space and elevate your business’s performance.

    Click here

    Optimizing Mendix Development with  Software 

    Indium Software, operating under the IndiuMX brand, has innovated numerous developments like custom connectors, accelerators, and pre-built solutions to simplify and enhance the integration of legacy systems, thereby driving efficiency and improving system interoperability. Whether you’re embarking on new projects or expanding your operations, Indium Software expertly guides your organization’s digital transformation journey, driving exponential growth and productivity through expert Mendix services.

    Final Thoughts 

    In the fast-paced world of technology, legacy systems can feel like shackles, unable to keep up with new requirements and incompatible with cutting-edge applications. Break free from the constraints of outdated software and empower your IT team to embrace Mendix, the low-code platform that excels in legacy system integration.

    With pre-built connectors, legacy system adapters, and data mapping prowess – integrate modern applications, shield data and run operations with robust measures to existing legacy systems become limitless. In the digital game, leave behind the limitations of the past and embrace the boundless opportunities that await with Mendix as your guide.

    The post Legacy Integration Challenges and Solutions with Mendix appeared first on Indium.

    ]]>
    Low-Code Development & High-Performance Software: 5 Best Practices for Building Complex Software https://www.indiumsoftware.com/blog/low-code-development-high-performance-software-5-best-practices-for-building-complex-software/ Mon, 26 Jun 2023 06:30:41 +0000 https://www.indiumsoftware.com/?p=17195 Accelerating app development for quicker market entry, without compromising quality, helps businesses maintain their competitive edge. The development process has been undergoing tremendous changes over the years with the aim of shortening the product development cycle and reaching the market faster. Further revolutionizing the development process is the availability of low-code platforms to speed up

    The post Low-Code Development & High-Performance Software: 5 Best Practices for Building Complex Software appeared first on Indium.

    ]]>
    Accelerating app development for quicker market entry, without compromising quality, helps businesses maintain their competitive edge. The development process has been undergoing tremendous changes over the years with the aim of shortening the product development cycle and reaching the market faster. Further revolutionizing the development process is the availability of low-code platforms to speed up the app development process. One of the biggest advantages of low-code platforms is that even citizen developers with no technical background or experience can use the platform to quickly build applications without lowering production quality.

    This is because of the visual development environment offered by low-code platforms that allows developers to use the drag-and-drop feature to develop the apps. While this has proved to be a great advantage in accelerating development speeds, it has also generated a general view that low-code development is for simple apps and that complex software still needs a traditional development approach.

    Benefits of Low-Code Platforms in Developing Complex Software Low-code platforms such as Mendix and OutSystems help developers build complex software by simplifying the development process. Some of the advantages of using a low-code platform include:

    Automating Processes: Manual coding takes time and is prone to human errors. In low-code development, flexible apps can be created by automating processes. The tasks can be broken down and integrated to simplify even complex processes.

    Device-Neutral Apps: It enables the creation of apps that can be used on any device, making it easy for users to access data and collaborate from anywhere, anytime.

    Optimizing Resource Utilization: The fact that even non-technical users can develop apps using low-code platforms lowers the cost of development while improving productivity. As it speeds up the development cycle, it also is time-effective and allows faster time to market.

    Improved Customer Delight: Low-code development allows users to respond to changing market trends quickly and improve customer service.

    Better Risk Management and Governance: Businesses can cope with changing regulatory environment better as low-code development facilitates greater responsiveness.

    Greater Adaptability: Keeping the apps up to date and meeting newer requirements is easy as low code does not require complex coding.

    Mendix is available in free and pro versions, with the Pro enabling complex workflow management and external integrations through either low-code modeling or Java code.

    It is cloud-based and makes IT project management and native collaboration easy.

    OutSystems allows the creation of native apps at the click of a button. Once the app is configured and the keys/certificates added, the platform generates the native builds for Android and iOS along with the required content and plugins. It does not even need the installation of Java and Android Studio to build for the mobile.

    5 Best Practices for Low-Code Development

    To effectively leverage the low-code development platform for faster development of apps, implementing the following 5 best practices will be beneficial:

    Best Practice #1 Understand Your Platform: Though low code needs very little coding skills, some basic technical skills are still essential to use the platform effectively. Some time spent understanding the platform capabilities will improve the quality of the apps being developed. Some of the key features the developers and users must be familiar with are platform integration, UI design, API generation, and so on.

    Best Practice #2 Reuse Components: Low-code platforms such as Mendix and OutSystems also offer several out-of-the-box components that can help developers jump-start their app-building process. Focus on developing unique features and use the pre-existing features for the rest of the common functionalities.

    Best Practice #3 Connect with the Community: Low-code platforms have a vibrant community that can help with developing robust apps. Reach out to the community to solve issues, have questions answered, and collaborate where needed to improve customer experience.

    Best Practice #4 Ensure Good UI/UX: Low-code platforms such as Mendix and OutSystems provide easy and ready-to-use UI frameworks and come with standardized components. They enable customizing the user interface and speed up the development process.

    Best Practice #5 Improve Security and Governance: Regulatory requirements make security and governance essential. Therefore, developers must ensure that apps developed using low-code platforms are compliant and secure. Permission-based access to data and protection of personalized identifiable information (PII) or sensitive IP must be ensured with sufficient management and oversight policies and rules put in place.

    Indium to Facilitate Low Code Development

    Indium Software is a leading low-code development company whose team of expert’s custom-develop complex systems with low-code/no-code solutions at low cost. Our low-code development services provide businesses with the tools and expertise they need to quickly and easily create powerful software applications without extensive coding knowledge.

    We work with a variety of low-code development platforms including Mendix, Microsoft PowerApps, and OutSystems, leveraging the unique features and capabilities of these platforms to provide end-to-end solutions and low-code platform recommendations based on unique business needs. The use cases range from optimizing the sales process, to automating business operations, improving customer relationship management, and building web/mobile apps. These include business process automation to data analysis, workflow management, and IoT applications, across industries such as healthcare, finance, and retail. We work with cross-functional teams, especially Advance Analytics and data engineering teams to include AI in the solution.

    Our services cover selecting and implementing the platform best suited for our business needs; and customizing and integrating the low-code platform with other systems including APIs and databases. We also provide low-code QA services, maintenance, training, and support for the low-code platform.

    Take action to enable low-code technology to serve your company to its fullest potential. For a personalised solution, get in touch with us right now.

    visit

    FAQs

    1. Is low code fit for any business need?

    The deployment of low-code application development must be based on the suitability of the method for the specific business need and therefore must be evaluated before implementation.

    2. Is it possible to customize low-code development?

    Low-code development can customize using client and server APIs. New functionalities can be packaged, built, and distributed on the go.

    The post Low-Code Development & High-Performance Software: 5 Best Practices for Building Complex Software appeared first on Indium.

    ]]>
    1 Click Deployment Framework for Mendix Application on Public Cloud(s) https://www.indiumsoftware.com/blog/1-click-deployment-framework-for-mendix-application-on-public-clouds/ Mon, 05 Jun 2023 07:31:36 +0000 https://www.indiumsoftware.com/?p=17082 Mendix is the low-code platform with the fastest global growth, did you know that? This blog finds you if you’re moving to Mendix. Mendix cloud deployment will be discussed in this blog article. The 1-Click Deployment Framework for Mendix applications on public cloud(s) simplifies and accelerates the deployment process. With just a single click, you

    The post 1 Click Deployment Framework for Mendix Application on Public Cloud(s) appeared first on Indium.

    ]]>
    Mendix is the low-code platform with the fastest global growth, did you know that? This blog finds you if you’re moving to Mendix. Mendix cloud deployment will be discussed in this blog article.

    The 1-Click Deployment Framework for Mendix applications on public cloud(s) simplifies and accelerates the deployment process. With just a single click, you can seamlessly deploy your Mendix applications onto public cloud platforms, unlocking the benefits of scalability, reliability, and cost-efficiency. This framework eliminates the complexities of traditional deployment methods and empowers organizations to launch their Mendix applications quickly and efficiently on the public cloud, enabling faster time-to-market and enhanced agility. Experience the ease and convenience of deploying your Mendix applications with a single click on the public cloud.

    Let’s look at a use case and the remedy:

    • Mendix MPC customers are unable to employ a flexible custom build process. The Mendix native build pipeline does not let clients implement their own build process because Mendix MPC maintains total control over CI/CD.
    • The customer won’t have any control over the application, infrastructure, or security in Mendix MPC. They are forced to pick and choose which security features to use.

    Solution:

    • Deploying a Mendix application in any public cloud provides one-click deployment, total control over the infrastructure, high availability, and built-in security features. The one-click deployment framework for Indium is reliable and has been tested across multiple clouds with minimal to no adjustments.
    • With the most flexible and secure cloud computing environment currently available, such as AWS/Azure/GCP, this architecture gives you the control and assurance you need to safely manage your organization.
    • You can become more adept at upholding fundamental security and compliance standards, such as those relating to data localization, protection, and confidentiality, with the help of public clouds.

    The rigidity of this structure was examined in this blog post using AWS, the current market leader in public cloud adoption. We can see how the customer has the freedom to choose the infrastructure and the application to be deployed thanks to the powerful integration of the trio Jenkins, Mendix, and AWS.

    How to use our own framework to deploy the Mendix application.

    1. Set up a VPC with two availability zones and private and public subnets.

    2. To secure the nodes and application while preventing external connections, private subnets were created for Kubernetes nodes.

    3. We can utilize CloudWatch and Grafana for log monitoring.

    4. Configuring Jenkins to automate the CI/CD pipeline.

    5. Integrating Jenkins with the Mendix team server.

    6. Create a Docker image using the Mendix Docker file and our application code.

    7. Upload the Docker image to artefacts like the Docker Hub, ECR, or ACR.

    8. Create YAML Scripts to deploy the application. These scripts pass parameters like the database host name and password and the Mendix admin password as secrets using a secrets manager.

    9. Using YAML, deploy the docker image in EKS and get the saved images from the artefacts.

    10. For high availability and dependability, use EKS’s load balancer, replica sets, and autoscaling.

    Also read: How to Secure an AWS Environment with Multiple Accounts

    Architectural Overview:

    Jenkins begins downloading code from Team servers after a developer clicks a single button, using Mendix docker files and source code to create a docker image that is then used to deploy in Elastic Kubernetes Service in AWS. 

    Benefits of Mendix Application Deployment on Public Cloud

     1. Giving the client the ability to take charge of the CI/CD process.

    2. The isolated Kubernetes environment allows users to create and administer their own cloud Virtual Private Cloud (VPC), with the potential to increase security.

    3. The application auto-scales loads based on traffic and is highly accessible.

    4. Logs are simple to monitor, and setting warnings for high CPU usage is simple. 

    Experience seamless deployment on the public cloud with Mendix. Get started now!

    Click here

    Conclusion

    In conclusion, the 1-Click Deployment Framework for Mendix applications on public cloud(s) revolutionizes the way organizations deploy their applications. By simplifying the deployment process and providing a seamless experience, this framework empowers businesses to leverage the scalability and reliability of the public cloud. With just a single click, organizations can effortlessly launch their Mendix applications, accelerating time-to-market and driving business agility. Embrace the power of 1-Click Deployment and unlock the full potential of your Mendix applications on the public cloud.

    The post 1 Click Deployment Framework for Mendix Application on Public Cloud(s) appeared first on Indium.

    ]]>
    Read Excel Data from SharePoint Using Graph API https://www.indiumsoftware.com/blog/read-excel-data-from-sharepoint-using-graph-api/ Wed, 03 May 2023 13:05:19 +0000 https://www.indiumsoftware.com/?p=16541 Reading data from an excel sheet is a difficult task that requires the use of the excel importer module. Some organisations maintain their data in a safe shared cloud environment, like SharePoint. Ever consider obtaining data from a shared Excel sheet? Are you interested in learning more? Let’s examine the procedures to accomplish the same.

    The post Read Excel Data from SharePoint Using Graph API appeared first on Indium.

    ]]>
    Reading data from an excel sheet is a difficult task that requires the use of the excel importer module. Some organisations maintain their data in a safe shared cloud environment, like SharePoint. Ever consider obtaining data from a shared Excel sheet? Are you interested in learning more? Let’s examine the procedures to accomplish the same.

    We’ll talk about the requirements we need to read data from SharePoint before we get started.

    • Mendix app should be registered in the Azure active directory with the necessary permissions.
    • Office 365 group should be created with users who modify the excel sheet.
    • Excel sheet, from which data will be read, should be created on the SharePoint site.

    Registering an App in the Azure Active Directory

    1. To create an account in the active directory, we need a Microsoft 365 developer account. So, join the Microsoft developer program through the link: https://developer.microsoft.com/en-us/microsoft-365/dev-program

    2. Login into the azure active directory using the email from the admin and create your application.

    3. To create app, Click on the Azure active directory. Select Enterprise applications from the list and click on new Application to create new app.

    4. Click on create your own application and enter the name of your app and select Register an app to integrate with Azure AD.

    5. Select Accounts in this organizational directory only and Click on Register. App will be created successfully.

    6. Required permissions to access SharePoint data should be defined in the active directory, so that app can access SharePoint data.

    7. To give permissions, open your application and navigate to API Permissions

    8. Click on “Add new permission” to add “new permissions”.

    9. From the list select Microsoft Graph (Going to use graph API to interact with SharePoint) and then add the required permissions & Grant admin consent as well. To do so refer to the below table

    Let see on how to Create Office 365 Group in azure active directory

    1. Click On Azure Active Directory and navigate to Groups.
    2. Now, Click on New Group and fill in the details as shown in the below image

    3. After the group is created, members can be added. All members should be added to this group if they wish to have access to the shared Excel spreadsheet.

    4. Click the link to visit the SharePoint site on the Group overview page.

    5. Open the SharePoint site, go to the document section, and create an excel sheet there as shown in the image below.

    How to read data from the sheet, in steps

    1. Creation of access tokens using the client’s App tenant identifier, client’s secret key, and client’s ID (Copy these details from azure active directory)
    2. Find the Office 365 group id using the group name through a Graph API call. 
    3. Find the worksheet ID using the excel sheet name through Graph API call. 
    4. With group ID and worksheet ID, data can be retrieved. 

    API Calls 

    To get an access token:  

    https://login.microsoftonline.com/{AppTenantID}/oauth2/token

    The request will be triggered with the following data as a request body: 

    1. Client secret key 
    2. Client ID 
    3. Resource – https://graph.microsoft.com,  
    4. Scope – Sites.ReadWrite.All 

    To find group ID 

    https://graph.microsoft.com/v1.0/groups/?$filter=startswith(displayname,’GroupName’)

    The request will be triggered with the following details as a header: 

    1. Token as an Authorization header 
    2. Accept – application/json 

    To find worksheet ID

    https://graph.microsoft.com/v1.0/groups/GroupID/drive/root:/ExcelSheetName:/workbook/worksheets

    The following information will be included as a header in the request when it is made:

    1. Token as an Authorization header 
    2. Accept – application/json. 

    Reading worksheet data

    https://graph.microsoft.com/v1.0/groups/GroupID/drive/root:/ExcelSheetName.xlsx:/workbook/worksheets(WorksheetID)/Range(address=’Sheet1!A1:Z500′)

    The following information will be included as a header in the request when it is made:

    1. Token as a header for authorization

    2. Accept the application/json format.

    We will then receive data from the designated Excel sheet as a response. The response can be processed so that the data in our application is organised.

    Examples of Data

    Domain Model

    Here, we have created entity to store app credentials and to store employee data which we read from excel sheet. Other non-persistable entities are used to process the JSON response which we get from an API call.

    ACT_Employee_ReadData

    This microflow is used to read data from shared excel sheet and save it in employee entity.

    Process to read shared excel data will starts with generating token using app credentials. Using token, Group ID and worksheet ID will be retrieved using graph API call. Finally, excel data will be retrieved using a group and worksheet id.

    Once we get the data through API call, we will retrieve all rows and filter the data row excluding header row from the list. To get updated data on every data pull, we will remove the old data from our app before start generating new data.

    Next, we will iterate all rows to get cell list from each row. We will iterate the cell list to get data, create employee object and add it to list for final commit.

    Finally, Employee data list will then be committed, saving the data to the database.

    Learn how to efficiently read Excel data from SharePoint using Graph API and streamline your data retrieval process today.

    Click Here

    Conclusion

    I believe I have successfully outlined how to read data from a shared Excel sheet. Please let your friends and co-workers know about this article if you enjoyed it.

    The post Read Excel Data from SharePoint Using Graph API appeared first on Indium.

    ]]>
    Mendix and Big Data: Processing and Analyzing Large Data Sets https://www.indiumsoftware.com/blog/mendix-and-big-data-processing-and-analyzing-large-data-sets/ Mon, 17 Apr 2023 11:58:40 +0000 https://www.indiumsoftware.com/?p=16352 Data has become a critical organizational asset in the modern digital world. Companies generate large data sets, which are analyzed to establish benchmarks and baselines, helping leaders make informed business decisions. However, processing and analyzing large data sets can be daunting. Fortunately, Mendix, a low-code app development platform, allows you to build apps that simplify

    The post Mendix and Big Data: Processing and Analyzing Large Data Sets appeared first on Indium.

    ]]>
    Data has become a critical organizational asset in the modern digital world. Companies generate large data sets, which are analyzed to establish benchmarks and baselines, helping leaders make informed business decisions. However, processing and analyzing large data sets can be daunting. Fortunately, Mendix, a low-code app development platform, allows you to build apps that simplify the processing and analysis of large data sets.

    This helps you generate insight into your business by analyzing large data sets. What’s more, with just a few clicks, you can utilize your app data for statistical analysis, reporting, and business intelligence (BI). Let’s dive deeper into how Mendix accommodates big data and supports the processing and analysis of large data sets as well as optimizing Mendix when managing large data sets.

    What is Mendix?

    Mendix is a leading low-code app development platform that lets you build custom apps faster and at scale with minimal coding efforts. It features numerous built-in components and tools to help you easily develop, deploy, test, and maintain apps. Also, it adopts a visual model-driven development approach, enabling you to utilize drag-and-drop functionality to build applications.

    What is Big Data?

    As the name suggests, big data is a group of data that is large in volume and increases exponentially with time. Unlike typical data, big data contains greater volumes and variety and is generated with a higher velocity. Its variety, velocity, and volume make it complex to handle using conventional data processing software applications.

    Does Mendix Support Big Data?

    Mendix has, over time, released new versions of its low-code development platform to help you build smart applications. Although this platform isn’t specifically designed for big data analysis and processing, you can build apps that work with large data sets or simply big data.

    But how is this possible? Well, the Mendix platform features connectors that accommodate emerging technology trends, including big data, Machine Learning (ML), and the Internet of Things (IoT). For instance, new features were included in the Mendix version 7, including drag-and-drop connectors that you can use to wire up ML, big data, and IoT services.

    As new Mendix versions are released, they have advanced capabilities and features to help you develop applications that seamlessly process and analyze large data sets. For instance, the new artificial intelligence (AI) capabilities can help you deliver such apps faster, thanks to the context-based recommendations offered by AI-assisted bots.

    Also read: The Power of Low-Code Business Solutions: Why You Shouldn’t Ignore Them

    How Mendix Supports Processing and Analysis of Large Data Sets

    As initially stated, although Mendix is not specifically designed for big data, it lets you build applications that can process and analyze large data sets. There are several ways Mendix supports the processing and analysis of large data sets, including the following:

    1. Integration with Big Data Platforms

    Mendix has established itself as a leader in the low-code development world. This platform offers advanced integration capabilities, allowing you to connect it to external data sources and services.

    For instance, you can connect to big data platforms, such as Apache Hadoop, Apache Cassandra, and Apache Shark, using ODBC/JDBC drivers, REST APIs, and other custom connectors. Integrating these platforms with Mendix enables you to access and process large data sets stored in distributed file systems, data warehouses, and databases.

    Thanks to its low-code development approach, Mendix can leverage the power of these big data platforms to execute complex data analysis and processing operations, including data aggregation, transformation, and filtering. What’s more, Mendix enables real-time data streaming and processing by leveraging big data tools like Apache Kafka, which can manage large data streams in real-time. Therefore, these integration capabilities with big data platforms allow Mendix to work with large data sets and develop custom apps that can deliver business value by analyzing and processing large volumes of data.

    2. Data Modeling

    Another way Mendix supports the processing and analysis of large data sets is by offering a data modeling tool. This tool enables you, as a developer, to design and create data models for large data sets. Also, you can define relationships between various data elements using the data modeling tool.

    Mendix data models define access and processing rules, ensuring data is correctly analyzed and processed. What’s more, the Mendix data modeling tool features a visual interface that simplifies the designing of data models. Therefore, you can quickly and efficiently develop complex data models that can handle large data sets.

    Also, Mendix integrates with external data modeling tools, such as Sparx and Erwin Systems. This enables you to smoothly import and export data models from such data modeling tools.

    3. Integration with Artificial Intelligence and Machine Learning Algorithms

    Big data is closely related to other advanced technologies, including AI and ML. Mendix can integrate with AI and ML algorithms like Keras, Scikit-learn, and TensorFlow to enhance its ability to process and analyze large data sets. You can use these algorithms to analyze large data sets and develop smart predictive models that help you identify patterns, insights, and trends in the data.

    Integrating ML and AI algorithms with Mendix allows more advanced data analytics and decision-making capabilities. For instance, you can use such algorithms to create predictive models that identify fraudulent activities, optimize business processes, and recommend products.

    Moreover, Mendix offers a machine learning toolkit that helps you easily integrate ML models into your applications. It includes various built-in machine-learning components that can be customized for specific use cases, such as sentiment analysis, predictive modeling, and image recognition. These integration capabilities with AI and ML algorithms enable Mendix to help you make data-driven decisions and unlock the full business value of your data.

    How to Optimize Mendix When Handling Large Data Sets

    Often during Mendix app development, you’ll encounter badly optimized database queries caused by time constraints and sophisticated business requirements. So, how do you optimize it and reduce query time? Here are some tips to consider:

    • Minimize the number of database calls
    • Avoid having denormalized data
    • Apply good usage of associations between entities to make data retrieval less process-intensive.

    Final Thoughts

    Although Mendix isn’t explicitly designed for big data processing and analysis, you can build apps that work seamlessly with large data sets. It features a data modeling tool and integrates with big data platforms through custom connectors and APIs. Also, it connects with AI and ML algorithms, enabling you to handle and analyze large data sets. Since query time can be an issue when processing and analyzing large data sets with Mendix, it would be good to consider the tips provided to minimize it. This will help optimize Mendix when processing and analyzing large data sets.

    Interested in learning more about Mendix

    Visit Us

    The post Mendix and Big Data: Processing and Analyzing Large Data Sets appeared first on Indium.

    ]]>
    Building Responsive and Scalable Apps with Mendix: Architecture and Design Patterns https://www.indiumsoftware.com/blog/building-responsive-and-scalable-apps-with-mendix-architecture-and-design-patterns/ Mon, 17 Apr 2023 10:00:33 +0000 https://www.indiumsoftware.com/?p=16338 The Mendix low-code app development platform enables you to build responsive and scalable faster and more efficiently. However, robust architecture and design patterns are the foundation of building such successful apps with Mendix. These elements include everything that defines your application, from data logic and user interface/ user experience (UI/UX) to development processes and tech

    The post Building Responsive and Scalable Apps with Mendix: Architecture and Design Patterns appeared first on Indium.

    ]]>
    The Mendix low-code app development platform enables you to build responsive and scalable faster and more efficiently. However, robust architecture and design patterns are the foundation of building such successful apps with Mendix. These elements include everything that defines your application, from data logic and user interface/ user experience (UI/UX) to development processes and tech stacks.

    Specific app architectures are code-intensive, need advanced skills, and are more difficult to test and maintain than others. Fortunately, Mendix provides a clearly defined architecture framework and multiple design patterns to help you accelerate enterprise app development and create first-class experiences that meet your business requirements and user expectations. But what design patterns should you consider when designing your Mendix app’s architecture? Let’s find out.

    Design Patterns to Consider When Designing Mendix App Architecture

    Here are some top design patterns to consider when designing a Mendix app architecture:

    1. Microservices Architecture

    Microservices architecture is a famous design pattern for developing complex apps, and it is particularly helpful in building responsive and scalable applications with Mendix. This architecture is based on the divide and conquer concept. It involves breaking down a large app into smaller, independent services that can communicate with one another via Application Programming Interfaces (APIs). Each of these services has unique functionality; you can build and deploy them independently.

    Benefits of Microservices Architecture

    This design pattern offers various benefits, including the following:

    Scalability

    Scalability is one of the main benefits of the microservices design pattern. Each service can be scaled up or down as required without affecting the other services because it is self-contained and runs independently. This simplifies managing high traffic volumes and guarantees that the application will function well and remain responsive even during peak usage.

    Flexibility

    Another advantage of the microservices design pattern is flexibility. This architecture enables you to select the best technology stack for each service and update or replace specific services without affecting the application as a whole. Therefore, it makes development and deployment cycles move more rapidly and facilitates faster adjustment to shifting business requirements.

    Enhanced Resilience

    Finally, improved resilience is another benefit of the microservices design pattern. Since each microservice runs independently of the others, it minimizes the risk of total application failure. The other services can keep running even if one fails, guaranteeing that the application as a whole continues to function and is accessible to users. Therefore, microservices architecture is a robust design pattern for building responsive, flexible, scalable, and resilient apps with Mendix.

    2. Event-Driven Architecture

    The event-driven architecture (EDA) design pattern helps you create scalable and responsive applications with Mendix. This design pattern is based on events and their handlers, which process and react to events in the system.

    In EDA, events are the things or changes that happen within an application or its environment. Events can be user activities, system updates, or modifications to external data. One or more event handlers are activated when an event occurs. These handlers are responsible for processing the event and taking necessary steps. For instance, they can do various tasks, including updating UI, processing data, and sending alerts, among other things.

    So, what are the benefits of the EDA in building responsive and scalable apps with Mendix? Let’s find out.

    Also read: Developing a Diagnostics Management Application with Improved Data Security Using Mendix Solution.

    Benefits of EDA

    This design pattern offers several benefits, including the following:

    Improved responsiveness

    Since your Mendix app will be built around events with EDA, it becomes more reactive and can manage multiple events concurrently. Therefore, it can respond quickly to user requests, changes in the environment, and system updates.

    Scalability

    This design pattern decouples your Mendix app’s components, making it easier to scale individual elements independently. As a result, it enables your Mendix app to effectively handle high traffic volumes and guarantees responsiveness and performance even during peak periods.

    Flexibility

    Since the EDA design pattern involves designing your Mendix app around events and handlers, you can easily add new or modify existing handlers as your requirements change. As a result, it enables rapid development and deployment cycles and facilitates faster response to changing business needs.

    3. Model-View-Controller (MVC) Design Pattern

    The Model-View-Controller (MVC) design pattern is commonly used for creating applications, including those built with Mendix. It separates an application into three interconnected components: the model, view, and controller.

    The model handles the data and business logic, the view handles the user interface, and the controller takes user input and updates the model and view. This separation of concerns improves the maintainability and extensibility of an application by making it easier to modify individual components without impacting others.

    4. Command Query Responsibility Segregation Design Pattern

    The command query responsibility segregation, abbreviated as CQRS, separates the read and write operations of your Mendix app. This allows for scalable and more efficient data access. While write operations are managed by the command layer, read operations are handled by a different query layer. By separating the read and write operations, this design pattern allows for more optimized data retrieval and storage and improved scalability and performance, as each function can be scaled and maintained independently.

    5. Domain-Driven Design Pattern

    This design pattern lets you model your Mendix app’s domain to reflect your company’s understanding of it. It emphasizes collaboration between developers, domain experts, and other stakeholders to develop a common understanding of the domain and create a model that perfectly reflects it.

    As a result, it helps develop a shared language and domain understanding, allowing developers to build more responsive, scalable, and effective apps with Mendix. Also, it promotes code reuse and boosts app maintainability as it creates a clear separation between the domain model and the implementation of technical details.

    Final Thoughts

    Strong architecture and design patterns are key to building a successful, responsive, scalable app with Mendix. Therefore, it’s crucial to assess the available design patterns, capabilities, and concepts and choose the best fit for your business requirement or application use cases. Doing so will help you build a scalable, efficient, and responsive Mendix app that adapts seamlessly to changing business requirements over time.

    Are you curious to learn more about low-code services? For more information, please see our low-code page.

    Click here

    The post Building Responsive and Scalable Apps with Mendix: Architecture and Design Patterns appeared first on Indium.

    ]]>
    Deploying Mendix Applications On-Premises, Cloud, or Hybrid https://www.indiumsoftware.com/blog/deploying-mendix-applications-on-premises-cloud-or-hybrid/ Mon, 17 Apr 2023 07:13:01 +0000 https://www.indiumsoftware.com/?p=16334 Mendix is a leading low-code app development platform that enables you to build, manage, and deploy custom apps at scale. This low-code solution supports several deployment options, including on-premises, cloud, or hybrid. This enables you to choose a deployment option that suits your business requirements. For cloud deployment, Mendix apps are packaged and deployed to

    The post Deploying Mendix Applications On-Premises, Cloud, or Hybrid appeared first on Indium.

    ]]>
    Mendix is a leading low-code app development platform that enables you to build, manage, and deploy custom apps at scale. This low-code solution supports several deployment options, including on-premises, cloud, or hybrid. This enables you to choose a deployment option that suits your business requirements.

    For cloud deployment, Mendix apps are packaged and deployed to a preferred deployment option with one-click deployment, making it one of the most efficient low-code solutions. However, whether you want to deploy and run your Mendix apps on traditional virtual servers, cloud, or hybrid environments, Mendix has got your back. Let’s dive deeper into the details of each Mendix deployment option.

    On-Premises Deployment

    On-premise deployment involves installing and running applications on servers hosted by the company with its data centers or physical servers. One main advantage of this deployment option is that it guarantees 100% control over the app and related data, including compliance and security requirements. This deployment option requires the company to have IT infrastructure and resources to manage and maintain the servers.

    Mendix enables you to deploy apps on-premises with Unix-Like and Microsoft Windows deployment options. However, you must design the architecture of your server to ensure Mendix apps run smoothly. When designing the server architecture, you can set up your deployment environment in multiple ways.

    Fortunately, there is no right or wrong server configuration option. It depends on your company’s performance, availability, and security requirements. Here are four commonly adopted server architecture setups for on-premises Mendix app deployment.

    Minimal Server Architecture

    This setup is the easiest solution and has the fewest connection and configuration problems. It is also used in the Mendix cloud, except that cloud is based on Linux, with NGINX used rather than IIS and PostgreSQL utilized as the database server.

    Different Database Server and a Different Web Server

    This server architecture setup is the most challenging to maintain. Every update must be conducted twice (once on the app server as normal, and secondly as an update in which you must copy and paste all the static content to the web server). This implies that you must copy the contents in your web folder, including the MxClientSystem, to the web server each time you update.

    We recommend you avoid this server architecture setup if possible.

    The other two options include:

    • Hosting with a discrete database server, and
    • Discrete Mendix Web Server in a DMZ

    Cloud Deployment

    Cloud deployment involves hosting an app on a third-party cloud provider, such as Google Cloud Platform (GCP), Microsoft Azure, and Amazon Web Services (AWS). This deployment option is often preferred due to its reliability, flexibility, scalability, and minimal infrastructure requirements. Also, it is cost-friendly and enables you to deploy apps faster.

    What’s more, cloud deployment is suitable for companies with geographically dispersed user bases. It allows access to the app from anywhere worldwide as long as the user has an internet connection.

    How Mendix Supports Cloud Deployment

    Applications built with Mendix are cloud-native-based and conform to twelve-factor application principles. Also, the Mendix Runtime is entirely optimized to run in the container technology compatible with most advanced cloud platform offerings, such as Cloud Foundry and Kubernetes. Therefore, Mendix applications can utilize the advantages of these cloud solutions, including auto-healing, CI/CD, cloud interoperability, auto-provisioning, auto-scaling, and low infrastructure overhead.

    With this scalable and flexible deployment option, Mendix supports various deployment choices enabling you to run Mendix apps on public, private, hybrid, virtual private, multi-cloud, or through a conventional virtual server.

    Deploying Mendix Applications in Public Cloud

    This cloud deployment option helps you attain the best utilization rate for your IT infrastructure. It helps transform your capital investment into operational expenses while maintaining optimal flexibility. Mendix supports most public cloud vendors, including:

    • Microsoft Azure
    • GCP
    • AWS
    • SAP cloud platform
    • IBM
    • Red Hat OpenShift

    For public cloud service providers that support Cloud Foundry, such as IBM, SAP, and Mendix cloud, Mendix delivers a fully integrated experience, enabling you to deploy apps to your choice of cloud with a single click.

    Deploying Mendix Applications in Private Cloud

    If your business is complying with specific regulations or cannot run in third-party cloud service providers, private cloud would be an ideal choice for deploying your Mendix apps. Mendix can run on a server-based solution as a private cloud platform-as-a-service (PaaS) or infrastructure-as-a-service (IaaS).

    Deploying Mendix Applications in Virtual Private Cloud

    If your company requires a higher application or data isolation level, the virtual private cloud would be an ideal cloud deployment choice. It lets you benefit from a high resource flexibility and utilization rate within a discrete network segment or on dedicated hardware. This cloud deployment option allows your Mendix apps to be fully decoupled from the public Mendix Developer Portal, implying that operating on a VPC is easily accommodated.

    Hybrid Deployment

    Hybrid deployment combines on-premise and cloud deployment. This Mendix application deployment option lets you experience the best of both worlds by offering the flexibility to run specific application components on-premises while leveraging cloud services for other application parts.

    This deployment option is helpful when you want complete control over specific parts of the app while enjoying the benefits of cloud services for the rest of the application.

    Which Deployment Option is Best for Deploying Mendix Applications?

    Each deployment option has its pros and cons. For instance, while deploying Mendix apps on-premises gives you 100% control over your app, it can be costly and limit your flexibility. On the other hand, cloud deployment lets you enjoy flexibility, but it limits your control over the application. Therefore, it depends explicitly on your business requirements and goals. However, the hybrid deployment option lets you enjoy the benefits of both deployment options.

    Final Thoughts

    Mendix provides many deployment options, from on-premise and cloud to hybrid. You need to assess your business requirements to determine which deployment option suits your Mendix application. Doing helps you choose a deployment option with the most benefits and minimal limitations.

    Interested in learning more about Mendix? Visit Our Mendix page today.

    Click here

    The post Deploying Mendix Applications On-Premises, Cloud, or Hybrid appeared first on Indium.

    ]]>
    Integrating Data Sources with Mendix https://www.indiumsoftware.com/blog/integrating-data-sources-with-mendix/ Mon, 17 Apr 2023 05:20:01 +0000 https://www.indiumsoftware.com/?p=16327 Developers often need to connect their applications to different data sources to extend their capabilities and functionality. Integrating third-party or external data sources is crucial in data analytics initiatives as organizations look for strategic insight from beyond their firms. However, according to McKinsey, only a few companies take full advantage of data produced outside their

    The post Integrating Data Sources with Mendix appeared first on Indium.

    ]]>
    Developers often need to connect their applications to different data sources to extend their capabilities and functionality. Integrating third-party or external data sources is crucial in data analytics initiatives as organizations look for strategic insight from beyond their firms. However, according to McKinsey, only a few companies take full advantage of data produced outside their walls. And one of the major reasons is the complexity of integrating data sources with their systems and apps.

    As a leading low-code application development solution, Mendix recognizes the need to integrate data sources with your application. A well-structured plan for connecting data sources can deliver a competitive edge. As a result, Mendix, through its connectors, empowers enterprises to discover, understand, and immediately integrate data sources securely to Mendix Connect. But what tools does Mendix offer for integrating data sources? And how do you integrate data sources with Mendix? Let’s find out.

    Tools for Integrating Data Sources with Mendix

    The Mendix low-code development platform offers several tools connecting data sources. They include the following:

    • Web services. Mendix lets you publish microflows as a web service operation. You can call external web services from the microflows
    • Database integration. Mendix provides a Database Connector that lets you configure direct JDBC integrations to the database of your choice for executing stored procedures and SQL queries.
    • Connectors. Mendix’s purpose-built connector modules deliver easy-to-use microflow activities connected with third-party services. Some examples of connector modules include Redis, Kafka, and SAP, while third-party services include Salesforce, Twitter, and Slack.
    • REST services. Mendix allows you to publish entities and microflows as REST operations and resources and call external REST APIs directly from your microflows.
    • Mappings. Mendix mappings let you use visual specifications of how external messages are translated to and from entities in your Mendix app
    • OData. The OData tool allows you to publish data in your Mendix app in a standard REST format for simplified use in business analytics tooling.
    • Connector Kit. This kit allows for an easy, reusable, and generic way of adding custom integrations using Java to Mendix.
    • Mendix Connect. Formerly known as Data Hub, Mendix Connect lets you connect external data resources into a company-specific catalog and use them in Mendix apps (through external entities) and business intelligence (BI) tools (OData).
    • Message definitions. They enable you to specify what messages you exchange with different external data sources and systems. Message definitions can be based on JSON snippets, entities defined in your domain model, or XML schemas.

    How to Integrate Data Sources with Mendix.

    Here are the steps to follow when integrating data sources with Mendix:

    Step 1: Identify Data Sources

    Ask yourself, what data sources do I need to integrate with Mendix? This is the most basic step, as it helps you list all the data sources you want to integrate. Some common data sources you may wish to connect include REST APIs, web services, and databases.

    Step 2: Configure the Identified Data Sources

    While Mendix is compatible with many data sources, they often need to be configured to enable Mendix to connect to them. So, once you have identified the data sources, you must configure them to allow Mendix to integrate seamlessly with them. Usually, it involves establishing the necessary credentials and connection parameters, such as database name, port number, and server address.

    Important Note: You must set the parameters correctly because Mendix will use them to connect with those data sources. Otherwise, you’ll be unable to integrate them with Mendix, missing out on many opportunities associated with integration data sources with Mendix.

    Step 3: Create Your Data Models

    Once everything is configured, the next step involves creating your data models. In this step, you define entities, attributes, and associations that reflect the data in the identified sources. Entities represent the various data types that will be modified and stored in your Mendix app, whereas attributes define the specific features of each entity.

    On the other hand, associations or relationships define how different entities relate. For instance, two entities may have a one-to-one, one-to-many, or many-to-many relationship.

    The created data models are crucial as they are the foundation of your app’s data structure. They offer a way to manage and organize data from the identified sources.

    Step 4: Develop Data Mappings

    The next step is creating data mappings for the models you created in the previous step. Quickly mapping external data formats to the entities you built in your app is key to integrating data sources with Mendix. Data mappings define the data in the identified sources and map it to that data in your Mendix entities.

    It involves defining mappings between the data source and target entity attributes. Mendix offers data mapping tools to make this process easier. For instance, you can simply drag and drop attributes from the data source to the target entity. Also, Mendix gives you advanced control over the mappings and an easy-to-understand visual editor to define your data mappings.

    Step 5: Retrieve and Display Data

    Another key step to integrating data sources with Mendix is retrieving and displaying data. Data mappings ensure that data is retrieved from the identified data sources correctly and can be displayed and modified in your Mendix app. Mendix provides built-in tools and features for retrieving data from different sources, such as widgets and microflows.

    Step 6: Test and Refine the Integration

    Integrating data sources with Mendix is crucial and helps you access large chunks of data from external sources. However, you must ensure the integration is secure and functional to avoid exposing your data to cyber threats. Also, it’s essential to ensure the data is retrieved and displayed correctly.

    So, you should test the integration to ensure it works as expected. This may involve modifying your data retrieval settings, mappings, or models.

    Final Thoughts

    Integrating data sources with Mendix is crucial. It helps unlock your IT landscape by bringing data from different sources to your company’s fingertips, driving better, data-driven decisions. Also, your company can gain valuable insights from multiple data streams and streamline its processes based on these insights. Mendix provides numerous tools to ease the process of integrating data sources. Also, the process is straightforward, enabling easy integration of data sources with the Mendix low-code platform.

    So, what are you waiting for? Unlock your full potential today by integrating data sources with Mendix

    Visit Us

    The post Integrating Data Sources with Mendix appeared first on Indium.

    ]]>