  In the past, the features of a user interface were limited by those available
in the existing graphical widgets it used. Now, improvements in processor speed
have fostered the emergence of interpreted languages, in which the appropriate
method to render a given data object can be loaded at runtime. XML can be used
to precisely describe the association of data types with their graphical
handling (beans), and Java provides an especially rich environment for
programming the graphics. We present a graphical user interface builder based
on Java Beans and XML, in which the graphical screens are described textually
(in files or a database) in terms of their screen components. Each component
may be a simple text read back, or a complex plot. The programming model
provides for dynamic data pertaining to a component to be forwarded
synchronously or asynchronously, to the appropriate handler, which may be a
built-in method, or a complex applet. This work was initially motivated by the
need to move the legacy VMS display interface of the SLAC Control Program to
another platform while preserving all of its existing functionality. However
the model allows us a powerful and generic system for adding new kinds of
graphics, such as Matlab, data sources, such as EPICS, middleware, such as
AIDA[1], and transport, such as XML and SOAP. The system will also include a
management console, which will be able to report on the present usage of the
system, for instance who is running it where and connected to which channels.
