diff --git a/datastore_server/resource/dependency-structure.ddf b/datastore_server/resource/dependency-structure.ddf
index 80de47cba70201596760e28dd8415ed0fa5ee880..ef9bc3b9d420ec92bfe3d06d2b6918c2d3da6718 100644
--- a/datastore_server/resource/dependency-structure.ddf
+++ b/datastore_server/resource/dependency-structure.ddf
@@ -33,8 +33,8 @@ layer l2 = [etlserver] [private_dss]
 check layeringOf l1 l2
 
 ######################################################################
-# Check dependencies between the component and the rest of dss
-[dss.component] = ${dss}.component.* ${dss}.rpc.*
-[dss.internal] = ${dss}.* excluding [dss.component]
+# Check dependencies between the api client and the rest of dss
+[dss.api.client] = ${dss}.api.v1.client.* ${dss}.api.v1.shared.* ${dss}.rpc.client.*
+[dss.internal] = ${dss}.* excluding [dss.api.client]
 
-check [dss.component] independentOf [dss.internal]
+check [dss.api.client] independentOf [dss.internal]
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/AbstractCommand.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/AbstractCommand.java
index 04e9d25db0ddc2bc95153960155a51573914b2ca..95ec2b25d337b43ba79a684c5abaa18ac0c2dded 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/AbstractCommand.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/AbstractCommand.java
@@ -20,9 +20,9 @@ import java.io.PrintStream;
 
 import ch.systemsx.cisd.args4j.CmdLineParser;
 import ch.systemsx.cisd.args4j.ExampleMode;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDataSetDss;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDssComponent;
-import ch.systemsx.cisd.openbis.dss.component.v1.impl.DssComponent;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDataSetDss;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDssComponent;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.impl.DssComponent;
 
 /**
  * Superclass for dss command-line client commands.
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandGet.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandGet.java
index cc32bf2a920de886cd56dd857f14a28fc5646a84..1f07138eb418015df9c0edf4c3478d1d60358989 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandGet.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandGet.java
@@ -28,9 +28,9 @@ import ch.systemsx.cisd.args4j.Option;
 import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked;
 import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDataSetDss;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDssComponent;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDataSetDss;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDssComponent;
 
 /**
  * Comand that lists files in the data set.
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandLs.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandLs.java
index 6cd10444a0e80e62d9fc7d51c6557dfa4c5e7b49..1cb6c01c6446f6ca8db106921a83ba09a5d34a12 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandLs.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/client/cli/CommandLs.java
@@ -20,9 +20,9 @@ import ch.systemsx.cisd.args4j.CmdLineParser;
 import ch.systemsx.cisd.args4j.Option;
 import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDataSetDss;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDssComponent;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDataSetDss;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDssComponent;
 
 /**
  * Comand that lists files in the data set.
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/DssComponentFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/DssComponentFactory.java
similarity index 92%
rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/DssComponentFactory.java
rename to datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/DssComponentFactory.java
index 0166b9a06b71fd910453b98446c7063e0563d03d..3a847ec49a2d19e7b91ad827facde31256551a03 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/DssComponentFactory.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/DssComponentFactory.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1;
+package ch.systemsx.cisd.openbis.dss.api.v1.client;
 
-import ch.systemsx.cisd.openbis.dss.component.v1.impl.DssComponent;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.impl.DssComponent;
 
 /**
  * A class that creates DssComponents.
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/IDataSetDss.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/IDataSetDss.java
similarity index 97%
rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/IDataSetDss.java
rename to datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/IDataSetDss.java
index b7f881b79efebc83b87e1618b953eabe15a3eac5..e15176134fee4f85a40ae36d2d8677e504be5375 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/IDataSetDss.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/IDataSetDss.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1;
+package ch.systemsx.cisd.openbis.dss.api.v1.client;
 
 import java.io.InputStream;
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/IDssComponent.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/IDssComponent.java
similarity index 97%
rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/IDssComponent.java
rename to datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/IDssComponent.java
index 381f9420b357e3a039f03b06a257f19530a69f3b..2c1d2eea9f9f1c6f6b4de1d0026c317c2798a89b 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/IDssComponent.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/IDssComponent.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1;
+package ch.systemsx.cisd.openbis.dss.api.v1.client;
 
 import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.common.exceptions.InvalidSessionException;
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DataSetDss.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DataSetDss.java
similarity index 93%
rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DataSetDss.java
rename to datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DataSetDss.java
index 6ff5a6e41300d04a0a54d730f2e58ba54cde970a..179341286af7cacc4736429b545c5aa98accb575 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DataSetDss.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DataSetDss.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1.impl;
+package ch.systemsx.cisd.openbis.dss.api.v1.client.impl;
 
 import java.io.InputStream;
 
 import ch.systemsx.cisd.common.exceptions.InvalidSessionException;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDataSetDss;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.IDssServiceRpcGeneric;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDataSetDss;
 
 /**
  * @author Chandrasekhar Ramakrishnan
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponent.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponent.java
similarity index 98%
rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponent.java
rename to datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponent.java
index 2ac11198257063db849d580e361e31e96b071a34..39ffa4c912cf96e14ecc46a2eda861fe257cc818 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponent.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponent.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1.impl;
+package ch.systemsx.cisd.openbis.dss.api.v1.client.impl;
 
 import java.io.InputStream;
 import java.util.List;
@@ -29,10 +29,10 @@ import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.common.exceptions.InvalidSessionException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.HttpInvokerUtils;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDataSetDss;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDssComponent;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.IDssServiceRpcGeneric;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDataSetDss;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDssComponent;
 import ch.systemsx.cisd.openbis.dss.rpc.client.DssServiceRpcFactory;
 import ch.systemsx.cisd.openbis.dss.rpc.client.IDssServiceRpcFactory;
 import ch.systemsx.cisd.openbis.generic.shared.IETLLIMSService;
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcGeneric.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/server/DssServiceRpcGeneric.java
similarity index 95%
rename from datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcGeneric.java
rename to datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/server/DssServiceRpcGeneric.java
index 2e6ca6f83cb2438bb96178c805bad39eaf95a4da..00e10eb47e80fa56d99deb79ef8cfd7111915e15 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcGeneric.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/api/v1/server/DssServiceRpcGeneric.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.generic.server;
+package ch.systemsx.cisd.openbis.dss.api.v1.server;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -26,6 +26,7 @@ import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssBuilder;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.IDssServiceRpcGeneric;
+import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDssServiceRpc;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 
 /**
@@ -38,7 +39,7 @@ public class DssServiceRpcGeneric extends AbstractDssServiceRpc implements IDssS
     public DssServiceRpcGeneric(IEncapsulatedOpenBISService openBISService)
     {
         super(openBISService);
-        operationLog.info("Started RPC V1 service.");
+        operationLog.info("Started DSS API V1 service.");
     }
 
     public FileInfoDssDTO[] listFilesForDataSet(String sessionToken, String dataSetCode,
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java
index a789351316bbaa69cdf0996933907dc4c36a1311..a9ed0cb3268734a492cd3004fd54978cf759e3f6 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServer.java
@@ -52,6 +52,7 @@ import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.logging.LogInitializer;
 import ch.systemsx.cisd.common.utilities.ExtendedProperties;
+import ch.systemsx.cisd.openbis.dss.api.v1.server.DssServiceRpcGeneric;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.IDssServiceRpcGeneric;
 import ch.systemsx.cisd.openbis.dss.generic.server.ConfigParameters.PluginServlet;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
diff --git a/datastore_server/source/java/dssApplicationContext.xml b/datastore_server/source/java/dssApplicationContext.xml
index 1899b092227ab5e17f296891b66619fdb8268d42..09e22a58476bcf8221fc180fe6a60d9546ccbacb 100644
--- a/datastore_server/source/java/dssApplicationContext.xml
+++ b/datastore_server/source/java/dssApplicationContext.xml
@@ -60,11 +60,11 @@
      <bean id="data-store-rpc-service-generic"
         class="com.marathon.util.spring.StreamSupportingHttpInvokerServiceExporter">
         <property name="service">
-            <bean class="ch.systemsx.cisd.openbis.dss.generic.server.DssServiceRpcGeneric">
+            <bean class="ch.systemsx.cisd.openbis.dss.api.v1.server.DssServiceRpcGeneric">
                 <constructor-arg ref="openBIS-service" />
             </bean>
         </property>
-        <property name="serviceInterface" value="ch.systemsx.cisd.openbis.dss.rpc.shared.IDssServiceRpcGeneric" />
+        <property name="serviceInterface" value="ch.systemsx.cisd.openbis.dss.api.v1.shared.IDssServiceRpcGeneric" />
     </bean>
     
     <bean id="data-store-rpc-name-server"
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponentTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponentTest.java
similarity index 98%
rename from datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponentTest.java
rename to datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponentTest.java
index 9edac95645d09cfdb237c192dd1201163cc47715..49203311e7305058cf17783d849aa7b122999085 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponentTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponentTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1.impl;
+package ch.systemsx.cisd.openbis.dss.api.v1.client.impl;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -33,11 +33,11 @@ import org.testng.annotations.Test;
 import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase;
 import ch.systemsx.cisd.common.api.RpcServiceInterfaceDTO;
 import ch.systemsx.cisd.common.api.RpcServiceInterfaceVersionDTO;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.IDataSetDss;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.impl.DssComponent;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssBuilder;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.IDssServiceRpcGeneric;
-import ch.systemsx.cisd.openbis.dss.component.v1.IDataSetDss;
-import ch.systemsx.cisd.openbis.dss.component.v1.impl.DssComponent;
 import ch.systemsx.cisd.openbis.dss.rpc.client.IDssServiceRpcFactory;
 import ch.systemsx.cisd.openbis.generic.shared.IETLLIMSService;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStore;
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponentTestClient.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponentTestClient.java
similarity index 92%
rename from datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponentTestClient.java
rename to datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponentTestClient.java
index ba3a577018c649d790886e722fee4fd57f347704..694410629a05beed7660b006edfd4e3e6158cdf1 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/component/v1/impl/DssComponentTestClient.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/api/v1/client/impl/DssComponentTestClient.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.component.v1.impl;
+package ch.systemsx.cisd.openbis.dss.api.v1.client.impl;
 
 import java.util.Properties;
 
 import org.apache.log4j.PropertyConfigurator;
 
-import ch.systemsx.cisd.openbis.dss.component.v1.impl.DssComponent;
+import ch.systemsx.cisd.openbis.dss.api.v1.client.impl.DssComponent;
 
 /**
  * @author Chandrasekhar Ramakrishnan
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcV1Test.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcV1Test.java
index c9a675f16125841e6b73114d412eabcab17c7149..e309591b7a237b8337f82d7cdbbe9bb90f948419 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcV1Test.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DssServiceRpcV1Test.java
@@ -30,6 +30,7 @@ import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.openbis.dss.api.v1.server.DssServiceRpcGeneric;
 import ch.systemsx.cisd.openbis.dss.api.v1.shared.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DatasetLocationUtil;
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/v1/.gitignore b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/v1/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391