Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/AdminService.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/AdminService.cs	(revision 4441)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/AdminService.cs	(revision 4442)
@@ -32,4 +32,42 @@
   [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
   public class AdminService : IAdminService {
+    #region Platform Methods
+    public Platform GetPlatform(long platformId) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return okb.Platforms.FirstOrDefault(p => p.Id == platformId);
+      }
+    }
+    public IEnumerable<Platform> GetPlatforms() {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        return okb.Platforms.ToArray();
+      }
+    }
+    public void StorePlatform(Platform platform) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        Platform original = okb.Platforms.FirstOrDefault(p => p.Id == platform.Id);
+        if (original == null) {
+          okb.Platforms.InsertOnSubmit(new Platform() {
+            Name = platform.Name,
+            Description = platform.Description
+          });
+        } else {
+          original.Name = platform.Name;
+          original.Description = platform.Description;
+        }
+        okb.SubmitChanges();
+      }
+    }
+    public void DeletePlatform(long platformId) {
+      using (OKBDataContext okb = new OKBDataContext()) {
+        Platform platform = okb.Platforms.FirstOrDefault(p => p.Id == platformId);
+        if (platform != null) {
+          okb.Platforms.DeleteOnSubmit(platform);
+          okb.SubmitChanges();
+        }
+      }
+    }
+    #endregion
+
+    #region AlgorithmClass Methods
     public AlgorithmClass GetAlgorithmClass(long algorithmClassId) {
       using (OKBDataContext okb = new OKBDataContext()) {
@@ -66,5 +104,7 @@
       }
     }
-
+    #endregion
+
+    #region Algorithm Methods
     public Algorithm GetAlgorithm(long algorithmId) {
       using (OKBDataContext okb = new OKBDataContext()) {
@@ -83,9 +123,13 @@
           okb.Algorithms.InsertOnSubmit(new Algorithm() {
             Name = algorithm.Name,
-            Description = algorithm.Description
+            Description = algorithm.Description,
+            PlatformId = algorithm.PlatformId,
+            AlgorithmClassId = algorithm.AlgorithmClassId
           });
         } else {
           original.Name = algorithm.Name;
           original.Description = algorithm.Description;
+          original.PlatformId = algorithm.PlatformId;
+          original.AlgorithmClassId = algorithm.AlgorithmClassId;
         }
         okb.SubmitChanges();
@@ -101,14 +145,5 @@
       }
     }
-
-    /// <summary>
-    /// Gets all available platforms.
-    /// </summary>
-    /// <returns>A list of <see cref="Platform"/>s.</returns>
-    public Platform[] GetPlatforms() {
-      using (OKBDataContext okb = new OKBDataContext()) {
-        return okb.Platforms.ToArray();
-      }
-    }
+    #endregion
 
     /// <summary>
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs	(revision 4441)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/Interfaces/IAdminService.cs	(revision 4442)
@@ -32,4 +32,13 @@
   public interface IAdminService {
     [OperationContract]
+    Platform GetPlatform(long platformId);
+    [OperationContract]
+    IEnumerable<Platform> GetPlatforms();
+    [OperationContract]
+    void StorePlatform(Platform platform);
+    [OperationContract]
+    void DeletePlatform(long platformId);
+
+    [OperationContract]
     AlgorithmClass GetAlgorithmClass(long algorithmClassId);
     [OperationContract]
@@ -50,13 +59,4 @@
 
 
-
-
-
-    /// <summary>
-    /// Gets all available platforms.
-    /// </summary>
-    /// <returns>A list of <see cref="Platform"/>s.</returns>
-    [OperationContract]
-    Platform[] GetPlatforms();
 
     /// <summary>
Index: /trunk/sources/HeuristicLab.Services.OKB/3.3/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Services.OKB/3.3/app.config	(revision 4441)
+++ /trunk/sources/HeuristicLab.Services.OKB/3.3/app.config	(revision 4442)
@@ -33,5 +33,5 @@
       </mexHttpBinding>
       <wsHttpBinding>
-        <binding name="DefaultWsHttpBinding">
+        <binding name="DefaultWsHttpBinding" maxReceivedMessageSize="2147483647">
           <security mode="Message">
             <message clientCredentialType="UserName" />
