<?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>Schreinert.com &#187; Derby</title>
	<atom:link href="http://www.schreinert.com/tags/derby/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.schreinert.com</link>
	<description>Software-Entwicklung • IT-Projektmanagement  • E-Commerce-Beratung</description>
	<lastBuildDate>Wed, 23 Sep 2009 14:24:59 +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>Java Content Repository API (JCR) mit Jackrabbit</title>
		<link>http://www.schreinert.com/java-content-repository-jcr-mit-jackrabbit-268/</link>
		<comments>http://www.schreinert.com/java-content-repository-jcr-mit-jackrabbit-268/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 13:05:57 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Produkt-Tests]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Derby]]></category>
		<category><![CDATA[Jackrabbit]]></category>
		<category><![CDATA[JCR]]></category>
		<category><![CDATA[Liferay]]></category>
		<category><![CDATA[Mirage]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=268</guid>
		<description><![CDATA[In einem aktuellen Projekt habe ich als Herausforderung, eine gro&#223;e Menge an Daten zu speichern, wobei sich das Datenschema h&#228;ufig &#228;ndern kann. In diesem Zusammenhang habe ich die OpenSource-Implementierung &#8221; Jackrabbit&#8221; (v1.6.0) des Java Content Repository API (JCR, JSR-170) beispielhaft angebunden.Zu Beginn m&#252;ssen (wie immer) die abh&#228;ngigen Bibliotheken eingebunden werden. Dies geschieht einfach per Apache [...]]]></description>
			<content:encoded><![CDATA[<p>In einem aktuellen Projekt habe ich als Herausforderung, eine gro&#223;e Menge an Daten zu speichern, wobei sich das Datenschema h&#228;ufig &#228;ndern kann. In diesem Zusammenhang habe ich die OpenSource-Implementierung &#8221; <a href="http://jackrabbit.apache.org/">Jackrabbit</a>&#8221; (v1.6.0) des Java Content Repository API (JCR, <a href="http://jcp.org/aboutJava/communityprocess/final/jsr170/index.html">JSR-170</a>) beispielhaft angebunden.<img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" />Zu Beginn m&#252;ssen (wie immer) die abh&#228;ngigen Bibliotheken eingebunden werden. Dies geschieht einfach per <a href="http://maven.apache.org/">Apache Maven</a> oder per folgender Liste:</p>
<ul>
<li> <a href="http://jackrabbit.apache.org/">jackrabbit-core</a>: Die Implementierung des JSR-170 Standards</li>
<li> <a href="http://commons.apache.org/collections/">commons-collections</a>: Bekanntes &#8220;commons&#8221; Paket f&#252;r Datenstrukturen</li>
<li> <a href="http://g.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html">concurrent</a>: Bibliothek f&#252;r Concurrent Programming</li>
<li>jcr: Die JSR-170 API</li>
<li>log4j: Der bekannte Logger</li>
<li>slfj4: Simple Logging Facade for Java</li>
<li>xerces: XML Parser</li>
<li> <a href="http://db.apache.org/derby/">derby</a>: Wenn der Workspace in einer Datenbank liegen soll.</li>
</ul>
<p>Auf den Projektseiten von Jackrabbit empfiehlt sich zu Beginn die treffende genannte Seite &#8221; <a href="http://jackrabbit.apache.org/first-hops.html">First Hops</a>&#8220;, auf der drei einfache Beispiele f&#252;r die Verwendung des JCR gelistet sind: Der erste &#8220;Login&#8221;, das Anlegen und Abfragen von Daten und das Importieren einer XML-Quelle. Vor der ersten Verwendung muss aber noch das Repository konfiguriert sein. Jackrabbit sucht standardm&#228;&#223;ig im Klassenpfad nach einer Daten namens repository.xml. Auf den Projektseiten lassen sich die <a href="http://jackrabbit.apache.org/jackrabbit-configuration.html">Einstellungen</a> genau nachlesen, f&#252;r den ersten Einsatz empfiehlt sich die <a href="http://jackrabbit.apache.org/jackrabbit-configuration.data/repository.xml">Standard-Datei</a>.</p>
<p>Hilfreich f&#252;r die ersten Spr&#252;nge mit Jackrabbit ist auch die IBM-Seite &#8221; <a href="http://www.ibm.com/developerworks/java/library/j-jcr/">Introducing the Java Content Repository API</a>&#8220;.</p>
<p>F&#252;r mein Projekt hat sich gezeigt, dass der Import von mehreren tausend Knoten mehrere Minuten ben&#246;tigen und zudem der RAM-Speicherbedarf sehr stark ansteigt. So kam bereits beim Versuch 5.000 Knoten mit je 160 Properties ein Out-Of-Memory &#8212; bei 1 GB bereitgestelltem Hauptspeicher.</p>
<p>Wer das JCR f&#252;r die Verwaltung von Inhalten (Content-Management) einsetzen m&#246;chte, kann einen Blick auf das Projekt &#8221; <a href="https://mirage.dev.java.net/">mirage</a>&#8221; werfen. Aufbauend auf Jackrabbit und einer Workflow-API bietet Mirrage die M&#246;glichkeit, Content zu verwalten. Wer den Einsatz genauer sehen m&#246;chte, kann sich die Content-Management-Portlets des <a href="http://www.google.de/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.liferay.com%2F&amp;ei=PNa0SobGC4_K_gaW4I2pDQ&amp;usg=AFQjCNHQReSNMvnqwn1FuHnufm1cnVHGMw">Liferay Portals</a> genauer anschauen. Diese verwenden n&#228;mlich &#8220;mirage&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/java-content-repository-jcr-mit-jackrabbit-268/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Derby DB: Daten verschl&#252;sseln f&#252;r mehr Sicherheit</title>
		<link>http://www.schreinert.com/apache-derby-db-daten-verschluesseln-fuer-mehr-sicherheit-233/</link>
		<comments>http://www.schreinert.com/apache-derby-db-daten-verschluesseln-fuer-mehr-sicherheit-233/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 14:32:21 +0000</pubDate>
		<dc:creator>Stefan Schreinert</dc:creator>
				<category><![CDATA[Tipps und Tricks]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Derby]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Tipp]]></category>
		<category><![CDATA[Verschlüsselung]]></category>

		<guid isPermaLink="false">http://www.schreinert.com/?p=233</guid>
		<description><![CDATA[Vor einiger Zeit hatte ich die Anforderung an eine Datenbank, die gespeicherten Daten verschl&#252;sselt auf der Platte abzulegen, um so mehr Schutz vor unberechtigtem Zugriff zu bieten. Das Datenbankmanagement-System Apache Derby (z.B. Version 10.2) erm&#246;glicht es, diese Anforderung der verschl&#252;sselten Daten zu erf&#252;llen.
Die Einrichtung und der Zugriff der verschl&#252;sselten Derby Datenbank ist vergleichsweise simpel: Zum [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit hatte ich die Anforderung an eine Datenbank, die gespeicherten Daten verschl&#252;sselt auf der Platte abzulegen, um so mehr Schutz vor unberechtigtem Zugriff zu bieten. Das Datenbankmanagement-System Apache Derby (z.B. Version 10.2) erm&#246;glicht es, diese Anforderung der verschl&#252;sselten Daten zu erf&#252;llen.<img src="http://www.schreinert.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>Die Einrichtung und der Zugriff der verschl&#252;sselten Derby Datenbank ist vergleichsweise simpel: Zum JDBC-Connect String werden die zwei Parameter<code> dataEncryption=true </code>und <code>bootPassword=2NGWGv.... </code>hinzugef&#252;gt, z.B.</p>
<p><code>jdbc:derby:MyDB;create=true;dataEncryption=true;bootPassword=</code><code>2NGWGv</code></p>
<p>Hier ein Screenshot, wie ich die Verschl&#252;sselung im Eclipse Data Source Explorer eingebunden habe:</p>
<p><a href="http://www.schreinert.com/files/eclipse-verschluesselte-datenbank.jpg"><img src="http://www.schreinert.com/files/eclipse-verschluesselte-datenbank-550x417.jpg" alt="" width="440" height="334" /></a></p>
<p>&#220;ber den zus&#228;tzlichen Parameter <code>encryptionAlgorithm </code>l&#228;sst sich noch der Verschl&#252;sselungs-Algorithmus angeben. Weitere Informationen zu diesem Parameter gibt es in den <a href="http://db.apache.org/derby/docs/10.2/ref/rrefattrib60346.html">Derby-Docs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.schreinert.com/apache-derby-db-daten-verschluesseln-fuer-mehr-sicherheit-233/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
