Write Once, Run Everywhere
DesignVision (DV) lets you focus your application development on the logic of
database applications, their queries and reports.
For a sneak preview of Trifox's second generation Data Dictionary, take
a look at the automatic documentation
that describes the dictionary's meta data.
Instead of forcing you to work within predetermined parameters, DesignVision
lets you design once and deploy to the appropriate hardware platforms, software
operating systems, and display types, according to the network and distribution
of each environment you encounter.
Optimized for a networked database environment; designed explicitly for
If your application does not need to interact with a database over a network,
any number of generic application development tools are available to you.
However, it is a rare application today that doesn't use a database. If
you need to provide information the information must be served up from
somewhere; if you collect information from your users, the information
must be stored somewhere.
If your application must run in an enterprise of any significant size,
not to mention over the Internet, your environment is naturally distributed.
DesignVision is optimized for your needs.
What does that mean?
So, you wonder, "what does it mean when they say 'optimized'?"
What we mean is that DV respects resources: the ultra-thin client requires
only 200K of disc space and can run on minimal Windows installations or Java systems.
It means DV has native database connectivity at the lowest level, which makes it
flexible and efficient.
"Optimizing" to Trifox encompasses the idea of flexibility where it matters most.
With DV, your organization uses the version control scheme and workflow schedule
that make the most sense to you, not a predetermined set of components.
When we say optimized, we also consider platform, database, and language
independence - a combination unheard of in any other tool. Partitioning your
application is simple and easy to implement.
You can change databases and platforms without rewriting any code.
Foreign language localization, for whatever language you consider to be foreign,
is inherent in the architecture, and even 16-bit Unicode support is built in.
DV's ANSI terminal-style widget, controlled by a terminal manager, guarantees
that all character-based applications created with DV's predecessor, TRIM,
can function in a window environment intermixed with real window objects.
DV also gives you complete control over your runtime environment, including the
ability to access the operating system, manipulate external data sources, and
integrate with other applications, packages, and hardware. C language user exits
to bar code and optical scanners, data feeds, machine tool controllers, point-of-sale
systems, and application programs make such tasks explicit and uncomplicated from
DV's point of view. GENESISsql works with DV to make data extraction from legacy
You can build in any development environment, deploy to any production environment,
including the world wide web, and choose between publish-only (reports) or fully
interactive business applications all in a fraction of the time it takes to install
and configure typical distributed systems.
Experience has reinforced our belief that most large organizations have a collection
of heterogeneous hardware, operating systems, networks, GUIs and databases.
We have seen clients struggle with issues arising from the need to incorporate new
databases into existing applications, modifying architecture because corporate policy
changes meant working with a new hardware vendor, display changes and feature requests
leading to complete application redesign. Over and over we are reminded that
applications must span mixed environments and must be able to adapt to changes in one
without cascading requirements into all the others.
Exceptional stability and usability
The twin qualities of stability and usability are the foundation for effective
and maintainable applications.
DV is the newest generation of a proven technology that has been widely used for
over 10 years; today we simply take the time-tested partitioned architecture to a
windowing environment. When you work with DV, you work with a product that has had
its tires kicked more than a few times. You can count on the functionality to be
robust and reliable.
DV's high-level abstractions shield your developers from the differences among
multiple standards for GUIs, hardware platforms, operating systems, and databases.
The abstractions let you incorporate newly emerging technologies without completely
rewriting your applications.
Think of DesignVision as a virtual window application programming interface. Instead
of externalizing functionality, DesignVision lets you write to a single, stable,
interface and then processes it for Windows, X11, Java,
or a suitable hybrid. Because of this simplicity, DesignVision supports all the
objects a database application really needs to get a job done.
DV's object set provides the functions of most of today's window kernels, but with
much less overhead. Because even in a windowing environment a typical database
application still relies on text input, the virtual window lets you choose between
addressing characters or pixels. Thus, you can create data entry applications very
quickly, specifying basic character sizes, yet allow your end users to determine the
actual application size by choosing specific fonts for a customized appearance.
Byte-order independence (within the "virtual window") allows objects to be sent over
a network and presented by a machine that knows nothing about the actual application.
Used with VORTEXnet, you can decide at runtime whether to configure the application
for 1, 2, or 3 tiers.
Fault tolerance is easy to ensure. Simply replicate one or more partitions for backup.
Transaction management is inherent and database-independent since DV offers powerful
functions that work in memory. Your application never has to commit data until all the
work on it is complete.
Maintaining applications in distributed environments presents incredible challenges
when the development has not been standardized.
Partitioning, which allows service and application reuse, is a fundamental part of
distributed environments. While separating the application functionality from the
process of partitioning the application may look attractive, it can lead to performance
problems. DV provides a high-level language to create logical application definitions
as a collection of objects. Once you determine the appropriate partitions, their
location becomes a matter of customizing the application for each environment in
which it could run.
DV's own architecture ensures your applications' stability. Because a change in one
part of your distributed system doesn't necessarily require corresponding changes in
all the pieces it touches, your application's stability is less likely to be
compromised. Since the single source supports user interfaces in all windowing
environments from 16-bit Windows to Java, you don't waste precious time managing
several versions of an application.
DV's ultra-thin client also avoids the problems of updating of client machines
running identical applications on a regular schedule. While the deployed DV
applications always automatically verify that all partitions are at a consistent
version level, a thin client removes the burden of keeping thousands of clients current.
Finally, DV uses a Data Dictionary (DVdd), a set of database tables that stores
descriptive information about the DesignVision and database objects in your
application(s). For example, storing screen field, button, and key definitions
in the DVdd lets you share these objects throughout your application.
More importantly, however, the DVdd maintains relationships between objects.
Foreign keys, for example, are automatically defined by the DVdd tables without
you having to do more than specify them.
DV provides several tools to manage the dictionary and to find and clean
up any errors. These tools, which are part of the DVdd Console, include:
- Screen forms to ensure that your entries are always consistent.
- A structure checker that examines all the DVdd relationships and
verifies that no orphan records exist.
- SQL scripts to move the DVdd from one system to another.
Event-driven systems, the style of choice for user-interactive applications, are
typically "chatty." Although they generate less traffic than systems that use "polling",
they still generate many network messages that consume significant amounts of network
bandwith and degrade network performance. Dial-ups and ISDN lines soon become
Some Java or ActiveX solutions try to reduce network traffic by loading parts of
applications on the fly. However, if the application does any switching, the load
and unload cycle leads to unacceptable performance on the client. In addition,
security poses its own risks: few businesses are willing to let an unknown server
write to their clients, no matter how temporarily.
DesignVision applications are organized into "blocks," which simply generate less
network traffic. Instead of servicing every character, in the standard character-based
block, the application server only processes data one block at a time. And that block
is an entire window. In addition, DV only transmits the information from the window
that has changed.
In addition, because you control whether the events are local to the client or
processed by an application server, you can carefully manage network use.
Multi-threaded applications, while appearing to be resource-efficient, often cost
more than they are worth. Because users typically retrieve information before they
can act on it and data must be written (committed) a database before other users can
use it, few interactive database applications can make use of multi-threading.
DesignVision takes advantage of concurrent database processes instead of using
multi-threading. Although multiple processes have slightly more overhead than
multi-threading, they ensure data integrity as multi-threading cannot.
To evaluate DesignVision
If you are building database applications that must provide an interface with human
users, operate over a network, in a distributed architecture, no product meets all
your needs as well as DesignVision.
For examples of DesignVision applications or to test the product yourself, go to our
DesignVision showcase at www.trifox.com/designvision/.
Updated 6 Sep 2011.