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