used, the implementation name (which may or may
not be the same as the COTS product name) only
identifies something internal to the company. The
Application name is generally not unique in the in-
dustry, and may or may not be known to customers.
4.1.4 Application Component Layer
An Application Component is one of the parts of an
Application that has meaning only within the context
of a specific application. It is more about the imple-
mentation and working of the Application than about
the Product objectives. Even though an Application
Component is associated to only a single Applica-
tion, the name of the Application Component may be
used as the name of a Component of another Appli-
cation. Two Application Components having the
same name means that the two components perform
the same type of function for their respective Appli-
cations, not that they are the same component. Be-
cause one of the objectives of a WIRAM is to pro-
vide aggregation of low-level workloads into busi-
ness functions, an Application Component can be
part of only one Application. If it appears that an
Application Component needs to be associated with
two Applications then those Applications are proba-
bly defined too granular and should be merged into a
single Application. Following on the automotive
analogy, an Application Component could be a fi-
nancing package that would have the same name and
function for both new and used cars but the term de-
tails would be different (shorter for a used car be-
cause it isn’t expected to last as long). An Applica-
tion Component name may or may not be unique
throughout the company, is almost certainly not
unique in the industry, and is seldom known to cus-
tomers.
4.1.5 Workload Layer
A Workload identifies how resources are used, or
consumed, by an Application Component. The exact
meaning of a Workload is dependent on the associ-
ated Application Component but it can also be mean-
ingful to refer to the Workload as a general category.
Each of the required forms to buy a car can be con-
sidered a workload; each car needs the same forms
but how they are completed will differ with each
type of car (Application) and each specific car (Ap-
plication Component). We can note how long it
takes to fill out the form for a car in general, for a
sedan vs. an SUV, or for a specific car. We can also
note how much time is spent each month filling out
a specific form. All are valid views into how the re-
source (the salesman’s time) is used. A Workload
name may or may not be unique throughout the
company. While a Workload name is almost cer-
tainly not unique in the industry there are many
standard names that have generally the same mean-
ing throughout the industry, such as ‘database’ and
‘OLTP’ (on-line transaction processing) and may be
known to customers in that context. Care should be
taken when assigning these names so that they do
not conflict with the implicit meaning of the name or
that they are not so general that they are not useful.
A Workload name of “Database” would be so gen-
eral, and used by so many Application Components,
that it would loose its meaning. A Workload name of
“OE-DB” would be more meaningful, even if it was
used by several Application Components, because it
would be more specific to the processes, user-ids,
etc. associated with the O
NLINE-ORDER Application
Component. Because a Workload Name is not
unique, it requires the associated Application and
Application Component Names for identification.
Using “OE-DB” does not identify a specific Work-
load because that name can be used in several Appli-
cation Components. Examples of fully qualified
Workload Names could be names like O
RDER-
E
NTRY.ONLINE-ORDER.OE-DB or ORDER-
E
NTRY.INVENTORY.OE-DB, both of which are part
of the same Application (O
RDER-ENTRY) but in a
different Application Component (O
NLINE-ORDER
and
INVENTORY). They are different workloads be-
cause they contain different processes, or different
user-ids, or different terminals, or different some-
thing. If both Application Components actually use
the same workload, then there would have to be a
proration amount at the Application Component
level. While the WIRAM does not require or enforce
uniqueness of names, it is suggested that unique
names be used wherever possible. It is the responsi-
bility of the implementer to insure name uniqueness
and to derive proration rules.
A workload is defined by anything that can be
identified, such as process names, user-ids, terminal
addresses, accounting codes, system names, etc.
Therefore, the definition can become quite large and
hard to maintain if everything is explicitly identified.
Wildcards or patterns can be used but care must then
be taken to avoid double counting (i.e., if workload
X includes process=ABC and workload Y includes
process=*, then process=ABC is really included in
both workloads). There is deliberately a great deal of
flexibility in these workload definitions because real
applications are seldom very orderly. Shared data-
bases and reuse efforts can lead to a workload being
spread across many application components. The
proration field allows multiple Application Compo-
nents to reference the same workload definition (al-
though it would look like different definitions be-
cause the name in part of the key and therefore in
multiple records). However, there is nothing in the
design of the WIRAM to prevent the sum of these
ICEIS 2005 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
406