Project

General

Profile

CDM Server » History » Version 11

Andreas Kohlbecker, 10/29/2009 04:37 PM

1 1 Markus Döring
{{>toc}}
2
3
4
5
# CDM Community Server
6
7
A Central datastore for a community of users (taxonomically, geographically or otherwise defined). The community store server is used to centrally host versionable [[CommonDataModel]] data.
8
9
The store makes use of the [[CdmLibrary]] and exposes [[CdmAPI#RemoteAPI|webservices]] based on the [[CdmLibrary]] service layer.
10
11
The CDM store is a central piece of the platform and applications that are able to interface with this store are considered part of the platform.
12
13
14
15 3 Markus Döring
----
16
17
18 7 Andreas Kohlbecker
## Getting Started
19
20
The CDM Community Server comes in two flavors. As standalone server (@cdmserver-standalone.jar@) and as war archive (@cdmserver.war@). Using the standalone server is the easoied and recommendet way to get a CDM Community Server up and running. Installing the `cdmserver.war` into Tomcat is currently not recommendet due to a known memory leak which occured only in this combination. The standalone server does not have this problem.
21
22
23
In the following the required tesps to install the standalone server are described. Currently there is no official guidance on installing the war, bur iterested developers may refer to the [[WebserviceDeployment]] page to get some hints.
24
25
26
27
### Installing the standalone server
28
29
This install guide describes the installation of the standalone server on a Debian linux system and should also be compatible with Ubuntu systems. 
30
31 11 Andreas Kohlbecker
1. Download the [cdmserver-standalone.jar":http://dev.e-taxonomy.eu/download/cdmserver/2.2/cdmserver-standalone.jar and the init script "cdmserver":http://dev.e-taxonomy.eu/download/cdmserver/2.2/initscript/cdmserver and the "datasources.xml](http://dev.e-taxonomy.eu/download/cdmserver/2.2/datasources.xml.)
32 7 Andreas Kohlbecker
33
1. Store  `cdmserver-standalone.jar` in the filesystem of your server.
34
35 11 Andreas Kohlbecker
1. Copy the init script `cdmserver` into `/etc/init.d/` and adapt the permissions and the ownership: 
36 1 Markus Döring
37 10 Andreas Kohlbecker
~~~
38
cp cdmserver /etc/init.d/
39
chmod 755 cdmserver
40
chown root:root cdmserver
41
~~~
42 7 Andreas Kohlbecker
1. Edit in the init script `cdmserver` the `CDM_HOME` path variable to macth the path where `cdmserver-standalone.jar` has been stored in step 2.
43
44 1 Markus Döring
1. Create the `.cdmLibrary` folder in `CDM_HOME` 
45 7 Andreas Kohlbecker
46 10 Andreas Kohlbecker
1. Install the init script `cdmserver` by running the following command: 
47 1 Markus Döring
48 10 Andreas Kohlbecker
~~~
49
update-rc.d cdmserver defaults
50
~~~
51 7 Andreas Kohlbecker
1. Copy `datasources.xml` into it and edit this file to match your cdm data bases.
52 1 Markus Döring
53 10 Andreas Kohlbecker
1. Start the cdm server: 
54 1 Markus Döring
55 10 Andreas Kohlbecker
~~~
56
/etc/init.d/cdmserver start
57
~~~
58
1. You can stop the server by executing 
59
60
~~~
61
/etc/init.d/cdmserver stop
62
~~~
63 7 Andreas Kohlbecker
64
65
66
----
67
68
69 1 Markus Döring
## Webservices
70
71 6 Andreas Müller
Srvices/APIs exposed by the community store are:
72 1 Markus Döring
73
74
75
### XML/JSON REST
76
77 5 Andreas Kohlbecker
Mainly read operations exposing [[CdmDataTransferObjects]] for the [[CdmDataportal]]. The services are URL encoded REST services and the http content-type of a request specifies whether XML (default) or JSON will be returned. For further details please refer to [[CdmRestServices|CDM REST Services]].
78 1 Markus Döring
79
The detailed list of implemented and planned operations can be found at wiki:CdmAPI#RemoteAPI
80
81
82
83
### RSS Search feeds
84
85
Additionally to the search services provided by the REST API above, the same search methods will also be exposed as RSS feeds. This allows RSS clients, or wikipedia:Aggregator, to "subscribe" to specific searches as RSS feeds are natively ordered chronologically and new search entries therefore can easily be identified. It is planned that all [[PrimaryCdmObjects]] will be exposed for searches.
86
87
88
89
### OAI-PMH
90
91
In order to build central aggregators is is planned to support the  [OAI-PMH protocol](http://www.openarchives.org/OAI/openarchivesprotocol.html)  with selective date based harvesting. [GBIF":http://www.gbif.net, "EOL](http://www.eol.org/) or any other data aggregator will therefore be able to easily pool CDM data and keep their copy up to date by accessing incremental changes only - and not the entire CDM dataset every time.
92
93
94
95
### LSID
96
97
The CDM Store will include an LSID resolver exposing [[PrimaryCdmObjects]] objects in RDF as TDWG LSID voc
98
99
100 3 Markus Döring
101 4 Markus Döring
### Linkback Annotations
102
103
All pages should expose a linkback mechanism that allows to be aware of external comments done on popular blogging software. See Wikipedia:Linkback
104
105
106 3 Markus Döring
107
----
108 1 Markus Döring
109
110
## File Server
111
112
113
### Images
114
115
Please see [[ImageServer]]
116
117
118
### Documents/PDF
119
120
We will use Drupal as a start