This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

Asset Management Build System Use Cases

1.0 Specification

With many workproducts created across many delivery cycles from many teams using multiple tools and repositories, it is difficult for the business to preserve its investment in workproducts and leverage them as a strategic business asset and provide the trace-ability back to where and from whom the original workproducts came from. Having the right set of workproducts and relationships exposed in an asset repository for governance, search, and usage scenarios across teams and projects is central to the value proposition for asset management repositories.

Roles

In these scenarios there are two major roles, asset submitter and asset consumer. These roles overlap functional roles like developer, architect, tester and so forth. For example, this means a person in the role of developer can also take on the roles of asset submitter and asset consumer. These roles are briefly introduced.

  • Asset Submitter: performs asset preparation activities outlined in the publish scenario.
  • Asset Consumer: performs asset searching and retrieval activities outlined in the search and retrieve scenarios.

Security / Access Rights

In these scenarios it is assumed the asset submitter and the asset consumer have already provided user authentication. This means they are not providing user information as they publish an asset or as they search or retrieve assets. It is expected that the asset repository will determine that context from previous information provided by the respective user.

Refer to the definitions page for descriptions on asset management related terms used here.

This page is targeted for use cases around build system scenarios. See the Human Interaction oriented use cases here.

Scenarios Overview - Asset Management System and Build System Integration

Asset management plays an important role across the software delivery cycle. Here we will focus on the following scenarios:

An example of these scenarios is found here.

Query

Scenario: Build system queries the Asset Management system for assets to include in the build

In this scenario the build system searches for possible assets to include in the build. In this scenario the build system knows the Name of the assets to include; but wants to find the latest version of those assets. The outcome of this scenario is a result list from the query which the build script uses to select the assets.

  • The build script in the build project specifies the assets to be included in the build.
  • The build system queries the asset repository for the latest approved version of the specific assets.

The build system queries using the asset's Name (not depicted), plus the asset's state (shown as "Approved" and "In Dev"). For our purposes here the "Approved" assets are those which can be included in a build.

An example of this query can be found here.

Build Systems Searches for Assets to use in the build

Retrieve

Scenario: Build system retrieves build assets from Asset Management system to include in the build

The build system has identified the possible assets to include in the build. In this scenario the build system retrieves the specific assets from the Asset Management system to be included in the build.

  • The build system examines the results of the search and selects the latest version of the approved assets.
  • The build system retrieves the latest version of the approved assets.
  • The build system performs the build.

In the example below the greyed out assets are not selected because they are either not in the "Approved" state or they are not the latest version of the asset.

An example of retrieve can be found here.

Build system retrieves assets for build

Publish

Scenario: Build system publishes assets to the Asset Management system

The build system has retrieved the assets to include in the build. In this scenario the build system uses the assets from the Asset Management system (automation tools/scripts, common components, specifications etc.) as well as source from a source control system and possibly other places to conduct the build. As part of the build process the automated tests are executed and code scans are performed. When the build is completed the build assets are published to the Asset Management system.

  • the build system uses the assets from the Asset Management system and other sources to perform the build
  • the build system invokes the tests and scans
  • the build system publishes the build assets to the Asset Management system including:
    • references to the location of build project
    • references to the location of test results and scans
    • relationships of the build asset to the assets which were used in the build
    • relationships to other assets requested by the build script (such as a release asset)

In the example below the service implementation asset is published with references to the build results, test results, and scan results. In this scenario the EAR file is included in the asset. The build system also publishes the relationships of the built asset to the assets included in the build; in this case the Open Source component (log4j) and the XSD and WSDL service spec.

An example of publish can be found here.

Build System Publishes Assets

Topic attachments
I Attachment Action Size Date Who Comment
gifgif buildSearch.gif manage 14.3 K 14 Jan 2010 - 18:56 KevinBauer  
gifgif build_asset_search.gif manage 25.8 K 16 Oct 2009 - 22:08 GrantLarsen  
gifgif build_publish_assets.gif manage 27.2 K 16 Oct 2009 - 23:46 GrantLarsen  
gifgif build_retrieve_assets.gif manage 17.9 K 14 Jan 2010 - 22:22 KevinBauer  
gifgif developer_publish.gif manage 18.9 K 11 Sep 2009 - 21:36 GrantLarsen  
gifgif developer_publish_servicespec.gif manage 15.2 K 08 Sep 2009 - 17:55 GrantLarsen  
gifgif developer_retrieve.gif manage 7.0 K 08 Sep 2009 - 18:17 GrantLarsen  
gifgif developer_search.gif manage 14.3 K 08 Sep 2009 - 17:59 GrantLarsen  
gifgif developer_search2.gif manage 21.6 K 08 Sep 2009 - 18:10 GrantLarsen  
elseodp images.odp manage 21.7 K 14 Jan 2010 - 22:23 KevinBauer Presentation with images
gifgif publishAsset.gif manage 11.0 K 11 Jan 2010 - 11:30 KevinBauer  
Topic revision: r35 - 29 Jun 2010 - 18:50:08 - KevinBauer
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback