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 lyo-dev@eclipse.org mailing list and introduce yourself. 18 © 2012 IBM Corporation