<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>R Service Bus – Documentation</title>
    <link>/documentation/</link>
    <description>Recent content in Documentation on R Service Bus</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
	  <atom:link href="/documentation/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Documentation: Architecture</title>
      <link>/documentation/technical-guide/architecture/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/technical-guide/architecture/</guid>
      <description>
        
        
        &lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;/img/rsb-architecture.png&#34; alt=&#34;&amp;amp;ldquo;RSB architecture&amp;amp;rdquo;&#34;&gt;{#rsb-architecture}&lt;/p&gt;
&lt;p&gt;The architecture of RSB is organized around a messaging core that handles job requests and results.&lt;/p&gt;
&lt;p&gt;The goal of this messaging core is twofold:&lt;/p&gt;
   &lt;ul&gt;
  &lt;li&gt; it throttles the workload towards pool(s) of remotely managed R nodes, which are the ones in charge of actually processing the jobs,&lt;/li&gt;
    &lt;li&gt; it stores the results until they get propagated to their relevant destination (application specific result files for the REST API, immediate response for the SOAP API, emails or response directories). &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The messaging core consists in an embedded JMS provider (ActiveMQ) which hosts queues that are specific to the applications submitting R jobs. This allows a segregation of the submitted jobs and their related results. It also opens the door for creating application specific job workers in order to boost the priority of job execution (discussed further on).&lt;/p&gt;
&lt;p&gt;The job workers can optionally &lt;a href=&#34;../../usage-statistics&#34;&gt;report statistics&lt;/a&gt; on a pluggable store, like Redis.&lt;/p&gt;
&lt;h2 id=&#34;job-acceptors-and-result-handlers&#34;&gt;Job Acceptors and Result Handlers&lt;/h2&gt;
&lt;p&gt;Specific job acceptors and result handlers are deployed as frontal elements to the messaging core described previously. They handle the specifics of the particular protocol, format or transport they deal and take care of communicating with the job queues and reading responses from the response queues.&lt;/p&gt;
&lt;p&gt;Here is a summary of the different job acceptors and their mechanics:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt; REST: handles raw (API style) and multi-part (web form style) HTTP requests. It works in an asynchronous manner: jobs are submitted and acknowledged with a unique ID, which is used to later on retrieve the corresponding result. Worker responses are dequeued from the response queues and immediately written to a result store, from where they&#39;re served over HTTP. The REST API offers functions for browsing and deleting these result files. &lt;/li&gt;
   &lt;li&gt; SOAP: MTOM-enabled web service that offers synchronous semantics over the shared messaging core, this by consuming the result queue in a blocking manner on behalf of the client performing the SOAP call. &lt;/li&gt;
    &lt;li&gt; POP3/IMAP &amp; SMTP: works asynchronously, regularly polling an inbox for jobs and routing responses over SMTP &lt;/li&gt;
    &lt;li&gt; Directory Deposit: works asynchronously too, scanning a deposit directory and writing results back into another directory. Processed jobs are archived in a third directory. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Though they present very different semantics, all the above acceptors use the same messaging core, which allows a complete decoupling of the job accepting phase from the job processing one.&lt;/p&gt;
&lt;p&gt;Jobs and results are transported as serialized objects over JMS and respectively extend AbstractJob and AbstractResult.&lt;/p&gt;
&lt;h2 id=&#34;job-workers&#34;&gt;Job Workers&lt;/h2&gt;
&lt;h3 id=&#34;job-types&#34;&gt;Job Types&lt;/h3&gt;
&lt;p&gt;RSB supports two main types of jobs:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt; Multi-files jobs: usually composed of several data files and an R script. &lt;/li&gt;
    &lt;li&gt; Function call jobs: a single String payload (XML or JSON) passed to a predefined R function. &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;default-configuration-no-application-bias&#34;&gt;Default configuration: No Application Bias&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;/img/job_workers_default.png&#34; alt=&#34;&amp;amp;ldquo;Job workers default&amp;amp;rdquo;&#34;&gt;{#img-job_workers_default}&lt;/p&gt;
&lt;p&gt;By default, a single pool of JMS transacted message receivers consume all the R jobs in all the r.jobs.* queues. This JMS pool is sized to match the number of nodes in the targeted RPooli pool. That way, each concurrent worker thread that will fetch a job and request an R node to process it will never starve.&lt;/p&gt;
&lt;h3 id=&#34;optional-configuration-application-dedicated-pools&#34;&gt;Optional configuration: Application Dedicated Pools&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;/img/job_workers_app_bias.png&#34; alt=&#34;&amp;amp;ldquo;Job workers app bias&amp;amp;rdquo;&#34;&gt;{#img-job_workers_app_bias}&lt;/p&gt;
&lt;p&gt;If an application needs to have its jobs processed with a higher precedence than the other applications, the idea is to create a dedicated pool of transacted JMS message receivers sized accordingly with the other dedicated pools, the common pool and the actual number of available nodes on RPooli.&lt;/p&gt;
&lt;p&gt;A JMS filter is used on the common pool of receivers so they do not consume jobs of the privileged application. Conversely, the consumers of the privileged application work only with the specific jobs queue of the privileged application.&lt;/p&gt;
&lt;h3 id=&#34;optional-configuration-application-dedicated-rpooli-instance&#34;&gt;Optional configuration: Application Dedicated RPooli Instance&lt;/h3&gt;
&lt;p&gt;By default, RSB connects to a single RPooli instance and uses the nodes it finds there for its R processing needs.&lt;/p&gt;
&lt;p&gt;It is also possible to configure RSB to use application specific RPooli instances. This allows to guarantee that the execution of certain jobs only occur on a server where R is configured with the desired extensions or where the desired operating system is in use.&lt;/p&gt;
&lt;h2 id=&#34;job-error-handling&#34;&gt;Job Error Handling&lt;/h2&gt;
&lt;h3 id=&#34;rpooli-node-starvation&#34;&gt;RPooli Node Starvation&lt;/h3&gt;
&lt;p&gt;If the processing of a particular R job fails because no RPooli node was available, processing will be retried again. This happens by letting the exception received from RPooli client (because of the unavailability of node) roll-back the transaction into which the JMS message has been consumed. The JMS provider will then redeliver the message, after a configured amount of time and for a configured number of attempts.&lt;/p&gt;
&lt;p&gt;If the maximum number of retry attempts is reached, the failing job will be sent to a dead letter queue consumed by an RSB service which takes care of reporting the error to the original application (via the relevant results queue) and to the RSB admin.&lt;/p&gt;
&lt;h3 id=&#34;faulty-job&#34;&gt;Faulty Job&lt;/h3&gt;
&lt;p&gt;If a job is not processable because it contains error (wrong XML, bad R syntax&amp;hellip;) it will not be retried. It is immediately rejected and reported faulty to the calling application through the relevant results queue.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Installation</title>
      <link>/documentation/getting-started/install/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/getting-started/install/</guid>
      <description>
        
        
        &lt;h2 id=&#34;snapshot-debian-packages&#34;&gt;Snapshot Debian Packages&lt;/h2&gt;
&lt;p&gt;Should you want to get started with the latest RSB snapshot and have all the required packages and dependencies installed in a convenient manner, simply run the following command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install rsb-snapshot r-properties r-rsbxml r-rsbjson
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;These packages are found in this repository: deb.openanalytics.eu. Follow this guide to add this repository to your system.&lt;/p&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;RSB needs R, several R packages and also relies on RPooli for interacting with R.&lt;/p&gt;
&lt;p&gt;If you haven&amp;rsquo;t installed R already, consider doing so using the r-base and r-rj packages from deb.openanalytics.eu&lt;/p&gt;
&lt;p&gt;The R packages can be installed in two ways:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    install.packages(c(&amp;#34;properties&amp;#34;, &amp;#34;RSBXml&amp;#34;, &amp;#34;RSBJson&amp;#34;), repos = &amp;#34;http://repos.openanalytics.eu&amp;#34;, type = &amp;#34;source&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Install the Debian packages: r-properties, r-rsbxml, r-rjsonio and r-rsbjson from deb.openanalytics.eu&lt;/p&gt;
&lt;p&gt;RPooli is bundled with RSB in its full distribution (which also contains a Tomcat web container).&lt;/p&gt;
&lt;p&gt;If you chose not to use the full distribution of RSB, you&amp;rsquo;ll need to install RPooli yourself, which is easily done with the RPooli package from deb.openanalytics.eu&lt;/p&gt;
&lt;h2 id=&#34;war-only-deployment&#34;&gt;WAR-only Deployment&lt;/h2&gt;
&lt;p&gt;RSB should deploy fine on any Java web-container supporting Servlet 3.1 running with Java 11 or newer.&lt;/p&gt;
&lt;p&gt;To ensure an RSB instance is running and can access its default RPooli pool, browse to or curl:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;http://${RSB host}/rsb/api/rest/system/health/check
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If all is good, RSB should respond: OK&lt;/p&gt;
&lt;h2 id=&#34;full-distribution-installation&#34;&gt;Full Distribution Installation&lt;/h2&gt;
&lt;p&gt;Simply unzip the distribution Zip archive in your preferred location and ensure the files in the bin directory are executable.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Administration</title>
      <link>/documentation/getting-started/admin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/getting-started/admin/</guid>
      <description>
        
        
        &lt;h2 id=&#34;jmx&#34;&gt;JMX&lt;/h2&gt;
&lt;h3 id=&#34;rmi&#34;&gt;RMI&lt;/h3&gt;
&lt;p&gt;RSB exposes MBeans accessible with JMX locally and over RMI.&lt;/p&gt;
&lt;p&gt;By default, the remote process URI is: &lt;strong&gt;service:jmx:rmi://127.0.0.1:9098/jndi/rmi://localhost:9099/myconnector&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&#34;http&#34;&gt;HTTP&lt;/h3&gt;
&lt;p&gt;All the MBeans are also accessible over HTTP.&lt;/p&gt;
&lt;p&gt;By default, the (browsable) HTTP URL is: &lt;strong&gt;http://localhost:8889&lt;/strong&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Scalability</title>
      <link>/documentation/technical-guide/scalability/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/technical-guide/scalability/</guid>
      <description>
        
        
        &lt;h2 id=&#34;scaling-up&#34;&gt;Scaling Up&lt;/h2&gt;
&lt;p&gt;The workload of single RSB instance is expected to be minimal, as the bulk of the computation is performed by RPooli while RSB takes care of moving job requests and results between JMS, file system and e-mail destinations.&lt;/p&gt;
&lt;p&gt;Increasing the processing throughput of a single RSB node can be achieved by increasing the size of the RPooli node pool and the number of RSB workers. Alternatively, if a single RPooli instance is reaching a limit that prevents adding more nodes, RSB can be configured to connect multiple RPooli instances in order to spread the workload across them. The selection of a particular pool could be achieved by assigning each independent RSB worker to a specific RPooli node or by using the configurable association between applications and RPooli pools (for example, to dispatch process intensive applications to a specific RPooli pool).&lt;/p&gt;
&lt;h2 id=&#34;scaling-out&#34;&gt;Scaling Out&lt;/h2&gt;
&lt;p&gt;Currently, RSB is architectured to run as a single stand-alone node. Should it become necessary to run several nodes in parallel, the following must be considered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;RSB polls email resources&lt;/em&gt;: running several instances concurrently consuming the same inboxes would create issues, as some jobs could potentially be retrieved several times (an email resource is not transactional). A possible mitigation is to configure each node differently so they don&amp;rsquo;t compete for the same inboxes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;RSB uses the local file system for handling multi-file jobs&lt;/em&gt;: if several RSB nodes get connected to a single JMS provider (instead of each of them using an embedded one), it is possible that a JMS message carries a pointer that references a file present in the file system of another node. A possible mitigation consists in carrying the full multi-file job payloads in JMS messages instead of File references.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Results for the REST API are stored in the local file system&lt;/em&gt;: in order to have several RSB nodes serve the same results either the file system where the results are stored should be shared across machines (like with an NFS mount) or an alternative implementation of [ResultStore] (&lt;a href=&#34;https://rsb-doc.openanalytics.eu/current/apidocs/index.html?eu/openanalytics/rsb/data/ResultStore.html&#34;&gt;https://rsb-doc.openanalytics.eu/current/apidocs/index.html?eu/openanalytics/rsb/data/ResultStore.html&lt;/a&gt;) that allows sharing over the network (for example a DB or Redis backed implementation).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Build</title>
      <link>/documentation/getting-started/build/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/getting-started/build/</guid>
      <description>
        
        
        &lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt; Sun/Oracle JDK 1.6 &lt;/li&gt;
&lt;li&gt; Maven 3 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To produce rsb.war, run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn clean install
            
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note that this war embeds javax dependencies and is designed to be deployed on web containers (like Tomcat or Jetty).&lt;/p&gt;
&lt;p&gt;To produce a rsb.war that can be deployed on application servers, run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -P-javax-dependencies clean install
            
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;packaged-distribution&#34;&gt;Packaged Distribution&lt;/h2&gt;
&lt;p&gt;To build a complete distribution consisting of Tomcat with both the RPooli and RSB web application deployed in it, run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -Pjavax-dependencies,tomcat-distribution clean package
                
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;test-run&#34;&gt;Test Run&lt;/h2&gt;
&lt;p&gt;On Linux/OS X, you can easily start RSB for a quick ride with:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn jetty:run
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to start RSB configured to use a locally running RPooli.&lt;/p&gt;
&lt;p&gt;Similarly, if you have a locally running RPooli, it&amp;rsquo;s also possible to quickly try RSB with Tomcat by running:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -Pjavax-dependencies,tomcat cargo:run
            
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Press Control+C when you&amp;rsquo;ll be done with testing.&lt;/p&gt;
&lt;p&gt;In both cases, RSB is accessible at this URL: &lt;a href=&#34;http://localhost:8888/rsb&#34;&gt;http://localhost:8888/rsb&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;integration-tests&#34;&gt;Integration Tests&lt;/h2&gt;
&lt;p&gt;RPooli must be running locally before starting the integration tests.&lt;/p&gt;
&lt;p&gt;If that is the case, then run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -Pjavax-dependencies,it -Dit.test=SuiteITCase clean verify
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Documentation: HA</title>
      <link>/documentation/technical-guide/ha/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/technical-guide/ha/</guid>
      <description>
        
        
        &lt;h2 id=&#34;reliability--ha&#34;&gt;Reliability / HA&lt;/h2&gt;
&lt;p&gt;Because it uses JMS queues internally and consumes messages transactionally, RSB exhibits a reliable behavior as far as guaranteed job processing and result delivery (up to the HTTP, email or file system interaction) are concerned.&lt;/p&gt;
&lt;p&gt;In order to roll-out a highly available deployment, several instances of RSB running in parallel must be deployed. The following must be considered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;RSB polls email resources&lt;/em&gt;: refer to this discussion for more information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;The REST API supports network level load balancing natively&lt;/em&gt;: nothing particular must be done to run RSB behind an HTTP load balancer. The job URIs generated by the REST API are built by using the host name of the incoming request, which guarantees that these URIs are respectful of any network-level indirection mechanism that could exist in front of RSB.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Each RSB node embeds a JMS provider&lt;/em&gt;: if an RSB node is down, all the jobs pending processing or the results pending delivery will not be accessible until the node is restarted. To be truly highly-available, the embedded JMS providers should be replaced with an external highly-available JMS provider to which all RSB nodes would connect. If this is pursued, keep in mind the following drawback (described &lt;a href=&#34;../scalability&#34;&gt;here&lt;/a&gt;): RSB uses the local file system for handling multi-file jobs.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Security</title>
      <link>/documentation/technical-guide/security/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/technical-guide/security/</guid>
      <description>
        
        
        &lt;h2 id=&#34;secure-mode&#34;&gt;Secure Mode&lt;/h2&gt;
&lt;p&gt;It is possible to run RSB in secure mode where only authorized users can use certain applications.
This is done by doing the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Activate security by uncommenting the blocks titled &amp;ldquo;Uncomment to enable security&amp;rdquo; in &lt;strong&gt;web.xml&lt;/strong&gt; and &lt;strong&gt;security-beans.xml&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Configure a Spring Security authentication provider in &lt;strong&gt;security-beans.xml&lt;/strong&gt; to retrieve users from LDAP, Database&amp;hellip;&lt;/li&gt;
&lt;li&gt;Configure RSB to associate applications with users and/or roles authorized to act as application users and admins, as shown in the next section.&lt;/li&gt;
&lt;li&gt;Optionally configure users and/or roles authorized to act as RSB admins, as shown in the following section.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;application-level-security&#34;&gt;Application Level Security&lt;/h2&gt;
&lt;p&gt;The following demonstrate how to configure RSB application level security:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
   &amp;#34;applicationSecurityConfiguration&amp;#34;: {
      &amp;#34;secure_app_1&amp;#34;: {
        &amp;#34;userPrincipals&amp;#34;:[&amp;#34;bob&amp;#34;,&amp;#34;dan&amp;#34;]
      },
      &amp;#34;secure_app_2&amp;#34;: {
        &amp;#34;userRoles&amp;#34;:[&amp;#34;ROLE_SCIENTIST&amp;#34;,&amp;#34;ROLE_ANALYST&amp;#34;]
      },
      &amp;#34;secure_app_3&amp;#34;: {
        &amp;#34;userPrincipals&amp;#34;:[&amp;#34;bob&amp;#34;,&amp;#34;dan&amp;#34;],
        &amp;#34;userRoles&amp;#34;:[&amp;#34;ROLE_SCIENTIST&amp;#34;,&amp;#34;ROLE_ANALYST&amp;#34;]
      },
      &amp;#34;secure_app_4&amp;#34;: {
        &amp;#34;userPrincipals&amp;#34;:[&amp;#34;bob&amp;#34;,&amp;#34;dan&amp;#34;],
        &amp;#34;userRoles&amp;#34;:[&amp;#34;ROLE_SCIENTIST&amp;#34;,&amp;#34;ROLE_ANALYST&amp;#34;],
        &amp;#34;functionCallAllowed&amp;#34;: true,
        &amp;#34;scriptSubmissionAllowed&amp;#34;: true
      },
      &amp;#34;secure_app_5&amp;#34;: {
        &amp;#34;userPrincipals&amp;#34;:[&amp;#34;bob&amp;#34;,&amp;#34;dan&amp;#34;],
        &amp;#34;userRoles&amp;#34;:[&amp;#34;ROLE_SCIENTIST&amp;#34;,&amp;#34;ROLE_ANALYST&amp;#34;],
        &amp;#34;adminPrincipals&amp;#34;:[&amp;#34;jack&amp;#34;],
        &amp;#34;adminRoles&amp;#34;:[&amp;#34;ROLE_ADMIN&amp;#34;]
      }
    }
          
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Application admins, declared with &lt;strong&gt;adminPrincipals&lt;/strong&gt; and &lt;strong&gt;adminRoles&lt;/strong&gt; are de-facto users of the concerned application.&lt;/p&gt;
&lt;p&gt;Notice how the &lt;strong&gt;functionCallAllowed&lt;/strong&gt; and &lt;strong&gt;scriptSubmissionAllowed&lt;/strong&gt; attributes are used to explicitly allow the users of secure_app_4 to execute jobs that can potentially impact the environment where R executes. This is disabled by default. Application admins are not affected by these flags.&lt;/p&gt;
&lt;h2 id=&#34;rsb-admin-security&#34;&gt;RSB Admin Security&lt;/h2&gt;
&lt;p&gt;The following demonstrate how to configure the optional RSB admin roles/roles:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;   &amp;#34;rsbSecurityConfiguration&amp;#34;: {
        &amp;#34;adminPrincipals&amp;#34;:[&amp;#34;joe&amp;#34;],
        &amp;#34;adminRoles&amp;#34;:[&amp;#34;ROLE_ADMIN&amp;#34;]
    }
    
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;RSB admins are de-facto users and admins of all the applications.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;application-aware-catalog&#34;&gt;Application Aware Catalog&lt;/h2&gt;
&lt;p&gt;In a secure environment, it can be desirable to partition the catalog per application name. This prevents one application or one application admin to read or write files in another application.&lt;/p&gt;
&lt;p&gt;This option, which is off by default, is activated with the following configuration setting:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    &amp;#34;applicationAwareCatalog&amp;#34; : true
    
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;jmx-rmi&#34;&gt;JMX RMI&lt;/h2&gt;
&lt;p&gt;Once RSB is running in &amp;ldquo;Secure Mode&amp;rdquo; (see above), it&amp;rsquo;s possible to secure the JMX RMI connector. It&amp;rsquo;s done by editing &lt;strong&gt;jmx-beans.xml&lt;/strong&gt; and uncommenting the blocks marked with &amp;ldquo;Uncomment to enable security&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Only the RSB admins (defined by users/roles as explained in &amp;ldquo;RSB Admin Security&amp;rdquo;) will be allowed to connect to the JMX RMI interface.&lt;/p&gt;
&lt;p&gt;If the default JMX ports have be left unchanged, the remote process URI to use to securely connect is:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    service:jmx:rmi://localhost:9098/jndi/rmi://localhost:9099/jmxRMIConnector
    
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;jmx-web-ui-mx4j&#34;&gt;JMX Web UI (MX4J)&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s possible to secure the JMX Web UI with HTTP Basic Auth by configuring a dedicated username / password pair in the RSB configuration:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    &amp;#34;jmxConfiguration&amp;#34;: {
       &amp;#34;stubPort&amp;#34;: 1098,
       &amp;#34;registryPort&amp;#34;: 1099,
       &amp;#34;httpPort&amp;#34;: 8889,
       &amp;#34;httpAuthenticationUsername&amp;#34;: &amp;#34;jmxui_username&amp;#34;,
       &amp;#34;httpAuthenticationPassword&amp;#34;: &amp;#34;U2FsdGVkX1+nOXQF+qvSVHeDdDG+jUyJxPzm6NW4NkI=&amp;#34;
    }
    
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The password is encrypted with DES3 using the username as the encryption password. For example, with jmxui_username / jmxui_pass as the username / password pair, one can encrypt the password with:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    $ echo -n &amp;#34;jmxui_pass&amp;#34; | openssl enc -a -e -salt -des3 -pass pass:jmxui_username
    U2FsdGVkX1+nOXQF+qvSVHeDdDG+jUyJxPzm6NW4NkI=
          
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It is recommended to enable SSL encryption for the JMX Web UI by using a frontal web-server, like Nginx.&lt;/p&gt;
&lt;p&gt;Note that this security option is available even if RSB is not running in &amp;ldquo;Secure Mode&amp;rdquo; (as described above).&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Upgrade</title>
      <link>/documentation/getting-started/upgrade/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/getting-started/upgrade/</guid>
      <description>
        
        
        &lt;h2 id=&#34;from-version-5x-to-6x&#34;&gt;From version 5.x to 6.x&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;https://rsb-doc.openanalytics.eu/current/apidocs/index.html?eu/openanalytics/rsb/stats/JobStatisticsHandler.html&#34;&gt;JobStatisticsHandler&lt;/a&gt; has been modified in a non backwards compatible fashion. The change is trivial: the storeJobStatistics method now takes a Job interface as a parameter from which the application name and job ID, previously passed as distinct arguments, can be retrieved.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: Building / Testing</title>
      <link>/documentation/technical-guide/build/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/technical-guide/build/</guid>
      <description>
        
        
        &lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JDK 1.8&lt;/li&gt;
&lt;li&gt;Maven 3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To produce the war file, run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn clean install
            
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note that this war embeds javax dependencies and is designed to be deployed on web containers (like Tomcat or Jetty).&lt;/p&gt;
&lt;p&gt;To produce a rsb.war that can be deployed on application servers, run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -P-javax-dependencies clean install
            
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;packaged-distribution&#34;&gt;Packaged Distribution&lt;/h2&gt;
&lt;p&gt;To build a complete distribution consisting of Tomcat with both the RPooli and RSB web application deployed in it, run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -Pjavax-dependencies,tomcat-distribution clean package
                
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;test-run&#34;&gt;Test Run&lt;/h2&gt;
&lt;p&gt;On Linux/OS X, you can easily start RSB for a quick ride with:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn jetty:run
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to start RSB configured to use a locally running RPooli.&lt;/p&gt;
&lt;p&gt;Similarly, if you have a locally running RPooli, it&amp;rsquo;s also possible to quickly try RSB with Tomcat by running:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -Pjavax-dependencies,tomcat cargo:run
            
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Press Control+C when you&amp;rsquo;ll be done with testing.&lt;/p&gt;
&lt;p&gt;In both cases, RSB is accessible at this URL: &lt;a href=&#34;http://localhost:8888/rsb&#34;&gt;http://localhost:8888/rsb&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;integration-tests&#34;&gt;Integration Tests&lt;/h2&gt;
&lt;p&gt;RPooli must be running locally before starting the integration tests.&lt;/p&gt;
&lt;p&gt;If that is the case, then run:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mvn -Pjavax-dependencies,it -Dit.test=SuiteITCase clean verify
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Documentation: /admin/catalog</title>
      <link>/documentation/api/rest/rest.admin.catalog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.admin.catalog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;admincatalog&#34;&gt;/admin/catalog&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/admin/catalog&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported in this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;X-RSB-Application-Name&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;header&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#catalog&#34;&gt;catalog (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /admin/catalog/{catalogName}/{fileName}</title>
      <link>/documentation/api/rest/rest.admin.catalog.catalogname.filename/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.admin.catalog.catalogname.filename/</guid>
      <description>
        
        
        &lt;h1 id=&#34;admincatalogcatalognamefilename&#34;&gt;/admin/catalog/{catalogName}/{fileName}&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/admin/catalog/{catalogName}/{fileName}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported in this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;li&gt;PUT&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;catalogName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fileName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;X-RSB-Application-Name&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;header&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;*/*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;put&#34;&gt;PUT&lt;/h2&gt;
&lt;h3 id=&#34;parameters-1&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;catalogName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fileName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;X-RSB-Application-Name&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;header&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;input-payload&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;text/plain&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-1&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;*/*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /admin/system/configuration</title>
      <link>/documentation/api/rest/rest.admin.system.configuration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.admin.system.configuration/</guid>
      <description>
        
        
        &lt;h1 id=&#34;adminsystemconfiguration&#34;&gt;/admin/system/configuration&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/admin/system/configuration&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;li&gt;PUT&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;put&#34;&gt;PUT&lt;/h2&gt;
&lt;h3 id=&#34;input-payload&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-1&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;*/*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /admin/system/r_packages</title>
      <link>/documentation/api/rest/rest.admin.system.r_packages/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.admin.system.r_packages/</guid>
      <description>
        
        
        &lt;h1 id=&#34;adminsystemr_packages&#34;&gt;/admin/system/r_packages&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/admin/system/r_packages&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;POST&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;post&#34;&gt;POST&lt;/h2&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;rServiPoolUri&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;query&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sha1hexsum&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;query&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;packageName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;query&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;input-payload&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/gzip&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /admin/system/restart</title>
      <link>/documentation/api/rest/rest.admin.system.restart/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.admin.system.restart/</guid>
      <description>
        
        
        &lt;h1 id=&#34;adminsystemrestart&#34;&gt;/admin/system/restart&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/admin/system/restart&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;POST&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;post&#34;&gt;POST&lt;/h2&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;*/*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /admin/system/rservi_pools</title>
      <link>/documentation/api/rest/rest.admin.system.rservi_pools/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.admin.system.rservi_pools/</guid>
      <description>
        
        
        &lt;h1 id=&#34;adminsystemrservi_pools&#34;&gt;/admin/system/rservi_pools&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/admin/system/rservi_pools&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#rservipools&#34;&gt;rServiPools (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /data</title>
      <link>/documentation/api/rest/rest.data/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.data/</guid>
      <description>
        
        
        &lt;h1 id=&#34;data&#34;&gt;/data&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/data&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#directory&#34;&gt;directory (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /data/{rootId}{b64extension}</title>
      <link>/documentation/api/rest/rest.data.rootidb64extension/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.data.rootidb64extension/</guid>
      <description>
        
        
        &lt;h1 id=&#34;datarootidb64extension&#34;&gt;/data/{rootId}{b64extension}&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/data/{rootId}{b64extension }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;rootId&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;b64extension&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#directory&#34;&gt;directory (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /jobs</title>
      <link>/documentation/api/rest/rest.jobs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.jobs/</guid>
      <description>
        
        
        &lt;h1 id=&#34;jobs&#34;&gt;/jobs&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/jobs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;POST (JSON payload)&lt;/li&gt;
&lt;li&gt;POST (XML payload)&lt;/li&gt;
&lt;li&gt;POST (ZIP payload)&lt;/li&gt;
&lt;li&gt;POST (multi-part form)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;post-json-payload&#34;&gt;POST (JSON payload)&lt;/h2&gt;
&lt;p&gt;Handles a function call job with a XML payload.&lt;/p&gt;
&lt;h3 id=&#34;input-payload&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;Argument passed to the function called on RServi.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;post-xml-payload&#34;&gt;POST (XML payload)&lt;/h2&gt;
&lt;p&gt;Handles a function call job with a XML payload.&lt;/p&gt;
&lt;h3 id=&#34;input-payload-1&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;Argument passed to the function called on RServi.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-1&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;post-zip-payload&#34;&gt;POST (ZIP payload)&lt;/h2&gt;
&lt;p&gt;Handles a function call job with a ZIP payload.&lt;/p&gt;
&lt;h3 id=&#34;input-payload-2&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/x-zip-compressed&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/x-zip&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/zip&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;Input stream of the ZIP data.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-2&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;post-multi-part-form&#34;&gt;POST (multi-part form)&lt;/h2&gt;
&lt;p&gt;Handles a multi-part form job upload.&lt;/p&gt;
&lt;h3 id=&#34;input-payload-3&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;multipart/form-data&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-3&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /process</title>
      <link>/documentation/api/rest/rest.process/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.process/</guid>
      <description>
        
        
        &lt;h1 id=&#34;process&#34;&gt;/process&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/process&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;POST (JSON payload)&lt;/li&gt;
&lt;li&gt;POST (XML payload)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;post-json-payload&#34;&gt;POST (JSON payload)&lt;/h2&gt;
&lt;p&gt;Handles a function call job with a JSON payload.&lt;/p&gt;
&lt;h3 id=&#34;input-payload&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;Argument passed to the function called on RServi.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;post-xml-payload&#34;&gt;POST (XML payload)&lt;/h2&gt;
&lt;p&gt;Handles a function call job with a XML payload.&lt;/p&gt;
&lt;h3 id=&#34;input-payload-1&#34;&gt;Input Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;consumeable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;Argument passed to the function called on RServi.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-1&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /result/{applicationName}/{resourceName}</title>
      <link>/documentation/api/rest/rest.result.applicationname.resourcename/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.result.applicationname.resourcename/</guid>
      <description>
        
        
        &lt;h1 id=&#34;resultapplicationnameresourcename&#34;&gt;/result/{applicationName}/{resourceName}&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/result/{applicationName}/{resourceName}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;li&gt;HEAD&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;p&gt;Serves a single result file.&lt;/p&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;applicationName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resourceName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;h3 id=&#34;output-payload-1&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/octet-stream&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;head&#34;&gt;HEAD&lt;/h2&gt;
&lt;p&gt;Provides HTTP meta-information only for a single result file.&lt;/p&gt;
&lt;h3 id=&#34;parameters-1&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;applicationName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resourceName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-2&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/octet-stream&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /results/{applicationName}</title>
      <link>/documentation/api/rest/rest.results.applicationname/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.results.applicationname/</guid>
      <description>
        
        
        &lt;h1 id=&#34;resultsapplicationname&#34;&gt;/results/{applicationName}&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/results/{applicationName}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;applicationName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#results&#34;&gt;results (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /results/{applicationName}/{jobId}</title>
      <link>/documentation/api/rest/rest.results.applicationname.jobid/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.results.applicationname.jobid/</guid>
      <description>
        
        
        &lt;h1 id=&#34;resultsapplicationnamejobid&#34;&gt;/results/{applicationName}/{jobId}&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/results/{applicationName}/{jobId}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;li&gt;DELETE&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;applicationName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;jobId&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#result&#34;&gt;result (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;delete&#34;&gt;DELETE&lt;/h2&gt;
&lt;h3 id=&#34;parameters-1&#34;&gt;Parameters&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;name&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;th&gt;type&lt;/th&gt;
&lt;th&gt;default&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;applicationName&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;jobId&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;td&gt;path&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;output-payload-1&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /system/health/check</title>
      <link>/documentation/api/rest/rest.system.health.check/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.system.health.check/</guid>
      <description>
        
        
        &lt;h1 id=&#34;systemhealthcheck&#34;&gt;/system/health/check&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/system/health/check&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;h3 id=&#34;output-payload&#34;&gt;Output Payload&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(custom)&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;text/plain&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Documentation: /system/info</title>
      <link>/documentation/api/rest/rest.system.info/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/documentation/api/rest/rest.system.info/</guid>
      <description>
        
        
        &lt;h1 id=&#34;systeminfo&#34;&gt;/system/info&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Mount Point: &lt;code&gt;/rest/system/info&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following operations are supported on this resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GET&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get&#34;&gt;GET&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;th&gt;produceable content type(s)&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../../rest-data#nodeinformation&#34;&gt;nodeInformation (XML)&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+json&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;application/vnd.rsb+xml&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;(no documentation provided)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
  </channel>
</rss>
