Wednesday, June 16, 2010

OSLC reference implementations and test suites

There have been a number of implementation efforts underway for various OSLC specifications.
I've heard many requirements including...

for Service Providers:
  • A hosted reference implementation that can react to client consumer requests, to ensure consistent behavior across implementations
  • Make the source code available for download
  • Allow contributions to the source
  • The language it is written in is less important, though some tend towards JEE based
  • A client testsuite that can give level
  • Samples that highlight key integration scenarios
  • A framework in which to quickly enable new implementations
for Consumers:
  • A hosted reference implementation that can react to client consumer requests
  • A reference service provider that can provide feedback on consumer implementations (testsuite)
  • Provide a variety of samples
  • Java client samples and/or SDK
  • Command-line or Perl based samples and/or SDK
  • HTML/Javascript samples and/or SDK

Some current efforts underway:
Some thoughts on technology basis for service provider reference implementation:
  • Apache Wink - REST framework
  • Jena
    - RDF/XML, Turtle parsers and generators
    - Apply custom rules for RDF/XML and Turtle
    - Add JSON support
    - Simple storage
    - Extended to support ResourceShapes
    - Query - mapping of query syntax - oslc.where/select
    - Resource subsets -
  • OAuth - Provider only
    (need good consumer example)
  • Service Discovery
    - Various models combinations of Catalogs and ServiceProviders
  • Web UI
    - Simple example/demo HTML/JS
    - Prefill
    - Via a draft resource creation
    - Via direct prefill and redirect
    - UI Preview
Dave Johnson posted some thoughts as well here. Which are fairly close to this as well.

Feedback and additional requirements as needed.


  1. I do agree we need more (Open Source) OSLC reference implementations.

    Here's a more detailed status update about our efforts : Open Source OSLC-CM implementations in PHP

  2. /me would be very interested to hear about example code in Perl...