Referencing a Definitive Software Library Asset Artifact in a Workspace?

November 13, 2009

We have been getting lots of questions around how developers and architects can reference open source components, WSDLs or other binaries that are under governance in their workspace?    Dr Gili Mendel recently wrote an explanation on this that I wanted to share with you below.   By referencing the artifacts in the DSL you prevent teams from having to repeatedly copy asset artifacts around or version the same component multiple times in different SCM systems.   This has the added benefit of allowing you to control access to these components and shut them off when licenses expire or the asset artifacts are no longer supported.

“How does the workspace know how to consume one of these linked artifacts, such as an open source component”

Workspace Link to a RAM artifact

When you “drag” an artifact from a RAM repository into your workspace, the RAM plugin brings down the  file to your workspace (so that you can use it disconnected as well), but it marks it as a derived resource.  A derived resource will not be checked in/out a SCM by Eclipse…. similar to a compiled .class file.

1-RAMLog4j

The RAM plugin will also create a link (an entry for that artifact in a control file see image below).   This control file (or changes to this control file) will be checked into the SCM.   When another user checks out this file (or changes to this file), the RAM plugin will parse it, and will bring down the artifacts to that users as well.

2RAMbuilderControl

The build process can use RAM provided Ant scripts, Ant lib. calls, or Java Calls to bring down “linked” artifacts.   These calls look for the rambuildercontrol.xml file and act on it in a headless environment

Traceability when publishing an artifact into RAM

The Eclipse client provides an asset packaging editor that allow you to provide information about the asset (name, description, version….) as well as a collection of resources from your workspace.   When press the submit/update button, the editor will baseline the projects involved (if it is a TEAM based project, like CVS, Rational Team Concert, Subversion, ClearCase….) and publish the asset annotating (the server, baseline id and such) the artifact with the origin’s information.   The build process, as I noted in the demo,  annotated the .ear with a the build id, and a link back to the BuildForge job or other build automation software.

When a user consumes an asset in Eclipse, the Rational Asset Manager plugin will look for these traceability annotation on the artifacts.   If they exist, the plugin will give you the option to attach to the baseline, or the latest stream level.



Advertisements

2 Responses to “Referencing a Definitive Software Library Asset Artifact in a Workspace?”

  1. Marcio Says:

    Hello Carlos!
    I have a question.
    I’m using RDz (Rational Developer for System Z) and I need to integrate RDz with RAM (Rational Asset Manager). I’m trying to make them talk each other. Do you know if this possibility exists? (How to make them work together)??

    • Derek Baron Says:

      Hi Marcio, first an introduction: I’m the product manager for RAM, replacing Carlos. He moved on to another position at IBM.

      Thanks for your question – Since RDz is built on Eclipse, you can simply install the RAM Eclipse plug-in to facilitate the integration, just like any Eclipse-based product. Please see the instructions here. There is also a tour of the Eclipse client.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: