/epics2web

EPICS CA Web Gateway

Primary LanguageJavaOtherNOASSERTION

epics2web Java CI with Gradle Docker

A gateway server and accompanying JavaScript client API to monitor EPICS Channel Access over Web Sockets. A caget-like JSON web service endpoint is also provided.

MonitorTest



Quick Start with Compose

  1. Grab project
git clone https://github.com/JeffersonLab/epics2web
cd epics2web
  1. Launch Docker
docker compose up
  1. Monitor test PV via web browser

http://localhost:8080/epics2web/test-camonitor

PV name: HELLO

See: Docker Compose Strategy

Install

  1. Download Apache Tomcat
  2. Download epics2web.war and drop it into the Tomcat webapps directory
  3. Start Tomcat and navigate your web browser to localhost:8080/epics2web

Note: epics2web also works and was tested with GlassFish, and presumably works with WildFly or any other Java web application server that supports Web Sockets.

Note: The dependency jars are included in the war file that is generated by the build. You can copy the jar files from project lib directory to the Tomcat lib directory and change the build.gradle script to use providedCompile instead of implementation if you'd prefer to include the dependencies that way.

API

API Reference

Configure

This application uses the Java Channel Access library. It requires a working EPICS channel access environment with the environment variable EPICS_CA_ADDR_LIST set. See Also: Advanced Configuration.

Build

This project is built with Java 17 (compiled to Java 8 bytecode), and uses the Gradle 7 build tool to automatically download dependencies and build the project from source:

git clone https://github.com/JeffersonLab/epics2web
cd epics2web
gradlew build

Note: If you do not already have Gradle installed, it will be installed automatically by the wrapper script included in the source

Note for JLab On-Site Users: Jefferson Lab has an intercepting proxy

See: Docker Development Quick Reference

See Also