The Water Model Distributor is a middleware Java application that acts as a broker between the SWIM Interface, MongoDB and third party modeling software such as GAMS.
The application is designed to be deployed as a platform independent, self-contained web service, leveraged by the Dropwizard Java framework.
The main functionality of the application is defined from a set of sequential steps to be performed on each service request:
- Receive user input service request.
- Validate JSON structure.
- Parse incoming JSON user scenario.
- Populate user scenario model for object document mapping with MongoDB.
- Set model input parameter values for each of the target modeling software.
- Execute third party modeling software.
- Process modeling software output to extend the user scenario model document.
- Save extended user scenario document on MongoDB.
- Respond with extended user scenario JSON.
Luis Garnica Chavira
University of Texas at El Paso