Skip to content



Folders and files

Last commit message
Last commit date

Latest commit



65 Commits

Repository files navigation


This is the BiVeS web application, a JAVA based web interface to the bives logo BiVeS tool for difference detection between versions of computational models.

BiVeS consists of several modules

bives modules

BiVeS itself consists of a number of modules:

  • xmlutils is a library for advanced XML handling
  • jCOMODI provides programmatic access to the COMODI ontology
  • BiVeS-Core is the core library for comparison of computational models
  • BiVeS-SBML is a module providing special strategies for models encoded in SBML
  • BiVeS-CellML is a module providing special strategies for models encoded in CellML
  • BiVeS ties all modules together and provides command line access
  • BiVeS-WebApp is a web interface to access BiVeS through the network
  • BiVeS-WebApp-Client provides a Java library for comparing models using the BiVeS-WebApp


We recommend building the application with Maven.


Along with the source code you will obtain a pom.xml that contains the configuration to build the web application with maven. Maven will download and manage all dependencies. Just call a

mvn package

to obtain a BiVeS-WebApp-*.war in the target directory. This war file can then be deployed to a JAVA compliant webserver, such as the Apache Tomcat.


If you prefer using and you need to download the dependencies yourself. Create a directory lib in the project directory to store dependent libraries. The following libraries are required:

Then just call

ant dist

to obtain the war file that can be deployed to a JAVA compliant webserver, such as the Apache Tomcat.


Java Binaries

Pre-compiled Java binaries can be found at

Docker image

Since version 1.6.2 we provide a Docker image at the docker hub: binfalse/bives-webapp. The image is based on an Apache Tomcat image and already has the BiVeS web application deployed as the default webapp of the Tomcat.

It will be automatically generated with every git-commit to this repository. In addition, we are generated a new version with every release of the BiVeS web application through maven..

Using Docker it is very easy and clean to run the web application. Just call

docker run -it --rm -p 1234:8080 binfalse/bives-webapp

and a Tomcat will start and bind to port 1234 of your machine. Go ahead and open http://localhost:1234 to see if it's working! :)

Do not hesitate to contact us if you need assistance.


The BiVeS web application expects an HTTP POST request with a job encoded in JSON. To for example compare the two files at and asking for the HTML report you could launch the following curl call:

curl -d '{

Just replace http://YOUR.BIVES.WEBAPP with the URL to your installation of the BiVeS WebApp (or take our installation at

You'll get more information about the usage and possible options/arguments by browsing to that installation with using your preferred web browser, see our installation for example.

There is a Java WebApp client for accessing the BiVeS WebApp from java based tools.


If you try to access / through an HTTP GET request BiVeS will return a 400 Bad Request status, signalling applications that something's missing and show a usage page in your web browser. That's of course pretty difficult to monitoring for health.. Therefore we implemented /status that will return 200 OK and tell you the BiVeS version that it's running at the moment. You could even evaluate it's content and check for the phrase running just fine :)

Request for comments

We are always keen on getting feedback from our users. If you have any comments, requests for features, or experience any problems do not hesitate to leave a comment.

More Information

To learn more about BiVeS have a look at the BiVeS project and our open-access scientific publication.

The GitHub pages of the SEMS project provide mode information on the BiVeS WebApp.


Artwork and text etc is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License Creative Commons License

The code is licensed under an Apache 2.0 license:

Copyright martin scharm <>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.


No releases published


No packages published


  • Java 100.0%