Integrating products with OSLC - Tutorial Overview
Table of Contents
Older version of the tutorial for Lyo 2.1 can be downloaded as pdf.
This tutorial explains how to implement OSLC consumers and providers by examining realistic use cases and showing how to implement OSLC specifications with lots of examples and working code.
WARNING! This tutorial targets Lyo 2.2 and has not been updated to run on Lyo 5.0, the currently supported version. Please post on the forum if you encounter any problems in the tutorial!
This tutorial walks you through a fully developed adapter, with no need to code. If you want to have a more hands-on approach, you can refer to the complementary hands-on tutorial takes you through the incremental programming steps.
It is organized into the following parts:
- This introduction
- A brief overview of OSLC
- Downloading and starting the sample applications
- Part 1, turning Bugzilla into a provider of the Change Management OSLC specification. We'll walk through the architecture of the integration, create OSLC catalogs and representations, provide delegated UIs, and allow you to create Bugzilla bugs programmatically.
- Part 2, turning a home-grown application into a consumer of the Change Management OSLC specification that works with the Bugzilla adapter from Part 1. We'll implement links to Bugzilla bugs, UI previews, delegated UIs, and automated bug creation.
This tutorial is for people who will be writing code to implement OSLC consumers and providers; we assume the following about you:
- You understand the basics of software development, web architecture, HTTP, linked data, and RDF
- You want to learn more about OSLC
- You can understand server-side programming languages, particularly in Java and JSP (see below)
- You want to learn more about how Eclipse Lyo can help you more quickly develop OSLC-driven integrations
On the choice of server-side programming language Although our sample applications use Java and JSP, many of the methods of implementing OSLC are the same regardless of your choice of server-side programming-language. Later versions of this document might expand to other languages and platforms. OSLC is a community effort and we'd love your help in adding examples in different programming languages to this tutorial (or other material) to help those on other platforms such as Perl, PHP, Python, Ruby, or .Net.
You can follow along with the OSLC Tutorial by using the following software:
- Bugzilla: a common open-source defect tracking application. In this tutorial, you will configure a running Bugzilla system using Docker if you do not want to set up your own Bugzilla application.
- OSLC4J Bugzilla adapter: a full-featured adapter that presents Bugzilla bugs as OSLC Change Management v2 resources. In our examples, we assume the Bugzilla adapter is running at http://localhost:8080/OSLC4JBugzilla
- NinaCRM: A simple, fictional Customer Relationship Management (CRM) system that hosts OSLC UI Preview and OSLC Delegated UI examples, implemented as a Java EE web application. In our examples, we assume that NinaCRM is running at http://localhost:8181/ninacrm
- Poster browser plugin (for Firefox or Chrome): we will browse and manipulate OSLC resources with this plugin that makes it easy to issue HTTP requests and set custom headers. An alternative for Firefox is RESTClient.
For more information, see our section about downloading, building, and starting the NinaCRM and OSLC4J Bugzilla applications.
Get Started: A brief overview of OSLC