Difference between revisions of "Lyo/TRSSDK"

(New page: = Test = <br> toolkit-trs-core The goal of the toolkit-trs-core library is to provide a simple set of java beans that represent the entities within the TRS specification. Additionally, a...)

The [http://open-services.net/wiki/core/TrackedResourceSet-2.0/ Tracked Resource Set (TRS)] Software Development Kit (SDK) consists of two primary pieces; a toolkit and reference applications.

−

<br> toolkit-trs-core The goal of the toolkit-trs-core library is to provide a simple set of java beans that represent the entities within the TRS specification. Additionally, a convenient set of string constants that represent the TRS properties is provided through the toolkit-core dependency within. Beans TrackedResourceSet Base AbstractChangeLog ChangeLog EmptyChangeLog ChangeEvent Creation Modification Deletion

+

<br>

−

<br> toolkit-trs-enhanced No toolkit for the enhanced tier is provided at this time.

+

= TRS SDK Prerequisites =

−

<br> toolkit-trs-deluxe The goal of the toolkit-trs-deluxe library is to provide the most inclusive library stack for adopting TRS. This library has the most dependencies and is usually more suited for newer project developments looking to get the biggest headstart . Additionally, a concrete example of this framework is implemented in the TRS Reference application. This library framework will provide the ability for: Generating the TRS services via JAX-RS using Apache Wink (De)Serialization of the TRS Beans through OSLC4J The main addition to this tier is the additional libraries (oslc4j-wink [1.0], oslc4j-jena-provider [1.1-SNAPSHOT]) to support the features enumerated above.

+

*[http://eclipse.org/downloads Eclipse 3.6 or higher IDE]

+

*[http://eclipse.org/egit/download/ EGit] team provider for git (recommended) or [http://git-scm.com/download git command line package].

+

*[http://www.eclipse.org/m2e/download/ m2eclipse] for Maven support in the Eclipse IDE

+

*The Lyo projects requires a Java 1.6 compiler and Java 1.6 runtime. The Eclipse project settings have been set appropriately. If you are building outside of Eclipse, please use Java 1.6.

+

+

<br>

+

+

= TRS Toolkit =

+

+

The goal of the TRS toolkit is to provide a simple set of java beans that represent the entities within the TRS specification. Also, a convenient set of string constants that represent the TRS properties is provided. In addition to these code components which can be used to create TRS implementations, a test suite component exists. &nbsp;The test suite consists of a series of JUnit compliance tests which validate a TRS endpoint conforms to the TRS specification.

*Use git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.core.git as the URI (browse it also on line). User/Password are not required.

+

*On the Branch Selection page, select [http://wiki.eclipse.org/index.php?title=Lyo/TRSSDKPreview trs-0.5] for the 0.5 release or the master branch for the latest release.&nbsp; Master is recommended unless there is a specific need for the 0.5 release.<br>

+

*On the Local Destination page, specify a location or accept the default and click Finish

+

+

The repository should now show up in your Git Repositories view.

+

+

<br>

+

+

=== Clone the Lyo Testsuite git repository ===

+

+

*Repeat the above steps using&nbsp;git://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.testsuite.git as the repository URL.&nbsp;

+

+

This should load a second org.eclipse.lyo.testsuite repository into your Git Repositories view.

'''Mac Users''': If build fails with "Unable to find javadoc command", you can get around that by adding the below to your pom.xml files. See [http://mgorski.net/2013/dev/fail-to-execute-javadoc-plugin-on-mac-osx-java_home-issue this page].

Under most circumstances the best way to learn how to use the TRS Toolkit is through exploring the TRS reference application (continue on to next section). &nbsp;However, some additional details concerning the TRS Toolkit may be found on the [[Lyo/TRSToolkit|Exploring the TRS Toolkit]] page.

+

+

<br>

+

+

= TRS Reference Application =

+

+

The reference application is written in Java and demonstrates the implementation of a TRS Provider using change requests as the resources that are being created, modified and deleted.&nbsp; There are two implementations.&nbsp; In one implementation, JAX-RS, an annotation based Java RESTful specification, and Apache Wink, a&nbsp;JAX-RS server side component, are used to define and serve up the TRS provider endpoints. In the other implementation, a generic web sevlet approach is used.&nbsp; Both are described in detail in the guided tour section.<br>

+

+

While this reference application depends on certain technlogoies, the core TRS concepts demonstrated within may be applied to other languages, frameworks, and resource domains.&nbsp;

+

+

In addition to this reference application, consider exploring the [http://wiki.eclipse.org/Lyo/BuildTRS4JBugzilla Bugzilla TRS Reference Application] which also makes use of the TRS SDK described previously.

+

+

<br>

+

+

== Learning Objectives ==

+

+

<span style="line-height: 1.5em;">By working through the material for the TRS Reference Application, you will learn how to perform the following tasks:</span>

+

+

*Use the TRS toolkit to create a TRS provider using JAX-RS or servlets<br>

+

*Configure and use the TRS compliance test suite to verify the validity of a TRS provider<br>

*The TRS Reference Application saves change requests to c:\temp\ChangeRequests.xml in the 0.5 release.&nbsp; In the 2.0 release the file, as well as a ChangeEvents.xml file containing persisited change events, is saved to the current working directory.&nbsp; This is often &lt;local Rio Git repository&gt;\org.eclipse.lyo.rio\org.eclipse.lyo.rio.trs . Ensure that you have write access to this file(s). In the 0.5 release if you want to change the default location, you can open up the org.eclipse.lyo.rio.trs.Constants.java file and change the PATH_FLAT_FILE location to point to a location of your choosing. (Don't forget to do a manual Maven build afterward!).&nbsp; In the 2.0 release, alter the ChangeRequestsFile and ChangeEventsFile entries in '''org.eclipse.lyo.rio.trs/src/main/resources'''/'''congfig.properties''' to controll where the files are generated.&nbsp; A new maven build is not required for the 2.0 release.<br>

+

*Before following the steps in the following sections please make sure the TRS Toolkit from section 2.1 has been loaded into your workspace.

*Usegit://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git as the URI (browse it also on line). User/Password are not required.

+

*On the Branch Selection page, select [http://wiki.eclipse.org/index.php?title=Lyo/TRSSDKPreview trs-0.5] for the 0.5 release or the master branch for the latest release. Master is recommended unless there is a specific need for the 0.5 release.

+

*On the Local Destination page, specify a location or accept the default and click Finish

The reference application is launched within an embedded Jetty server and the message "TRS Reference Application launched at http://localhost:8082/org.eclipse.lyo.rio.trs/index.html" is displayed in the Console view. The link in the message opens a web page that describes the various links that are available in the reference application.

+

+

<br>

+

+

== TRS Reference Application Guided Tour ==

+

+

For a walkthrough of the TRS reference application and its capabilities please see the [[Lyo/TRSReferenceApplication|TRS reference application guided tour]].

Revision as of 10:08, 23 July 2013

The Tracked Resource Set (TRS) Software Development Kit (SDK) consists of two primary pieces; a toolkit and reference applications.

TRS SDK Prerequisites

The Lyo projects requires a Java 1.6 compiler and Java 1.6 runtime. The Eclipse project settings have been set appropriately. If you are building outside of Eclipse, please use Java 1.6.

TRS Toolkit

The goal of the TRS toolkit is to provide a simple set of java beans that represent the entities within the TRS specification. Also, a convenient set of string constants that represent the TRS properties is provided. In addition to these code components which can be used to create TRS implementations, a test suite component exists. The test suite consists of a series of JUnit compliance tests which validate a TRS endpoint conforms to the TRS specification.

Loading the TRS Toolkit

Clone the Lyo Core git repository

This example assumes EGit is being used.

Open the Git Repositories view in Eclipse and click the Clone Git Repository icon

Exploring the TRS Toolkit

Under most circumstances the best way to learn how to use the TRS Toolkit is through exploring the TRS reference application (continue on to next section). However, some additional details concerning the TRS Toolkit may be found on the Exploring the TRS Toolkit page.

TRS Reference Application

The reference application is written in Java and demonstrates the implementation of a TRS Provider using change requests as the resources that are being created, modified and deleted. There are two implementations. In one implementation, JAX-RS, an annotation based Java RESTful specification, and Apache Wink, a JAX-RS server side component, are used to define and serve up the TRS provider endpoints. In the other implementation, a generic web sevlet approach is used. Both are described in detail in the guided tour section.

While this reference application depends on certain technlogoies, the core TRS concepts demonstrated within may be applied to other languages, frameworks, and resource domains.

Learning Objectives

By working through the material for the TRS Reference Application, you will learn how to perform the following tasks:

Use the TRS toolkit to create a TRS provider using JAX-RS or servlets

Configure and use the TRS compliance test suite to verify the validity of a TRS provider

TRS Reference Application Prerequisites

The TRS Reference Application saves change requests to c:\temp\ChangeRequests.xml in the 0.5 release. In the 2.0 release the file, as well as a ChangeEvents.xml file containing persisited change events, is saved to the current working directory. This is often <local Rio Git repository>\org.eclipse.lyo.rio\org.eclipse.lyo.rio.trs . Ensure that you have write access to this file(s). In the 0.5 release if you want to change the default location, you can open up the org.eclipse.lyo.rio.trs.Constants.java file and change the PATH_FLAT_FILE location to point to a location of your choosing. (Don't forget to do a manual Maven build afterward!). In the 2.0 release, alter the ChangeRequestsFile and ChangeEventsFile entries in org.eclipse.lyo.rio.trs/src/main/resources/congfig.properties to controll where the files are generated. A new maven build is not required for the 2.0 release.

Before following the steps in the following sections please make sure the TRS Toolkit from section 2.1 has been loaded into your workspace.

Loading the TRS Reference Application

Clone the Lyo Rio git repository

This example assumes EGit is being used.

Open the Git Repositories view in Eclipse and click the Clone Git Repository icon

Usegit://git.eclipse.org/gitroot/lyo/org.eclipse.lyo.rio.git as the URI (browse it also on line). User/Password are not required.

On the Branch Selection page, select trs-0.5 for the 0.5 release or the master branch for the latest release. Master is recommended unless there is a specific need for the 0.5 release.

On the Local Destination page, specify a location or accept the default and click Finish

The repository should now show up in your Git Repositories view.

Import Eclipse projects from the git repository

In the Git Repositories view, right click org.eclipse.lyo.rio and select Import Projects

The reference application is launched within an embedded Jetty server and the message "TRS Reference Application launched at http://localhost:8082/org.eclipse.lyo.rio.trs/index.html" is displayed in the Console view. The link in the message opens a web page that describes the various links that are available in the reference application.