<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bernhard.hensler.net &#187; IBM</title>
	<atom:link href="http://bernhard.hensler.net/blog/tag/ibm/feed/" rel="self" type="application/rss+xml" />
	<link>http://bernhard.hensler.net/blog</link>
	<description></description>
	<lastBuildDate>Mon, 28 Jun 2010 13:52:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Connections bootcamp in Littleton / Boston</title>
		<link>http://bernhard.hensler.net/blog/connections-bootcamp-in-littleton-boston/</link>
		<comments>http://bernhard.hensler.net/blog/connections-bootcamp-in-littleton-boston/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 23:20:46 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=1740</guid>
		<description><![CDATA[had the privilege to join a bootcamp in Littleton, Boston covering version 2.5 of Lotus Connections; take a look at the happy attendees &#8211; truly members of a an IT (intelligent Technology) community, as this technology is supposed to be &#8230;

]]></description>
			<content:encoded><![CDATA[<p>had the privilege to join a bootcamp in Littleton, Boston covering version 2.5 of Lotus Connections; take a look at the happy attendees &#8211; truly members of a an IT (intelligent Technology) community, as this technology is supposed to be &#8230;<br />

<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/boston+2010+096.jpg" title="rancesco" rel="wp-prettyPhoto[singlepic4800]" >
	<img class="ngg-singlepic" src="http://bernhard.hensler.net/blog/wp-content/gallery/cache/4800__320x240_boston+2010+096.jpg" alt="boston+2010+096" title="boston+2010+096" />
</a>
<br />
<span id="more-1740"></span><br />

<div class="ngg-galleryoverview" id="ngg-gallery-91-1740">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-4790" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0004.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0004" alt="20100212_0004" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0004.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4791" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0009.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0009" alt="20100212_0009" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0009.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4792" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0010.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0010" alt="20100212_0010" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0010.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4793" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0011.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0011" alt="20100212_0011" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0011.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4794" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0018.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0018" alt="20100212_0018" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0018.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4795" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0020.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0020" alt="20100212_0020" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0020.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4796" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0021.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0021" alt="20100212_0021" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0021.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4797" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0023.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0023" alt="20100212_0023" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0023.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4798" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0029.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0029" alt="20100212_0029" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0029.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4799" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/20100212_0030.jpg" title=" " rel="wp-prettyPhoto[set_91]">
								<img title="20100212_0030" alt="20100212_0030" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_20100212_0030.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4800" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/boston+2010+096.jpg" title="rancesco" rel="wp-prettyPhoto[set_91]" >
								<img title="boston+2010+096" alt="boston+2010+096" src="http://bernhard.hensler.net/blog/wp-content/gallery/2010/boston/thumbs/thumbs_boston+2010+096.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/connections-bootcamp-in-littleton-boston/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Athens</title>
		<link>http://bernhard.hensler.net/blog/athens/</link>
		<comments>http://bernhard.hensler.net/blog/athens/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 10:52:48 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=1701</guid>
		<description><![CDATA[
joining a critsit in a large bank in Athens &#8211; WebSphere Portal 5.1, WCM, TAM ,TDS, TDI, ESB, db2, etc. Massive performance issues caused by inadequately tuning the environment, lack of system resources &#8211; basically returned to default values following tuning guides. Primary intention was to stabilize environment, as well as providing mid- to long [...]]]></description>
			<content:encoded><![CDATA[<div  style="text-align: left;"  class="xmlgmdiv" id="xmlgmdiv_41"><iframe class="xmlgm" id="xmlgm_41"src="http://bernhard.hensler.net/blog/wp-content/plugins/xml-google-maps/xmlgooglemaps_show.php?myid=41" style="border: 0px; width: 360px; height: 500px;" name="My_XML_Google_Maps" frameborder="0"></iframe></div>
<p>joining a critsit in a large bank in Athens &#8211; WebSphere Portal 5.1, WCM, TAM ,TDS, TDI, ESB, db2, etc. Massive performance issues caused by inadequately tuning the environment, lack of system resources &#8211; basically returned to default values following tuning guides. Primary intention was to stabilize environment, as well as providing mid- to long term recommendations about how to manage the infrastructure and systems / applications.<span id="more-1701"></span></p>
<p>Athens is a beast with traffic collapsing &#8211; would go mad living here. Akropolis area (Plaka) very touristic (what did I expect), but nice to switch off from a busy day (apart from all the little gangsters trying to get hold of your money).</p>

<div class="ngg-galleryoverview" id="ngg-gallery-73-1701">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-3490" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0165.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0165" alt="img_0165" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0165.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3491" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0167.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0167" alt="img_0167" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0167.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3492" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0168.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0168" alt="img_0168" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0168.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3493" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0173.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0173" alt="img_0173" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0173.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3494" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0175.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0175" alt="img_0175" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0175.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3495" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0176.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0176" alt="img_0176" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0176.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3496" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0179.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0179" alt="img_0179" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0179.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3497" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0182.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0182" alt="img_0182" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0182.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3498" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/athens/img_0185.jpg" title=" " rel="wp-prettyPhoto[set_73]">
								<img title="img_0185" alt="img_0185" src="http://bernhard.hensler.net/blog/wp-content/gallery/athens/thumbs/thumbs_img_0185.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/athens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>steps to visualize HTTP server logging &#8211; part II</title>
		<link>http://bernhard.hensler.net/blog/steps-to-visualize-http-server-logging-part-ii/</link>
		<comments>http://bernhard.hensler.net/blog/steps-to-visualize-http-server-logging-part-ii/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 15:26:24 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[WWW]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=1577</guid>
		<description><![CDATA[gnuplot 2d
edit /etc/apache2/mod_log_config.conf and add a new logformat (plots) &#8211; (&#8220;mod_log_config.conf&#8221; is referenced by &#8220;httpd.conf&#8221;)
LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %&#62;s %b \ \&#8221;%{Referer}i\&#8221; \&#8221;%{User-Agent}i\&#8221;" combined
 LogFormat &#8220;%h %{%d.%m.%Y:%H:%M:%S}t %D %U&#8221; plots
The characteristics of the &#8220;%&#8221; directives are:
%&#8230;h	Remote host
%&#8230;{format}t time &#38; date
%&#8230;D	 time taken to serve the request, in microseconds.
%&#8230;U	 URL path requested

Add another &#8220;customlog&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>gnuplot 2d</strong></p>
<p>edit /etc/apache2/mod_log_config.conf and add a new logformat (plots) &#8211; (&#8220;mod_log_config.conf&#8221; is referenced by &#8220;httpd.conf&#8221;)</p>
<blockquote><p>LogFormat &#8220;%h %l %u %t \&#8221;%r\&#8221; %&gt;s %b \ \&#8221;%{Referer}i\&#8221; \&#8221;%{User-Agent}i\&#8221;" combined<br />
<span style="color: #ff0000;"> LogFormat &#8220;%h %{%d.%m.%Y:%H:%M:%S}t %D %U&#8221; plots</span></p></blockquote>
<p>The characteristics of the &#8220;%&#8221; directives are:</p>
<p>%&#8230;h	Remote host<br />
%&#8230;{format}t time &amp; date<br />
%&#8230;D	 time taken to serve the request, in microseconds.<br />
%&#8230;U	 URL path requested</p>
<p><span id="more-1577"></span></p>
<p>Add another &#8220;customlog&#8221; directive to your &#8220;virtualhost&#8221; section in &#8220;httpd.conf&#8221;:</p>
<blockquote><p>DocumentRoot /home/h/hensler.net/public_html/bernhard/<br />
ServerName bernhard.hensler.net<br />
IndexOptions<br />
DirectoryIndex index.htm index.html index.shtml start.htm start.html start.shtm index.php</p>
<p>CustomLog &#8220;/usr/local/visas/logfiles/hensler.net/%Y/%m/%d/access_log&#8221; vhost_combined<br />
<span style="color: #ff0000;"> CustomLog &#8220;/usr/local/visas/logfiles/hensler.net/bernhard.access_log&#8221; plots</span></p></blockquote>
<p>Concatenate logs from all virtual hosts e.g.: cat hensler.access_log niko.access_log bernhard.access_log max.access_log &gt; plot_log <em>(sample line: 66.249.111.111 30.08.2009:14:15:17 4372853 /blog/)</em> and start gnuplot from the command line:</p>
<p><strong>$ gnuplot</strong></p>
<blockquote><p>reset<br />
set terminal png small color<br />
set output &#8220;2dplot.png&#8221;<br />
set title &#8220;average response time&#8221;</p>
<p>set style data points<br />
set pointsize 1<br />
set grid</p>
<p>set xlabel &#8220;time&#8221;<br />
set timefmt &#8220;%d.%m.%Y:%H:%M:%S&#8221;<br />
set format x &#8220;%H:%M\n%d/%b&#8221;<br />
set xdata time<br />
set xrange [ "30.08.2009:00:00" : "30.08.2009:23:59" ]</p>
<p>set ylabel &#8220;response time&#8221;<br />
set yrange [ 0 : 10000 ]</p>
<p>plot &#8220;/usr/local/visas/logfiles/hensler.net/plot_log&#8221; using 2:3 title &#8220;2d&#8221;</p></blockquote>

<a href="http://bernhard.hensler.net/blog/wp-content/gallery/it/2dplot.png" title="" rel="wp-prettyPhoto[singlepic3451]">
	<img class="ngg-singlepic" src="http://bernhard.hensler.net/blog/wp-content/gallery/cache/3451__474x400_2dplot.png" alt="2dplot" title="2dplot" />
</a>

<p><strong>gnuplot 3d</strong></p>
<p>Then read this excellent <a href="http://www.oreillynet.com/pub/a/sysadmin/2007/02/02/3d-logfile-visualization.html?page=1" class="liexternal">article</a> about &#8220;A New Visualization for Web Server Logs&#8221; and create a perl script:</p>
<blockquote><p>#<br />
# prepare-for-gnuplot.pl: convert access log files to gnuplot input<br />
# Raju Varghese. 2007-02-03</p>
<p>use strict;</p>
<p>my $tempFilename    = &#8220;./tmp/temp.dat&#8221;;<br />
my $ipListFilename  = &#8220;./tmp/iplist.dat&#8221;;<br />
my $urlListFilename = &#8220;./tmp/urllist.dat&#8221;;</p>
<p>my (%ipList, %urlList);</p>
<p>sub ip2int {<br />
my ($ip) = @_;<br />
my @ipOctet = split (/\./, $ip);<br />
my $n = 0;<br />
foreach (@ipOctet) {<br />
$n = $n*256 + $_;<br />
}<br />
return $n;<br />
}</p>
<p># prepare temp file to store log lines temporarily<br />
open (TEMP, &#8220;&gt;$tempFilename&#8221;);</p>
<p># reads log lines from stdin or files specified on command line</p>
<p>while (&lt;&gt;) {<br />
chomp;<br />
my ($ip, $time, $D, $url, $sc) = split;<br />
$time =~ s/\[//;<br />
next if ($url =~ /(gif|jpg|png|js|css)$/);<br />
print TEMP "$ip $time $D $url $sc\n";<br />
$ipList{$ip}++;<br />
$urlList{$url}++;<br />
}</p>
<p># process IP addresses</p>
<p>my @sortedIpList = sort {ip2int($a) &lt;=&gt; ip2int($b)} keys %ipList;<br />
my $n = 0;<br />
open (IPLIST, "&gt;$ipListFilename");<br />
foreach (@sortedIpList) {<br />
++$n;<br />
print IPLIST "$n $ipList{$_} $_\n";<br />
$ipList{$_} = $n;<br />
}<br />
close (IPLIST);</p>
<p># process URLs</p>
<p>my @sortedUrlList = sort {$urlList {$b} &lt;=&gt; $urlList {$a}} keys %urlList;<br />
$n = 0;<br />
open (URLLIST, "&gt;$urlListFilename");<br />
foreach (@sortedUrlList) {<br />
++$n;<br />
print URLLIST "$n $urlList{$_} $_\n";<br />
$urlList{$_} = $n;<br />
}<br />
close (URLLIST);</p>
<p>close (TEMP); open (TEMP, $tempFilename);<br />
while () {<br />
chomp;<br />
my ($ip, $time, $D, $url, $sc) = split;<br />
print "$time $ipList{$ip} $urlList{$url} $sc\n";<br />
}<br />
close (TEMP);</p></blockquote>
<p>Run this perl script and redirect output to a file from the command line:</p>
<blockquote><p><strong>$ perl </strong>gnuplot.pl "/usr/local/visas/logfiles/hensler.net/bernhard.access_log" &gt; gnuplot.input</p></blockquote>
<p><span style="font-family: verdana; font-size: 12px;">The fields in <em>gnuplot.input</em>, the output file of the Perl script, are date/time, ip rank, url rank.</span></p>
<p>Run gnuplot from the command line: <strong>$ gnuplot</strong> and the following commands:</p>
<blockquote><p>reset<br />
set terminal png small color<br />
set output "3dplot.png"<br />
set style data dots<br />
set xdata time<br />
set timefmt "%d.%m.%Y:%H:%M:%S"<br />
set zlabel "Content"<br />
set ylabel "IP address"<br />
splot "gnuplot.input" using 1:2:3 title "3d"</p></blockquote>
[SinglePic not found]
<p>Image taken from <a href="http://www.oreillynet.com/pub/a/sysadmin/2007/02/02/3d-logfile-visualization.html?page=1" title="oreillynet: A New Visualization for Web Server Logs" target="_blank" class="liexternal">oreillynet</a>, my website is not producing sufficient data &#8230;</p>
<ul>
<li>X, the time axis&#8211;a full day from midnight to midnight of November 16.</li>
<li>Y, the requester&#8217;s IP address, with the conventional dotted decimal format sorted and given an ordinal number between 1 and 120,000, representing the number of clients that accessed the web server.</li>
<li>Z, the URL (or content) sorted by popularity. Of the approximately 60,000 distinct pages on the site, the most popular URLs are near the zero point of the Z-axis and the least popular ones at the top.</li>
</ul>
<p>http://www.ibm.com/developerworks/linux/library/lgnuplot</p>
<p>http://www.oreillynet.com/pub/a/sysadmin/2007/02/02/3d-logfile-visualization.html?page=1</p>
<p>http://phasorburn.com/index.php/archive/excel-0-gnuplot-1</p>
<p>A final step will cover loadrunner tools like <a href="http://www.opensta.org/" class="liexternal">openSTA </a>and <a href="http://jakarta.apache.org/jmeter/" class="liexternal">jmeter</a>.</p>
<p>See also <a href="http://bernhard.hensler.net/blog/steps-to-visualize-http-server-logging-part-i/" title="HTTP Server logging part I" class="liinternal">Part I</a> of this tutorial.</p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/steps-to-visualize-http-server-logging-part-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>how to enable and analyze verbose garbage collection</title>
		<link>http://bernhard.hensler.net/blog/how-to-enable-and-analyze-verbose-garbage-collection/</link>
		<comments>http://bernhard.hensler.net/blog/how-to-enable-and-analyze-verbose-garbage-collection/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 08:16:11 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=1474</guid>
		<description><![CDATA[In Web applications, memory utilization can impact system performance significantly. One of the most common memory problems is memory leak, which causes severe performance degradation. In theory, memory leaks should not happen in Java™ because it has Garbage Collection (GC). However, GC only cleans up unused objects that are not referenced anymore. Therefore, if an [...]]]></description>
			<content:encoded><![CDATA[<p>In Web applications, memory utilization can impact system performance significantly. One of the most common memory problems is memory leak, which causes severe performance degradation. In theory, memory leaks should not happen in Java™ because it has Garbage Collection (GC). However, GC only cleans up unused objects that are not referenced anymore. Therefore, if an object is not used, but is still referenced, GC does not remove it, which leads to memory leaks. Beside memory leaks, other memory problems that you might encounter are memory fragmentation, large objects, and tuning problems. In many cases, these memory problems can cause the application server to crash. Many users first notice that application server performance gradually declines, and eventually crashes with OutOfMemory exceptions.<br />
<span id="more-1474"></span></p>
[SinglePic not found] Enabling verbose Garbage Collection for WebSphere based Application servers, is simple (see image). After a restart garbage collection is logged in<em> native_stderr.log</em>:</p>
<p>[SinglePic not found]
<p>There are many tools for verbose GC log analysis, these tools can abstract useful information, and illustrate the trend of JVM heap size usage over time as the following. [SinglePic not found]</p>
<p>IBM Pattern Modeling and Analysis Tool for Java Garbage Collector (PMAT) parses the IBM verbose GC trace and provides a comprehensive analysis of the Java heap usage. It then recommends key configurations by first executing a diagnosis engine and then employing a pattern modeling algorithm in order to make recommendations to optimize the Java heap usage for a given JVM cycle.</p>
<p><a href="http://www.ibm.com/developerworks/websphere/library/techarticles/0706_sun/0706_sun.html" title="source" class="liexternal">source for this article</a><br />
<a href="http://www.alphaworks.ibm.com/tech/pmat" title="PMAT" class="liexternal">PMAT</a><br />
<a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/jdk/diagnosis/diag142.pdf" title="JDK Diagnosis" class="lipdf">JDK Diagnosis</a></p>
<p>see also <a href="http://bernhard.hensler.net/blog/how-to-generate-and-analyze-heapdump-with-websphere-application-server/" title="analyze heapdump" class="liinternal">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/how-to-enable-and-analyze-verbose-garbage-collection/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>how to generate and analyze a WebSphere heapdump</title>
		<link>http://bernhard.hensler.net/blog/how-to-generate-and-analyze-a-websphere-heapdump/</link>
		<comments>http://bernhard.hensler.net/blog/how-to-generate-and-analyze-a-websphere-heapdump/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 18:32:59 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=1298</guid>
		<description><![CDATA[./was_profile/bin/wsadmin.sh -conntype SOAP -host wcl.private.lan -port 10033 -user wasadmin -password passw0rd
WASX7209I: Connected to process &#8220;WebSphere_Portal&#8221; on node wcl using SOAP connector; the type of process is: unManagedProcess; WASX7029I: For help, enter: &#8220;$Help help&#8221;
wsadmin&#62; set jvm [$AdminControl completeObjectName type=JVM,process=WebSphere_Portal,*]
WebSphere:name=JVM,process=WebSphere_Portal,
platform=dynamicproxy,node=wcl,j2eeType=JVM,
J2EEServer=WebSphere_Portal,version=6.0.2.17,
type=JVM,mbeanIdentifier=JVM,cell=wcl
wsadmin&#62;$AdminControl invoke $jvm generateHeapDump
wsadmin&#62;$AdminControl invoke $jvm dumpThreads
IBM&#8217;s support assistant (ISA) is an Eclipse based tool with quite a [...]]]></description>
			<content:encoded><![CDATA[<p>./was_profile/bin/wsadmin.sh -conntype SOAP -host wcl.private.lan -port 10033 -user wasadmin -password passw0rd</p>
<blockquote><p>WASX7209I: Connected to process &#8220;WebSphere_Portal&#8221; on node wcl using SOAP connector; the type of process is: unManagedProcess; WASX7029I: For help, enter: &#8220;$Help help&#8221;</p></blockquote>
<p>wsadmin&gt; set jvm [$AdminControl completeObjectName type=JVM,process=WebSphere_Portal,*]</p>
<blockquote><p>WebSphere:name=JVM,process=WebSphere_Portal,<br />
platform=dynamicproxy,node=wcl,j2eeType=JVM,<br />
J2EEServer=WebSphere_Portal,version=6.0.2.17,<br />
type=JVM,mbeanIdentifier=JVM,cell=wcl</p></blockquote>
<p>wsadmin&gt;$AdminControl invoke $jvm generateHeapDump<br />
wsadmin&gt;$AdminControl invoke $jvm dumpThreads</p>
<p>IBM&#8217;s support assistant (<a href="http://www-01.ibm.com/software/support/isa/" title="ISA" target="_blank" class="liexternal">ISA</a>) is an Eclipse based tool with quite a number of plugins to analyze heapdumps &#8211; a good developerworks article can be found <a href="http://www.ibm.com/developerworks/java/library/j-ibmtools1/" title="Java diagnostics, IBM style, Part 1: Garbage collection with the IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer" target="_blank" class="liexternal">here (part I)</a> and <a href="http://www.ibm.com/developerworks/java/library/j-ibmtools2/" title="Java diagnostics, IBM style, Part 2: Garbage collection with the IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer" target="_blank" class="liexternal">here (part II)</a>.<br />
<span id="more-1298"></span><br />
To analyze WebSphere Portal performance issues, although this document is applicable to isolate performance problems around Java based application servers in general , see <a href="http://www-01.ibm.com/support/docview.wss?uid=swg27007059" target="_blank" class="liexternal">here</a>.</p>
<p>see also <a href="http://bernhard.hensler.net/blog/how-to-enable-and-analyze-verbose-garbage-collection/" title="analyze GC" class="liinternal">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/how-to-generate-and-analyze-a-websphere-heapdump/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Qatar</title>
		<link>http://bernhard.hensler.net/blog/qatar/</link>
		<comments>http://bernhard.hensler.net/blog/qatar/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 15:13:03 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=1236</guid>
		<description><![CDATA[
joining a critSit in Doha &#8211; Sametime 802 Domino cluster, WebSphere based Enterprise Meeting Service (EMS) cluster in one local zone on top of SUN Solaris. Presenter &#38; viewer out of sync in a web conference, frame size de-, reassembling going on, IOCP layer ? 
]]></description>
			<content:encoded><![CDATA[<div  style="text-align: left;"  class="xmlgmdiv" id="xmlgmdiv_39"><iframe class="xmlgm" id="xmlgm_39"src="http://bernhard.hensler.net/blog/wp-content/plugins/xml-google-maps/xmlgooglemaps_show.php?myid=39" style="border: 0px; width: 360px; height: 500px;" name="My_XML_Google_Maps" frameborder="0"></iframe></div>
<p>joining a critSit in Doha &#8211; Sametime 802 Domino cluster, WebSphere based Enterprise Meeting Service (EMS) cluster in one local zone on top of SUN Solaris. Presenter &amp; viewer out of sync in a web conference, frame size de-, reassembling going on, IOCP layer ? <span id="more-1236"></span><br />

<div class="ngg-galleryoverview" id="ngg-gallery-71-1236">


	
	<!-- Thumbnails -->
		
	<div id="ngg-image-3408" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0128.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0128" alt="img_0128" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0128.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3410" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0129.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0129" alt="img_0129" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0129.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3407" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_01351.png" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_01351" alt="img_01351" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_01351.png" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3411" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0138.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0138" alt="img_0138" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0138.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3412" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0146.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0146" alt="img_0146" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0146.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3414" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0149.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0149" alt="img_0149" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0149.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3415" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0150.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0150" alt="img_0150" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0150.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3416" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/img_0151.jpg" title=" " rel="wp-prettyPhoto[set_71]">
								<img title="img_0151" alt="img_0151" src="http://bernhard.hensler.net/blog/wp-content/gallery/2009qatar/thumbs/thumbs_img_0151.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/qatar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: Q1 Role Model</title>
		<link>http://bernhard.hensler.net/blog/q1-role-model/</link>
		<comments>http://bernhard.hensler.net/blog/q1-role-model/#comments</comments>
		<pubDate>Thu, 01 May 2008 16:13:04 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=327</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://bernhard.hensler.net/blog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-327">Password:<br />
<input name="post_password" id="pwbox-327" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/q1-role-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: TLE 2008</title>
		<link>http://bernhard.hensler.net/blog/tle-2008/</link>
		<comments>http://bernhard.hensler.net/blog/tle-2008/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 17:12:30 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=301</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://bernhard.hensler.net/blog/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-301">Password:<br />
<input name="post_password" id="pwbox-301" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/tle-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>schriftverkehr</title>
		<link>http://bernhard.hensler.net/blog/schriftverkehr/</link>
		<comments>http://bernhard.hensler.net/blog/schriftverkehr/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 21:24:55 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=226</guid>
		<description><![CDATA[An dieser Stelle sei mal erwähnt, dass sich Denise und Brigitte alljährlich die Mühe machen, unter strengster Geheimhaltung einen Ski-Event zu organisieren. Dieses Jahr mit Schneeschuhwandern und leider ausgefallenem &#8220;irgendwas gefährlichem&#8221; (ich glaub&#8217; &#8220;rafting&#8221; im Winter oder so).
Auf alle Fälle wird jede Minute kostbar genutzt, nach 3 Tagen mit dieser Mannschaft brauche ich 1 Woche [...]]]></description>
			<content:encoded><![CDATA[<p>An dieser Stelle sei mal erwähnt, dass sich Denise und Brigitte alljährlich die Mühe machen, unter strengster Geheimhaltung einen Ski-Event zu organisieren. Dieses Jahr mit Schneeschuhwandern und leider ausgefallenem &#8220;irgendwas gefährlichem&#8221; (ich glaub&#8217; &#8220;rafting&#8221; im Winter oder so).</p>
<p>Auf alle Fälle wird jede Minute kostbar genutzt, nach 3 Tagen mit dieser Mannschaft brauche ich 1 Woche Erholung.<br />
<span id="more-226"></span><br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/schriftverkehr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://bernhard.hensler.net/blog/wp-content/gallery/other/denise.mov" length="3750461" type="video/quicktime" />
		</item>
		<item>
		<title>Eclipse &amp; Hannover</title>
		<link>http://bernhard.hensler.net/blog/eclipse-laszlo/</link>
		<comments>http://bernhard.hensler.net/blog/eclipse-laszlo/#comments</comments>
		<pubDate>Sun, 13 Aug 2006 11:31:56 +0000</pubDate>
		<dc:creator>bernhard</dc:creator>
				<category><![CDATA[container]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://bernhard.hensler.net/blog/?p=172</guid>
		<description><![CDATA[Eclipse ist der Nachfolger von IBM Visual Age for Java 4.0. Der Quellcode fÃ¼r Eclipse wurde Ende 2001 von IBM freigegeben. Die Verwaltung und Entwicklung von Eclipse wurde von der Eclipse-Foundation Ã¼bernommen. 2001 gab IBM bekannt, dass es Artefakte im Wert von 40 Millionen Dollar an die Foundation gespendet habe. Dazu kommen seitdem noch die [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Eclipse </strong>ist der Nachfolger von IBM Visual Age for Java 4.0. Der Quellcode fÃ¼r Eclipse wurde Ende 2001 von IBM freigegeben. Die Verwaltung und Entwicklung von Eclipse wurde von der Eclipse-Foundation Ã¼bernommen. 2001 gab IBM bekannt, dass es Artefakte im Wert von 40 Millionen Dollar an die Foundation gespendet habe. Dazu kommen seitdem noch die Kosten der Softwareentwickler, die von IBM angestellt sind und ihre komplette Arbeitszeit in das Eclipse-Projekt einbringen. Etwa die HÃ¤lfte der derzeitigen Entwickler am Eclipse-Basisframework wird von IBM bezahlt.<br />
<span id="more-172"></span><br />
Bis einschlieÃlich zur Version 2.1 war Eclipse als erweiterbare IDE konzipiert. Seit Version 3.0 ist Eclipse selbst nur der Kern, der die einzelnen Plugins lÃ¤dt, die dann die eigentliche FunktionalitÃ¤t zur VerfÃ¼gung stellen. Diese FunktionalitÃ¤t nennt sich Rich Client Platform (kurz RCP) und basiert auf dem OSGi-Standard. Sowohl Eclipse als auch die Plugins sind vollstÃ¤ndig in Java implementiert. Als GUI-Framework zur Erstellung der grafischen OberflÃ¤che wurde SWT verwendet. Zur Darstellung der GUI-Komponenten basiert SWT Ã¤hnlich wie AWT auf den nativen GUI-Komponenten des jeweiligen Betriebssystems. Eclipse ist daher nicht plattformunabhÃ¤ngig, wird aber fÃ¼r 11 verschiedene Systeme und Architekturen bereitgestellt. Die Plugins lassen sich durch den Download direkt in Eclipse von einem Update-Server oder durch einfaches Entpacken installieren.</p>
<p><a href="http://de.wikipedia.org/wiki/Eclipse_(IDE)" rel="nofollow" class="liwikipedia">WiKi Eclipse</a></p>
<p><strong>codeproject Hannover</strong></p>
<p><a href="http://www.jeffeisen.com/jeisen/jeisenblog.nsf/" class="liexternal">Jeff Eisen Blog</a></p>
<p>Hannover brings the most significant changes to the Notes client since probably Notes 4.0, when we introduced LotusScript.</p>
<p>The technical  key to the changes is the tight integration with Eclipse.  I highlight technical, because there is also an enormous emphasis in Hannover on user interface and productivity improvements and innovations such as Activity-based collaboration as well as the productivity editors.   The UI I&#8217;ll leave to Mary Beth Raven to discuss in her blog.  Other stuff, I&#8217;ll get to in good time.</p>
<p>For those uninitiated in Eclipse, here&#8217;s a quick description of Eclipse and why it matters.</p>
<p>Eclipse is a cross-platform open source Java project with heavy IBM involvement.  It began as a platform for building IDEs (compilers, editors, debuggers, etc.)  It uses a contribution model, which means that if the platform lacks functionality or behavior, you can add it yourself by writing some Java code, packaging it in something called a plug-in, and installing your plug-in.  Example: If Eclipse could compile and edit Java, C++, and Pascal, but you really needed COBOL, you could just write a COBOL plug-in (in Java), install it, and there would suddenly be COBOL related menus, actions, behaviors, etc., throughout the user experience.   Eclipse 3.0 introduced RCP &#8211; the Rich Client Platform, allowing Eclipse to be used for something other than an IDE by allowing one to get rid of the geeky IDE stuff (such as compilers) and by allowing one better control over the UI in order to make it more polished and customizable (such as for branding).</p>
<p>IBM is building a common platform titled <strong>Lotus Expeditor</strong>  (previously named WED), that packages Eclipse RCP with some extra services (around security, synchronization, data, deployment, and so forth) to be used across the Software Group product set.    Hannover is simply a consumer of this Lotus Expeditor common platform.</p>
<p>Note that when I said above that a plug-in is written in Java, that does not mean it must be exclusively written in Java.  With Java mechanisms such as JNI &#8212; allowing Java code to call out to C++ or other language code &#8212; as well as Service Oriented Architecture techniques such as web services (OK, I&#8217;ve mentioned SOA &#8212; now I&#8217;m buzzword compliant), a plug-in can be used to bridge between the Java world and a &#8220;legacy&#8221; non-Java codebase.  This is what Hannover does &#8212; integrate Java code packaged in plug-ins with the mostly pre-existing and mostly C/C++ Notes codebase.    This existing codebase provides the bug for bug compatibility with older versions of Notes, allowing Notes applications written way back in V1 days to still run in Hannover.  </p>
<p>So, why is this Eclipse platform interesting to the Notes/Domino customer base and particularly to the application development community?</p>
<p>    * Eclipse&#8217;s contribution model allows modification of the Notes user experience and general behavior of Notes in ways never before possible.  You can go beyond just affecting your application &#8220;rectangle&#8221;, making more global cross-application extensions.<br />
    * Eclipse allows development for Notes by those without traditional Notes skills, enabling the expansive Eclipse development community to participate in Notes development.<br />
    * The common platform used throughout IBM (Lotus Expeditor atop Eclipse) allows you to write a plug-in contributing behavior for one product (such as the newest version of Sametime) and have it work in another product (such as Hannover).<br />
    * By standing on the shoulders of others (developing Eclipse and Java as well as extensions), we are able to build a cross-platform product (Windows, Linux, and MAC) much more quickly than if we had to do it all ourselves,  greatly improving our time to market and your opportunity to get new value. Eclipse enables us to leverage the skills, creativity, and sheer manpower of the dedicated Eclipse open source community.  </p>
<p>While the focus of Hannover is clearly the Eclipse-based client, there will still be a &#8220;traditional&#8221; technology non-Eclipse version of the Notes client delivered as part of the Hannover release.  We have admittedly been not too succinct around the nomenclature of how to refer to the Eclipse vs. the non-Eclipse Notes instantiation.  In general, unless I make an explicit distinction, I will be using the term Hannover rather loosely, to refer to the Eclipse-based version of the client.</p>
<p>Finally, a word about the server.  Like previous releases of Notes, the basic server instrastructure of Hannover is a Domino server &#8212; all you need for the vast majority of the functionality including mail, calendaring, contact management, Notes applications, and composite applications is a Domino server.  Some functionality, such as activity based collaboration require more than just plain Domino, but that&#8217;s optional.</p>
]]></content:encoded>
			<wfw:commentRss>http://bernhard.hensler.net/blog/eclipse-laszlo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
