aboutsummaryrefslogtreecommitdiff
path: root/vendor/voclient/README
blob: 56e5390ff530068976da9dca80623f20c8202b86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231

	     VOClient v1.0 -- VO Interfaces and Applications
	     -----------------------------------------------
		        Last Revised 2/27/13



	The VOClient package is a collection of programming APIs and
command-line tools that provide a user-ready VO software distribution for
both scientists and developers.  The initial release of the package is
intended primarily to distribute the completed CLI tools, additional tasks
are planned as new functionality is added to the libraries and as new
standards come on-line in the VO.  

	Although the underlying libraries are included in this release 
and are fully functional, they lack the documentation and multi-language
interfaces we have planned for the final vision of the package.  We 
expect a release that better supports developers will be available in
mid-2013.  Later releases will contain additional interfaces and tasks
as needed.


    README		- This file
    Makefile		- Top-level makefile
    TODO		- ToDo list

    bin			- application binaries
    doc			- documentation, design notes, etc
    include		- library include files
    lib			- libraries

    common		- shared dependency library codes
    libsamp		- SAMP interface
    libvo		- VOTable parser
    libvoclient		- Client side service code
    libvotable		- VOTable parser

    voapps		- CLI application source code
    voclient		- Java VOClient Daemon source code

    test-data		- sample test data files
   


CLI Task Summary
----------------

	The VOClient package includes a number of command-line utilities
built from the underlying interfaces.  These tasks can be scripted from any
number of environments or used in a standalone manner.  

Tasks distributed as part of this release include:

  DATA ACCESS UTILITIES

        voatlas - Query the SkyView Image service for an all-sky image
      vocatalog - Query VO catalog services for data
         vodata - query and access VO data services
        voimage - Query VO image services for data
      votiminfo - Print/Get information about a FITS file's structure
    vosloanspec - Query for SDSS spectra
      vospectra - Query VO spectral services for data
        votopic - Query for data from resources specified by topic keyword

  NAME RESOLUTION UTILITIES

       vosesame - call the Sesame name resolver service

  REGISTRY UTILITIES

     voregistry - VO Registry search client

  VOTABLE UTILITIES

         votcnv - Convert from VOTable to another format
         votget - Download URLs or access references in a VOTable
        votinfo - Get information about a VOTable
         votpos - Extract the main positional columns from a VOTable
        votsort - Extract the main positional columns from a VOTable
        votstat - Compute statistics for numeric columns of a VOTable.


    Additional tasks will be added as interfaces are expanded and new
capabilities are added to the system.


Client-Side Libraries
---------------------

    The VOClient provides a number of APIs to support developers building
science applications of their own, or for use in other environments. These
libraries are implemented in C and provide additional bindings for a number
of VO supported languages.  Each interface is fully documented and higher-
level "User's Guide" documentation is planned for each interface.


  libvoapps         High-level interface to application functionality.
                    Tasks are built on these routines to provide the
                    cmdline user interface, but are encapsulated in an
                    API to provide this functionality to other environ-
                    ments easily (as opposed to having that functionality
                    be re-implemented using the low-level interfaces).

  libvotable        A VOTable parser library.  The interface provides
                    both read (lax parsing) and write (strict compliance)
                    capabilities.  Reference is VOTable v1.2.

  libvoclient       A VO Service interface library.  This interface uses
                    the VOClient Daemon to access a variety of VO web
                    services (Registry, Sesame, DAL services, etc) which
                    then communicate to the API to pass information back
                    to the application.

  libsamp           Client-side SAMP interface library.  This interface
                    allows an application to send and receive SAMP
                    messages but does NOT (at this time) provide a local
                    Hub implementation.  Applications can register their
                    own functions to be used as callbacks in response to
                    a message, the API provides only the middle-ware needed
                    to handle the SAMP protocol.



Using Pre-Built Binaries
------------------------

	Pre-built binary distributions are available containg both source
and binaries for a specific platform.  These distribution names are of the
form
	voclient-<version>-bin.<arch>.tar.gz

They may be unpacked with the command

	tar zxf /<path>/voclient-<version>-bin.<arch>.tar.gz

This will produce a 'voclient' subdirectory containing the unpacked
distribution.  Within that directory you'll find the following important
directories needed to install the package on the system:

	bin/		Task binaries
	lib/		API library files
	include/	Program header files

The contents of these directories should be copied to some system directory
available in the normal user paths.  For example, to install in /usr/local

	% cd /<path>/voclient
	% sudo cp bin/* /usr/local/bin
	% sudo cp lib/* /usr/local/lib
	% sudo cp include/* /usr/local/include

When compiling new applications the appropriate '-I' and '-L' flags will
need to be set to find the libraries and include files needed.  The binary
installation directory should be some directory in the normal $PATH
environment setting.


Building VOClient from Source
-----------------------------

	The source distribution of the release is containe in the file

	voclient-src.tar.gz

It may be unpacked with the command

	tar zxf /<path>/voclient-src.tar.gz

This will produce a 'voclient' subdirectory containing the unpacked
distribution.  Utility scripts are used throughout the system to do the
platform configuration necessary, therefore the only command needed to
build the package is:

	% cd /<path>/voclient
	% make

As with the pre-built binary described above, the following important
directories are needed to install the package on the system:

        bin/            Task binaries
        lib/            API library files
        include/        Program header files

In a successful build the libraries and binaries are installed in the
package 'bin' and 'lib' directories, header files needed for program
development are put in the 'include' directory.  The contents of these
directories should be copied to some system directory available in the
normal user paths.  For example, to install in /usr/local

        % cd /<path>/voclient
        % sudo cp bin/* /usr/local/bin
        % sudo cp lib/* /usr/local/lib
        % sudo cp include/* /usr/local/include

When compiling new applications the appropriate '-I' and '-L' flags will
need to be set to find the libraries and include files needed.  The binary
installation directory should be some directory in the normal $PATH
environment setting.



Supported Platforms
-------------------

    This release currently supports the following platforms:

    Mac OSX		32-bit and 64-bit Intel, OSX 10.6 and later
    Linux 32-bit	32-bit Linux systems (Fedora, Redhat, Ubuntu, etc)
    Linux 64-bit	64-bit Linux systems (Fedora, Redhat, Ubuntu, etc)

Additional platforms will be added as needed.


Revision History
----------------

2/27/13	    Initial Release v1.0


Help and Contact Info
---------------------

    For help, questions or suggestions please feel free to contact 
Mike Fitzpatrick (fitz@noao.edu) or the VAO Help Desk at

	http://www.usvao.org/contact-connect/

Questions may also be posted the VAO forums at

	http://astrobabel.net