Eureka! Clinical Common Web Application Framework
Georgia Clinical and Translational Science Alliance (Georgia CTSA), Emory University, Atlanta, GA
What does it do?
It implements a custom web application development framework that uses best of breed components:
- Google Guice 3.0 (dependency injection)
- Jersey 1.19.4 (REST)
- Hibernate 5.0.12.Final (object-relational mapping)
- Tomcat 7
It supports calling these components through the standard APIs specified in and provided by the Eureka! Clinical Web Application Standard APIs project.
It extends the functionality in the Eureka! Clinical Web Application Standard APIs project with the following features and implementations:
- REST communication objects for users, roles, groups and authorization templates (
org.eurekaclinical.common.comm
) - Base classes for implementing REST clients (
org.eurekaclinical.common.comm.clients
) - Base classes for implementing Guice modules (
org.eurekaclinical.common.config
) - Servlet filters for user authorization (
org.eurekaclinical.common.filter
) - Servlets for login and logout; destroying a session; and proxying (
org.eurekaclinical.common.servlet
)
See Structure of Eureka! Clinical microservices for how to use the framework. The goal for the version 2.0 release is for all Eureka! Clinical web application components to use this framework.
Version 3.0
- Removed RolesFromServiceFilter because Eureka! Clinical webapps no longer need role information.
- Removed WebappServletModule, which was superceded by APIGatewayServletModule.
- Removed AbstractAuthorizingServletModule and AbstractAuthorizingJerseyServletModule, which are unused.
- Add POST and PUT calls for passing a string into an Eureka! Clinical API gateway proxy.
- Require version 2.1 or greater of eurekaclinical-standard-apis.
Version 2.0
The goal of the 2.0 series is to have sufficient functionality for all Eureka! Clinical web applications to depend on eurekaclinical-common.
Version 1.0
Implemented partial functionality, and only some parts of Eureka! Clinical used it.
Build requirements
Runtime requirements
Building it
The project uses the maven build tool. Typically, you build it by invoking mvn clean install
at the command line. For simple file changes, not additions or deletions, you can usually use mvn install
. See https://github.com/eurekaclinical/dev-wiki/wiki/Building-Eureka!-Clinical-projects for more details.
Maven dependency
<dependency>
<groupId>org.eurekaclinical</groupId>
<artifactId>eurekaclinical-common</artifactId>
<version>version</version>
</dependency>
Developer documentation
Getting help
Feel free to contact us at [email protected].