Quantcast
Channel: Planet Apache
Viewing all articles
Browse latest Browse all 9364

Nandana Mihindukulasooriya: Open Services for Lifecycle Collaboration (OSLC) - Open Source Implementations

$
0
0
In this post, I plan to provide some background about open source efforts around Open Services for Lifecycle Collaboration Lifecycle (OSLC) and summarize the information we have gathered about OSLC open source implementations including Mylyn OSLC supportMantis BT OSLC CM ServerFusionForge OSLC CM ServerJenkins OSLC CM PluginNet OSLC PERL libraryBugzilla OSLC adapter, and Eclipse Lyo. I must acknowledge that this study is funded by a project named ALMOSS being executed at the Center for Open Middleware (COM) at Universidad Politécnica de Madrid (UPM).

As Steve Speicher explains in the following presentation (see the previous 2 slides) integrating heterogeneous Application Lifecyle Management (ALM) tools from different domains and different vendors has been a challenging issue for a long time. Michael Fiedler also explains more about this problem in his presentation. Open Services for Lifecycle Collaboration Lifecycle (OSLC) proposes an interesting solution to this problem using Semantic Web and Linked Data principles. If you are not familiar with OSLC, this 4 mins video will provide good introduction.


Recently we have been looking at open source OSLC implementations and I would like to summarize what we have gathered from different sources in the Web (websites, source repositories, blogs, tweets, etc.) about the Open Source OSLC implementations. In this post, I will talk only about the open source implementations, a complete list of OSLC implementations including the commercial ones can be found in the OSLC website under the Software section.

Well, there is some good news and bad news. To start with the bad news, there are not many mature open source implementations available as you would wish for and further most of the available ones are limited to only to the change management domain. However, the good news is that most of the open source efforts seem to converge to Eclipse Lyo project and it is getting its momentum. It will provide an SDK to develop OSLC enabled tools, a set of test suites that can be used as Technology Compatibility Kit (TCK) for OSLC, a set of reference Implementations for OSLC (RIOs), and samples etc. Lyo already has Java and Perl implementations and already looking for expanding to languages like PHP, C#, etc. Lyo 1.0 Release and Graduation Review provides a good overview on about the upcoming v1.0 release of the Lyo project.

We can not talk about OSLC open source implementations without giving a special mention to few pioneers who have pushed the OSLC open source efforts through out the years. Olivier Berger and the other folks from Institut TELECOM have been involved in many of the open source efforts in OSLC and had put a lot of effort to build an open source community for OSLC. Some of their work on Mantis, FushionForge, Jenkins OSLC plugins can be found in his presentation: "OSLC: open standard for interoperability of open source ALM tools" and his blog. Steve Speicher and the folks from IBM Rational also have contributed a lot of their work to the open source community strengthen the open source efforts. Eclipse Lyo project is thanks to their efforts on building an open source community around OSLC specifications. Further, the new governance model proposed in the OSLC Governance update targets to increase participation and adoption by empowering the community to make decisions by moving away from the model where IBM provides de facto governance (with support from other members) to a model where OSLC is governed by a Steering Committee that includes non-IBMers. IMHO, this move also will have a positive impact on building an open source community around OSLC.

Open Source OSLC Implementations

With that background let's take a look at open source OSLC implementations. In the next sections of the post, I will provide summarize the information using the following template.
Information Template
Tool
Application Lifecycle Management tool that is OSLC enabled
Specifications
which OSLC specifications are supported by the implementation
Type
whether the tool is a OLSC provider, consumer, or both
Integration
OSLC implementation done using three approaches: Native Support approach, the Plugin approach, the Adapter approach. Plugins can be native (hosted in the same source repository as the tool and maintained by the tool community) or 3rd party.
Initiation
the stating month of the project (These information were mostly extracted from the source repositories and most of the time corresponds to the initial commit) 
State
Active (frequent activities in the source repo), Maintenance (less activity mostly to keep the implementation up to date with the rest), Active (almost no activity) 
Main contributors
people who developed the implementation ( again, based on the source repository statistics)
Contributor affiliations
companies or projects that supported/ are supporting the implementation
Feature requests
Feature requests in the tool's issue where the progress of the implementation is tracked 
Source
where the source code of the implementation is available
Language
the language programming language the implementation is done
License
which open source licence is used to distribute the source 
Documentation
documentation about the implementation


Mylyn OSLC support

Mylyn is the task and application lifecycle management (ALM) framework for Eclipse. It provides (1) A revolutionary task-focused interface to reduce information overload and to make multi-tasking easy (realigning the IDE around tasks so that you see only the code that's relevant), (2) A task management tool for developers, and (3) A broad ecosystem of Agile and ALM integrations. MyLyn is one of the first open source projects adopt OSLC and it implements an OSLC CM v1.0 capable client.



Tool Mylyn
Specifications Change Management v1
Type OSLC Consumer
Integration Native
Initiation November, 2009
StateMaintenance
Main contributors Steffen Pingel, Robert Elves
Contributor affiliations Tasktop
Feature requestsProduce Java API for OSLC CM 1.0, Other OSLC related issues 
Source org.eclipse.mylyn.oslc.core, org.eclipse.mylyn.oslc.tests, org.eclipse.mylyn.oslc.ui
Language Java
License Eclipse Public License Version 1.0
Documentation Mylyn/OSLC Connectors


Mantis BT OSLC CM Server

Mantis BT is an open source bug tracking system written in PHP. Mantis OSLC CM server plugin provides a REST server module for OSLC integration support for Mantis BT. This implementation is led by Olivier Berger and has been used as the base for both the Mantis BT OSLC plugin and FusionForge OSLC CM Server plugins.



ToolMantis Bug Tracker
SpecificationsChange Management v1
TypeOSLC Provider
IntegrationPlugin (3rd party)
InitiationDecember, 2009
StateInactive (since September 2010)
Main contributorsOlivier Berger (olberger), Madhumita Dhar (mdar), Sabri Labbene (sabrila)
Contributor affiliationsHELIOSCOCLICO Institut TELECOM
Feature requests
SourceHelios platform repository in sourceforge.net
LanguagePHP
LicenseGNU General Public License, version 2
Documentation REST API server module for Mantis
Mantis OSLC-CM Server Roadmap
Demo Service discovery aspects of the OSLC
OSLC Queries
OSLC-CM Creation
OSLC-CM Delegated UIs

FusionForge OSLC CM Server

FusionForge is an web-based project management and collaboration software which provides integration with version control, messaging with message forums and mailing lists, issue tracking, task management etc. FusionForge OSLC CM server plugin provides a REST sever module to allow other tools integrate with FusionForge using OSLC. FusionForge and Mantis OSLC plugins shared the same code-base initially.


ToolFusion Forge
SpecificationsChange Management v2
TypeOSLC Provider
IntegrationPlugin (Native)
InitiationDecember, 2009 (common module with Mantis) 
September, 2010 (in FusionForge source repository) 
State
Maintenance 
Main contributorsSabri Labbene (labbenes), Roland Mas (lolando), Olivier Berger (olberger)
Contributor affiliationsHELIOSCOCLICOInstitut TELECOM
Feature requestsSupport OSLC-CM API to ease integration with ALM platforms
SourceOSLC plugin at FusionForge source repository
LanguagePHP
LicenseGNU General Public License, version 2
DocumentationREST API server module for FusionForge trackers
Introducing OSLC, an open standard for interoperability of open source development toolsICSSEA 2011, Paris, France.
DemoJenkins + FusionForge trackers integration with OSLC delegated creation dialog
Short preview of Jenkins - FusionForge interop over OSLC-CM + OAuthFusion
Forge Live Instance  


Jenkins OSLC CM Plugin


Jenkins is an open source continuous integration server that is used to automate the software build process. The Jenkins OSLC plugin enables Jenkins to act as an OSLC consumer and to integrate with other applications in the change management domain, for example bug trackers. More concretely, this plugin allows creating an issue in a bug tracking system when a build fails.


ToolJenkins
SpecificationsChange Management v2
TypeOSLC Consumer
IntegrationPlugin (Native)
InitiationMarch, 2011
StateMaintenance 
Main contributorsMadhumita Dhar(m-dhar), Olivier Berger(olberger)
Contributor affiliationsHELIOSCOCLICOInstitut TELECOM
Feature requestsOSLC CM Component at issues.jenkins-ci.org
SourceOSLC CM Component at github.com/jenkinsci
LanguageJava
LicenseThe MIT License (MIT)
DocumentationOSLC CM plugin documentation
Introducing OSLC, an open standard for interoperability of open source development tools, ICSSEA 2011, Paris, France.
DemoJenkins + FusionForge trackers integration with OSLC delegated creation dialog
Short preview of Jenkins - FusionForge interop over OSLC-CM + OAuthFusion
Forge Live Instance  


Net OSLC PERL library / Simple Defects

Net-OSLC-CM is a Perl module to help implement an OSLC client for Change Management, according to OSLC CM v2 specification. Stephanie Ouillon, a student of distributed services architecture at Télécom SudParis developed the Net-OSLC-CM module as her second-year project under the supervision of Olivier Berger. In her demo, She used the Net-OSLC perl library to integrate Simple Defects with Bugzilla using OSLC adapters. The code is now contributed to Eclipse Lyo project. Oliver is now looking for new students to continue this project.


ToolPERL library / Simple Defects
SpecificationsChange Management v2
TypeOSLC Consumer
IntegrationAdapter / SDK
InitiationMarch, 2012
StateMaintenance 
Main contributorsStéphanie Ouillon (arroway),  Olivier Berger (olberger)
Contributor affiliationsTélécom SudParis
Feature requestsApp-SD: Implement OSLC-CM consumer to sync to any compliant tracker
SourceNet-OSLC-CM at git.eclipse.org
Net-OSLC-CM at arroway.github.com
LanguagePerl
LicenseEclipse Public License Version 1.0
DocumentationNet-OSLC-CM homepage
Implementing the support of OSLC-CM in the bugtracker SD
DemoEclipse Lyo Perl Modules for OSLC

Bugzilla OSLC adapter

Bugzilla is a popular web-based general-purpose bugtracker originally developed by the Mozilla project. Dave Johnson wrote a great tutorial on "Tutorial: Integrating products with OSLC" which provides a great step-by-step guide to creating an OSLC provider and OSLC consumer implantation using Java. The tutorial provides the source code for a Bugzilla OSLC adapter which is originally committed to OSLC tools project and is now available in the Lyo project.







Tool
Specifications
Type
OSLC Provider / Tutorial
Integration
Adapter 
Initiation
May, 2011
State
Active
Main contributors
Dave Johnson, Samuel Padgett, Steve Speicher, Michael Fiedler
Contributor affiliations
IBM
Feature requests
Source
Language
Java
License
Documentation
Demo

Eclipse Lyo

In November 2010, members of the OSLC community who were developing the test suites or OSLC consumer/provider implementations had made a proposal for an OSLC open source project with an initial contributions from IBM, a set of JUnit test cases that were created by IBM developers for the purpose of testing OSLC implementations in IBM products. That has led to the creation of OSLC tools project in sourceforge.net. 

In June 2011, a proposal to move the OSLC project to Eclipse Foundation under the Eclipse Technology Container project has been established and Eclipse Lyo project has officially started. The OSLC community believes it will give more visibility to the project and also will provide a better governance model under Eclipse Foundation. Eclipse Lyo project is expected to complement other Eclipse projects like Mylyn and Orion.

Eclipse Lyo project is lead by Michael Fiedler and Steve Speicher. The goal of the Eclipse Lyo project is to provide an SDK, including candidate reference implementations, test suites, and code libraries, samples and examples, for enabling OSLC implementations by tools in the ALM, PLM, and IT Service Management across different languages and platforms. “Eclipse Lyo Project” and  “Eclipse Lyo: Re-thinking tool integrations” provide a good overview of Eclipse Lyo project. Eclipse Lyo project contains
  • OSLC4J: Java toolkit for building providers and consumers
  • RIOs: Lyo Reference Implementations for OSLC
  • OSLC Test Suite: Test cases to assess the service provider implementations
  • OSLC Perl client libraries
  • Documentation
  • Samples (eg. adapters for Bugzilla, Excel, Sharepoint)
Though the majority of the Eclipse Lyo project seems to be based on Java, as mentioned in the Lyo proposal Eclipse Lyo contains implementations of other languages. One example is the Perl libraries for OSLC Change Management, Lyo-OSLC and Net-OSLC-CM.

Eclipse Lyo 1.0 Official Release is coming soon !!


Tool
 N/A
Specifications
Type
 SDK / Test Kit / Reference Implementations / Samples
Integration
 N / A
Initiation
 July, 2011
State
 Active
Main contributors
 Dave Johnson, Samuel Padgett, Steve Speicher, Michael Fiedler
Contributor affiliations
 IBM
Feature requests
Source
Language
 Java / Perl
License
Documentation
Demo




Viewing all articles
Browse latest Browse all 9364

Trending Articles