Here’s a list of terms that we put together for a customer who was learning how to use Rational Team Concert (RTC) with IBM UrbanCode Deploy (UCD). The list covers some terms that come up when you’re building applications in RTC and using UCD to deploy them. For details on how to set up that sort of build and deployment process, see the Rational Team Concert – SCM plugin.
UCD applications are collections of UCD components that work together to provide a business function. Applications include application processes, which deploy the components. Applications also contain environments, which represent the target systems that the application components are deployed on.
UCD components are assigned to applications. However, components are separate from applications; each component can be used in any number of applications.
Compliance refers to the number of UCD component versions that were successfully deployed to an environment. For example, if an application process attempted to deploy 3 component versions to an environment and only 2 deployed successfully, the compliance for the environment is 2/3.
In UCD, the general term “deployment” usually refers to deploying an application by running an application process.
UCD environments are groups of UCD resources (mainly, target systems and the agents on those systems) that host application components. Environments are contained by applications.
Primarily, an inventory is a list of UCD component versions that were deployed to an environment, whether or not those component versions deployed successfully. The idea of inventory is closely related to the idea of compliance.
Each UCD component also has an inventory that lists every place that the component is deployed. Environments and resources have inventories that list every UCD component in that environment or resource.
Component processes deploy UCD components, application processes deploy collections of UCD components, and generic processes run automated tasks on target systems.
UCR resources are representations of external objects on the UCD server. For example, agents are represented by agent resources on the server.
The source configuration is the collection of settings that describe how the UCD server imports build output into UCD component versions. Source configuration plugins provide connectivity from the UCD server to build and SCM systems such as Git and Subversion so the server can retrieve build output from those systems.
To load RTC change sets that other people delivered to a stream. Similar to “pull” or “update” in other source code management systems.
A permanent copy of an RTC component in a particular workspace or stream. Baselines are a known initial state from which teams can start work.
One or more changes to RTC component files that can be delivered to streams.
To add file changes to a change set.
RTC components are collections of related artifacts such as source files that have the same life cycle. Components are added to streams to store the source files that are being worked on in that stream.
The process of sending change sets from a repository workspace to one or more streams. Similar to “push” or “commit” in other source control systems.
The stream to which change sets are delivered.
To check out RTC components so you can work with them in a local workspace.
In RTC source control, a repository workspace (or sometimes just “workspace”) is a user’s collection of components that the user is working with. Users deliver changes from their repository workspace to one or more streams.
An isolated reflection of a repository workspace where a developer can modify and test items away from other people.
RTC snapshots capture the state of a stream or repository at a point in time. Technically, RTC snapshots are a collection of all baselines in a stream or repository. RTC snapshots can be imported into UCD as component versions.
In RTC source control, streams contain components and store the changes to the component artifacts while developers work to a new version or release of a piece of work.
In RTC, the term “version” is usually used in a more general sense to refer to a specific state of an artifact. The version of source artifacts in RTC are not directly connected to UCD component versions unless the RTC-UCD integration uses the RTC source version name as the UCD component version name.
Work items represent tasks, plan items, or defects to assign to people to complete or resolve.
The UCD artifact repository is called CodeStation, and it stores UCD component version artifacts and provides them at deployment time.
UCD components represent deployable artifacts, usually not source code. UCD components include component processes, which automate deployment of the artifacts, and component versions, which are discrete collections of artifacts that represent a version of that component.
A UCD snapshot is a collection of UCD component versions that are known to work together. Snapshots are useful for storing working deployments and for promoting working deployments out of a development environment into a testing or production environment.
In UCD, the term “version” usually refers to component versions, which are discrete instances of the artifacts in a component. Component versions are usually imported from build systems such as RTC. Components can have full versions, which provide a complete copy of all artifacts, or incremental versions, which provide only the changed files from the prior version.
UCD refers to pending approvals as “work items.”
Agent (Jazz Build Engine, Build Forge Agent)
Agents run on target systems and allow the RTC server to automate tasks, such as build processes. For RTC, these agents include the Jazz Build Engine and the Build Forge agent.
The build engine is a virtual representation of a build agent on the RTC server. One build engine on RTC can map to one or more instances of the Build System Toolkit.
Build System Toolkit
A set of command-line tools that processes build requests from RTC. It includes the Jazz Build Engine, a collection of Ant tasks, and the build agent that handles builds on z/OS and IBM i. Each instance of the Build System Toolkit is connected to a build engine on an RTC server.
In RTC, “engine” can refer to the Jazz Build Engine or to build engines.
Jazz Build Engine
The Jazz Build Engine is a command-line tool that processes build requests on distributed platforms.
A group of deployable artifacts.
In RTC, user permissions are mostly related to the team areas that the user is a member of. Users have a role on the team, and the role controls what permissions the user has on the team area’s assets.
Eclipse projects are containers for source artifacts on the local user’s Eclipse workspace. In many cases, RTC components include one or more Eclipse projects. Not directly related to RTC project areas.
A project area is a major organizational area on an RTC server. It contains things like streams and team areas.
Each RTC user has a role on each project area or team area, and that role provides access to that area. RTC security roles do not currently connect to UCD security roles.
An RTC team area is a smaller organizational area within a project area. It contains users that are working together on tasks and the roles that they have for that team’s artifacts.
Elements such as UCD components and applications are assigned to teams, and users have access to the elements that are in the same team.
UCD users have a role on a team. The role specifies what type of access the user has on the team’s components, applications, and other resources. Some roles provide read-only access and others provide read/write access.
UCD teams are a collection of users and the components, applications, and environments that those users can access.