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.
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.
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.
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 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.
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.
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.
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.
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.
I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|
gif | buildSearch.gif | manage | 14.3 K | 14 Jan 2010 - 18:56 | KevinBauer | |
gif | build_asset_search.gif | manage | 25.8 K | 16 Oct 2009 - 22:08 | GrantLarsen | |
gif | build_publish_assets.gif | manage | 27.2 K | 16 Oct 2009 - 23:46 | GrantLarsen | |
gif | build_retrieve_assets.gif | manage | 17.9 K | 14 Jan 2010 - 22:22 | KevinBauer | |
gif | developer_publish.gif | manage | 18.9 K | 11 Sep 2009 - 21:36 | GrantLarsen | |
gif | developer_publish_servicespec.gif | manage | 15.2 K | 08 Sep 2009 - 17:55 | GrantLarsen | |
gif | developer_retrieve.gif | manage | 7.0 K | 08 Sep 2009 - 18:17 | GrantLarsen | |
gif | developer_search.gif | manage | 14.3 K | 08 Sep 2009 - 17:59 | GrantLarsen | |
gif | developer_search2.gif | manage | 21.6 K | 08 Sep 2009 - 18:10 | GrantLarsen | |
odp | images.odp | manage | 21.7 K | 14 Jan 2010 - 22:23 | KevinBauer | Presentation with images |
gif | publishAsset.gif | manage | 11.0 K | 11 Jan 2010 - 11:30 | KevinBauer |