Transcript ppt

Eclipse Lyo Update
http://open-services.net
http://eclipse.org/lyo
1
© 2012 IBM Corporation
Agenda
 OSLC4J and Lyo update
 Client libraries
 Test suite update
 Future plans
2
© 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
3
© 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

4
Working samples of OSLC integrations with Bugzilla, Excel, Jazz tools and more.
© 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
5
© 2012 IBM Corporation
OSLC4J Sample code
Resource annotations
JAX-RS service annotations
6
© 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 lacking
Basic 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
7
© 2012 IBM Corporation
Agenda
 OSLC4J and Lyo update
 Client libraries
 Test suite update
 Future plans
8
© 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
9
© 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
10
© 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
11
© 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
12
© 2012 IBM Corporation
Agenda
 OSLC4J and Lyo update
 Client libraries
 Test suite update
 Future plans
13
© 2012 IBM Corporation
OSLC Test Suite Update
 OSLC Test Suite and Reports
14

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
© 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
15
© 2012 IBM Corporation
Agenda
 OSLC4J and Lyo update
 Client libraries
 Test suite update
 Future plans
16
© 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
17
© 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.
18
© 2012 IBM Corporation