Experiences with Amazons AWS REST interfaces for SimpleDB, SimpleQueue, DynamoDB
Hi everyone, I'm experimenting with a new business app in Mendix, which relies heavily on data and services in AWS. Currently I'm experimenting with various methods for integrating the two - through custom microflows. I've looked at defining the required data sources as "Mendix Consumed Web Services", but not all AWS services come with a WSDL definition file, which seems to block me from accessing this services. Mendix 6.6 introduces the "Call REST" action, but once again I'm running into some challenges: The content of the REST request is dynamic, e.g. depending on the data to be retrieved. The "Call REST" Action's dialog allows me to construct the request header with a template, but how do I bring dynamic parameters into that template from outside the dialog box? Also, all AWS requests require dynamic authentication as part of the request parameters - at which point can I calculate the required hash and pass that into the REST request location? What other challenges still await?
The amazon services can be complex to use: for one they rely on a complex method to authenticate all the requests. When using the REST functionality of Mendix 6.6 you need to calculate an AWS signature, most likely using a java action, and specify that as a header value.
However, it's probably better to look at another new piece of Mendix 6.6: the Connector kit. Amazon has java client libraries for most of their services. You can use these in some java actions, and write your own connector. The result will be a number of reusable microflow actions for interacting with Amazon.
We will publish a blogpost soon that will describe how to do this. In the meantime you can also browse the sourcecode of some example connectors on github: database connector, Twitter connector