You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: source/intro.rst
+50-32Lines changed: 50 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,38 @@
1
+
2
+
This document describes the implementation and installation of a VAMDC-TAP node using the Java Node Software. It is organized to follow the node development path.
3
+
Each chapter corresponds to an individual development task.
4
+
5
+
In the :ref:`intro`, a brief description of the components employed in the java node software implementation is given.
6
+
7
+
:ref:`plugin` chapter presents the architecture of the Java Node Software and gives the details on the interaction interfaces between the node software parts.
8
+
9
+
Setting up the development environment with the TAPValidator program is described in the :ref:`plugintest` chapter.
10
+
11
+
The first development task is to access the data in the database. Apache Cayenne library is used to perform this task. The process is briefly described in the
12
+
chapter :ref:`datamodel`.
13
+
Once the access to the data is established, one may proceed to building the XSAMS elements from the database objects, as described in the chapter :ref:`XSAMSGen`.
14
+
The last development task is to define the mapping between the incoming VSS2 queries and the internal database queries.
15
+
The chapter :ref:`QueryHandling` describes that mapping in detail.
16
+
17
+
By this moment, node plugin should be capable of producing the XSAMS documents in response to incoming queries.
18
+
Final development task is to implement special queries used to estimate if the database contains data for a given VSS2 request.
19
+
It is described in the :ref:`metrics` chapter.
20
+
21
+
The last chapter and last task is to install the node web service (:ref:`deploy`).
22
+
23
+
24
+
1
25
.. _intro:
2
26
27
+
3
28
Introduction
4
29
=============
5
30
6
31
Java implementation of the VAMDC-TAP node software was created in parallel with the Python version to pursue several objectives:
7
32
8
33
* Insure that standards are complete and contain no implementation-specific elements
9
34
10
-
* Give a choice of the implementation to database maintainers
35
+
* Give a choice of an implementation to node maintainers
11
36
12
37
* Employ the schema-based DOM XML generator to ensure the document validity.
13
38
It presents an alternative approach to the keywords dictionary as used in Python/Django node software - see below the :ref:`diff` section
@@ -43,14 +68,16 @@ Additional libraries were developed within the VAMDC project are part of Java VA
43
68
providing object-oriented view on a query string;
44
69
45
70
* Query mapping library,
46
-
providing basic support for queries mapping to node database queries using Apache Cayenne objects.
71
+
providing basic support for mapping of incoming queries to the node database queries using Apache Cayenne objects.
47
72
48
73
* XSAMS helper library,
49
74
providing convenience methods for output XML generator implementation;
50
75
51
-
* Web application, .war archive integrating all libraries
76
+
* Web application,
77
+
.war archive integrating all libraries
52
78
53
-
* VAMDC-TAP service validation tool, may be used for node software testing
79
+
* TAPValidator,
80
+
VAMDC-TAP service validation tool that may be used for node plugin testing on all phases of development.
54
81
55
82
56
83
Node-specific components
@@ -59,23 +86,17 @@ Node-specific components
59
86
In Java node software each node installation requires creating two libraries:
60
87
61
88
#. Database Access Objects using Apache Cayenne.
62
-
This task is well described in the Apache Cayenne documentation [CAYDOC]_ . A fancy graphical tool is provided.
89
+
This task is well described in the Apache Cayenne documentation [CAYDOC]_ .
90
+
A graphical tool is provided allowing to define the database structure and relations.
91
+
Java classes corresponding to table entities are generated using this tool.
63
92
64
93
#. Node plugin,
65
94
A piece of software that implements the node plugin interfaces and integrates with Java VAMDC Node Software application.
66
95
Node plugin is responsible for a query translation into the database-specific queries and for building the appropriate XSAMS tree
67
96
from the fetched database access objects.
68
97
69
98
70
-
This document is dedicated mostly to describe how to implement and deploy a node plugin.
71
-
72
-
For the approximate estimation of the required amount of node-specific code, the following numbers should be considered:
73
99
74
-
* BASECOL node plugin - total of ~1600 lines of code;
75
-
76
-
* KIDA node plugin - total of ~1500 lines of code;
77
-
78
-
For all nodes those numbers do not include the autogenerated database model classes.
Copy file name to clipboardExpand all lines: source/plugin-arch.rst
+45-22Lines changed: 45 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,54 +1,77 @@
1
1
.. _plugin:
2
2
3
-
Database plugin
3
+
Node architecture
4
4
=========================
5
5
6
+
Java implementation of VAMDC-TAP node software is a web-service application implementing a RESTful interface according to VAMDC-TAP standard specification.
7
+
8
+
It is accessible using the HTTP protocol, with URLs like *http://node.name.tld/vamdc-tap/12_07/VOSI/capabilities* or
0 commit comments