Rn este parcial se desarrolló una calculadora matemática que por medio de una API, calcula las operaciones de ACOS(x) y ASIN(x), en donde x es un número en el rango [-1, 1] para ambos casos. A continuación veremos la implementación y el funcionamiento de la calculadora.
La implementación fué realizada en el lenguaje Java con un servidor Spark Java, el cual publica la API y se encarga de recibir y de procesar las peticiones, como respuesta, retorna un objeto en formato JSON, con la operación que se realizó, la entrada del usuario y la salida de la operación.
El API se compone de dos operaciones GET:
- /acos: recibe un valor en el rango [-1,1] y retorna el arcocoseno del valor.
- /asin: recibe un valor en el rango [-1,1] y retorna el arcoseno del valor.
Las peticiones deben ser de la forma: /acos?value=3.141592, si no se pone el parámetro o no es entendible como un número decimal, la aplicación retornará un mensaje de error.
Gracias a que subimos nuestro contenedor a DockerHub, fué muy sencillo ejecutarlo en nuestra máquina virtual en AWS, acá podremos ver el resultado:
Para hacer funcionar el proyecto en AWS, navegaremos a la dirección IP del servidor en el puerto 8080, y utilizaremos la API de la forma en la que se definió arriba.
En nuestro caso, la dirección es: http://ec2-18-235-234-206.compute-1.amazonaws.com:8080/
Gracias a que mapeamos el puerto de Spark Java al puerto público 8080, y modificamos las reglas del firewall de nuestra máquina para que este puerto sea accesible desde cualquier lugar, podemos ver la operación en las siguientes imágenes:
Como pudimos observar, la API funciona correctamente, e incluso retorna mensajes de error cuando se encuentra con una entrada inesperada:
El video de demostración puede ser encontrado aquí.
Clone el proyecto utilizando el siguiente comando:
git clone https://github.com/danielrincon-m/AREP_PARCIAL2.git
Un IDE que soporte proyectos Java, o una instalación de Maven en su sistema, puede obtenerlo desde la página oficial.
Las pruebas pueden ser ejecutadas desde la sección de pruebas de su IDE o si tiene maven puede navegar a la carpeta principal de cada uno de los dos proyectos internos y ejecutar el comando
mvn test
La documentación de los proyectos puede ser encontrada en la carpeta docs.
También puede ser generada con Maven, clonando el proyecto y ejecutando el siguiente comando:
mvn javadoc:javadoc
- Visual Studio Code - IDE de desarrollo
- Maven - Manejo de Dependencias
- JUnit - Pruebas unitarias
- GitHub - Repositorio de código
- Spark Java - Servidor Web
- Docker - Herramienta de encapsulamiento en contenedores
- AWS - Despliegue en la nube
Daniel Felipe Rincón Muñoz: Planeación y desarrollo del proyecto - Perfil de GitHub
Este proyecto se encuentra licenciado bajo GNU General Public License - consulte el archivo LICENSE.md para más detalles.