9 AWS Connectors You Can Use in Mendix Today

2023 promises to be the year of Mendix and AWS. Our goal is to make it easier and quicker to use AWS services in your Mendix development, and part of that is creating connectors for your favorite AWS services.

We have a whole suite of connectors planned, but I thought I’d share some great connectors you can already make use of in your apps today. So here are nine AWS connectors available in the Mendix Marketplace right now.

AWS Authentication Connector

The starting point of any integration is getting authenticated. With that in mind, the first connector I’d like to mention is the AWS Authentication Connector.
This connector now serves as the de facto way to connect and make use of AWS services like Amazon Simple Storage Service, Amazon Simple Queuing Service (SQS), and others. It is also compatible with AWS services which have no existing Mendix Connectors (yet). In fact, this connector is already used widely by our own AWS team (even for AWS services that we currently have no connectors for yet!). This connector handles everything you need to authenticate with AWS and is the basis for all platform supported modules. We also recommend you use this when creating connectors of your own.
The AWS Authentication Connector is built with flexibility and best practice in mind, so it enables the use of both Static and Session (or temporary), credentials.
  • Static credentials – based on AWS “Access key ID” and “Secret Access Key”
  • Session credentials – based on short lived session token(the more secure and also recommended way for Production environments).
One of the many benefits from working together directly with AWS is the ability to be close to the latest and greatest. Thanks to this, the Authentication Connector implements Session credentials by using AWS’ new Amazon IAM Roles Anywhere service released in July 2022.
If you would like to learn more about AWS IAM Roles Anywhere you can read more about it on Amazon’s and Mendix docs pages.
Further in line with the flexibility of this Connector, we have provided two implementation options for the use of AWS Services within your organization. Developers have the choice to use the Client Library SDKs (in this case, Java) where we have included the boilerplate code needed to implement AWS Connectors, and another option built to include all the necessary pieces needed to connect up to AWS Services using the REST API using the SigV4 Signing method AWS provides for authentication to the REST API. Included into the Connector is the ability to generate SigV4Headersthat can be attached to any request, a requirement for calling the AWS API using REST API. Also included in Amazon’s docs pages are more information on the SigV4 signing method.

Amazon Simple Storage Service (S3)

The Amazon Simple Storage Service connector is for storing files outside of your apps main storage system. Mendix already uses Amazon Simple Storage Service for file hosting on all Mendix cloud environments. This is normally ideal for storing large files (anything larger than 1GB). By storing them in a file storage separate from your Mendix app you can preserve your app’s internal system resources. But Amazon Simple Storage Service is more than that; it is the basis for many AWS workflows, such as Rekognition and others. Using this module allows your Mendix app to create and manage buckets without the need to log into the AWS Console.
Amazon Simple Storage Service uses a flat object storage structure and gives you the added security of a redundant storage system which is independent of your app (for those important or sensitive documents your users upload). Some other benefits to using this connector is that it supports multi-region as well as versioning on your files.
This module comes packed with an array of activities to interact with the following Amazon Simple Storage Service APIs:
  • List Object
  • Get Object
  • Put Object
  • Delete Object
  • Move Object
  • Copy Object
It also has features for Listing Buckets and Prefixes, and if you really wanted to, you could create and manage your buckets directly from your Mendix App without using the Amazon console.

Amazon Rekognition Connector

Amazon Rekognition uses computer vision to provide insights into photos and videos uploaded to your app. The true power of Amazon Rekognition is that you can train it to detect what ever you want in the files you upload, using just a few images. The service allows you to upload content to train the model with examples of what you are trying to detect. Doing this allows you to create custom labels that the model can identify in photos and images. For example, say you wanted an app to identify cars or plants or any kind of weird unusual thing, you can create these custom labels in AWS and create your own personal computer vision model.
The module also comes standard with a few out-of-the-box actions for comparing and detecting faces, moderation, identifying text, protective equipment and recognizing public figures. Here’s a full list of them as listed in the documentation:
  • Compare Face
  • Detect Custom Labels
  • Detect Faces – Default
  • Detect Faces – All Attributes
  • Detect Moderation Labels
  • Detect Labels
  • Detect Text
  • Detect Protective Equipment
  • Recognize Celebrities

Amazon Simple Notification Service (SNS)

As mentioned above, the Amazon Simple Notification Service connector allows you to send app-to-app and app-to-person notifications. It’s a quick and easy way to implement SMS and emails in your app.
The Amazon Simple Notification Service connector comes with two activities:
  • ListTopics – can retrieve a list of all topics for a given AWS environment and return them as a list of objects in your Mendix app.
  • Publish – will actually publish your message; it requires a message and a topic (which is returned from ListTopics) to work.

 

This connector is still under development and more features are planned for future releases. Remember that you can subscribe to updates to marketplace components, an easy way to stay informed when your favorite connectors get updates.

AWS Lambda Connector

AWS Lambda is Amazon’s “serverless, event-driven compute service” which means you create functions on AWS and call them in other apps, similar to a microservices architecture.
Say for example you want to resize an image which the user uploads, instead of handling that in your Mendix app which can be complex, you send the image to a lambda function and receive back the resized image, which you can store. Splitting this functionality into a lambda function saves your app storage space and processing power.
A really exciting feature of AWS Lambda is its BYOC (bring your own code) approach. It natively supports a range of languages and is great for bringing that library or SDK written in another framework or language into your Mendix app.
This module allows your app to list, invoke and delete the functions you have in AWS Lambda.

Amazon Polly

Amazon Polly uses deep learning to synthesize organic sounding human speech. Using Amazon Polly, you can give your app a voice and have it read your content to the user.
As you can imagine, there are many use cases which could benefit from text-to-speech – perhaps on your blog site reading text out loud to the user or perhaps for a call center, guiding callers to agents or solving simple problems. Whether you want to make your content easier to consume, or make your app more accessible to the visually impaired, Amazon Polly is simple and easy to use.
The module has two main activities:
  • DescribeVoices – returns the different types of voices available in AWS Polly
  • SynthesizeSpeech – uses the supplied text along with your selected voice to create spoken words.

Amazon DynamoDB

Amazon DynamoDB is a lightning fast NoSQL database for high performance apps at scale. It uses key value pairs to store your data and is commonly used for high traffic apps with millions of concurrent users making millions of concurrent transactions at the same time.
Originally Amazon built DynamoDB to handle the millions of transactions on Amazon Prime day. It’s built on a serverless architecture, which means there is no need to setup and maintain a server just to process your transactions. AWS will automatically scale up any tables as needed to maintain performance.
This module comes with eight activities for interacting with your data stored in Amazon DynamoDB:
  • Batch Get Item
  • List Tables
  • Describe Table
  • Batch Write Item
  • Delete Item
  • Scan Table
  • Put Item
  • Get Item

Amazon Textract

Amazon Textract uses machine learning to extract text and handwriting as well as other information from scanned documents. Using Textract enables you to automate reviews on user submitted documents and act on information submitted in them.
As always this module requires the AWS Authentication module to be implemented for it to work. The actual setup on this module is quite simple, the request accepts a file document containing a user submitted image or PDF, and the connection credentials as supplied by the authentication module.
This module comes with 2 activities:
  • AnalyzeDocument – used to analyze general documents and extract text and other information
  • AnalyzeExpense – used to analyze financial documents related to expenses
For more information on the Amazon Textract and how to install this module in your Mendix Application, make sure to read the doc page.

Amazon Translate

Last but not least, we have the Amazon Translate connector, which offers state-of-the-art language translations in your Mendix app. Give your users the ability to use your site or app in their native language or provide real time translations.
To use this module, you will also need to make use of the AWS Authentication Connector, and an S3 Bucket which will store any custom configurations you may want.
After downloading the module you gain access to the main action this module provides – TranslateText. It accepts the TranslateRequest object as a parameter and performs the actual translation.

But wait… there’s more!

If none of these managed to get you excited, here is a quick peak at the roadmap for what might be in store in 2023, as well as a look at just a few things already in development.
On the roadmap:
  • Amazon Comprehend
  • Amazon Relational Database Service (RDS, using our existing Database Connector)
  • Amazon Simple Queue Service (SQS)
  • Amazon Simple Email Service (SES, using our existing Email Connector)
  • Guidance on How to Build Your Own AWS Connector

Make sure to look out for new releases in the Mendix Marketplace! We have also setup an AWS space in the Mendix Forum where you can ask any questions you might have and submit ideas you have! 

If you’d like to hear more of what AWS and Mendix have planned, you can watch Cedrik Neike (the CEO of Digital Industries for Siemens) talk about it at AWS re:Invent:

Tags