You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 16, 2022. It is now read-only.
WARNING: Reference implementations in this repository are out of date. See OSLC RefImpl 2020 for the most recent reference implementation of OSLC servers.
RIO is a simple, bare-bones reference implementation of the OSLC specifications. It is written in Java as a standard Java EE web applications with minimal dependencies. It is intended to help those who are adopting OSLC by providing a functioning system that can be explored via a simple UI and REST services, or by taking a look at the source code.
Getting started
Read the rest of this README to understand the goals of this repository better.
Run the oslc.v3.sample application by following its README
Introduction
This document gives you a quick overview of the original Reference Implementation for OSLC (RIO), explain how RIO is organized and how to build and run the code. There are newer RIOs that leverage OSLC4J to which some of the information below applies, but not all.
RIO is a simple, bare-bones reference implementation of the OSLC specifications. It is written in Java as a standard Java EE web applications with minimal dependencies. It is intended to help those who are adopting OSLC by providing a functioning system that can be explored via a simple UI and REST services, or by taking a look at the source code.
Goals of RIO
The goals of RIO are:
Provide minimal reference implementation of the OSLC specifications
Provide a tool for provider and consumer implementations to reference and experiment with
Provide a framework to prototype proposed additions to the OSLC specifications
RIO is not intended to be:
A full implementation of OSLC
A full featured ALM tool
A performance benchmark
A framework or SDK
RIO architecture
RIO is a standard Java EE web applications with minimal dependencies and it organized into four modules.
Modules and Dependencies
RIO is organized into the following components:
RIO Core JAR - base classes for services, RDF triple store and query syntax parser
RIO Core Webapp - common JSP pages and static resources used by RIO web applications
RIO CM Webapp WAR - the RIO Change Management web application
RIO AM Webapp WAR - the RIO Architecture Management web application
RIO RM Webapp WAR - the RIO Requirements Management web application
The major dependencies of RIO are:
Java Servlet API
Java Server Pages (JSP)
Open RDF / Sesame RDF parser and triple-store
ANTLR parser generator
Maven build system
We choose to use a very minimal set of dependencies for RIO because we want it to be really simple. The web parts of RIO are implemented with only the Servlet API and JSP pages. For simplicity's sake, there is no webapp framework, no Dojo and no OSGI.
For RDF, we choose to use !OpenRDF / Sesame over Jena because it seemed easier to work with.
For the build, we chose Maven for these reasons:
Allows developers to very easily *build and run RIO with any IDE or no IDE at all*, i.e. via command-line