This project consists of the RESTful CIRDLES web services
Deployment of this project is performed by a cronjob that executes a deployment BASH script.
The cronjob is executed as root, so to make changes to the cronjob one must:
sudo crontab -e
The deployment script resides in /usr/local/bin/deploy if changes need to be made.
In order to update this project one simply needs to update the github page, and the deployment script will handle the rest.
The deployment script is executed at 2:00AM every day, but if immeadiate updates are needed one can simply execute the deployment script manually:
ssh $USER@cirdles.cs.cofc.edu
sudo ./usr/local/bin/deploy
The deployment script will then perform the following:
- Pull changes from github
- Perform a maven clean install on project (build)
- Overwrites tomcat webapp endpoint (/opt/tomcat9/webapps/Services.war) with newly created Services.war file
- JavaEE - Specifications for creating web services
- Maven - Dependency Management
- JitPack - Package repository for github/Maven
- NGINX - Server Platform / Traffic director
- Tomcat 9 - Java Servlet Container
CirdlesWebServices
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml (configuration, maven)
├── src/main
| ├── webapp (configuration files)
| ├── WEB-INF
| ├── web.xml (endpoints, etc.)
| ├── META-INF
| ├── context.xml (Tomcat-specific)
| ├── index.html
| ├── java/org/cirdles/webServices (servlets and utilities)
| ├── ambapo
| ├── AmbapoServlet.java
| ├── calamari
| ├── CalamariServlet.java
| ├── PrawnFileHandlerService.java
| ├── requestUtils
| ├── JSONUtils.java
| ├── squid
| ├── SquidReportingServlet.java