Skip to content

Eclipse Lyo - Support for Java Developers

The Eclipse Lyo project supports Java developers with the development of REST-based servers and clients that need to share heterogeneous information as RDF resources.

Eclipse Lyo promotes the use of Linked Data principles and the OSLC (Open Services for Lifecycle Collaboration) standard for publishing lifecycle data, to enable the interoperability of heterogeneous products, services, and other distributed network resources.

Below are the main active components of the Eclipse Lyo projects.

Sample Applications

See Sample applications and code for example applications that are based on Eclipse Lyo. Specifically, check out OSLC Open Project Reference Implementation to see how OSLC works directly with working samples and with a simple server to test against.

Lyo SDK

Lyo's central component is the SDK (Software Development Kit) that helps build REST-based servers and clients, compliant with the OSLC standard.

The library:

  • Allows an OSLC server to publish their RESTful API capabilities, based on the OSLC Discovery approach. This in turn facilitates for clients to discover and use available capabilities.
  • Provides an OSLC server with JAX-RS Providers and utility classes to facilitate the development of REST operations for accessing, creating, updating and deleting RDF resources.
  • Provides an OSLC Client with helpful APIs to interact with OSLC Servers. It provides an additional layer of functionality on top of Apache HttpClient, and JAX-RS Client that can give you a head start on some of the common use cases such as form login, OAuth handling, service discovery, sending queries, and processing query results.
  • Automates the marshaling/unmarshaling of Java objects to/from Linked Data RDF resources (Apache Jena model).

Eclipse IDE Not Required

You do not have to use the Eclipse IDE to use the Lyo SDK. Although much of the documentation assumes you will be using Eclipse, the SDK is available as maven libraries, as detailed in Setup an OSLC Provider/Consumer Application.

Further Information

Lyo Designer

Lyo Designer is an Eclipse plugin that allows one to graphically model (1) the overall system architecture, (2) the information model of the RDF resources being shared, and (3) the individual services and operations of each Server in the system. The figure below shows the information modelling interface:

An example domain specification diagram

Lyo Designer includes a integrated code generator that synthesizes the model into almost-complete Lyo-compliant running implementation.

The resulting code includes:

  • Java classes with appropriate Lyo annotations to reflect the modelled RDF resource shapes
    • This automates the marshaling/unmarshaling of Java instances as Linked Data RDF resources.
  • JAX-RS Service operations for accessing, updating, creating and deleting RDF resources.
    • These operations handle any of the supported formats (turtle, RDF/XML, Json, etc.)
    • For debugging purposes, JSP pages are also produced to deliver HTML representations of all RDF resources.
  • JAX-RS Service operations to completely handle Delegated UI for both creation and selection dialogs.
    • Including the initial generation of basic JSP pages for the html-representation of the dialogs.
  • JAX-RS Service operations to handle Resource Preview
    • Including the initial generation of basic JSP pages for the html-representation of the resource previews.

Lyo Designer supports incremental development, where manual changes to the generated code are preserved upon changes to the model, and subsequent code regeneration.

Further Information

Lyo TRS Support

OSLC Tracked Resource Set (TRS) SDK provides a set of java beans that represent the entities within the TRS specification 2.0. (this specification is being migrated to OASIS, as TRS 3.0 specification.)

Further Information

Additional Components

Additional components of the Lyo project include:

Getting Started

Ready to start developing with Eclipse Lyo? Here are your next steps:

  1. Setup Guide - Configure your development environment
  2. Tutorials - Step-by-step guides to building OSLC applications
  3. Sample Code - Working examples and reference implementations
  4. Migration Guides - Upgrade between Lyo versions