The XPA messaging system provides seamless communication between many kinds of Unix programs, including X programs and Tcl/Tk programs. It also provides an easy way for users to communicate with these XPA-enabled programs by executing XPA client commands in the shell or by utilizing such commands in scripts. Because XPA works both at the programming level and the shell level, it is a powerful tool for unifying any analysis environment: users and programmers have great flexibility in choosing the best level or levels at which to access XPA services, and client access can be extended or modified easily at any time.
A program becomes an XPA-enabled server by defining named points of public access through which data and commands can be exchanged with other client programs (and users). Using standard TCP sockets as a transport mechanism, XPA supports both single-point and broadcast messaging to and from these servers. It supports direct communication between XPA clients and servers, or indirect communication via an intermediate message bus emulation program. Host-based access control is implemented, as is as the ability to communicate with XPA servers across a network.
Because XPA consists of a library and a set of user programs, it is most appropriately built from source. XPA has been ported to Solaris, Linux, Mac OSX (darwin) and Windows 98/NT/2000/XP. Once the source code tar file is retrieved, XPA can be built and installed easily using standard commands:
./configure --prefix=[installdir] # configuration make # build the software make install # install in [installdir]
The latest public release is XPA 2.1.12 (26 January 2010).
This is a minor release that corrects a typographical error in the Tcl
binding to xpainfo, causing a crash after 2 invocations. An XPA_HOST
environment variable was added to allow users to specify the hostname
(and hence, ip) component of the INET method id. This is useful, for
example, if you want to register an access point using a VPN-generated
IP instead of the canonical IP.
[The previous release, 2.1.11 also was a minor release that changes the
XPANSKeepAlive() routine to send an in-band new-line character to
xpans and changes xpans to handle an in-band new-line as a keep-alive
message. All of this was necessitated by the discovery that some Cisco
routers clear the URG flag in a TCP packet, breaking out-of-band data
transfer for the whole Internet, as well as the OOB-based keep-alive
implemented in xpans. The keep-alive is used by the ds9 Virtual
Observatory option (i.e. Chandra-Ed), not by xpans ordinarily.]
Users of previous XPA 2.1.x can upgrade at their convenience.
See the ChangeLog for a full list
of changes in this and previous releases.
For FTP-based retrieval use:
The XPA mechanism has been used to develop the
ds9 image display program.
The original XPA rev. 1 system was a layered interface for X Windows
built on top of the Xt selection interface. PostScript versions of
old papers about XPA revision 1 are available:
Latest Release
Download
The source code tar files for all platforms
are available here.
For HTTP-based retrieval use:
Documentation