A system and method for enabling a program to subscribe to data and/or
publish data, e.g., in order to receive and display data from a data
source in a graphical user interface (GUI) element or in order to write
data associated with a GUI element to a data target. In one embodiment, a
developer of a program may specify a data source and/or data target
during development of the program, e.g., via a URL. If a data source is
specified, the method may operate to automatically determine a GUI
element operable to display (or otherwise indicate) data received from
the data source and may automatically include the GUI element in the
program's graphical user interface (GUI) and automatically configure the
GUI element to receive and display data from the specified data source
during execution of the program. In the preferred embodiment, the
developer is not required to specify any source code for the program in
performing this configuration. Many programs require data to be exchanged
with various types of data sources and targets, but this data exchange is
often a difficult task for developers. Thus, various embodiments of the
invention may greatly benefit users by enabling complicated exchange of
data to be performed by simply specifying a data source and/or target to
associate with a GUI element. Another embodiment of the invention enables
the implementation of a data viewer program which, when executed, enables
an end user to specify a data source, e.g., via a URL, and view data
received from the data source, wherein the end user may specify any of
various types of data sources, any of various types of data may be
received from the data sources, and any of various types of GUI elements
may be dynamically displayed to allow the end user to view the received
data.