diff --git a/nbproject/ant-deploy.xml b/nbproject/ant-deploy.xml
index 9bc5adf74199c25d24daaff2f1dc3c2fe778d43f..2d5f8778d18757ea5ded4eea4da13ca1adc51093 100644
--- a/nbproject/ant-deploy.xml
+++ b/nbproject/ant-deploy.xml
@@ -1,49 +1,111 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project default="-deploy-ant" basedir=".">
-    <target name="-init" if="deploy.ant.enabled">
-        <property file="${deploy.ant.properties.file}"/>
-        <tempfile property="temp.module.folder" prefix="tomcat" destdir="${java.io.tmpdir}"/>
-        <unwar src="${deploy.ant.archive}" dest="${temp.module.folder}">
-            <patternset includes="META-INF/context.xml"/>
-        </unwar>
-        <xmlproperty file="${temp.module.folder}/META-INF/context.xml"/>
-        <delete dir="${temp.module.folder}"/>
-    </target>
-    <target name="-check-credentials" if="deploy.ant.enabled" depends="-init">
-        <fail message="Tomcat password has to be passed as tomcat.password property.">
-            <condition>
-                <not>
-                    <isset property="tomcat.password"/>
-                </not>
-            </condition>
-        </fail>    
-    </target>
-    <target name="-deploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials">
-        <echo message="Deploying ${deploy.ant.archive} to ${Context(path)}"/>
-        <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
-            <classpath>
-                <pathelement path="${tomcat.home}/lib/catalina-ant.jar"/>
-                <pathelement path="${tomcat.home}/lib/tomcat-coyote.jar"/>
-                <pathelement path="${tomcat.home}/lib/tomcat-util.jar"/>
-                <pathelement path="${tomcat.home}/bin/tomcat-juli.jar"/>
-            </classpath>
-        </taskdef>
-        <deploy url="${tomcat.url}/manager/text" username="${tomcat.username}"
-                password="${tomcat.password}" path="${Context(path)}"
-                war="${deploy.ant.archive}"/>
-        <property name="deploy.ant.client.url" value="${tomcat.url}${Context(path)}"/>
-    </target>
-    <target name="-undeploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials">
-        <echo message="Undeploying ${Context(path)}"/>
-        <taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask">
-            <classpath>
-                <pathelement path="${tomcat.home}/lib/catalina-ant.jar"/>
-                <pathelement path="${tomcat.home}/lib/tomcat-coyote.jar"/>
-                <pathelement path="${tomcat.home}/lib/tomcat-util.jar"/>
-                <pathelement path="${tomcat.home}/bin/tomcat-juli.jar"/>
-            </classpath>
-        </taskdef>
-        <undeploy url="${tomcat.url}/manager/text" username="${tomcat.username}" 
-                  password="${tomcat.password}" path="${Context(path)}"/>
+    <target name="-init-cl-deployment-env" if="deploy.ant.enabled">
+        <property file="${deploy.ant.properties.file}" />
+        <available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/>
+        <available file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" property="glassfish.web.present"/>
+        <available file="${deploy.ant.resource.dir}" property="has.setup"/>
+        <tempfile prefix="gfv3" property="gfv3.password.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <echo message="AS_ADMIN_PASSWORD=${gfv3.password}" file="${gfv3.password.file}"/>
+    </target>
+    
+    <target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present">
+        <tempfile prefix="gfv3" property="temp.sun.web" destdir="${java.io.tmpdir}"/>
+        <copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/>
+        <!-- The doctype triggers resolution which can fail -->
+        <replace file="${temp.sun.web}">
+            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
+            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
+        </replace>
+        <replace file="${temp.sun.web}">
+            <replacetoken><![CDATA[<sun-web-app]]></replacetoken>
+            <replacevalue><![CDATA[--> <sun-web-app]]></replacevalue>
+        </replace>
+        <xmlproperty file="${temp.sun.web}" validate="false">
+        </xmlproperty>    
+        <delete file="${temp.sun.web}"/>
+        <condition property="deploy.ant.client.url" value="${gfv3.url}${sun-web-app.context-root}" else="${gfv3.url}/${ant.project.name}">
+            <isset property="sun-web-app.context-root"/>
+        </condition>
+        <condition property="deploy.context.root.argument" value="&amp;contextroot=${sun-web-app.context-root}" else="/${ant.project.name}">
+            <isset property="sun-web-app.context-root"/>
+        </condition>
+    </target>
+    <target name="-parse-glassfish-web" depends="-init-cl-deployment-env" if="glassfish.web.present">
+        <tempfile prefix="gfv3" property="temp.gf.web" destdir="${java.io.tmpdir}"/>
+        <copy file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" tofile="${temp.gf.web}"/>
+        <!-- The doctype triggers resolution which can fail -->
+        <replace file="${temp.gf.web}">
+            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
+            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
+        </replace>
+        <replace file="${temp.gf.web}">
+            <replacetoken><![CDATA[<glassfish-web-app]]></replacetoken>
+            <replacevalue><![CDATA[--> <glassfish-web-app]]></replacevalue>
+        </replace>
+        <xmlproperty file="${temp.gf.web}" validate="false">
+        </xmlproperty>
+        <delete file="${temp.gf.web}"/>
+        <condition property="deploy.ant.client.url" value="${gfv3.url}${glassfish-web-app.context-root}" else="${gfv3.url}/${ant.project.name}">
+            <isset property="glassfish-web-app.context-root"/>
+        </condition>
+        <condition property="deploy.context.root.argument" value="&amp;contextroot=${glassfish-web-app.context-root}" else="/${ant.project.name}">
+            <isset property="glassfish-web-app.context-root"/>
+        </condition>
+    </target>
+    <target name="-no-parse-sun-web" depends="-init-cl-deployment-env" unless="sun.web.present">
+        <property name="deploy.context.root.argument" value=""/>
+    </target>
+    <target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup">
+        <tempfile prefix="gfv3" property="gfv3.resources.dir" destdir="${java.io.tmpdir}"/>
+        <mkdir dir="${gfv3.resources.dir}"/>
+        <mkdir dir="${gfv3.resources.dir}/META-INF"/>
+        <copy todir="${gfv3.resources.dir}/META-INF">
+            <fileset dir="${deploy.ant.resource.dir}"/>
+        </copy>
+        <jar destfile="${deploy.ant.archive}" update="true">
+            <fileset dir="${gfv3.resources.dir}"/>
+        </jar>
+        <delete dir="${gfv3.resources.dir}"/>
+    </target>
+    <target name="-deploy-ant" depends="-parse-glassfish-web, -parse-sun-web, -no-parse-sun-web,-add-resources" if="deploy.ant.enabled">
+        <antcall target="-deploy-without-pw"/>
+        <antcall target="-deploy-with-pw"/>
+    </target>
+
+    <target name="-deploy-without-pw" unless="gfv3.password">
+        <echo message="Deploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
+        <get src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&amp;force=true&amp;name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>    
+    </target>
+    <target name="-deploy-with-pw" if="gfv3.password">
+        <echo message="Deploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
+        <get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&amp;force=true&amp;name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>
+    </target>
+    <target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled">
+        <antcall target="-undeploy-without-pw"/>
+        <antcall target="-undeploy-with-pw"/>
+    </target>
+
+    <target name="-undeploy-without-pw" unless="gfv3.password">
+        <echo message="Undeploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <get src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>    
+    </target>
+    <target name="-undeploy-with-pw" if="gfv3.password">
+        <echo message="Undeploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>
     </target>
 </project>
diff --git a/nbproject/project.properties b/nbproject/project.properties
index 6f230f7febbb3a9d5f419b5253860ad32e27690f..6fbfe30f37b45d807c421f33c947fac4d3c7e719 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -32,8 +32,13 @@ includes=**
 j2ee.compile.on.save=true
 j2ee.deploy.on.save=true
 j2ee.platform=1.6-web
-j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/ecj-3.6.2.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/jstl-api-1.2.jar:${j2ee.server.home}/lib/jstl-impl-1.2.jar:${j2ee.server.home}/lib/primefaces-2.2.1.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-util.jar
-j2ee.server.type=Tomcat
+j2ee.platform.classpath=${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.jms.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/jstl-impl.jar:${j2ee.server.home}/modules/javax.security.auth.message.jar:${j2ee.server.home}/modules/javax.transaction.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.resource.jar:${j2ee.server.home}/modules/jsf-impl.jar:${j2ee.server.home}/modules/endorsed/javax.annotation.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/jersey-core.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/javax.servlet.jar:${j2ee.server.home}/modules/javax.enterprise.deploy.jar:${j2ee.server.home}/modules/javax.management.j2ee.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/jsf-api.jar:${j2ee.server.home}/modules/javax.ejb.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar:${j2ee.server.home}/modules/javax.security.jacc.jar
+j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar
+j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar
+j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.ejb.jar
+j2ee.platform.wsimport.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.ejb.jar
+j2ee.platform.wsit.classpath=
+j2ee.server.type=gfv3ee6
 jar.compress=false
 javac.classpath=\
     ${libs.jsf20.classpath}:\
diff --git a/src/java/beans/ComponentBean.java b/src/java/beans/ComponentBean.java
index 05eae4b20cdabf88a9116d473892eea60afad810..ffd977b51c98f2ed99b0000c90a3a7ae35e4832a 100644
--- a/src/java/beans/ComponentBean.java
+++ b/src/java/beans/ComponentBean.java
@@ -27,6 +27,11 @@ public class ComponentBean {
         TreeNode node11 = new DefaultTreeNode("SilentCountingRecordConsumer", node1);
         TreeNode node12 = new DefaultTreeNode("TraceEquivalenceClassFilter", node1);
         TreeNode node13 = new DefaultTreeNode("ExecutionRecordTransformationFilter", node1);
+        TreeNode node14 = new DefaultTreeNode("ResourceUtilizationPlugin", node1);
+        TreeNode node15 = new DefaultTreeNode("TraceReconstructionPlugin", node1);
+        TreeNode node16 = new DefaultTreeNode("CPUGraphPlugin", node1);
+        TreeNode node17 = new DefaultTreeNode("SequenceDiagrammPlugin", node1);
+        TreeNode node18 = new DefaultTreeNode("DependencyGraphPlugin", node1);
     }
 
     public TreeNode getRoot() {
diff --git a/src/java/beans/TreeBean.java b/src/java/beans/TreeBean.java
index 363d779ecd6e9664fd776d0ed6021e3f533561f3..54abdb9d36c3e8474843e5a175e054b89a37a26d 100644
--- a/src/java/beans/TreeBean.java
+++ b/src/java/beans/TreeBean.java
@@ -17,13 +17,22 @@ public class TreeBean {
 
     public TreeBean() {
         root = new DefaultTreeNode("Root", null);
-        TreeNode node0 = new DefaultTreeNode("Some Analysis Project", root);
-        TreeNode node1 = new DefaultTreeNode("Another Analysis Project", root);
+        TreeNode node0 = new DefaultTreeNode("jPetStore Monitoring", root);
+        TreeNode node1 = new DefaultTreeNode("Bookstore Monitoring", root);
 
-        TreeNode node00 = new DefaultTreeNode("Depend1.jar", node0);
-        TreeNode node01 = new DefaultTreeNode("Depend2.jar", node0);
+        TreeNode node2 = new DefaultTreeNode("Dependency", node1);
+        TreeNode node3 = new DefaultTreeNode("Kieker.jar", node2);
+        TreeNode node4 = new DefaultTreeNode("Used Plugins", node1);
 
-        TreeNode node10 = new DefaultTreeNode("Depend3.jar", node1);
+        TreeNode node11 = new DefaultTreeNode("Reader", node4);
+        TreeNode node12 = new DefaultTreeNode("Analysis Plugins", node4);
+
+        TreeNode node5 = new DefaultTreeNode("FSReader", node11);
+        TreeNode node6 = new DefaultTreeNode("ResourceUtilizationPlugin", node12);
+        TreeNode node7 = new DefaultTreeNode("TraceReconstructionPlugin", node12);
+        TreeNode node8 = new DefaultTreeNode("CPUGraphPlugin", node12);
+        TreeNode node9 = new DefaultTreeNode("SequenceDiagrammPlugin", node12);
+        TreeNode node10 = new DefaultTreeNode("DependencyGraphPlugin", node12);
     }
 
     public TreeNode getRoot() {
diff --git a/web/main.xhtml b/web/main.xhtml
index ba82e2c007f525ccebfbea311f73cf7317b7ffc4..4e334e50e808badffc90b322597ccbe6d35f380a 100644
--- a/web/main.xhtml
+++ b/web/main.xhtml
@@ -11,7 +11,7 @@
 
             <p:layout fullPage="true">  
 
-                <p:layoutUnit position="top" height="105" collapsible="true"> 
+                <p:layoutUnit position="top" height="115" collapsible="true"> 
                     <div style="padding-top:10px" align="center">
                         <p:button value="New Project"/>
                         <p:spacer width="35" height="10" />
@@ -22,7 +22,7 @@
                 </p:layoutUnit> 
 
 
-                <p:layoutUnit header="Projects" collapsible="true" position="left" width="200" resizable="true" minWidth="100">  
+                <p:layoutUnit header="Projects" collapsible="true" scrollable="true" position="left" width="200" resizable="true" minWidth="100">  
                     <p:tree value="#{treeBean.root}" var="node" expanded="true" >  
                         <p:treeNode>  
                             <h:outputText value="#{node}"/>  
@@ -32,17 +32,32 @@
 
                 <p:layoutUnit position="center" scrollable="true">  
                     <p:panel style="width:150px" id="handlepnl" header="FSReader">
-                        <h:outputText value="SomeReader" />
+                        <h:outputText value="myReader" />
                     </p:panel>
                     <p:draggable for="handlepnl" handle=".ui-panel-titlebar" />
-                    
-                    <p:panel style="width:350px" id="handlepn2" header="SilentCountingRecordConsumer">
-                        <h:outputText value="Counter" />
+
+                    <p:panel style="width:350px" id="handlepn2" header="ResourceUtilizationPlugin">
+                        <h:outputText value="CPU-Utilization" />
                     </p:panel>
                     <p:draggable for="handlepn2" handle=".ui-panel-titlebar" />
-                    
-                     <p:panel style="width:350px" id="handlepn3" header="TraceEquivalenceClassFilter">
-                        <h:outputText value="Filter" />
+
+                    <p:panel style="width:350px" id="handlepn3" header="TraceReconstructionPlugin">
+                        <h:outputText value="traceReconstruction" />
+                    </p:panel>
+                    <p:draggable for="handlepn3" handle=".ui-panel-titlebar" />
+
+                    <p:panel style="width:350px" id="handlepn3" header="CPUGraphPlugin">
+                        <h:outputText value="CPUGraphPlugin" />
+                    </p:panel>
+                    <p:draggable for="handlepn3" handle=".ui-panel-titlebar" />
+
+                    <p:panel style="width:350px" id="handlepn3" header="SequenceDiagrammPlugin">
+                        <h:outputText value="SequenceDiagrammPlugin" />
+                    </p:panel>
+                    <p:draggable for="handlepn3" handle=".ui-panel-titlebar" />
+
+                    <p:panel style="width:350px" id="handlepn3" header="DependencyGraphPlugin">
+                        <h:outputText value="DependencyGraphPlugin" />
                     </p:panel>
                     <p:draggable for="handlepn3" handle=".ui-panel-titlebar" />
                 </p:layoutUnit>