Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

Similar documents
Eclipse Lyo: Re-thinking tool integrations

Lyo OSLC4J and OSLC Test Suite 1.0 Release and Graduation Review

OSLC Consumer with Eclipse Lyo Project

Managing your Agile ALM Process with JasForge OSLC Forge and Lyo SDK DJAAFAR Karim

Gemini DBAccess Release Review February 2013

Dali JPA Tools Project Graduation Review

CO Java EE 6: Develop Web Services with JAX-WS & JAX-RS

Project Proposal: OSLC4MBSE - OMG SE and OSLC working group as part of the OMG SE DSIG. OSLC for Model-Based Systems Engineering Interoperability

OpenECOMP SDC Developer Guide

DOC // JAVA TOMCAT WEB SERVICES TUTORIAL EBOOK

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

Spring Web Services Tutorial With Example In

From the RCP Book To Reality. Jean-Michel Lemieux IBM Rational, Ottawa, Canada

GAVIN KING RED HAT CEYLON SWARM

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

SDP22: The IBM Jazz Foundation and the IBM

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

juddi Developer Guide

AWS Lambda. 1.1 What is AWS Lambda?

Overview of Web Application Development

RESTful Java Web Services

Excel Xml Xsd Validation Java Using Jaxb

Equinox Project 3.6 Release Review

MAVEN MOCK TEST MAVEN MOCK TEST I

Jazz for Service Management Version 1.1. Offering Guide

ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler

Using Apache Felix: OSGi best practices. Marcel Offermans luminis

Breaking Apart the Monolith with Modularity and Microservices CON3127

JENA: A Java API for Ontology Management

REST WEB SERVICES IN JAVA EE 6 AND SPRING 3. Srini Penchikala Austin Java User Group March 30, 2010

DDS Connector Sept, Gianpiero Napoli, Senior Software Engineer

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review

FILE - JAVA WEB SERVICE TUTORIAL

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

Some Virgo Repositories. steve powell -

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

The p2 Provisioning Platform. Eclipse European Summit - Ludwigsburg. Oct 27-29, 2009 Henrik Lindberg, Cloudsmith Inc

Adobe Experience Manager

Object Teams Release Review. Planned Review Date: July 7, 2010 Communcation Channel: Submitted by: Stephan Herrmann

OSGi on the Server. Martin Lippert (it-agile GmbH)

"Web Age Speaks!" Webinar Series

Rationalizing Android Development. Philipp Kumar

Equinox Project Update

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

JakartaEE and the road ahead An ASF View. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien

ECLIPSE JAVA DOCUMENTATION

Skyway Builder 6.3 Reference

Developer: Chaithanya Krishna Gogineni Graduate Teaching Assistant Software Engineering Computer Science Department Northern Illinois University

com Spring + Spring-MVC + Spring-Boot + Design Pattern + XML + JMS Hibernate + Struts + Web Services = 8000/-

Eclipse SOA Tools Platform Project

Learning Objectives of CP-SAT v 1.3

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Migrating traditional Java EE applications to mobile

JAVA. 1. Introduction to JAVA

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

uick Start Guide 1. Install Oracle Java SE Development Kit (JDK) version or later or 1.7.* and set the JAVA_HOME environment variable.

SDD Proposal to COSMOS

RESTful -Webservices

Chris Schalk Ryan Boyd

e4 Project 0.9 Release Review

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich

Cisco UCS Director API Integration and Customization Guide, Release 5.4

Packaging Data for the Web

Creating RESTful web services with Spring Boot

How to implement an OSLC Provider with OSLC4J

Learning Objectives of CP-SAT v 1.31

From Java EE to Jakarta EE. A user experience

ActiveVOS Technologies

TPTP 4.7 Release Review -- One Quick Foil What s new

Community Participation in the JCP Program: a winning combination November 2012

Developing RESTful Services Using JAX-RS

Not just an App. Server

Eclipse Memory Analyzer Graduation, Move and 1.0 Release Review

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Developing Solutions for Google Cloud Platform (CPD200) Course Agenda

extensible Access Method (XAM) - a new fixed content API Mark A Carlson, SNIA Technical Council, Sun Microsystems, Inc.

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

RESTful SCA with Apache Tuscany

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

m2e 1.2 Release Review

Copyright 2018 Eclipse Foundation, Inc.

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Soap Based Web Services In Java Tutorial Eclipse Jboss

JVA-563. Developing RESTful Services in Java

2 Apache Wink Building Blocks

Open Source Library Developer & IT Pro

Telecommunication Services Engineering Lab

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Enterprise JavaBeans, Version 3 (EJB3) Programming

JCP 2.8 Progress Report Public EC Meeting. Heather VanCura 20 November 2012

Using SMI-S with the Cloud Data Management Interface Scott Baker September 21th, 2010

ArcGIS Runtime SDK for Android: Building Apps. Shelly Gill

Authentication in the Cloud. Stefan Seelmann

Spring Dynamic Modules

IBM Rational Software

Open source software libraries used in ConnectAll

Advanced Java Testing. What s next?

Transcription:

Eclipse Lyo Overview http://eclipse.org/lyo Michael Fiedler, Eclipse Lyo committer 1

Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 2

OSLC Specifications OSLC Core spec defines HOW to use HTTP and RDF, how to define resources and services Defines some common resource types and properties OSLC domain specs (Change Management, Requirements, etc.) Define WHAT resources and services required in the domain Resource types, properties and relationships Service providers, creation factories, query capabilities, operations But, what do I do with an OSLC spec? How do I use it for real integrations? Commercial tools available with OSLC APIs Many organizations developing OSLC integrations in-house Educational and research institutions developing tool integrations based on OSLC Would be good to have open source sample code, SDKs, tests, etc to help get started. 3

4

Eclipse Lyo Evolution of OSLC tool repositories on SourceForge and some private to OSLC community participants Project approved by Eclipse PMC in July 2011 with the goal of providing an SDK to enable adoption of OSLC specifications, including Code libraries Reference implementations of specifications Test suites and test reporting Samples, tutorials and documentation NOT a plugin for the Eclipse IDE, NOT related to OSGI although Lyo artifacts could be used in Eclipse plugins. Eclipse chosen as the home for the project for its mature governance model and IP policies. Eclipse community includes tool vendors and tool interop projects. Other participants in the OSLC community are also active in Eclipse projects related to OSLC. Tasktop (Mylyn) Oracle (Hudson) Institut Telecom Project content is dual-licensed under the Eclipse Public License and the Eclipse Distribution License 5

Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 6

Initial Lyo Content Initial code contributions live in September 2011 Reference Implementations for OSLC (RIOs) for the Change, Requirement and Architecture Management specifications. Provides samples of implementations Enable prototyping and experimentation during spec development Possible starting point for integration adapters or new service providers Co-developed with the OSLC test suite to improve both OSLC Test Suite and Reports Measure implementation compliance against Core and domain specifications Improve implementation quality by finding bugs Currently covers core and CM. Other domains will follow Initial focus is on MUST items, followed by SHOULD and MAY Reports provide both summary and detailed results Samples Change Management adapter for Bugzilla Change Management adapter for Microsoft Excel 7

Plans for new content in 2012 Code libraries OSLC4J SDK for Java with example implementations Other technologies (.NET, PHP, JavaScript, Python, Perl) Code contributions welcome Test Suites Increase domain coverage Increase specification coverage within domains Move the tests towards a true compliance suite Samples OAuth consumer and provider samples Sample integrations with Microsoft products Sample integrations with Rational Jazz products OSLC Workshop/Tutorial code 8

Where is Lyo at today? See project plans at: http://wiki.eclipse.org/lyo/projectplans M1/M2 Milestones M1 (4Q2011) Focus was on test suite enhancements 90% MUST coverage for Core and Change Management Test suite reporting Many bug fixes and enhancements M2 (1Q2012) OSLC4J SDK for Java initial contribution of source Example implementations based on OSLC4J Start release engineering work to build consumable jars Continue test suite work Additional domains (QM) Improvements to core tests What s not there yet As of today, need to build the OSLC4J SDK and test suite from source OSLC4J consumable JARs are close working on publishing to Eclipse s Maven repo. 9 Getting started: http://wiki.eclipse.org/lyo

Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 10

OSLC Test Suites OSLC Core and Domain coverage Initial focus on Core and CM testable MUSTs QM coverage underway Code contributions welcome Test suite as an OSLC consumer Example of how to interact with an OSLC provider Does not yet include OAuth interactions Patterns for GET/POST/PUT Patterns for validating and handling RDF using Jena Getting started with the tests and reports: http://wiki.eclipse.org/lyo/buildtestsuite 11

OSLC Test Suite As an OSLC Compliance Assessor Coverage Metrics Distinct Compliance Levels 12

OSLC Test Suite As an OSLC Adoption Accelerator Provide Documentation Provide Troubleshooting Tips Provide Test Strategy Guidance Help Setup/Configure Help to learn OSLC specs - In-line Code Comments - OSLC spec and test mapping 13

Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 14

OSLC4J Overview Getting started: http://wiki.eclipse.org/lyo/buildingoslc4j Java SDK for OSLC provider and consumer implementations Based on OSLC related Java annotations and JAX-RS for REST services Includes a Change Management reference implementation and other samples Modular structure avoids forcing dependence on specific technologies. Jena and Apache Wink provide RDF, JSON and JAX-RS capabilities out the box Implementers can choose to use OSLC4J with other providers such as OpenRDF and Jersey What OSLC4J and JAX-RS handle for you Resource shapes and service provider documents Marshaling of Java objects to RDF (XML or JSON) Un-marshaling of RDF (XML or JSON) to Java objects Mapping REST service calls (GET, POST, PUT, DELETE) to Java methods What OSLC4J and JAX-RS do not handle for you Persistence of your OSLC resources Business logic for mapping Java objects to native resources Automatic support for OSLC query syntax (working on some helpers) 15

Implementing providers with OSLC4J JAX-RS Application Some basics Set up an OslcWink application (extends JAX-RS Application class) 16

Implementing providers with OSLC4J - Namespaces Some basics Tell OSLC4J what namespaces you are going to use 17

Implementing providers with OSLC4J Annotating Resources Model OSLC resources with Plain Old Java Objects Tell OSLC4J which class maps to an OSLC resource type (e.g. ChangeRequest) OSLC Java notations to decorate POJOs Decorate the getters for resource attributes with resource shape information (OSLC name, description, range, cardinality, read/write ability). 18

Implementing providers with OSLC4J Annotating Services Decorate Java methods with OSLC and JAX-RS annotations HTTP GET for all ChangeRequests supports RDF XML, XML and JSON 19

Implementing providers with OSLC4J Decorate Java methods with OSLC and JAX-RS HTTP POST to create new ChangeRequest 20

OSLC consumers using OSLC4J OSLC REST Client based on Apache Wink Included in the OSLC4JWink project Methods to Get/Create/Update/Delete OSLC Resources Handles Java/RDF marshaling Requires same POJO resource definitions used by the service provider See the OSLC4J Junit Tests for examples of using the client 21

Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 22

OSLC4J Samples Change Management provider Working on delegated UI, but provider available Stock Quote provider example of OSLC app not based on a current domain specification Uses OSLC core techniques to define a new resource type (StockQuote) OSLC4J Registry application Implementation of a standalone OSLC catalog registry server REST API to allow service providers to register/de-register themselves Used by the OSLC4J CM and StockQuote samples 23

Other samples and reference implementation Bugzilla Adapter Full CM service provider adapter for Bugzilla Includes OAuth and Rational Jazz rootservices support Good example for connecting to Rational Jazz OSLC providers OAuth sample web app Sample code for handling OAuth tokens and authentication Reference implementations for OSLC (RIOs) Example OSLC providers built using OpenRDF and a traditional servlet approach Change, Architecture and Requirement Managemt providers Include simple delegated UIs Includes OSLC query support (oslc.where) Microsoft Excel change management adapter Example of exposing rows of an Microsoft Excel sheet as change requests Map columns to OSLC attributes 24

Agenda Eclipse Lyo background Content and Plans Test Suites OSLC4J Samples Next Steps 25

Participating in Lyo Participating in Lyo Lyo is currently source only goal to have builds of consumable jars starting in February 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. 26

Resources OSLC Web Site http://open-services.net OSLC Primer http://open-services.net/primer OSLC Tutorial http://open-services.net/tutorial Open source - Eclipse Lyo Project http://eclipse.org/lyo http://wiki.eclipse.org/lyo 27

Questions? Questions? 28

Backup OSLC4J project mapping - repo is git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.core.git OSLC4J Core project OSLC4JJenaProvider RDF and RDF/XML provider based on Jena OSLC4JJSON4JProvider Apache Wink JSON4J provider OSLC4JWink Apache Wink JAX-RS provider + OSLC client OSLC4JRegistry Sample catalog registry application. OSLC4JTest Test provider OSLC4JTestTest Junit Tests for Test provider OSLC4JStockQuote Stock Quote provider OSLC4JStockQuoteCommon Stock Quote common classes OSLC4JStockQuoteTest Junit Tests for StockQuote provider OSLC4JCoreRelEng- release engineering files (master pom.xml for Maven) OSLC4J Change Mgmt sample repo is : git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git OSLC4JChangeManagement CM provider OSLC4JChangeManagementCommon CM common classes OSLC4JChangeManagementTest Junit tests for CM provider 29