Index: /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1120)
@@ -170,5 +170,5 @@
             engine.JobId = e.Result.Job.Id;
             engine.Queue = MessageQueue.GetInstance();
-            engine.Start(e.Result.SerializedJob);
+            engine.Start(e.Result.Job.SerializedJob);
             engines.Add(e.Result.Job.Id, engine);
 
Index: /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Job.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Job.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Job.cs	(revision 1120)
@@ -40,4 +40,6 @@
     [DataMember]
     public double Percentage { get; set; }
+    [DataMember]
+    public byte[] SerializedJob { get; set; }
 
     public override bool Equals(object obj) {
Index: /trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj	(revision 1120)
@@ -86,4 +86,5 @@
     <Compile Include="BusinessObjects\UserGroup.cs" />
     <Compile Include="Interfaces\IClientFacade.cs" />
+    <Compile Include="Interfaces\IExecutionEngineFacade.cs" />
     <Compile Include="ResponseObject.cs" />
     <Compile Include="Interfaces\IClientManager.cs" />
Index: /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IExecutionEngineFacade.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IExecutionEngineFacade.cs	(revision 1120)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IExecutionEngineFacade.cs	(revision 1120)
@@ -0,0 +1,35 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+
+namespace HeuristicLab.Hive.Contracts.Interfaces {
+  [ServiceContract]
+  public interface IExecutionEngineFacade {
+    [OperationContract]
+    Response AddJob(Job job);
+  }
+}
Index: /trunk/sources/HeuristicLab.Hive.Contracts/ResponseJob.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Contracts/ResponseJob.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Contracts/ResponseJob.cs	(revision 1120)
@@ -37,6 +37,4 @@
     [DataMember]
     public Job Job { get; set; }
-    [DataMember]
-    public byte[] SerializedJob { get; set; }
   }
 }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/DBSettings.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/DBSettings.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/DBSettings.cs	(revision 1120)
@@ -27,5 +27,5 @@
 namespace HeuristicLab.Hive.Server.ADODataAccess.Properties {
 
-  internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+  internal sealed class Settings : global::System.Configuration.ApplicationSettingsBase {
 
     private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -37,8 +37,8 @@
     }
 
-  /*  private static String pw = "hive";
+    private static String pw = "hive";
     private static String un = "hive";
     private static String address = "10.22.20.84";
-    private static String catalog = "HiveServer"; */
+    private static String catalog = "HiveServer"; 
 
     public static String GetConnString(String adress, String catalog, String un, String pw) {
@@ -47,16 +47,17 @@
     }
 
+    private static string connString =
+      GetConnString(address, catalog, un, pw);
+
     [global::System.Configuration.ApplicationScopedSettingAttribute()]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-    [global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.22.20.84;Initial Catalog=HiveServer;MultipleActiveResultSets=True;" +
-        "Persist Security Info=True;User ID=hive;Password=hive")]
     public string HiveServerConnectionString {
       get {
-        return ((string)(this["HiveServerConnectionString"]));
+        return connString;
       }
 
       private set {
-        this["HiveServerConnectionString"] = value;
+        connString = value;
       }
     }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/HeuristicLab.Hive.Server.ADODataAccess.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/HeuristicLab.Hive.Server.ADODataAccess.csproj	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/HeuristicLab.Hive.Server.ADODataAccess.csproj	(revision 1120)
@@ -84,4 +84,9 @@
     <Compile Include="PermissionOwnerAdapter.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <None Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </None>
     <Compile Include="ResourceAdapter.cs" />
     <Compile Include="TransactionManager.cs" />
@@ -103,4 +108,8 @@
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
   </ItemGroup>
   <ItemGroup>
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobAdapter.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobAdapter.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/JobAdapter.cs	(revision 1120)
@@ -101,4 +101,9 @@
         else
           job.Percentage = 0.0;
+
+        if (!row.IsSerializedJobNull())
+          job.SerializedJob = row.SerializedJob;
+        else
+          job.SerializedJob = null;
 
         return job;
@@ -134,4 +139,6 @@
 
         row.Percentage = job.Percentage;
+
+        row.SerializedJob = job.SerializedJob;
       }
 
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/Properties/Settings.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/Properties/Settings.Designer.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/Properties/Settings.Designer.cs	(revision 1120)
@@ -27,6 +27,6 @@
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
-        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.22.20.84;Initial Catalog=HiveServer;MultipleActiveResultSets=True;" +
-            "Persist Security Info=True;User ID=hive;Password=hive")]
+        [global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.22.20.84;Initial Catalog=HiveServer;Persist Security Info=True;Use" +
+            "r ID=hive;Password=hive")]
         public string HiveServerConnectionString {
             get {
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/Properties/Settings.settings
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/Properties/Settings.settings	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/Properties/Settings.settings	(revision 1120)
@@ -6,8 +6,8 @@
       <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
 &lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
-  &lt;ConnectionString&gt;Data Source=10.22.20.84;Initial Catalog=HiveServer;MultipleActiveResultSets=True;Persist Security Info=True;User ID=hive;Password=hive&lt;/ConnectionString&gt;
+  &lt;ConnectionString&gt;Data Source=10.22.20.84;Initial Catalog=HiveServer;Persist Security Info=True;User ID=hive;Password=hive&lt;/ConnectionString&gt;
   &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
 &lt;/SerializableConnectionString&gt;</DesignTimeValue>
-      <Value Profile="(Default)">Data Source=10.22.20.84;Initial Catalog=HiveServer;MultipleActiveResultSets=True;Persist Security Info=True;User ID=hive;Password=hive</Value>
+      <Value Profile="(Default)">Data Source=10.22.20.84;Initial Catalog=HiveServer;Persist Security Info=True;User ID=hive;Password=hive</Value>
     </Setting>
   </Settings>
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.Designer.cs	(revision 1120)
@@ -2446,4 +2446,6 @@
             private global::System.Data.DataColumn columnPercentage;
             
+            private global::System.Data.DataColumn columnSerializedJob;
+            
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public JobDataTable() {
@@ -2519,4 +2521,11 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public global::System.Data.DataColumn SerializedJobColumn {
+                get {
+                    return this.columnSerializedJob;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             [global::System.ComponentModel.Browsable(false)]
             public int Count {
@@ -2547,5 +2556,5 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-            public JobRow AddJobRow(long ParentJobId, HiveUserRow parentHiveUserRowByR_35, ClientRow parentClientRowByR_21, string JobState, double Percentage) {
+            public JobRow AddJobRow(long ParentJobId, HiveUserRow parentHiveUserRowByR_35, ClientRow parentClientRowByR_21, string JobState, double Percentage, byte[] SerializedJob) {
                 JobRow rowJobRow = ((JobRow)(this.NewRow()));
                 object[] columnValuesArray = new object[] {
@@ -2555,5 +2564,6 @@
                         null,
                         JobState,
-                        Percentage};
+                        Percentage,
+                        SerializedJob};
                 if ((parentHiveUserRowByR_35 != null)) {
                     columnValuesArray[2] = parentHiveUserRowByR_35[0];
@@ -2593,4 +2603,5 @@
                 this.columnJobState = base.Columns["JobState"];
                 this.columnPercentage = base.Columns["Percentage"];
+                this.columnSerializedJob = base.Columns["SerializedJob"];
             }
             
@@ -2609,4 +2620,6 @@
                 this.columnPercentage = new global::System.Data.DataColumn("Percentage", typeof(double), null, global::System.Data.MappingType.Element);
                 base.Columns.Add(this.columnPercentage);
+                this.columnSerializedJob = new global::System.Data.DataColumn("SerializedJob", typeof(byte[]), null, global::System.Data.MappingType.Element);
+                base.Columns.Add(this.columnSerializedJob);
                 this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                 this.columnJobId}, true));
@@ -3977,4 +3990,19 @@
             
             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public byte[] SerializedJob {
+                get {
+                    try {
+                        return ((byte[])(this[this.tableJob.SerializedJobColumn]));
+                    }
+                    catch (global::System.InvalidCastException e) {
+                        throw new global::System.Data.StrongTypingException("The value for column \'SerializedJob\' in table \'Job\' is DBNull.", e);
+                    }
+                }
+                set {
+                    this[this.tableJob.SerializedJobColumn] = value;
+                }
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
             public ClientRow ClientRow {
                 get {
@@ -4044,4 +4072,14 @@
             public void SetPercentageNull() {
                 this[this.tableJob.PercentageColumn] = global::System.Convert.DBNull;
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public bool IsSerializedJobNull() {
+                return this.IsNull(this.tableJob.SerializedJobColumn);
+            }
+            
+            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+            public void SetSerializedJobNull() {
+                this[this.tableJob.SerializedJobColumn] = global::System.Convert.DBNull;
             }
             
@@ -7480,4 +7518,5 @@
             tableMapping.ColumnMappings.Add("JobState", "JobState");
             tableMapping.ColumnMappings.Add("Percentage", "Percentage");
+            tableMapping.ColumnMappings.Add("SerializedJob", "SerializedJob");
             this._adapter.TableMappings.Add(tableMapping);
             this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand();
@@ -7496,6 +7535,6 @@
             this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.InsertCommand.Connection = this.Connection;
-            this._adapter.InsertCommand.CommandText = @"INSERT INTO [Job] ([ParentJobId], [JobState], [PermissionOwnerId], [ResourceId]) VALUES (@ParentJobId, @JobState, @PermissionOwnerId, @ResourceId);
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId FROM Job WHERE (JobId = SCOPE_IDENTITY())";
+            this._adapter.InsertCommand.CommandText = @"INSERT INTO [Job] ([ParentJobId], [JobState], [PermissionOwnerId], [ResourceId], [SerializedJob]) VALUES (@ParentJobId, @JobState, @PermissionOwnerId, @ResourceId, @SerializedJob);
+SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobId = SCOPE_IDENTITY())";
             this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text;
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ParentJobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
@@ -7503,8 +7542,9 @@
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SerializedJob", global::System.Data.SqlDbType.VarBinary, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SerializedJob", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand();
             this._adapter.UpdateCommand.Connection = this.Connection;
-            this._adapter.UpdateCommand.CommandText = @"UPDATE [Job] SET [ParentJobId] = @ParentJobId, [JobState] = @JobState, [PermissionOwnerId] = @PermissionOwnerId, [ResourceId] = @ResourceId WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)));
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId FROM Job WHERE (JobId = @JobId)";
+            this._adapter.UpdateCommand.CommandText = @"UPDATE [Job] SET [ParentJobId] = @ParentJobId, [JobState] = @JobState, [PermissionOwnerId] = @PermissionOwnerId, [ResourceId] = @ResourceId, [SerializedJob] = @SerializedJob WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)));
+SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobId = @JobId)";
             this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ParentJobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
@@ -7512,4 +7552,5 @@
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+            this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@SerializedJob", global::System.Data.SqlDbType.VarBinary, 0, global::System.Data.ParameterDirection.Input, 0, 0, "SerializedJob", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_JobId", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));
             this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_ParentJobId", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));
@@ -7535,39 +7576,40 @@
             this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[0].Connection = this.Connection;
-            this._commandCollection[0].CommandText = "SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId FROM Job";
+            this._commandCollection[0].CommandText = "SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job";
             this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[1].Connection = this.Connection;
-            this._commandCollection[1].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE" +
-                " (JobState <> \'offline\')";
+            this._commandCollection[1].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job WHERE (JobState <> \'offline\')";
             this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[2].Connection = this.Connection;
-            this._commandCollection[2].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE" +
-                " (ResourceId = @ResourceId)";
+            this._commandCollection[2].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job WHERE (ResourceId = @ResourceId)";
             this._commandCollection[2].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@ResourceId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ResourceId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[3].Connection = this.Connection;
-            this._commandCollection[3].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE" +
-                " (JobId = @Id)";
+            this._commandCollection[3].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job WHERE (JobId = @Id)";
             this._commandCollection[3].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "JobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[4] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[4].Connection = this.Connection;
-            this._commandCollection[4].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE" +
-                " (JobState = @State)";
+            this._commandCollection[4].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job WHERE (JobState = @State)";
             this._commandCollection[4].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[4].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@State", global::System.Data.SqlDbType.VarChar, 18, global::System.Data.ParameterDirection.Input, 0, 0, "JobState", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[5] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[5].Connection = this.Connection;
-            this._commandCollection[5].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE" +
-                " (ParentJobId = @Id)";
+            this._commandCollection[5].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job WHERE (ParentJobId = @Id)";
             this._commandCollection[5].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Id", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "ParentJobId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
             this._commandCollection[6] = new global::System.Data.SqlClient.SqlCommand();
             this._commandCollection[6].Connection = this.Connection;
-            this._commandCollection[6].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE" +
-                " (PermissionOwnerId = @PermissionOwnerId)";
+            this._commandCollection[6].CommandText = "SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob" +
+                " FROM Job WHERE (PermissionOwnerId = @PermissionOwnerId)";
             this._commandCollection[6].CommandType = global::System.Data.CommandType.Text;
             this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PermissionOwnerId", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 0, 0, "PermissionOwnerId", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
@@ -7859,5 +7901,5 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)]
-        public virtual int Insert(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId) {
+        public virtual int Insert(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId, byte[] SerializedJob) {
             if ((ParentJobId.HasValue == true)) {
                 this.Adapter.InsertCommand.Parameters[0].Value = ((long)(ParentJobId.Value));
@@ -7883,4 +7925,10 @@
             else {
                 this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value;
+            }
+            if ((SerializedJob == null)) {
+                this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.InsertCommand.Parameters[4].Value = ((byte[])(SerializedJob));
             }
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State;
@@ -7903,5 +7951,5 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId, long Original_JobId, global::System.Nullable<long> Original_ParentJobId, string Original_JobState, global::System.Nullable<long> Original_PermissionOwnerId, global::System.Nullable<long> Original_ResourceId, long JobId) {
+        public virtual int Update(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId, byte[] SerializedJob, long Original_JobId, global::System.Nullable<long> Original_ParentJobId, string Original_JobState, global::System.Nullable<long> Original_PermissionOwnerId, global::System.Nullable<long> Original_ResourceId, long JobId) {
             if ((ParentJobId.HasValue == true)) {
                 this.Adapter.UpdateCommand.Parameters[0].Value = ((long)(ParentJobId.Value));
@@ -7928,38 +7976,44 @@
                 this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value;
             }
-            this.Adapter.UpdateCommand.Parameters[4].Value = ((long)(Original_JobId));
+            if ((SerializedJob == null)) {
+                this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value;
+            }
+            else {
+                this.Adapter.UpdateCommand.Parameters[4].Value = ((byte[])(SerializedJob));
+            }
+            this.Adapter.UpdateCommand.Parameters[5].Value = ((long)(Original_JobId));
             if ((Original_ParentJobId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[5].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[6].Value = ((long)(Original_ParentJobId.Value));
+                this.Adapter.UpdateCommand.Parameters[6].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[7].Value = ((long)(Original_ParentJobId.Value));
             }
             else {
-                this.Adapter.UpdateCommand.Parameters[5].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[6].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[6].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value;
             }
             if ((Original_JobState == null)) {
-                this.Adapter.UpdateCommand.Parameters[7].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[8].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[9].Value = global::System.DBNull.Value;
             }
             else {
-                this.Adapter.UpdateCommand.Parameters[7].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[8].Value = ((string)(Original_JobState));
+                this.Adapter.UpdateCommand.Parameters[8].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[9].Value = ((string)(Original_JobState));
             }
             if ((Original_PermissionOwnerId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[10].Value = ((long)(Original_PermissionOwnerId.Value));
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[11].Value = ((long)(Original_PermissionOwnerId.Value));
             }
             else {
-                this.Adapter.UpdateCommand.Parameters[9].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[10].Value = global::System.DBNull.Value;
+                this.Adapter.UpdateCommand.Parameters[10].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[11].Value = global::System.DBNull.Value;
             }
             if ((Original_ResourceId.HasValue == true)) {
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(0));
-                this.Adapter.UpdateCommand.Parameters[12].Value = ((long)(Original_ResourceId.Value));
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(0));
+                this.Adapter.UpdateCommand.Parameters[13].Value = ((long)(Original_ResourceId.Value));
             }
             else {
-                this.Adapter.UpdateCommand.Parameters[11].Value = ((object)(1));
-                this.Adapter.UpdateCommand.Parameters[12].Value = global::System.DBNull.Value;
-            }
-            this.Adapter.UpdateCommand.Parameters[13].Value = ((long)(JobId));
+                this.Adapter.UpdateCommand.Parameters[12].Value = ((object)(1));
+                this.Adapter.UpdateCommand.Parameters[13].Value = global::System.DBNull.Value;
+            }
+            this.Adapter.UpdateCommand.Parameters[14].Value = ((long)(JobId));
             global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State;
             if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) 
@@ -7981,6 +8035,6 @@
         [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
         [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)]
-        public virtual int Update(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId, long Original_JobId, global::System.Nullable<long> Original_ParentJobId, string Original_JobState, global::System.Nullable<long> Original_PermissionOwnerId, global::System.Nullable<long> Original_ResourceId) {
-            return this.Update(ParentJobId, JobState, PermissionOwnerId, ResourceId, Original_JobId, Original_ParentJobId, Original_JobState, Original_PermissionOwnerId, Original_ResourceId, Original_JobId);
+        public virtual int Update(global::System.Nullable<long> ParentJobId, string JobState, global::System.Nullable<long> PermissionOwnerId, global::System.Nullable<long> ResourceId, byte[] SerializedJob, long Original_JobId, global::System.Nullable<long> Original_ParentJobId, string Original_JobState, global::System.Nullable<long> Original_PermissionOwnerId, global::System.Nullable<long> Original_ResourceId) {
+            return this.Update(ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob, Original_JobId, Original_ParentJobId, Original_JobState, Original_PermissionOwnerId, Original_ResourceId, Original_JobId);
         }
     }
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xsd	(revision 1120)
@@ -575,6 +575,6 @@
                 <InsertCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>INSERT INTO [Job] ([ParentJobId], [JobState], [PermissionOwnerId], [ResourceId]) VALUES (@ParentJobId, @JobState, @PermissionOwnerId, @ResourceId);
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId FROM Job WHERE (JobId = SCOPE_IDENTITY())</CommandText>
+                    <CommandText>INSERT INTO [Job] ([ParentJobId], [JobState], [PermissionOwnerId], [ResourceId], [SerializedJob]) VALUES (@ParentJobId, @JobState, @PermissionOwnerId, @ResourceId, @SerializedJob);
+SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobId = SCOPE_IDENTITY())</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ParentJobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -582,4 +582,5 @@
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@SerializedJob" Precision="0" ProviderType="VarBinary" Scale="0" Size="0" SourceColumn="SerializedJob" SourceColumnNullMapping="false" SourceVersion="Current" />
                     </Parameters>
                   </DbCommand>
@@ -587,5 +588,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId FROM Job</CommandText>
+                    <CommandText>SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob FROM Job</CommandText>
                     <Parameters />
                   </DbCommand>
@@ -593,6 +594,6 @@
                 <UpdateCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="false">
-                    <CommandText>UPDATE [Job] SET [ParentJobId] = @ParentJobId, [JobState] = @JobState, [PermissionOwnerId] = @PermissionOwnerId, [ResourceId] = @ResourceId WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)));
-SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId FROM Job WHERE (JobId = @JobId)</CommandText>
+                    <CommandText>UPDATE [Job] SET [ParentJobId] = @ParentJobId, [JobState] = @JobState, [PermissionOwnerId] = @PermissionOwnerId, [ResourceId] = @ResourceId, [SerializedJob] = @SerializedJob WHERE (([JobId] = @Original_JobId) AND ((@IsNull_ParentJobId = 1 AND [ParentJobId] IS NULL) OR ([ParentJobId] = @Original_ParentJobId)) AND ((@IsNull_JobState = 1 AND [JobState] IS NULL) OR ([JobState] = @Original_JobState)) AND ((@IsNull_PermissionOwnerId = 1 AND [PermissionOwnerId] IS NULL) OR ([PermissionOwnerId] = @Original_PermissionOwnerId)) AND ((@IsNull_ResourceId = 1 AND [ResourceId] IS NULL) OR ([ResourceId] = @Original_ResourceId)));
+SELECT JobId, ParentJobId, JobState, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobId = @JobId)</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ParentJobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -600,4 +601,5 @@
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
+                      <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Binary" Direction="Input" ParameterName="@SerializedJob" Precision="0" ProviderType="VarBinary" Scale="0" Size="0" SourceColumn="SerializedJob" SourceColumnNullMapping="false" SourceVersion="Current" />
                       <Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int64" Direction="Input" ParameterName="@Original_JobId" Precision="0" ProviderType="BigInt" Scale="0" Size="0" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Original" />
                       <Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_ParentJobId" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="ParentJobId" SourceColumnNullMapping="true" SourceVersion="Original" />
@@ -622,4 +624,5 @@
               <Mapping SourceColumn="JobState" DataSetColumn="JobState" />
               <Mapping SourceColumn="Percentage" DataSetColumn="Percentage" />
+              <Mapping SourceColumn="SerializedJob" DataSetColumn="SerializedJob" />
             </Mappings>
             <Sources>
@@ -627,5 +630,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE (JobState &lt;&gt; 'offline')</CommandText>
+                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobState &lt;&gt; 'offline')</CommandText>
                     <Parameters />
                   </DbCommand>
@@ -635,5 +638,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE (ResourceId = @ResourceId)</CommandText>
+                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (ResourceId = @ResourceId)</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="true" AutogeneratedName="ResourceId" ColumnName="ResourceId" DataSourceName="HiveServer.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@ResourceId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ResourceId" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -645,5 +648,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE (JobId = @Id)</CommandText>
+                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobId = @Id)</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="false" AutogeneratedName="Id" ColumnName="JobId" DataSourceName="HiveServer.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="JobId" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -655,5 +658,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE (JobState = @State)</CommandText>
+                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (JobState = @State)</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="true" AutogeneratedName="State" ColumnName="JobState" DataSourceName="HiveServer.dbo.Job" DataTypeServer="varchar(18)" DbType="AnsiString" Direction="Input" ParameterName="@State" Precision="0" ProviderType="VarChar" Scale="0" Size="18" SourceColumn="JobState" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -665,5 +668,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE (ParentJobId = @Id)</CommandText>
+                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (ParentJobId = @Id)</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="true" AutogeneratedName="Id" ColumnName="ParentJobId" DataSourceName="HiveServer.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@Id" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="ParentJobId" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -675,5 +678,5 @@
                 <SelectCommand>
                   <DbCommand CommandType="Text" ModifiedByUser="true">
-                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId FROM Job WHERE (PermissionOwnerId = @PermissionOwnerId)</CommandText>
+                    <CommandText>SELECT JobId, JobState, ParentJobId, PermissionOwnerId, ResourceId, SerializedJob FROM Job WHERE (PermissionOwnerId = @PermissionOwnerId)</CommandText>
                     <Parameters>
                       <Parameter AllowDbNull="true" AutogeneratedName="PermissionOwnerId" ColumnName="PermissionOwnerId" DataSourceName="HiveServer.dbo.Job" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@PermissionOwnerId" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="PermissionOwnerId" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -859,6 +862,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
-              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
+              <xs:element name="ResourceId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
+              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -873,10 +876,10 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
-              <xs:element name="GUID" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="GUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" type="xs:string" minOccurs="0" />
-              <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
-              <xs:element name="Login" msprop:Generator_UserColumnName="Login" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_ColumnPropNameInTable="LoginColumn" type="xs:dateTime" minOccurs="0" />
-              <xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInTable="StatusColumn" minOccurs="0">
+              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
+              <xs:element name="GUID" msdata:DataType="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" msprop:Generator_UserColumnName="GUID" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" type="xs:string" minOccurs="0" />
+              <xs:element name="CPUSpeed" msprop:Generator_UserColumnName="CPUSpeed" msprop:Generator_ColumnVarNameInTable="columnCPUSpeed" msprop:Generator_ColumnPropNameInRow="CPUSpeed" msprop:Generator_ColumnPropNameInTable="CPUSpeedColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="Memory" msprop:Generator_UserColumnName="Memory" msprop:Generator_ColumnVarNameInTable="columnMemory" msprop:Generator_ColumnPropNameInRow="Memory" msprop:Generator_ColumnPropNameInTable="MemoryColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="Login" msprop:Generator_UserColumnName="Login" msprop:Generator_ColumnVarNameInTable="columnLogin" msprop:Generator_ColumnPropNameInRow="Login" msprop:Generator_ColumnPropNameInTable="LoginColumn" type="xs:dateTime" minOccurs="0" />
+              <xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -885,6 +888,6 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="ClientConfigId" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
+              <xs:element name="ClientConfigId" msprop:Generator_UserColumnName="ClientConfigId" msprop:Generator_ColumnVarNameInTable="columnClientConfigId" msprop:Generator_ColumnPropNameInRow="ClientConfigId" msprop:Generator_ColumnPropNameInTable="ClientConfigIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="NumberOfCores" msprop:Generator_UserColumnName="NumberOfCores" msprop:Generator_ColumnVarNameInTable="columnNumberOfCores" msprop:Generator_ColumnPropNameInRow="NumberOfCores" msprop:Generator_ColumnPropNameInTable="NumberOfCoresColumn" type="xs:int" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -893,6 +896,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
-              <xs:element name="Password" msprop:Generator_UserColumnName="Password" msprop:Generator_ColumnPropNameInRow="Password" msprop:Generator_ColumnVarNameInTable="columnPassword" msprop:Generator_ColumnPropNameInTable="PasswordColumn" minOccurs="0">
+              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
+              <xs:element name="Password" msprop:Generator_UserColumnName="Password" msprop:Generator_ColumnVarNameInTable="columnPassword" msprop:Generator_ColumnPropNameInRow="Password" msprop:Generator_ColumnPropNameInTable="PasswordColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -907,6 +910,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="PermissionOwnerId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
-              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
+              <xs:element name="PermissionOwnerId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
+              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -921,5 +924,5 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
+              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
             </xs:sequence>
           </xs:complexType>
@@ -928,6 +931,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
-              <xs:element name="UserGroupId" msprop:Generator_UserColumnName="UserGroupId" msprop:Generator_ColumnPropNameInRow="UserGroupId" msprop:Generator_ColumnVarNameInTable="columnUserGroupId" msprop:Generator_ColumnPropNameInTable="UserGroupIdColumn" type="xs:long" />
+              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" />
+              <xs:element name="UserGroupId" msprop:Generator_UserColumnName="UserGroupId" msprop:Generator_ColumnVarNameInTable="columnUserGroupId" msprop:Generator_ColumnPropNameInRow="UserGroupId" msprop:Generator_ColumnPropNameInTable="UserGroupIdColumn" type="xs:long" />
             </xs:sequence>
           </xs:complexType>
@@ -936,5 +939,5 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
+              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
             </xs:sequence>
           </xs:complexType>
@@ -943,9 +946,9 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:long" />
-              <xs:element name="ParentJobId" msprop:Generator_UserColumnName="ParentJobId" msprop:Generator_ColumnPropNameInRow="ParentJobId" msprop:Generator_ColumnVarNameInTable="columnParentJobId" msprop:Generator_ColumnPropNameInTable="ParentJobIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="JobState" msprop:Generator_UserColumnName="JobState" msprop:Generator_ColumnVarNameInTable="columnJobState" msprop:Generator_ColumnPropNameInRow="JobState" msprop:Generator_ColumnPropNameInTable="JobStateColumn" minOccurs="0">
+              <xs:element name="JobId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:long" />
+              <xs:element name="ParentJobId" msprop:Generator_UserColumnName="ParentJobId" msprop:Generator_ColumnVarNameInTable="columnParentJobId" msprop:Generator_ColumnPropNameInRow="ParentJobId" msprop:Generator_ColumnPropNameInTable="ParentJobIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="PermissionOwnerId" msprop:Generator_UserColumnName="PermissionOwnerId" msprop:Generator_ColumnVarNameInTable="columnPermissionOwnerId" msprop:Generator_ColumnPropNameInRow="PermissionOwnerId" msprop:Generator_ColumnPropNameInTable="PermissionOwnerIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="JobState" msprop:Generator_UserColumnName="JobState" msprop:Generator_ColumnPropNameInRow="JobState" msprop:Generator_ColumnVarNameInTable="columnJobState" msprop:Generator_ColumnPropNameInTable="JobStateColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
@@ -954,5 +957,6 @@
                 </xs:simpleType>
               </xs:element>
-              <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
+              <xs:element name="Percentage" msprop:Generator_UserColumnName="Percentage" msprop:Generator_ColumnPropNameInRow="Percentage" msprop:Generator_ColumnVarNameInTable="columnPercentage" msprop:Generator_ColumnPropNameInTable="PercentageColumn" type="xs:double" minOccurs="0" />
+              <xs:element name="SerializedJob" msprop:Generator_UserColumnName="SerializedJob" msprop:Generator_ColumnPropNameInRow="SerializedJob" msprop:Generator_ColumnVarNameInTable="columnSerializedJob" msprop:Generator_ColumnPropNameInTable="SerializedJobColumn" type="xs:base64Binary" minOccurs="0" />
             </xs:sequence>
           </xs:complexType>
@@ -961,6 +965,6 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="ClientGroupId" msprop:Generator_UserColumnName="ClientGroupId" msprop:Generator_ColumnVarNameInTable="columnClientGroupId" msprop:Generator_ColumnPropNameInRow="ClientGroupId" msprop:Generator_ColumnPropNameInTable="ClientGroupIdColumn" type="xs:long" />
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
+              <xs:element name="ClientGroupId" msprop:Generator_UserColumnName="ClientGroupId" msprop:Generator_ColumnPropNameInRow="ClientGroupId" msprop:Generator_ColumnVarNameInTable="columnClientGroupId" msprop:Generator_ColumnPropNameInTable="ClientGroupIdColumn" type="xs:long" />
+              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" />
             </xs:sequence>
           </xs:complexType>
@@ -969,9 +973,9 @@
           <xs:complexType>
             <xs:sequence>
-              <xs:element name="JobResultId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="JobResultId" msprop:Generator_ColumnPropNameInRow="JobResultId" msprop:Generator_ColumnVarNameInTable="columnJobResultId" msprop:Generator_ColumnPropNameInTable="JobResultIdColumn" type="xs:long" />
-              <xs:element name="JobId" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="JobResult" msprop:Generator_UserColumnName="JobResult" msprop:Generator_ColumnPropNameInRow="JobResult" msprop:Generator_ColumnVarNameInTable="columnJobResult" msprop:Generator_ColumnPropNameInTable="JobResultColumn" type="xs:base64Binary" minOccurs="0" />
-              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" minOccurs="0" />
-              <xs:element name="Message" msprop:Generator_UserColumnName="Message" msprop:Generator_ColumnVarNameInTable="columnMessage" msprop:Generator_ColumnPropNameInRow="Message" msprop:Generator_ColumnPropNameInTable="MessageColumn" minOccurs="0">
+              <xs:element name="JobResultId" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="JobResultId" msprop:Generator_ColumnVarNameInTable="columnJobResultId" msprop:Generator_ColumnPropNameInRow="JobResultId" msprop:Generator_ColumnPropNameInTable="JobResultIdColumn" type="xs:long" />
+              <xs:element name="JobId" msprop:Generator_UserColumnName="JobId" msprop:Generator_ColumnVarNameInTable="columnJobId" msprop:Generator_ColumnPropNameInRow="JobId" msprop:Generator_ColumnPropNameInTable="JobIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="JobResult" msprop:Generator_UserColumnName="JobResult" msprop:Generator_ColumnVarNameInTable="columnJobResult" msprop:Generator_ColumnPropNameInRow="JobResult" msprop:Generator_ColumnPropNameInTable="JobResultColumn" type="xs:base64Binary" minOccurs="0" />
+              <xs:element name="ResourceId" msprop:Generator_UserColumnName="ResourceId" msprop:Generator_ColumnVarNameInTable="columnResourceId" msprop:Generator_ColumnPropNameInRow="ResourceId" msprop:Generator_ColumnPropNameInTable="ResourceIdColumn" type="xs:long" minOccurs="0" />
+              <xs:element name="Message" msprop:Generator_UserColumnName="Message" msprop:Generator_ColumnPropNameInRow="Message" msprop:Generator_ColumnVarNameInTable="columnMessage" msprop:Generator_ColumnPropNameInTable="MessageColumn" minOccurs="0">
                 <xs:simpleType>
                   <xs:restriction base="xs:string">
Index: /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/dsHiveServer.xss	(revision 1120)
@@ -5,5 +5,5 @@
      the code is regenerated.
 </autogenerated>-->
-<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-285" ViewPortY="147" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
+<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-285" ViewPortY="154" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
   <Shapes>
     <Shape ID="DesignTable:Resource" ZOrder="20" X="31" Y="-16" Height="156" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
@@ -14,5 +14,5 @@
     <Shape ID="DesignTable:PermissionOwner_UserGroup" ZOrder="9" X="456" Y="215" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     <Shape ID="DesignTable:ClientGroup" ZOrder="10" X="78" Y="417" Height="106" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="42" />
-    <Shape ID="DesignTable:Job" ZOrder="1" X="-20" Y="543" Height="241" Width="281" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="126" />
+    <Shape ID="DesignTable:Job" ZOrder="1" X="-20" Y="543" Height="258" Width="281" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="143" />
     <Shape ID="DesignTable:ClientGroup_Resource" ZOrder="7" X="150" Y="207" Height="156" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="58" />
     <Shape ID="DesignTable:JobResult" ZOrder="4" X="-274" Y="567" Height="190" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" />
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/AddJobForm.cs	(revision 1120)
@@ -31,4 +31,6 @@
 using HeuristicLab.Hive.Contracts.BusinessObjects;
 using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.JobBase;
+using HeuristicLab.Core;
 
 namespace HeuristicLab.Hive.Server.ServerConsole {
@@ -65,4 +67,5 @@
                 if (cbParJob.SelectedItem.ToString().Equals(pjob.Id.ToString())) {
                   Job job = new Job { ParentJob = pjob, State = State.offline };
+                  job.SerializedJob = PersistenceManager.SaveToGZip(new TestJob());
                   Response resp = jobManager.AddNewJob(job);
                 }
@@ -70,4 +73,5 @@
             } else {
               Job job = new Job { State = State.offline };
+              job.SerializedJob = PersistenceManager.SaveToGZip(new TestJob());
               Response resp = jobManager.AddNewJob(job);
             }
Index: /trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj	(revision 1120)
@@ -138,7 +138,15 @@
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.Core\HeuristicLab.Core.csproj">
+      <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
+      <Name>HeuristicLab.Core</Name>
+    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Hive.Contracts\HeuristicLab.Hive.Contracts.csproj">
       <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
       <Name>HeuristicLab.Hive.Contracts</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\HeuristicLab.Hive.JobBase\HeuristicLab.Hive.JobBase.csproj">
+      <Project>{21187322-52DD-4243-80A4-A85F0263E63B}</Project>
+      <Name>HeuristicLab.Hive.JobBase</Name>
     </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs	(revision 1120)
@@ -153,6 +153,5 @@
           job2Calculate.State = State.calculating;
           response.Job = job2Calculate;
-          jobAdapter.Update(job2Calculate);          
-          response.SerializedJob = PersistenceManager.SaveToGZip(new TestJob());
+          jobAdapter.Update(job2Calculate);
           response.Success = true;
           response.StatusMessage = ApplicationConstants.RESPONSE_COMMUNICATOR_JOB_PULLED;
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/ExecutionEngineFacade.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/ExecutionEngineFacade.cs	(revision 1120)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/ExecutionEngineFacade.cs	(revision 1120)
@@ -0,0 +1,44 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Contracts.Interfaces;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+
+namespace HeuristicLab.Hive.Server.Core {
+  class ExecutionEngineFacade: IExecutionEngineFacade {
+
+    private IJobManager jobManager =
+      ServiceLocator.GetJobManager();
+
+    #region IExecutionEngineFacade Members
+
+    public Response AddJob(Job job) {
+      return jobManager.AddNewJob(job);
+    }
+
+    #endregion
+  }
+}
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/HeuristicLab.Hive.Server.Core.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/HeuristicLab.Hive.Server.Core.csproj	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/HeuristicLab.Hive.Server.Core.csproj	(revision 1120)
@@ -70,4 +70,5 @@
     <Compile Include="ClientManager.cs" />
     <Compile Include="DbTestApp.cs" />
+    <Compile Include="ExecutionEngineFacade.cs" />
     <Compile Include="HiveServerCorePlugin.cs" />
     <Compile Include="HiveServerMessages.Designer.cs" />
Index: /trunk/sources/HeuristicLab.Hive.Server.Core/JobManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server.Core/JobManager.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server.Core/JobManager.cs	(revision 1120)
@@ -64,12 +64,18 @@
           return response;
         }
+        if (job.SerializedJob == null) {
+          response.StatusMessage = ApplicationConstants.RESPONSE_JOB_JOB_NULL;
+          response.Success = false;
+          return response;
+        }
+
         jobAdapter.Update(job);
         response.Success = true;
         response.Obj = job;
         response.StatusMessage = ApplicationConstants.RESPONSE_JOB_JOB_ADDED;
-        return response;
+      } else {
+        response.Success = false;
+        response.StatusMessage = ApplicationConstants.RESPONSE_JOB_JOB_NULL;
       }
-      response.Success = false;
-      response.StatusMessage = ApplicationConstants.RESPONSE_JOB_JOB_NULL;
 
       return response;
Index: /trunk/sources/HeuristicLab.Hive.Server/HiveServerApplication.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server/HiveServerApplication.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server/HiveServerApplication.cs	(revision 1120)
@@ -108,4 +108,30 @@
     }
 
+    private ServiceHost StartExecutionEngineFacade(Uri uriTcp) {
+      IExecutionEngineFacade[] serverConsoleInstances =
+        discService.GetInstances<IExecutionEngineFacade>();
+
+      if (serverConsoleInstances.Length > 0) {
+        ServiceHost serviceHost =
+            new ServiceHost(serverConsoleInstances[0].GetType(),
+                  uriTcp);
+
+        System.ServiceModel.Channels.Binding binding =
+          new NetTcpBinding();
+
+        serviceHost.AddServiceEndpoint(
+          typeof(IExecutionEngineFacade),
+            binding,
+            "ExecutionEngineFacade");
+
+        AddMexEndpoint(serviceHost);
+
+        serviceHost.Open();
+
+        return serviceHost;
+      } else
+        return null;
+    }
+
     public override void Run() {
       IPAddress[] addresses = Dns.GetHostAddresses(Dns.GetHostName());
@@ -129,4 +155,10 @@
         StartServerConsoleFacade(uriTcp);
 
+      uriTcp =
+        new Uri("net.tcp://" + addresses[index] + ":" + port + "/ExecutionEngine/");
+
+      ServiceHost executionEngineFacade =
+        StartExecutionEngineFacade(uriTcp);
+
       ILifecycleManager[] lifecycleManagers =
          discService.GetInstances<ILifecycleManager>();
@@ -142,5 +174,6 @@
 
         Form mainForm = new MainForm(clientCommunicator.BaseAddresses[0],
-            serverConsoleFacade.BaseAddresses[0]);
+            serverConsoleFacade.BaseAddresses[0], 
+            executionEngineFacade.BaseAddresses[0]);
 
          Application.Run(mainForm);
@@ -151,6 +184,5 @@
       clientCommunicator.Close();
       serverConsoleFacade.Close();
-
-      
+      executionEngineFacade.Close();      
     }
   }
Index: /trunk/sources/HeuristicLab.Hive.Server/MainForm.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server/MainForm.Designer.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server/MainForm.Designer.cs	(revision 1120)
@@ -33,4 +33,6 @@
           this.label2 = new System.Windows.Forms.Label();
           this.lblAddress2 = new System.Windows.Forms.Label();
+          this.label3 = new System.Windows.Forms.Label();
+          this.lblAddress3 = new System.Windows.Forms.Label();
           this.SuspendLayout();
           // 
@@ -71,9 +73,29 @@
           this.lblAddress2.Text = "address";
           // 
+          // label3
+          // 
+          this.label3.AutoSize = true;
+          this.label3.Location = new System.Drawing.Point(18, 131);
+          this.label3.Name = "label3";
+          this.label3.Size = new System.Drawing.Size(206, 13);
+          this.label3.TabIndex = 4;
+          this.label3.Text = "Hive Execution Engine Facade running @";
+          // 
+          // lblAddress3
+          // 
+          this.lblAddress3.AutoSize = true;
+          this.lblAddress3.Location = new System.Drawing.Point(18, 159);
+          this.lblAddress3.Name = "lblAddress3";
+          this.lblAddress3.Size = new System.Drawing.Size(44, 13);
+          this.lblAddress3.TabIndex = 5;
+          this.lblAddress3.Text = "address";
+          // 
           // MainForm
           // 
           this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
           this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-          this.ClientSize = new System.Drawing.Size(304, 128);
+          this.ClientSize = new System.Drawing.Size(304, 181);
+          this.Controls.Add(this.lblAddress3);
+          this.Controls.Add(this.label3);
           this.Controls.Add(this.lblAddress2);
           this.Controls.Add(this.label2);
@@ -93,4 +115,6 @@
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Label lblAddress2;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label lblAddress3;
     }
 }
Index: /trunk/sources/HeuristicLab.Hive.Server/MainForm.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Server/MainForm.cs	(revision 1119)
+++ /trunk/sources/HeuristicLab.Hive.Server/MainForm.cs	(revision 1120)
@@ -11,5 +11,5 @@
 {
     public partial class MainForm : Form {
-        public MainForm(Uri address1, Uri address2) {
+        public MainForm(Uri address1, Uri address2, Uri address3) {
           InitializeComponent();
           if(address1 != null)
@@ -17,5 +17,8 @@
           if (address2 != null)
             this.lblAddress2.Text = address2.ToString();
+          if (address3 != null)
+            this.lblAddress3.Text = address3.ToString();
         }
+
     }
 }
