The
Maintenance Challenge
Downloading subsets, verifying and migrating model updates,
building component models, enforcing naming standards, and maintaining model
integrity consume a lot of time and can slow development and implementation
if not done efficiently. The Model Maintenance Solution set focuses on
optimizing these areas of responsibility.
Much like databases, models can become burdensome to work with and their
content can become obsolete without regular maintenance. Subsets take longer
to checkout, migrations take longer to complete, and data becomes unused or
obsolete. These issues are caused by models that are inflated and left
unattended for the following reasons. First, most models contain thousands,
even tens of thousands of unused objects, a number that grows steadily over
time as developers build or maintain the system. Second, component models
and other applications are often pieced together by referencing action
blocks outside the corresponding business system. When this is done, the
business system associated with the referenced action block and much of its
structure must be included during subsetting or migration. These unused
objects and suboptimal action block references cause avoidable
inefficiencies for the model manager. Furthermore, when time constraints
prevent the propagation of name changes and the update of descriptions,
model definitions become inaccurate, less reliable sources of information
over time.
Because subsetting is such an integral part of COOL:Gen
development, model coordinators need small, efficient models to reduce the
size and download times associated with this daily function. The Model
Maintenance Solution set includes three tools that have a very significant,
positive affect on subsetting performance. Model Maintainer allows you to
quickly identify and delete unused objects. Business System Maintainer
allows you to reduce the number of business systems and related objects
included in subsets and processed in migrations. Quick Edit allows you to
perform group name changes to object names, descriptions, and other key
properties without having to checkout any objects.
Removing Unused Objects - Model
Maintainer
How many unused objects are in your models? Certainly
running where-used reports and manually reviewing them would be a tedious,
time-consuming way to determine this fact. John Bunker, system architect for
Unisys Corporation, estimates that 90% of prompts are unused and that
conservatively, 20% of the objects in most mature models are unused and can
be removed. Model Maintainer finds unused objects fast and allows you to
delete them, literally at the click of a button.
The unused objects are problematic because they prevent you
from completing common operations efficiently. Specifically, checkouts run
increasingly slower and take more resources; lists take longer to open;
migration reports become lengthy and unreadable. Model Maintainer raises
your awareness to the growing number of unused objects and allows selected
COOL:Gen users to delete these objects, resulting in smaller, more efficient
models. With regular maintenance using Model Maintainer, you can ensure that
unused objects will never be a problem in your environment.
There are several reasons why large numbers of unused objects persist in
your models and are routinely downloaded. First, developers are allowed to
add duplicate objects, many of which go unused. For example, developers are
prone to create new prompts with identical names to existing ones. Second,
some objects, such as views, cannot be easily identified or deleted using
the CSE or CE and thus continue to grow in number over time. Third, many
developers lack the time or authority to define subsets for the specific
purpose of deleting unused objects from the model, and therefore these
objects are often ignored. Finally, unused objects are automatically
included in subsets during typical development activities. For example, each
time a window is checked out, all prompts associated with the attributes
attached to that window are automatically included with it.
Optimizing Business System Content -
Business System Maintainer
It is common to reference action blocks from other business
systems in the application definition. In fact, many organizations engaged
in component-based development have architected component business systems
by referencing procedures and action blocks in other business systems. These
action block and procedure references can make checkouts, checkins, and
migrations run much more slowly because it causes the supporting structure
of the owning business system to be automatically included when performing
these functions. As is the case with unused objects, this also makes the
migration report longer and more difficult to read. Because moving action
blocks in the native tool is a time consuming manual task, these action
blocks are often not moved to the appropriate business system.
Have you ever wished there was an easy way to move an action block or
procedure from one business system to another? Business System Maintainer
does exactly this, allowing you to reorganize action blocks and procedures
as you desire and optimize their use in the application. As you may know,
completing a move such as this may involve a large number of objects and
associations when you consider the companion objects and relevant
associations that must be processed. Business System Maintainer handles the
required object expansion for you -- expanding procedures to pfkeys,
commands, and action blocks including the dialog flows, windows, and screens
associated with each procedure -- reducing each requested action block or
procedure move to a single step. By simplifying the movement of these
objects, component business systems can be assembled more quickly, promoting
component-based development.
Maintaining Standards & Grouping Changes - Quick
Edit
In addition to maintaining efficient models, model
coordinators are also responsible for maintaining standards and performing
common object edits such as changing the messages on exit states, or making
member names meaningful. Unfortunately, the sheer number of objects involved
makes these simple edits take an inordinate amount of time to complete.
Other changes even more sweeping, such as implementing a new standard,
spell-checking literals and prompts on windows and screens, or making
national language type changes, require an effort that can be crippling to
the model coordinator because there is no way to perform group edits using
the native tool. As a result, many of these object edits are often let go.
Quick Edit solves these problems by allowing you to rapidly address model
changes that affect many instances and object types. Have you ever wanted to
apply the same edit to groups of objects in one step? Now you can with Quick
Edit, a tool that saves you time in several ways. First, edits can be
performed directly to the encyclopedia eliminating the need to subset.
Second, changes to individual properties and names (e.g., source names,
prompt strings, literal text on windows and screens) can be made by simply
scrolling through a list, selecting the object and typing away. More
importantly, changes affecting multiple objects can be completed in a single
step using the powerful search and replace feature. With Quick Edit, youll
find time to keep your definitions current while removing the editing
bottleneck from your project.
Maintain Objects Safely and Directly
All tools use the COOL:Gen APIs to safely read and update
the model directly. This allows you to perform all tool functions without
having to subset in any way. Also, encyclopedia protections are enforced
which means that a user cannot edit or delete an object when he does not
have the proper authority or when the object is checked out.
All ObjectWare tools have an easy-to-use Windows user
interface and are fully Internet enabled.Running side-by-side with COOL:Gen,
users make selections using simple GUI controls and can access models from
the office, home, hotel, or any other location an Internet connection is
available. Word and other complementary tools are started automatically when
needed.
Improve Efficiency By Reducing Model Size and Speeding Object Edits
© 1992-2001 ObjectWare Inc. All rights reserved. Terms of use.