<?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>LawsOfForm &#187; Implementierung</title>
	<atom:link href="http://www.lawsofform.de/category/it/implementierung/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lawsofform.de</link>
	<description>draw a distinction and create a universe (George Spencer-Brown)</description>
	<lastBuildDate>Wed, 14 Jul 2010 07:07:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>LDAP Tutorial &#8211; Eine kleine Einführung</title>
		<link>http://www.lawsofform.de/2010/05/19/ldap-tutorial-eine-kleine-einfuhrung/</link>
		<comments>http://www.lawsofform.de/2010/05/19/ldap-tutorial-eine-kleine-einfuhrung/#comments</comments>
		<pubDate>Wed, 19 May 2010 06:29:29 +0000</pubDate>
		<dc:creator>andreas.mertens</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Implementierung]]></category>
		<category><![CDATA[apache directory server]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[ldif]]></category>
		<category><![CDATA[openldap]]></category>

		<guid isPermaLink="false">http://www.lawsofform.de/?p=724</guid>
		<description><![CDATA[Im Rahmen einer Schulungsvorbereitung ist folgende kleine LDAP-Einführung entstanden, die ich in Form von drei YouTube-Videos festgehalten habe:
LDAP Tutorial 1/3 &#8211; First Steps, OpenSource und Einführung
LDAP steht für Lightweigt Directory Access Protocol und bildet in den dazu gehörenden Directory-Diensten hierarchische Datenbanken ab. Meist wird LDAP für das Speichern von Benutzerdaten verwendet. Der bekannteste quelloffene LDAP-Server [...]]]></description>
			<content:encoded><![CDATA[<p>Im Rahmen einer Schulungsvorbereitung ist folgende kleine <a href="http://de.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol" target="_blank">LDAP-Einführung</a> entstanden, die ich in Form von drei YouTube-Videos festgehalten habe:</p>
<h3>LDAP Tutorial 1/3 &#8211; First Steps, OpenSource und Einführung</h3>
<p>LDAP steht für Lightweigt Directory Access Protocol und bildet in den dazu gehörenden Directory-Diensten hierarchische Datenbanken ab. Meist wird LDAP für das Speichern von Benutzerdaten verwendet. Der bekannteste quelloffene LDAP-Server ist <a href="http://www.openldap.org/" target="_blank">openldap</a>. Aber auch Microsoft hat sich mit dem ActiveDirectory LDAP gebeugt. In diesem Tutorial nutze ich der Einfachheit halber den javabasierten Verzeichnisdienst der Apache Foundation, den Apache Directory Server. Sicherlich ist OpenLDAP der ältere, stabilere und vor allem der perfomantere Verzeichnissdienst, wenn es um die Speicherung und den Zugriff von Millionen von Datensätzen geht.</p>
<p>Das Schöne an dem <a href="http://directory.apache.org/" target="_blank">Apache-Projekt</a> ist, dass es neben einem Server auch einen LDAP-Browser auf Basis von Eclipse mit bringt, das Apache Directory Studio. </p>
<p><center><br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/glyGHPxUT5E&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/glyGHPxUT5E&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br />
</center></p>
<p>Ein weiterer wichtiger Begriff im LDAP-Umfeld ist <a href="http://de.wikipedia.org/wiki/LDIF" target="_blank">LDIF</a>. LDIF steht für LDAP Interchange Format und stellt das Austauschformat für LDAP-Daten dar.</p>
<h3>LDAP Tutorial 2/3 &#8211; Import des Bundestagsbeispiels</h3>
<p>Im Zweiten Teil zeige ich, wie man das Bundestagsbeispiel von Stefan Zörner importiert. Mit seinem Buch <a href="http://entwickler-press.de/ep/psecom,id,2,buchid,124.html" target="_blank">LDAP für Java-Entwickler</a> stellt er zwei LDIF-Dateien zur Verfügung, und zwar die Bundestagsdaten mit Politikern, Parteien, Fraktionen und Bildern:</p>
<ul>
<li><a href="http://www.lawsofform.de/wp-content/uploads/2010/05/bundestag_mit_photos.ldif" target="_blank">LDIF Datei Bundestag mit Bilder</a></li>
<li><a href="http://www.lawsofform.de/wp-content/uploads/2010/05/bundestag_ohne_photos.ldif" target="_blank">LDIF Datei Bundestag ohne Bilder</a></li>
</ul>
<p>Das Wesentliche an diesem Teil ist, dass man den Namensraum des LDAP-Servers, den Suffix leicht anpassen muss, damit sich die Daten ohne Weiteres importieren lassen. Dazu muss die Konfiguration des Apache Directory Servers angepasst werden, es muss eine sogenannte Partition für den Namensraum dc=bundestag,dc=de angelegt werden. Dies geschieht in der Datei <a href="http://www.lawsofform.de/wp-content/uploads/2010/05/apacheds/server.xml" target="_blank">server.xml</a> der Apache Directory Server Konfiguration.</p>
<p><center><br />
<object width="480" height="291"><param name="movie" value="http://www.youtube.com/v/NTmo9a-zCJY&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NTmo9a-zCJY&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="291"></embed></object><br />
</center></p>
<h3>LDAP Tutorial 3/3 &#8211; Anbindung von Tomcat</h3>
<p>Im dritten und letzten Video zeige ich, wie der javabasierte Applikationsserver Tomcat angebunden werden kann. Hierzu sind im Westenlichen zwei Dinge zu tun. Zum Einen ist in der Tomcat-Konfigurationsdatei ein JNDIRealm zu konfigurieren. Zum Anderen muss eine Struktur im LDAP-Server für die Abbildung der Rollen angelegt werden. Ebenso müssen natürlich ein paar Testdaten angelegt werden. In meinem konkreten Beispiel ist es die Bundeskanzlerin Angela Merkel und Wolfgang Schäuble, die ich zu Tomcat Managern mache. Für den ersten Teil hier die Konfiguration <a href="http://www.lawsofform.de/wp-content/uploads/2010/05/tomcat/server.xml" target="_blank">server.xml</a> meiner Tomcat-Installation. Dabei bitte unbedingt darauf achten, dass sowohl die Konfigurationsdatei für den Tomcat als auch die Konfigurationsdatei für den Apache Directory Server den Namen server.xml tragen, aber unterschiedliche XML-Strukturen aufweisen! Für die Anpassung des LDAP-Servers bzgl. der Tomcat-Rollenverwaltung liefere ich hier das <a href="http://www.lawsofform.de/wp-content/uploads/2010/05/tomcatrole.ldif" target="_blank">LDIF-File</a>, welches die Struktur für die Rollenverteilung anlegt.</p>
<p><center><br />
<object width="480" height="291"><param name="movie" value="http://www.youtube.com/v/ZQOZMIPodiE&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ZQOZMIPodiE&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="291"></embed></object></p>
<p></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawsofform.de/2010/05/19/ldap-tutorial-eine-kleine-einfuhrung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design Patterns Schulung</title>
		<link>http://www.lawsofform.de/2008/09/24/design-patterns-schulung/</link>
		<comments>http://www.lawsofform.de/2008/09/24/design-patterns-schulung/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 19:55:17 +0000</pubDate>
		<dc:creator>andreas.mertens</dc:creator>
				<category><![CDATA[Bücher]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Implementierung]]></category>
		<category><![CDATA[Buch]]></category>
		<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[Entwurfsmuster]]></category>
		<category><![CDATA[Schulung]]></category>

		<guid isPermaLink="false">http://www.lawsofform.de/?p=514</guid>
		<description><![CDATA[Augenblicklich halte ich eine Designpatterns-Schulung für die Telekom. Am ersten Tag haben wir die Erzeugungsmuster wie das Abstract Factory Pattern und das Factory Method Pattern, den Builder und den Singleton bearbeitet. Am zweiten Tag die Strukturmuster wie Proxy, Adapter, Flyweight und den Decorator. Morgen kommen die Verhaltensmuster wie Strategy, State, Command und Iterator. Das ganze [...]]]></description>
			<content:encoded><![CDATA[<p>Augenblicklich halte ich eine Designpatterns-Schulung für die Telekom. Am ersten Tag haben wir die Erzeugungsmuster wie das Abstract Factory Pattern und das Factory Method Pattern, den Builder und den Singleton bearbeitet. Am zweiten Tag die Strukturmuster wie Proxy, Adapter, Flyweight und den Decorator. Morgen kommen die Verhaltensmuster wie Strategy, State, Command und Iterator. Das ganze Seminar führe ich mit dem Buch Heads First bzw. <a href="http://www.lawsofform.de/2008/03/16/code-review-und-entwurfsmuster/" target="_self">Entwurfsmuster von Kopf bis Fuß</a> durch.</p>
<p>Ich muss sagen, es macht einen riesen Spaß! Erstens, die Designpatterns-Schulung durchzuführen und zweitens mit diesem tolleb Buch zu arbeiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawsofform.de/2008/09/24/design-patterns-schulung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review und Entwurfsmuster</title>
		<link>http://www.lawsofform.de/2008/03/16/code-review-und-entwurfsmuster/</link>
		<comments>http://www.lawsofform.de/2008/03/16/code-review-und-entwurfsmuster/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 12:50:38 +0000</pubDate>
		<dc:creator>andreas.mertens</dc:creator>
				<category><![CDATA[Bücher]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Implementierung]]></category>

		<guid isPermaLink="false">http://www.lawsofform.de/index.php/2008/03/16/code-review-und-entwurfsmuster/</guid>
		<description><![CDATA[
Pfusch am Bau passiert oft. Ebenso bei IT-Projekten. Um Pfusch am Code festzustellen, bedarf es einen kleinen Blick unter die Motorhaube. Ein kleiner Code-Review lässt Bände sprechen. Böse Zungen behaupten sogar, man könne am Code erkennen, ob es sich um ein Offshoring-Projekt handelt.
Ist die Basis (der Code) bereits versaut, dann hilft auch keine solide Architektur [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.de/gp/product/3897214210?ie=UTF8&#038;tag=managementund-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3897214210" target="_blank"><img align="left" border="0" vspace="8" hspace="8" id="image413" alt="Cover Entwurfsmuster, Eric &amp; Elisabeth Freeman, GoF, gang of Four, Kathy Sierra &amp; Bert Bates" src="http://www.lawsofform.de/wp-content/uploads/2008/03/freemanentwurfsmuster.jpg" /></a>
<p>Pfusch am Bau passiert oft. Ebenso bei IT-Projekten. Um Pfusch am Code festzustellen, bedarf es einen kleinen Blick unter die Motorhaube. Ein kleiner Code-Review lässt Bände sprechen. Böse Zungen behaupten sogar, man könne am Code erkennen, ob es sich um ein Offshoring-Projekt handelt.</p>
<p>Ist die Basis (der Code) bereits versaut, dann hilft auch keine solide Architektur mehr oder ein J2EE-Container. Ebenso rettet auch kein Produkt die Sache. Obschon eine J2EE oder JEE-Architektur so einiges &#8220;erzwingt&#8221; und damit einige Sauerei vermeidet, habe ich auch hier schon Abenteuerliches gesehen. Für einen kurzen Code-Review begnüge ich mich einiger weniger Prinzipien, die schnell und einfach zu prüfen sind:</p>
<ol>
<li>Wird eine Namenskonvention eingehalten ?</li>
<li>Ist der Code dokumentiert ?</li>
<li>Entspricht ein Klassenmodell einer Abstraktion-Konkretisierungs-Hierarchie?</li>
<li>Beschreiben Methodennamen Verhalten?</li>
<li>Und last but not least, werden Patterns verwendet</li>
</ol>
<p>Und da sind wir auch schon bei einem, meiner Meinung nach, extrem wichtigen Punkt, und zwar bei den berühmten <a href="http://de.wikipedia.org/wiki/Viererbande_%28Softwareentwicklung%29" target="_blank">GoF-Patterns</a>, oder in Deutsch Entwurfsmuster. Sie sind für die objektorientierte Programmierung sehr sehr wichtig.</p>
<p> Weil ich derzeit einige Schulung in diesem Umfeld vorbereite, habe ich ein didaktisch gutes Werk gesucht. Aus eigener Erfahrung weiß ich, dass das Vermitteln der Design Patterns nicht so einfach ist, insbesondere wenn Teilnehmer noch nicht allzuviel Programmiererfahrung haben, erscheinen die Patterns oftmals zu abstrakt. Erst kürzlich bei Amazon bestellt, habe ich nun ein Werk vorliegen, das ich wirklich empfehlen kann. Den Autoren Eric Freeman &amp; Elisabeth Freeman, Kathy Sierra &amp; Bert Bates ist es gelungen ein didaktisch sehr gut aufbereitetes Buch über Entwurfsmuster zu schreiben: <a href="http://www.amazon.de/gp/product/3897214210?ie=UTF8&#038;tag=managementund-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3897214210" target="_blank">Entwurfsmuster von Kopf bis Fuß</a>.</p>
<p>Gerne lasse ich meine Kursteilnehmer immer wieder in Probleme rennen, damit Sie lernen, Alltagsschwierigkeiten lösen zu lernen. Die Autoren machen es ähnlich, indem Sie von einer Aufgabenstellung ausgehen, eine problembehaftete Lösung aufzeigen und dann die Eleganz durch die Lösung mit Entwurfsmuster aufzeigen. Sehr erwähnenswert ist, dass die Patterns nicht theoretisch abgespult werden, sondern an ganz konkreten Beispielen in Java behandelt werden.</p>
<p>So zeigen Sie einleitend sehr unterhaltsam, wie man mit dem Strategy-Pattern Komposition, anstatt falscher Vererbung verwendet. Dies geschieht an einer Enten-Simulation mit quakenden, quietschenden, fliegenden und nicht-fliegenden Enten. Mindestens genauso toll zeigen Sie das Decorator-Muster anhand des Kaffeehauses Sternback-Kaffee.</p>
<p>Insgesamt ist das Buch einfach der Hammer. In lockeren Dialogen zwischendurch behandeln die Autoren philosophische Fragen über verschiedenen Lösungsansätze und reflektieren, wann ein Muster eingesetzt werden sollte und in welchen Situationen besser nicht.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lawsofform.de/2008/03/16/code-review-und-entwurfsmuster/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
