Index: trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj	(revision 798)
+++ trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj	(revision 799)
@@ -39,4 +39,7 @@
     <Reference Include="System.Core">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.ServiceModel">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
     </Reference>
     <Reference Include="System.Xml.Linq">
@@ -98,6 +101,11 @@
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
     </Compile>
+    <Compile Include="ServiceLocator.cs" />
   </ItemGroup>
   <ItemGroup>
+    <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.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
Index: trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.cs	(revision 798)
+++ trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerConsole.cs	(revision 799)
@@ -28,4 +28,6 @@
 using System.Text;
 using System.Windows.Forms;
+using HeuristicLab.Hive.Contracts.Interfaces;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
 
 namespace HeuristicLab.Hive.Server.Console {
@@ -37,5 +39,5 @@
     public HiveServerConsole() {
       InitializeComponent();
-      tbIp.Text = "010.020.053.006";
+      tbIp.Text = "10.20.53.1";
     }
 
@@ -52,4 +54,16 @@
     private void btnLogin_Click(object sender, EventArgs e) {
       if (ipIsValid()) {
+        string newIp = tbIp.Text;
+        newIp = newIp.Replace(" ", "");
+
+        ServiceLocator.Address = newIp;
+        ServiceLocator.Port = this.tbPort.Text;
+
+        IClientManager clientManager =
+          ServiceLocator.GetClientManager();
+
+        List<ClientInfo> clients = 
+          clientManager.GetAllClients();
+
         this.Visible = false;
         information = new HiveServerManagementConsole();
@@ -61,4 +75,5 @@
 
     private static bool ipIsValid() {
+      
       // TODO IP-Adress validation
       return true;
Index: trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs	(revision 799)
+++ trunk/sources/HeuristicLab.Hive.Server.Console/ServiceLocator.cs	(revision 799)
@@ -0,0 +1,63 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using HeuristicLab.Hive.Contracts.Interfaces;
+using System.ServiceModel;
+
+namespace HeuristicLab.Hive.Server.Console {
+  internal class ServiceLocator {
+    private static IClientManager clientManager = null;
+    private static IJobManager jobManager = null;
+    private static IUserRoleManager userManager = null;
+
+    internal static string Address { get; set; }
+    internal static string Port { get; set; }
+
+    internal static IClientManager GetClientManager() {
+      if (clientManager == null && 
+        Address != String.Empty &&
+        Port != String.Empty) {
+        ChannelFactory<IClientManager> factory =
+          new ChannelFactory<IClientManager>(
+            new NetTcpBinding(),
+            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/ClientManager"));
+
+        clientManager = factory.CreateChannel();
+      }
+
+      return clientManager;
+    }
+
+    internal static IJobManager GetJobManager() {
+      if (jobManager == null &&
+        Address != String.Empty &&
+        Port != String.Empty) {
+        ChannelFactory<IJobManager> factory =
+          new ChannelFactory<IJobManager>(
+            new NetTcpBinding(),
+            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/JobManager"));
+
+        jobManager = factory.CreateChannel();
+      }
+
+      return jobManager;
+    }
+
+    internal static IUserRoleManager GetUserRoleManager() {
+      if (userManager == null &&
+        Address != String.Empty &&
+        Port != String.Empty) {
+        ChannelFactory<IUserRoleManager> factory =
+          new ChannelFactory<IUserRoleManager>(
+            new NetTcpBinding(),
+            new EndpointAddress("net.tcp://" + Address + ":" + Port + "/HiveServerConsole/UserRoleManager"));
+
+        userManager = factory.CreateChannel();
+      }
+
+      return userManager;
+    }
+  }
+}
