A showcase application to demonstrate capabilities of Apache Isis project by implementing OMG SEMAT Essence Kernel model and running it on Red Hat OpenShift
See live demo running on a free OpenShift Online account at http://semat.ofbizian.com or direct URL (may be outdated) http://semat-semat.193b.starter-ca-central-1.openshiftapps.com/
- Manage multiple projects per tenant
- Manage project Alpha states
- Custom Essence Alpha state list per tenancy
- Custom Essence Checklist items per tenancy
- Alpha state spider/radar diagram
- Automatic Apache Wicket based UI generation from domain model
- Automatic REST API generation from the same domain model
- Self Signup/Registration
- Multi Tenancy
- LDAP integration
- Auditing
- Session logging
- Internationalization
mvn clean install
cd webapp
mvn jetty:run
mvn clean install
docker build --rm -t bibryam/semat .
docker run -p 8080:8080 bibryam/semat
mvn clean install
cd webapp
mvn clean install docker:build docker:start -Pdocker
http://localhost:8080/
user:user - a default tenant user with two example projects and configuration.
admin:admin - admin user with full access but no part of any tenancy.
Create an OpenShift Online account. Notice, even the free tier account is enough to try out the application. Install OpenShift client locally (oc) and login to OpenShift. The following commands will run the latest SEMAT Docker image and expose its URL to outside world.
oc new-project semat
oc new-app bibryam/semat:latest -e CATALINA_OPTS=“-Xmx300m”
oc expose service semat
The process takes some time as it has to download the Docker images and there are not much free resources on a free tier account. Notice also we limit Tomcat heap size in order to run in a Docker container with 512MB memory. After few minutes, you should be able to access your SEMAT instance.
If you do not trust Docker images build by others (you should not!) then you can build your own Docker image as shown above with options 2 and 3 and push it your own docker registry and create the app from it: oc new-app your_name/semat:latest -e CATALINA_OPTS=“-Xmx300m” Alternatively, you could avoid installing and running Docker completly, and have the source code and the docker image build on OpenShift. That is called OpenShift Source-to-Image approach. You can do this from OpenShift UI by using for example "Red Hat JBoss Web Server 3.1 Tomcat 8 1.0" template and pointing to the SEMAT github repo.
Or use the template provided here:
oc create -f semat-openshift-template.json
oc process semat
Using source to image approach allows setting up webhooks, have a Red Hat base image, have jolokia added, memory configuration done, etc.