Eclipse Lyo Update open-services eclipse / lyo

18
1 © 2012 IBM Corporation Eclipse Lyo Update http://open-services.net http://eclipse.org/lyo

description

Eclipse Lyo Update http://open-services.net http:// eclipse.org / lyo. Agenda. OSLC4J and Lyo update Client libraries Test suite update Future plans. Eclipse Lyo. Eclipse Lyo 1.0 officially released 10/10 Address Challenges in Adoption - PowerPoint PPT Presentation

Transcript of Eclipse Lyo Update open-services eclipse / lyo

Page 1: Eclipse  Lyo  Update open-services     eclipse / lyo

1© 2012 IBM Corporation

Eclipse Lyo Updatehttp://open-services.net http://eclipse.org/lyo

Page 2: Eclipse  Lyo  Update open-services     eclipse / lyo

2© 2012 IBM Corporation

Agenda

OSLC4J and Lyo update

Client libraries

Test suite update

Future plans

Page 3: Eclipse  Lyo  Update open-services     eclipse / lyo

3© 2012 IBM Corporation

Eclipse Lyo

Eclipse Lyo 1.0 officially released 10/10

Address Challenges in Adoption Library to build Providers and Consumers

Test Suites to validate implementations

Samples

Eclipse Lyo was just a thought 18 months ago

http://eclipse.org/lyo

Page 4: Eclipse  Lyo  Update open-services     eclipse / lyo

4© 2012 IBM Corporation

Eclipse Lyo

Eclipse project created with the goal of providing tools to enable adoption of OSLC specifications.

Content includes

– Code libraries (Java, Perl, others under development)

Give developers tools to ease OSLC implementations

– Reference implementations of specifications

Provide a starting point for new integrations

– Test suites and test reporting. Covers OSLC Core, CM, QM, RM and Asset today.

Accelerate and assess development

– Samples, tutorials and documentation

Working samples of OSLC integrations with Bugzilla, Excel, Jazz tools and more.

Page 5: Eclipse  Lyo  Update open-services     eclipse / lyo

5© 2012 IBM Corporation

Code Libraries - Java

OSLC4J - Java library for OSLC provider and consumer implementations Based on OSLC-related Java annotations and JAX-RS for REST services

Modular structure avoids forcing dependencies on specific technologies.

Jena and Apache Wink provide RDF, JSON and JAX-RS capabilities out the box

Serialization/Deserialization of annotated POJOs to/from RDF/XML, JSON and OSLC Compact

JAX-RS annotation of Java methods representing OSLC GET/PUT/POST/DELETE

Takes care of building OSLC artifacts like Service Provider and Resource Shape docs

Samples implemented in OSLC4J Change Management, Quality Management, Automation Specifications

– Good “stub” provider examples

– Currently missing query and delegated UIs (Automation delegated UIs almost ready)

Bugzilla Adapter

– Full set of delegated Uis

– Supports OSLC queries

– Has been used as a base for some production usages

Page 6: Eclipse  Lyo  Update open-services     eclipse / lyo

6© 2012 IBM Corporation

OSLC4J Sample code

Resource annotations

JAX-RS service annotations

Page 7: Eclipse  Lyo  Update open-services     eclipse / lyo

7© 2012 IBM Corporation

Where is OSLC4J and Lyo at today?

Recently had 1.0 release + graduation from Eclipse Incubator status

OSLC4J + Test suites

Packaged with Eclipse Foundation approved versions of dependencies

Also packaged without dependencies for consumers which have their own approved versions of the dependencies

Currently being used in shipping commercial and non-commercial OSLC integrations

Documentation and “How To” guides are lackingBasic Javadoc is there

Need a cookbook for putting together an implementation

OSLC Workshop (see the docs) repository provides some of this

Anyone can help with these – start a page on the Wiki or update an existing page

Page 8: Eclipse  Lyo  Update open-services     eclipse / lyo

8© 2012 IBM Corporation

Agenda

OSLC4J and Lyo update

Client libraries

Test suite update

Future plans

Page 9: Eclipse  Lyo  Update open-services     eclipse / lyo

9© 2012 IBM Corporation

Client libraries

OSLC4J and its samples are tilted towards provider implementations CM, QM, Bugzilla samples are all providers

JAX-RS service examples are for provider or adapter implementations

OSLC4J and JAX-RS concepts are a good fit for consumers too Java definitions of OSLC resources

JAX-RS/Wink client APIs to access resources from a consumer

New work in Lyo to add libraries focused on consumer scenarios Java and non-Java

Page 10: Eclipse  Lyo  Update open-services     eclipse / lyo

10© 2012 IBM Corporation

Code Libraries – Java Client

Java OSLC and Jazz client library

Uses OSLC4J as its basis

Generic OSLC client API

Resource definitions (ChangeRequest, TestCase, AutomationPlan, etc)

GET/PUT/POST/DELETE APIs

Serialize/De-Serialize Java representations of OSLC resources to/from RDF/XML and JSON

Handles query and paging

Jazz-specific add-on APIs and classes

Rootservices handling

Jazz form login

Samples:

RTC

RQM

Sample Automation consumer

Under active development – looking for contributions

Page 11: Eclipse  Lyo  Update open-services     eclipse / lyo

11© 2012 IBM Corporation

Code Libraries – Other Java Libraries

OSLC Query Library Assists with parsing and manipulating OSLC queries

Handles oslc.where, oslc.select, oslc.orderBy, oslc.searchTerms and oslc.prefix

Handles wildcards and property nesting.

Uses Antlr package to parse/lex OSLC query syntax

Utility class to invoke parsers and return structured objects representing query clauses

Example implementation in the OSLC4J Bugzilla adapter

OAuth Library Set of packages + web app intended to ease adding OAuth 1.0/1.0a provider support to an application

• Core package : provides basic configuration and validation services

• Consumerstore package : provides persistence of consumer and token information

• Webapp package : WAR for request/access token handling + basic UI for key management and approval

• Uses Googlecode OAuth library

• Adoption/Sample usage

• OSLC4J Bugzilla sample

Page 12: Eclipse  Lyo  Update open-services     eclipse / lyo

12© 2012 IBM Corporation

Code Libraries – non-Java

Perl client libraries Lyo::OSLC

Client library geared towards Rational OSLC CM implementations (RTC and CQ)

Use case is for GET/Query/Read scenarios

Net::OSLC::CM

Client library geared towards Bugzilla and Simple Defects (synchwith.us)

Perl representations of OSLC Catalog, ServiceProvider, ChangeRequest

Use case is also around GET/Query/Read scenarios

See http://open-services.net/resources/presentations/eclipse-lyo-perl-modules-mini-cast-3-pack for a recent webcast.

• OSLC4Net – C# SDK for provider and consumer implementations

• Contribution is being readied - not yet available

• Based on OSLC4J – approach uses C# annotations

• Uses dotNetRDF (RDF marshalling/unmarshalling) and ASP.NET MVC 4 (REST services)

• Includes Change Management implementation

Page 13: Eclipse  Lyo  Update open-services     eclipse / lyo

13© 2012 IBM Corporation

Agenda

OSLC4J and Lyo update

Client libraries

Test suite update

Future plans

Page 14: Eclipse  Lyo  Update open-services     eclipse / lyo

14© 2012 IBM Corporation

OSLC Test Suite Update OSLC Test Suite and Reports

Measure implementation compliance against Core and domain specifications

Improve implementation quality by finding bugs

Initial focus is on MUST items, followed by SHOULD and MAY

Reports provide both summary and detailed results

Page 15: Eclipse  Lyo  Update open-services     eclipse / lyo

15© 2012 IBM Corporation

What’s new in the test suite

Coverage of Asset and Quality Management specs added in July

Initial coverage for Requirements Management added in September

Some re-factoring of test suites to improve Re-use of common code

Isolate OSLC Domain tests (CM/QM/AM/RM) from OSLC Core tests

Improvements for running reports

Suites are being used for regression and development testing by several products and organizations

Areas for enhancements Drive tests from resource shapes and service provider documents

OAuth tests

Use OSLC4J for higher level tests

Page 16: Eclipse  Lyo  Update open-services     eclipse / lyo

16© 2012 IBM Corporation

Agenda

OSLC4J and Lyo update

Client libraries

Test suite update

Future plans

Page 17: Eclipse  Lyo  Update open-services     eclipse / lyo

17© 2012 IBM Corporation

Future contents

4Q2012 or 1Q2013 Package client libraries and dependencies for easier consumption

Package query library with OSLC4J and standalone

Improve documentation

Themes for future releases:

• SDKs for technologies other than Java (Python, JavaScript/Node.js, .NET, etc)

• Test suite improvements (additional domain coverage, improved depth of test cases, improved reporting)

• API stabilization

• Improved documentation

• Usability

Page 18: Eclipse  Lyo  Update open-services     eclipse / lyo

18© 2012 IBM Corporation

Participating in Lyo

Participating in Lyo Looking for developers interested in promoting OSLC adoption by developing SDKs, reference

implementations, compliance tests and examples

Visit http://wiki.eclipse.org/Lyo to get more info, see milestone plans, etc

Open Bugzilla requests at: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Lyo

Subscribe to the [email protected] mailing list and introduce yourself.