Many usage examples available in different programming languages
Cons
No clear use cases using BaseX
Versioning is not out-of-the-box available. Need to use a second database to create ‘versioning’, which creates an archive database and a current database. And by using RESTXQ is relatively easy to create a versioning mechanism. BaseX gave SirixDB as a good alternative in case we want a NoSQL database with versioning mechanism.
Not an application itself, needs a XSLT processor like Saxon-HE which is also open-source
Java framework - Quarkus
For the framework to be used with Java we choose Quarkus.
Pros
Java stack, and working experience is avaiable in the community
Open Source
Hot reload for quick development
Less verbose code when developing REST API’s, compared to for example Java Spring
Tailored for GraalVM (universal VM), which is also very interesting for us (usage of resources)
Huge decrease of memory huge compared to traditional cloud-native stacks like Java Spring.
Huge decrease in response times compared to traditional cloud-native stacks like Java Spring.
Backed by RedHat
Quickly settings up microservices with REST APIs
When looking at the memory usage (and response times) of Quarkus, it’s definitely interesting for us. Also take a look at this comparison with Java Spring
Because CoMPAS is an application which also should run locally, memory usage is an important aspect. Together with being a modern microservice framework, backed by RedHat and being a Java framework (which we are having experience with) it’s the best choice for now!
Cons
Doesn’t support full set of some EE standards, like Enterprise JavaBeans. Expected is that it’s not a game breaker for us.
Relatively new technology, framework could contain some “rookie mistakes”. On the other hand, multiple researches are stating the maturity of the framework it achieved in this short time.
Not much developers are acquainted with Quarkus compared to e.g. the Spring framework.
Source control - Github
We choose github for source control. This is good practice for open source development.
The CoMPAS repositories can be found at https://github.com/com-pas/