190 likes | 392 Views
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
E N D
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 • 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
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.
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
OSLC4J Sample code Resource annotations JAX-RS service annotations
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
Agenda • OSLC4J and Lyo update • Client libraries • Test suite update • Future plans
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
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
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
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
Agenda • OSLC4J and Lyo update • Client libraries • Test suite update • Future plans
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
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
Agenda • OSLC4J and Lyo update • Client libraries • Test suite update • Future plans
Future contents • 4Q2012 or 1Q2013 • Package clientlibrariesanddependenciesforeasierconsumption • Package querylibrarywith OSLC4J andstandalone • Improvedocumentation Themesforfuturereleases: • SDKs fortechnologiesotherthanJava (Python, JavaScript/Node.js, .NET, etc) • Test suiteimprovements (additional domaincoverage, improveddepthoftestcases, improvedreporting) • API stabilization • Improveddocumentation • Usability
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.