Vista por Usos
La representación del sistema "Vista por Usos" muestra los paquetes internos de Java del Distribuidor de Modelos de Agua asi como las bibliotecas externas de Java. Para el resto de esta sección, tanto los paquetes de aplicaciones internas como las bibliotecas externas se denominarán "elementos".
Representación Primaria
Catálogo de Elementos
Elementos Internos
resources
Define los puntos de entrada de la aplicación y los mecanismos de respuesta final para las interfaces del servicio web.
Este paquete usa la biblioteca de Jersey que está incluida en el marco de Dropwizard.
main Contiene el nivel más alto de jerarquía de ejecución. Las clases contenidas en este paquete extraen opciones de configuración y registran servicios de aplicaciones y revisiones de estado del sistema.
db
Maneja la conectividad de la base de datos y el mapeo objeto-relacional entre la base de datos y las clases personalizadas de Morphia.
La implementación actual interactúa con Mongo DB que es un administrador de base de datos NoSQL.
model
Define objetos que se mapean directamente a un documento en Mongo DB. Esto facilita el proceso de creación, actualización y consulta de documentos en una colección de Mongo.
api
Contiene controladores de aplicaciones que especifican el flujo de trabajo principal de ejecución.
health
Define las comprobaciones de estado del sistema para supervisar el servicio y la disponibilidad de la base de datos durante la ejecución de la aplicación.
mapper
Analiza la sintaxis de las entradas JSON y llena los modelos morphia para el uso y almacenamiento de datos en tiempo de ejecución.
runner
Mapea los parámetros del modelo, ejecuta y procesa los resultados del modelo generados a partir de software de modelado de terceros.
La implementación actual maneja la interacción con el Sistema de Modelado Algebraico General (GAMS).
Elementos externos
dropwizard
Dropwizard es un framework de Java para desarrollar servicios web RESTful, amigables y de alto rendimiento.
Este marco aprovecha la creación de servicios web autónomos para facilitar el uso y la implementación de las aplicaciones.
json-simple
JSON simple es la biblioteca de Java para el procesamiento JSON, que se utiliza para leer y escribir datos JSON con total conformidad con la especificación JSON (RFC4627).
morphia
Morphia es una biblioteca de Java para el mapeo directo de documentos con MongoDB.
mongo-java-driver El controlador MongoDB proporciona interacción síncrona y asíncrona con MongoDB.
gams-api La API GAMS Java proporciona una interfaz de programación Java para el Sistema de Modelaje Algebraico General (GAMS).
Referencias
Drowizard: http://www.dropwizard.io/
JSON simple: https://code.google.com/archive/p/json-simple/
Morphia: https://mongodb.github.io/morphia/
Mongo Driver: https://docs.mongodb.com/ecosystem/drivers/java/
GAMS API: https://www.gams.com/help/index.jsp?topic=%2Fgams.doc%2Fapis%2Fjava%2Findex.html