diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/ImageLibraryInfo.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/ImageLibraryInfo.java
index b225c6862b5caf0c4dcf50933143c27a112b2a47..17561e6ff9d066946dca032a49d3e15657dbdbb8 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/ImageLibraryInfo.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/ImageLibraryInfo.java
@@ -16,13 +16,17 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto;
 
+import java.io.Serializable;
+
 /**
  * Stores information about the library and its reader which should be used to read the image.
  * 
  * @author Tomasz Pylak
  */
-public class ImageLibraryInfo
+public class ImageLibraryInfo implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     // Which image library should be used to read the image?
     private final String name;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/RelativeImageFile.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/RelativeImageFile.java
index 53df7a99792291a66040e4bc9896ec5b91a4e23d..051161ecac4297d0a966725576fd693a24ab78fc 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/RelativeImageFile.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/RelativeImageFile.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto;
 
+import java.io.Serializable;
+
 import ch.systemsx.cisd.common.utilities.AbstractHashable;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageFileInfo;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageIdentifier;
@@ -25,8 +27,10 @@ import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.ImageIdentifier;
  * 
  * @author Tomasz Pylak
  */
-public class RelativeImageFile extends AbstractHashable
+public class RelativeImageFile extends AbstractHashable implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     private final String imageRelativePath;
 
     private final String imageIDOrNull;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java
index 6eda73dd15f88690bf4ca6cad7181d651723a038..9e842f120498ffac5830ade38ce84e2199790f75 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureDefinition.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.impl;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -39,8 +40,10 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ImgFe
  * 
  * @author Tomasz Pylak
  */
-public class FeatureDefinition implements IFeatureDefinition
+public class FeatureDefinition implements IFeatureDefinition, Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     private final ImgFeatureDefDTO imgFeatureDefDTO;
 
     private final List<FeatureValuesMap> values;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetStructure.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetStructure.java
index 325040d27530dafb8f60bec6d9919bdd1fc9d9a3..1590263d7cbf9c10533d7972028bb6335ed74e9d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetStructure.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetStructure.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.impl;
 
+import java.io.Serializable;
 import java.util.List;
 
 import ch.systemsx.cisd.common.collections.CollectionUtils;
@@ -33,8 +34,11 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ToStringUtil;
  * 
  * @author Tomasz Pylak
  */
-public class ImageDataSetStructure
+public class ImageDataSetStructure implements Serializable
 {
+    
+    private static final long serialVersionUID = 1L;
+
     private List<ImageFileInfo> images;
 
     private List<Channel> channels;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ThumbnailsInfo.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ThumbnailsInfo.java
index bd71a0d82d568351d78e388858c3dbdf0c5109d4..6c3c8c3f44466f29193d20c0b06c32f5cedb1a2d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ThumbnailsInfo.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ThumbnailsInfo.java
@@ -1,5 +1,6 @@
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.impl;
 
+import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
@@ -15,10 +16,14 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.Color
  * 
  * @author Tomasz Pylak
  */
-public class ThumbnailsInfo
+public class ThumbnailsInfo implements Serializable
 {
-    public static class PhysicalDatasetInfo
+    private static final long serialVersionUID = 1L;
+
+    public static class PhysicalDatasetInfo implements Serializable
     {
+        private static final long serialVersionUID = 1L;
+
         private final String rootPath;
 
         private int thumbnailsWidth;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/Channel.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/Channel.java
index dbb5d610ccc02ce84545e4d22a054844f55154fe..c2a615f1a7da25cf99bec67b98929ca0ad468f9f 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/Channel.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/Channel.java
@@ -1,6 +1,7 @@
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
 
 import java.awt.Color;
+import java.io.Serializable;
 
 import ch.systemsx.cisd.common.image.WavelengthColor;
 import ch.systemsx.cisd.common.utilities.AbstractHashable;
@@ -14,8 +15,10 @@ import ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.transformations.ImageTransfor
  * 
  * @author Tomasz Pylak
  */
-public final class Channel extends AbstractHashable
+public final class Channel extends AbstractHashable implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     private final String code;
 
     private final String label;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageFileInfo.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageFileInfo.java
index 891ea1e259fa7e714bf32d66eefbaadf49cf7666..85c50c1d8932508bb9374fa8892be0b64ead5774 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageFileInfo.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageFileInfo.java
@@ -1,5 +1,7 @@
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
 
+import java.io.Serializable;
+
 import ch.systemsx.cisd.bds.hcs.Location;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellLocation;
 
@@ -8,8 +10,10 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellLocation;
  * 
  * @author Tomasz Pylak
  */
-public final class ImageFileInfo
+public final class ImageFileInfo implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     private WellLocation wellLocationOrNull;
 
     private Location tileLocation;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageIdentifier.java
index 126b83ddbe32dce5e0eaa8c7f3274a3fa8a08b34..8699b2189ff1f2f424cc4418b45c808b4f657d0a 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageIdentifier.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
 
+import java.io.Serializable;
+
 import ch.systemsx.cisd.imagereaders.ImageID;
 
 /**
@@ -25,8 +27,10 @@ import ch.systemsx.cisd.imagereaders.ImageID;
  * 
  * @author Franz-Josef Elmer
  */
-public class ImageIdentifier implements Comparable<ImageIdentifier>
+public class ImageIdentifier implements Comparable<ImageIdentifier>, Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     public static final ImageIdentifier NULL = new ImageIdentifier(0, 0, 0, 0);
 
     private final int seriesIndex;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageStorageConfiguraton.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageStorageConfiguraton.java
index 2b964329b07a3f2b4746689d463b1ed45e5426d7..2945eea4553c113f1840f599caf90e3a690555aa 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageStorageConfiguraton.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ImageStorageConfiguraton.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -32,8 +33,10 @@ import ch.systemsx.cisd.openbis.dss.etl.dto.ImageLibraryInfo;
  * 
  * @author Tomasz Pylak
  */
-public class ImageStorageConfiguraton extends AbstractHashable
+public class ImageStorageConfiguraton extends AbstractHashable implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     /** Returns the default configuration. */
     public static ImageStorageConfiguraton createDefault()
     {
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ThumbnailsStorageFormat.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ThumbnailsStorageFormat.java
index feb1357bd5fdca0c6aab98c07fe4cdc08f082d94..df581ffa11dec9bafd9586d929befdc3ecbab699 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ThumbnailsStorageFormat.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/ThumbnailsStorageFormat.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1;
 
 import java.awt.image.BufferedImage;
 import java.io.OutputStream;
+import java.io.Serializable;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -32,9 +33,11 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil;
  * 
  * @author Tomasz Pylak
  */
-public class ThumbnailsStorageFormat extends AbstractHashable
+public class ThumbnailsStorageFormat extends AbstractHashable implements Serializable
 {
 
+    private static final long serialVersionUID = 1L;
+
     public enum FileFormat
     {
         PNG
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/ImageTransformation.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/ImageTransformation.java
index 972b6bd27a555538f03379a739ee42cf87ff2130..6c67458d0e8c110a62ea232439eb1b3d9ec1559e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/ImageTransformation.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v1/transformations/ImageTransformation.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.dto.api.v1.transformations;
 
+import java.io.Serializable;
+
 import ch.systemsx.cisd.base.image.IImageTransformerFactory;
 import ch.systemsx.cisd.openbis.generic.shared.basic.CodeNormalizer;
 
@@ -24,8 +26,11 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.CodeNormalizer;
  * 
  * @author Tomasz Pylak
  */
-public class ImageTransformation
+public class ImageTransformation implements Serializable
 {
+    
+    private static final long serialVersionUID = 1L;
+
     private String code;
 
     private String label;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureValuesMap.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureValuesMap.java
index 103b8aaca69ce7073c3b09f51c68b25ca10e25a5..2074090f6bb7f2fbbc8097ef47063eb2dfe323eb 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureValuesMap.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/FeatureValuesMap.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.dss.etl.featurevector;
 
+import java.io.Serializable;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -31,8 +32,10 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellLocation;
  * 
  * @author Tomasz Pylak
  */
-public class FeatureValuesMap
+public class FeatureValuesMap implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     private final Map<WellLocation, String> valuesMap;
 
     private final Double depthOrNull;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java
index 29831f4768fb848237787086f7b8bb8acb6e5a5c..b430b22985357cf88efe0e0585bedb6fa4f91c3b 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/ImgFeatureDefDTO.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess;
 
+import java.io.Serializable;
+
 import net.lemnik.eodsql.ResultColumn;
 
 /**
@@ -24,8 +26,10 @@ import net.lemnik.eodsql.ResultColumn;
  * 
  * @author Chandrasekhar Ramakrishnan
  */
-public class ImgFeatureDefDTO extends AbstractImgIdentifiable
+public class ImgFeatureDefDTO extends AbstractImgIdentifiable implements Serializable
 {
+    private static final long serialVersionUID = 1L;
+
     @ResultColumn("LABEL")
     private String label;