diff --git a/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java b/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java
index 9da4fc3e462a500e60717e96eccf723103d3b1f4..028158ae9f061b9d3ca74e2111a95ce56f4332c4 100644
--- a/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java
+++ b/authentication/source/java/ch/systemsx/cisd/authentication/BasicSession.java
@@ -22,20 +22,31 @@ import org.apache.commons.lang.time.DateFormatUtils;
 
 /**
  * Basic session object.
- *
+ * 
  * @author Franz-Josef Elmer
  */
 public class BasicSession implements Serializable
 {
     protected static final String DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
+
     private static final long serialVersionUID = 1L;
-    
-    private final String sessionToken;
-    private final String userName;
-    private final Principal principal;
-    private final String remoteHost;
-    private final long sessionStart;
-    private final int sessionExpirationTime;
+
+    private String sessionToken;
+
+    private String userName;
+
+    private Principal principal;
+
+    private String remoteHost;
+
+    private long sessionStart;
+
+    private int sessionExpirationTime;
+
+    @Deprecated
+    public BasicSession()
+    {
+    }
 
     /**
      * Creates an instance from the specified session token, user name, principal, remoteHost, and
@@ -50,7 +61,7 @@ public class BasicSession implements Serializable
         assert sessionStart > 0 : "Given session start must be larger than zero.";
         assert remoteHost != null : "Given remote host can not be null";
         assert sessionExpirationTime >= 0;
-        
+
         this.sessionToken = sessionToken;
         this.userName = userName;
         this.principal = principal;
@@ -66,7 +77,7 @@ public class BasicSession implements Serializable
     {
         return sessionToken;
     }
-    
+
     /**
      * Returns the owner of the session.
      */
@@ -74,7 +85,7 @@ public class BasicSession implements Serializable
     {
         return userName;
     }
-    
+
     /**
      * Returns full information about the user.
      */
@@ -82,7 +93,7 @@ public class BasicSession implements Serializable
     {
         return principal;
     }
-    
+
     /**
      * Returns the remote host.
      */
@@ -90,7 +101,7 @@ public class BasicSession implements Serializable
     {
         return remoteHost;
     }
-    
+
     /**
      * Returns the time when the session has been started (in milliseconds since start of the
      * epoch).
@@ -108,6 +119,42 @@ public class BasicSession implements Serializable
         return sessionExpirationTime;
     }
 
+    @Deprecated
+    public void setSessionToken(String sessionToken)
+    {
+        this.sessionToken = sessionToken;
+    }
+
+    @Deprecated
+    public void setUserName(String userName)
+    {
+        this.userName = userName;
+    }
+
+    @Deprecated
+    public void setPrincipal(Principal principal)
+    {
+        this.principal = principal;
+    }
+
+    @Deprecated
+    public void setRemoteHost(String remoteHost)
+    {
+        this.remoteHost = remoteHost;
+    }
+
+    @Deprecated
+    public void setSessionStart(long sessionStart)
+    {
+        this.sessionStart = sessionStart;
+    }
+
+    @Deprecated
+    public void setSessionExpirationTime(int sessionExpirationTime)
+    {
+        this.sessionExpirationTime = sessionExpirationTime;
+    }
+
     @Override
     public String toString()
     {
@@ -115,4 +162,3 @@ public class BasicSession implements Serializable
                 + DateFormatUtils.format(sessionStart, DATE_FORMAT_PATTERN) + "}";
     }
 }
-
diff --git a/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java b/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java
index f1aab7c46a8ae96ec08a7cf092bb3fb41494bdc7..eb0df3b9a973b0cdad5a7413aef04df316be290a 100644
--- a/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java
+++ b/authentication/source/java/ch/systemsx/cisd/authentication/Principal.java
@@ -39,15 +39,21 @@ public final class Principal extends AbstractHashable implements Serializable
 {
     private static final long serialVersionUID = 1L;
 
-    private final String userId;
+    private String userId;
 
-    private final String firstName;
+    private String firstName;
 
-    private final String lastName;
+    private String lastName;
 
-    private final String email;
+    private String email;
 
-    private final Map<String, String> properties;
+    private Map<String, String> properties;
+
+    // for serialization only
+    @Deprecated
+    public Principal()
+    {
+    }
 
     /**
      * Constructor which accepts mandatory parameters but no properties
@@ -121,8 +127,8 @@ public final class Principal extends AbstractHashable implements Serializable
     }
 
     /**
-     * Returns the property for given <var>key</var>, or <code>null</code>, if no property
-     * exists for this <var>key</var>.
+     * Returns the property for given <var>key</var>, or <code>null</code>, if no property exists
+     * for this <var>key</var>.
      */
     public final String getProperty(final String key)
     {
@@ -135,6 +141,42 @@ public final class Principal extends AbstractHashable implements Serializable
         return Collections.unmodifiableSet(properties.keySet());
     }
 
+    @Deprecated
+    public Map<String, String> getProperties()
+    {
+        return properties;
+    }
+
+    @Deprecated
+    public void setUserId(String userId)
+    {
+        this.userId = userId;
+    }
+
+    @Deprecated
+    public void setFirstName(String firstName)
+    {
+        this.firstName = firstName;
+    }
+
+    @Deprecated
+    public void setLastName(String lastName)
+    {
+        this.lastName = lastName;
+    }
+
+    @Deprecated
+    public void setEmail(String email)
+    {
+        this.email = email;
+    }
+
+    @Deprecated
+    public void setProperties(Map<String, String> properties)
+    {
+        this.properties = properties;
+    }
+
     //
     // Object
     //
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java
index c497b45da4beb7a9977e458cb7aba359427f0a92..3352db15f186c06bd31607baa94f6822c9c3b6e9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/Session.java
@@ -28,7 +28,7 @@ import ch.systemsx.cisd.authentication.Principal;
  */
 public final class Session extends BasicSession implements IAuthSession
 {
-    private static final long serialVersionUID = 1L;
+    final private static long serialVersionUID = 1L;
 
     /**
      * The {@link PersonPE} represented by this <code>Session</code> or <code>null</code> if it is
@@ -36,6 +36,12 @@ public final class Session extends BasicSession implements IAuthSession
      */
     private PersonPE personOrNull;
 
+    @Deprecated
+    public Session()
+    {
+        super();
+    }
+
     public Session(final String user, final String sessionToken, final Principal principal,
             final String remoteHost, final long sessionStart)
     {
@@ -94,4 +100,9 @@ public final class Session extends BasicSession implements IAuthSession
                 + "}";
     }
 
+	@Deprecated
+    public PersonPE getPerson()
+    {
+        return personOrNull;
+    }
 }