<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEUGSX89fSp7ImA9WxNUGEo.&quot;"><id>tag:blogger.com,1999:blog-14001982</id><updated>2009-11-10T19:03:48.165+01:00</updated><title>J and I and Me</title><subtitle type="html">J für Java, Java EE |
I für Internet, iMac, iBook und iPod |
Me für mich</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://jandiandme.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>431</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/jandiandme2" type="application/atom+xml" /><feedburner:emailServiceId>jandiandme2</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;DEUGSXwyeCp7ImA9WxNUGEo.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6243734378908261447</id><published>2009-11-08T19:58:00.007+01:00</published><updated>2009-11-10T19:03:48.290+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-10T19:03:48.290+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="eeePC" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>Meine völlig subjektiven Eindrücke von Ubuntu</title><content type="html">Ich habe in der letzten Zeit ein wenig mit Ubuntu Linux auf verschiedenen eee PCs herumexperimentiert. Die Erkenntnisse, die ich dabei gewonnen habe, würde ich gerne hier der geneigten Öffentlichkeit mitteilen. Vorab folgendens:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Ich bin ein Mac User. Nicht aus ideologischer Überzeugung, sondern weil ich mit Macs am besten zurecht komme und sie NeXTstep am meisten ähneln, womit ich vorher gearbeitet habe.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ich habe mit Linux schon 1992 oder 1993 angefangen zu experimentieren, damals in 0.96. Davor habe ich auch schon mit Coherent herumgebastelt. Ich habe sogar Geld als Linux-Admin verdient. Ich bin also kein Neuling und wünsche Linux alles erdenklich Gute. Außerdem arbeite ich selber bei einer Open-Source-Firma.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Fangen wir an mit der Installation von Ubuntu Netbook Remix (UNR) 9.04 auf eine eeePC 701. Das ist der ursprünglich eeePC, noch mit Xandros Linux. Den wollte ich auf UNR umrüsten, weil das für mich gegenüber Xandros die bessere Alternative ist. Ein Grund ist der große Verbreitungsgrad von UNR und das bessere Software-Angebot. Außerdem zweifel ich, dass das Xandros langfristig weiter unterstützt wird. Die Installation von UNR war auch einfach. Am Ende hat man einen einfach zu bedienenden Rechner mit einem schönen Menü, der jede Menge aktuelle Software hat. Nur benutzen kann man ihn nicht. Das Menü ist mit grafischen Animationen verziert. Der eeePC ist nicht dazu in der Lage, diese schnell genug anzuzeigen, so dass die Oberfläche tatsächlich fast nicht benutzbar ist. Das ist erstaunlich, denn zuvor hatte ich auf dem Rechner schon mal viele lustige Grafik-Effekte mit der Linux-Distribution am Laufen, die heute &lt;a href="http://www.geteasypeasy.com/"&gt;easypeasy&lt;/a&gt; heißt. Die Lösung findet man nach eine Suche im Netz zum Beispiel &lt;a href="http://www.bundschuh.de/blog/2009/08/eee-pc-701-4g-mit-ubuntu-netbo.html"&gt;hier&lt;/a&gt;. Es fehlt lediglich eine Zeile in einer Konfigurationsdatei. Erfahrung hier: Tolle Software-Auswahl, tolles Menü, aber auf dem eee PC 701 kein Plug and Play. Ein "normaler" Anwender hätte das Handtuch geworfen, weil es schlicht nicht ordentlich funktioniert - und das auf dem Rechner, der sehr lange bei Amazon der am besten verkaufte Laptop war.&lt;br /&gt;&lt;br /&gt;Auf meinen neuen eee PC 1011HA  sollte Ubuntu Desktop 9.10 drauf, obwohl der Test in der c't dem 1011HA eine schlechte Linux-Kompatibilität bescheinigt hat. Mit 9.10 funktionieren WLAN und Netz problemlos, während 9.04 hier noch Probleme machte. Ich habe noch in der Beta-Phase von 9.10 einige Releases installiert. Problem ist die Grafik, aber dank &lt;a href="http://ubuntuforums.org/showthread.php?t=1253406"&gt;diesem Thread&lt;/a&gt; aus dem Ubuntu-Forum ein lösbares Problem. Allerdings hat irgendein Beta-Update dann den Installation des Grafik-Treibers kaputt gemacht, so dass ich dann neu installieren musste. Allerdings habe ich Fedora 11 ausprobiert, um auch mal davon einen Eindruck zu bekommen. Auch bei Fedora muss man den Grafik-Treiber nachinstallieren, eine Anleitung gibt es &lt;a href="http://www.happyassassin.net/2009/08/10/intel-gma500-poulsbo-on-fedora-11-repository-with-working-3d-compiz-support/"&gt;hier&lt;/a&gt;. Fedora funktioniert gut, aber mir persönlich gefällt die Oberfläche von Ubuntu besser und auch der Package-Manager von Ubuntu ist eher mein Fall. Außerdem gibt es mit Ubuntu One auch einen Service, um 2GB Daten auf einem Server kostenlos zu parken, was Fedora nicht bietet. Keine großen Themen, aber insgesamt bin ich dann wieder zu Ubuntu gewechselt, nachdem 9.10 Release draußen war. Erstaunlicherweise funktioniert fast alles - Hibernate, Suspend, Sound, Grafik, WebCam - bis auf das interne Mikro. Ein externes geht, wenn auch verrauscht. Skype und VMware Player sind ebenfalls leicht nachinstallierbar.&lt;br /&gt;&lt;br /&gt;Was mich wirklich wundert ist allerdings, dass einige Ubuntu Packages einfach nicht funktionieren. eToys funktioniert schlicht nicht und dazu gibt es auch einen Bug-Report. Dabei startet das Programm noch nicht einmal. Ebenfalls habe ich sugar nicht zum Laufen gebracht - die Oberfläche des OLPC (One Laptop Per Child)-Projekts. Hier mag es sein, dass ich etwas falsch gemacht habe, aber es gibt auch dort einen Bug-Report, der besagt, dass sugar einfach nicht startet. Nun sind dies keine sehr wichtigen Pakete, aber es ist schon erstaunlich, wie schlicht nicht lauffähige Software in ein Release kommt.&lt;br /&gt;&lt;br /&gt;Ingesamt also überwindbare Probleme. Aber es bleibt die Frage, warum man überhaupt Ubuntu nutzen sollte - jenseits des "Es ist freie Software und es fühlt sich gut an!". Immerhin ist der Anspruch von Ubuntu ja, den &lt;a href="https://bugs.launchpad.net/ubuntu/+bug/1"&gt;Bug 1&lt;/a&gt; von Ubuntu zu fixen. Meiner Ansicht nach ist ein wesentlicher Vorteil die virtuellen Desktops. Eigentlich ist das ein Feature, dass X Window Manager schon lange anbieten. Man kann tatsächlich mehrere Arbeitsflächen einrichten, die jeweils Anwendungen für bestimmte Aufgaben wie Kommunikation (EMail, Skype, IM) oder konkrete Arbeit (OpenOffice) enthalten. Dadurch kann man tatsächlich diese Aufgaben konsequent voneinander trennen. Lustigerweise geht das viel besser als unter Mac OS X mit Spaces. Das liegt meiner Ansicht nach daran, dass die Desktops tatsächlich getrennt sind. Alt+Tab beispielsweise schaltet nur zwischen den Fenstern im aktuellen Desktop um. bei Mac OS X schaltet es zwischen alle Fenster um. Außerdem kann man Fenster auf einem oder allen Desktops anzeigen lassen. Alles keine Innovationen, sondern schon lange üblich bei Linux - aber eben weder unter Windows noch Mac OS X und ein Feature, dass ich in Mac OS X auch gerne sehen würde.&lt;br /&gt;&lt;br /&gt;Ansonsten bin ich nicht sicher, ob ich Microsoft Office Mac gegen OpenOffice eintauschen würde, denn ich bin auf weitgehende Kompatibilität angewiesen. Aber es macht sicher Spaß, sich mal anderswo - also bei Ubuntu - umzusehen.&lt;br /&gt;&lt;br /&gt;Fazit: Die Installation von UNR 9.0.4 auf dem eeePC 701 ist nicht akzeptabel. Die Installation auf dem einem derart weit verbreiteten Netbook sollte Plug and Play sein. Die Installation auf dem 1101HA ist erwartungskonform und man hätte den Problemen mit anderer Hardware wahrscheinlich entgehen können. Ubuntu insgesamt macht Spaß - wenn auch einige Dinge wie nicht funktionierende Software - einfach nicht akzeptabel sind.&lt;br /&gt;&lt;br /&gt;Am Ende noch ein "Danke" an Canonical, Ubuntu und die Ubuntu-Community für die Software!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6243734378908261447?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=pWBuM8InlZ8:Jb6qyILY0zo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=pWBuM8InlZ8:Jb6qyILY0zo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=pWBuM8InlZ8:Jb6qyILY0zo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=pWBuM8InlZ8:Jb6qyILY0zo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/pWBuM8InlZ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6243734378908261447/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6243734378908261447" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6243734378908261447?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6243734378908261447?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/pWBuM8InlZ8/meine-vollig-subjektiven-eindrucke-von.html" title="Meine völlig subjektiven Eindrücke von Ubuntu" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/11/meine-vollig-subjektiven-eindrucke-von.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIFRns_eyp7ImA9WxNUFU0.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6575476594067042145</id><published>2009-11-06T12:49:00.000+01:00</published><updated>2009-11-06T12:55:17.543+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-06T12:55:17.543+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Architektur" /><title>Über Architekturen und Perfektion</title><content type="html">Wenn ich mir Architekturen ansehen, wie sie typischerweise präsentiert werden, muss ich an dieses Photo denken:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Wg2HaCi8uwU/SvP9SnmvblI/AAAAAAAAABw/OPPTkoIS2XM/s1600-h/11102009038.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_Wg2HaCi8uwU/SvP9SnmvblI/AAAAAAAAABw/OPPTkoIS2XM/s320/11102009038.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5400938874458304082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ein völlig sauber, möglichst quadratisches Gebäude mit rechten Winkeln - das ist es, was man meistens als Ziel für die Architektur präsentiert bekommt. Oder die tatsächliche Architektur des Systems soll wirklich so aussehen. Meistens gibt es da aber dann die sprichwörtlichen "kleinen" Ausnahmen.&lt;br /&gt;&lt;br /&gt;In Wirklichkeit erinnern mich die tatsächlichen Architekturen eher an das hier:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Wg2HaCi8uwU/SssE6Afa3wI/AAAAAAAAABo/g3hVcciecJU/s1600-h/IMG_0598.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 222px; height: 320px;" src="http://4.bp.blogspot.com/_Wg2HaCi8uwU/SssE6Afa3wI/AAAAAAAAABo/g3hVcciecJU/s320/IMG_0598.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5389406773689638658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Das ist das Spiel "Villa Paletti", zum bekommen &lt;a href="http://www.amazon.de/gp/product/B00006NSWG?ie=UTF8&amp;tag=springbuch-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B00006NSWG"&gt;bei Amazon&lt;/a&gt;&lt;img src="http://www.assoc-amazon.de/e/ir?t=springbuch-21&amp;l=as2&amp;o=3&amp;a=B00006NSWG" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;. Dabei geht es darum, dass jeder Spieler Säulen seiner Farbe ganz nach oben auf das Gebäude stellen muss, bis es einstürzt. Es gewinnt der Spieler mit den wertvollsten Säulen auf der obersten Ebene.&lt;br /&gt;&lt;br /&gt;Wenn man sich die dabei entstehenden Konstruktionen anschaut, sind sie sicher ein Gräuel, wenn man ein Gebäude mit möglichst vielen rechten Winkeln und klaren Strukturen bevorzugt. Und natürlich ist das Ziel einer Software-Architektur nicht, dass sie am Ende einstürzt.&lt;br /&gt;&lt;br /&gt;Aber die entstehenden Entwürfe haben auch Vorteile: Auf dem Bild kann man erkennen, dass die oberste Ebene nur von zwei Säulen unterstützt wird. Hier kommt man also mit einem sehr geringen Material-Einsatz aus - und bei einem klassischen Entwurf würde man sicher jede Ebene mindestens mit drei Säulen unterstützen. Es kann also im Laufe des Spiels eine Konstruktion entstehen, die mit weniger Material mehr Höhe erreicht, als dies bei einer im Vorhinein geplanten Konstruktion der Fall wäre. &lt;br /&gt;&lt;br /&gt;Die andere interessante Eigenschaft des Spiels ist, dass man ständig evolutionär weiterentwickelt. Das Gebäude umfasst  immer alle Bausteine und wird schrittweise "optimiert", also höher. Das ist bei dem Gebäude auf dem anderen Bild sicher nicht der Fall. Dort wird das Gebäude gebaut, es dann irgendwann "fertig" und kann danach eigentlich nicht mehr wirklich verändert werden. Bevor es "fertig" ist, kann man es nicht benutzen. Für Software ist das eine schlechte Eigenschaft, weil man dann die Software nicht ernsthaft weiterentwickeln kann.&lt;br /&gt;&lt;br /&gt;Ich bin nun der Meinung, dass "Villa Paletti" eine wesentlich bessere Metapher für Software-Entwicklung ist als das Gebäude weiter oben. Warum?&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Software entsteht evolutionär. Es wird ständig weiterentwickelt, angepasst usw - ein klarer, rechteckiger Entwurf kann dabei nicht entstehen.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Selbst wenn ein "sauberer" Entwurf entstehen könnte - das "Villa Paletti"-Modell ist teilweise überlegen, wie man am Beispiel des Material-Einsatzes sieht.&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Für die Software-Entwicklung bedeutet das aus meiner Sicht, dass wir uns von den klaren, rechteckigen Entwürfen verabschieden müssen - wir werden sie eh nicht realisieren können. Wenn man es dennoch versucht, landet man bei Stackenblocken, weil man es eben nicht schafft, alles in rechten Winkeln anzuordnen. Zu Stackenblocken gibt es unter &lt;a href="http://www.youtube.com/watch?v=QEN5-_93gQg"&gt;http://www.youtube.com/watch?v=QEN5-_93gQg&lt;/a&gt; ein sehr sehenswertes Video.&lt;br /&gt;&lt;br /&gt;Das bedeutet aus meiner Sicht:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Lebe damit, dass die Architektur nicht perfekt sein wird!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Beeinflusse aktiv, welche Teile architekturell besser und schlechter sind. Wenn nicht alles perfekt sein kann, muss man dafür sorgen, dass zumindest die wichtigen Teile eine gute Architektur haben.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Setze also Prioritäten: Probleme, mit denen man leben kann, sollte man nicht korrigieren. Beispielsweise ist ein sauberer Entwurf kein Wert an sich, sondern er hilft bei der Weiterentwicklung. Ein sauberer Entwurf für einen Teil, den man nicht weiterentwickeln wird, macht daher kaum Sinn.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Entwickel daher die Architektur und die Software evolutionär weiter. Man kann nicht ein sauberes, neues Gebäude bauen - es wird früher oder später wieder umgebaut werden, das muss evolutionär passieren und das Umschalten auf das neue Gebäude wird nicht einfach sein.&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6575476594067042145?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UJHa6AjLlhM:LU49F3Ol9uY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UJHa6AjLlhM:LU49F3Ol9uY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=UJHa6AjLlhM:LU49F3Ol9uY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UJHa6AjLlhM:LU49F3Ol9uY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/UJHa6AjLlhM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6575476594067042145/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6575476594067042145" title="4 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6575476594067042145?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6575476594067042145?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/UJHa6AjLlhM/uber-architekturen-und-perfektion.html" title="Über Architekturen und Perfektion" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_Wg2HaCi8uwU/SvP9SnmvblI/AAAAAAAAABw/OPPTkoIS2XM/s72-c/11102009038.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/10/uber-architekturen-und-perfektion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcMQXY9eSp7ImA9WxNVEE8.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-5733301524091645805</id><published>2009-10-20T10:21:00.003+02:00</published><updated>2009-10-20T10:24:40.861+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-20T10:24:40.861+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Betrieb" /><category scheme="http://www.blogger.com/atom/ns#" term="Skalierbarkeit" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><category scheme="http://www.blogger.com/atom/ns#" term="Performance" /><category scheme="http://www.blogger.com/atom/ns#" term="Düsseldorf" /><title>Noch Plätze frei: Spring: Performance, Skalierbarkeit &amp; Betrieb am 3.11. in Düsseldorf</title><content type="html">Am 3.11. findet in Düsseldorf der Event zu Spring: Performance, Skalierbarkeit &amp; Betrieb statt.&lt;br /&gt;&lt;br /&gt;Auf der Agenda steht:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Monitoring und Performance Optimierungen mit Spring (Eberhard Wolff)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Portabilität auf Framework-Level - Spring als Runtime (Agim Emruli)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Hyperic HQ - Die Open-Source-Monitoring-Lösung (Agim Emruli)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tomcat und OSGi als Plattformen: Alternativen, Vor- und Nachteile (Eberhard Wolff)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Nähere Informationen finden Sie unter &lt;a href="http://spring-performance.eventbrite.com/"&gt;http://spring-performance.eventbrite.com/&lt;/a&gt;. Dort können Sie sich auch registrieren. Es wird ein Unkostenbeitrag in Höhe von 99€ erhoben, für das leibliche Wohl ist gesorgt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-5733301524091645805?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=JC_HUyQRIuw:cZrzPBkaa-4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=JC_HUyQRIuw:cZrzPBkaa-4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=JC_HUyQRIuw:cZrzPBkaa-4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=JC_HUyQRIuw:cZrzPBkaa-4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/JC_HUyQRIuw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/5733301524091645805/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=5733301524091645805" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/5733301524091645805?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/5733301524091645805?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/JC_HUyQRIuw/noch-platze-frei-spring-performance.html" title="Noch Plätze frei: Spring: Performance, Skalierbarkeit &amp; Betrieb am 3.11. in Düsseldorf" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/10/noch-platze-frei-spring-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FQH0_cSp7ImA9WxNXGUg.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6146997863636796203</id><published>2009-10-07T23:43:00.005+02:00</published><updated>2009-10-08T00:00:11.349+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-08T00:00:11.349+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Rod Johnson" /><category scheme="http://www.blogger.com/atom/ns#" term="Gregor Hohpe" /><category scheme="http://www.blogger.com/atom/ns#" term="JAOO" /><category scheme="http://www.blogger.com/atom/ns#" term="Beat Schwegler" /><title>JAOO: Dritter Tag</title><content type="html">Heute habe ich nur wenige Sessions besucht. In der Keynote hat Cameron Purdy nocheinmal die Vorteile von Java gegenüber C++. Daraus wollte er dann die Probleme von Java ableiten, die eine neue Sprache lösen müsste. Dort kamen Themen wie Startup Time, Memory Footprint, Full GC Pausen usw - meiner Meinung nach nicht wirklich die großen Probleme.&lt;br /&gt;&lt;br /&gt;Dann habe ich noch den Schluss von Beat Schweglers Vortrag über Microsofts Cloud-Pläne mitbekommen und mich geärgert, dass ich nicht früher bei dem Talk war.&lt;br /&gt;&lt;br /&gt;Gregor Hohpe sprach über Googles Cloud Ansatz. Dabei ging es um das Google File System, Big Table für Datenhaltung und Map Reduce für die Verteilung von Arbeit. Wie auch Urs Hölzle vor ihm gab das einen guten und interessante Einblick darin, wie Google arbeitet.&lt;br /&gt;&lt;br /&gt;Schließlich habe ich noch den Vortrag von Rod Johnson, dem Chef der SpringSource Division bei VMware angehört. Dieser Vortrag zeigt sehr deutlich, wo die Chancen von SpringSource un VMWare liegen. Die Folien gibt es &lt;a href="http://jaoo.dk/aarhus-2009/file?path=/jaoo-aarhus-2009/slides/RodJohnson_ACloudySpringDay.pdf"&gt;hier&lt;/a&gt; - reinschauen lohnt sich. Fast alle anderen Folien finden sich im &lt;a href="http://jaoo.dk/aarhus-2009/schedule/wednesday.jsp"&gt;Schedule&lt;/a&gt; der Konferenz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6146997863636796203?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=CPY59Pqg4Gw:zwbfk_qM0eM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=CPY59Pqg4Gw:zwbfk_qM0eM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=CPY59Pqg4Gw:zwbfk_qM0eM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=CPY59Pqg4Gw:zwbfk_qM0eM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/CPY59Pqg4Gw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6146997863636796203/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6146997863636796203" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6146997863636796203?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6146997863636796203?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/CPY59Pqg4Gw/jaoo-dritter-tag.html" title="JAOO: Dritter Tag" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/10/jaoo-dritter-tag.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQGRHw8fCp7ImA9WxNXGEQ.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-8777661314738755218</id><published>2009-10-07T08:33:00.002+02:00</published><updated>2009-10-07T08:35:25.274+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T08:35:25.274+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ROO" /><category scheme="http://www.blogger.com/atom/ns#" term="Mike Wiesner" /><title>Artikel zu Spring ROO</title><content type="html">&lt;a href="http://it-republik.de/jaxenter/artikel/Einstieg-in-Spring-Roo-RC2-2599.html"&gt;Hier&lt;/a&gt; findet sich ein Artikel meines Kollegen Mike Wiesner für Jaxenter über Spring ROO. Dabei handelt sich um einen Generator-basierten Ansatz für die Entwicklung von Spring-Anwendungen. Viel Spaß beim Lesen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-8777661314738755218?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=3YfWdJDg1N8:B1JVMzqkANM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=3YfWdJDg1N8:B1JVMzqkANM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=3YfWdJDg1N8:B1JVMzqkANM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=3YfWdJDg1N8:B1JVMzqkANM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/3YfWdJDg1N8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/8777661314738755218/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=8777661314738755218" title="2 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/8777661314738755218?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/8777661314738755218?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/3YfWdJDg1N8/artikel-zu-spring-roo.html" title="Artikel zu Spring ROO" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/10/artikel-zu-spring-roo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QCR3o6eCp7ImA9WxNXGEQ.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6296875541794685900</id><published>2009-10-07T07:27:00.004+02:00</published><updated>2009-10-07T08:02:46.410+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T08:02:46.410+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Rod Johnson" /><category scheme="http://www.blogger.com/atom/ns#" term="Dalibor Topic" /><category scheme="http://www.blogger.com/atom/ns#" term="Kirk Pepperdine" /><category scheme="http://www.blogger.com/atom/ns#" term="Martin Lippert" /><category scheme="http://www.blogger.com/atom/ns#" term="JAOO" /><category scheme="http://www.blogger.com/atom/ns#" term="James O Coplien" /><title>JAOO: Tag 2</title><content type="html">Zunächst ein Nachtrag zum ersten Tag: Ich war auch in einem Talk von Jonas Jacobi zu WebSockets. Interessant war dabei neben WebSockets auch das Stomp-Protokoll, mit dem man in JavaScript von ActiveMQ Mesages empfangen kann - und das sehr problemlos.&lt;br /&gt;&lt;br /&gt;Der zweite Tag ging los mit einer Keynot von  Simon Peyton-Jones (Microsoft Research) zu Haskell, einer funktionalen Programmiersprache, und zwar insbesondere zu dem Typ-System und der Modellierung von Klassen in dem System. Inhaltlich fand ich es sehr interessant, aber sicher auch eher schwer zu verstehen. Gleichzeitig zeigt die Keynote, dass Sprachen wieder ein Thema sind. Lustig ist vor allem, dass vor längerer Zeit ein Bekannter Haskell an der Uni lernen musste und sehr negativ dazu eingestellt war - weil es ihm akademisch und nicht praxisrelevant erschien. Jetzt scheint Haskell in der Nutzung auch außerhalb der Unix zumindest zuzulegen und Microsoft Research wird sicher nicht "einfach so" Experten in dieser Sprache eingestellt haben.&lt;br /&gt;&lt;br /&gt;Den Start des von mir organisierten "Java Now" Tracks gab es auch eine Art Keynote. Rod Johnson, Erfinder von Spring und Chef der SpringSource-Division bei VMWare, sprach über den Trend zu Open Source und leichtgewichtigen Ansätzen bei Java. Ich fand diesen Vortrag vor allem wichtig, um auf die große Bedeutung von Open Source als Innovator bei Java hinzuweisen.&lt;br /&gt;&lt;br /&gt;In diesem Sinne ging es dann weiter: Dalibor Topic (Sun) sprach über das OpenJDK-Projekt, dessen Leiter er ist. Neben den Innovationen wie Type Annotations habe ich vor allem mitgenommen, dass Java noch mehr Verbreitung findet, seit es Open Source ist. So steht es jetzt in jeder Linux-Distribution zur Verfügung und auch in vielen anderen Betriebssystemen wie beispielsweise BSD. Später zeigte Dalibor mir noch eine Grafik, die zeigt, dass es auch immer mehr Open-Source-Projekte gibt, die auf Java setzen. Also wird durch das OpenJDK-Projekt Java noch populärer.&lt;br /&gt;&lt;br /&gt;Martin Lippert sprach dann über OSGi auf dem Server, meiner Meinung nach eines der wichtigsten Zukunftsthemen für Server-Java. Schön war, dass Martin auch der Meinung ist, dass der SpringSource dm Server in diesem Bereich im Moment die beste Lösung darstellt. Inhaltlich ging Martin neben den Grundlagen - also den Problemen, die man bei OSGi auf dem Server hat - auch auf die neuen Architektur-Herausforderungen wegen der Dynamik von OSGi ein. Ich denke, dass in diesem Feld noch einige interessante Ansätze möglich sein werden.&lt;br /&gt;&lt;br /&gt;Kirk Pepperdine sprach über Latenzzeiten. Gerade bei automatisierten Börsen-Systemen können Latenzen sehr wichtig sein. In seinem Talk hat er dann einen vollständigen Ansatz zur Analyse von Performance-Problemen dargestellt - was für eine Stunde eine große Leistung ist.&lt;br /&gt;&lt;br /&gt;Am Abend gab es dann noch eine Diskussion mit James O Coplien und mir bei der JavaGruppen zur Zukunft von Java. An dieser Stelle nochmal mein Dank an JavaGruppen und Martin Boel für die Organisation. Insgesamt gab es eine lebhafte Diskussion und ich hoffe, dass dabei klar geworden ist, dass Java und die JVM eine sehr positive Zukunft haben werden.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6296875541794685900?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=VP6_DzP3kFE:wG8TfptqfME:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=VP6_DzP3kFE:wG8TfptqfME:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=VP6_DzP3kFE:wG8TfptqfME:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=VP6_DzP3kFE:wG8TfptqfME:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/VP6_DzP3kFE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6296875541794685900/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6296875541794685900" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6296875541794685900?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6296875541794685900?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/VP6_DzP3kFE/jaoo-tag-2.html" title="JAOO: Tag 2" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/10/jaoo-tag-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8MSH89cCp7ImA9WxNXF0s.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-8278825436285292529</id><published>2009-10-05T19:01:00.005+02:00</published><updated>2009-10-05T19:14:49.168+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T19:14:49.168+02:00</app:edited><title>JAOO: Erster Tag</title><content type="html">Ich bin gerade auf der &lt;a href="http://jaoo.dk/aarhus-2009/"&gt;JAAO&lt;/a&gt; Konferenze in Dänemark und habe den ersten Tag erfolgreich hinter mich gebracht. Hier die Highlights:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Rod Johnson hat über Spring ROO gesprochen. Passend dazu ist heute auch der zweite Release Candidate erschienen, siehe &lt;a href="http://www.springsource.org/node/2024"&gt;http://www.springsource.org/node/2024&lt;/a&gt;. Meiner Meinung nach eine sehr interessante Technologie, mit der man durch ein gutes Framework und einen Generator wesentlich bessere Produktivität erreichen kann. Vor allem muss man sich nicht mehr mit den Details von Maven etc. auseinandersetzen. Die breite Mehrheit der Zuhörer findet das auch und wollte nach Rods Nachfrage sich ROO auch anschauen!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Interessant war auch die Präsentation von Graeme Rocher über Grails: Bekanntermaßen ist es ein sehr interessanter und produktiver Ansatz für die Entwicklung mit Groovy. Man kann über die mittlerweile 299 Plug Ins alles mögliche einbauen - Taxonomien, Tags usw.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Urs Hölzle von Google sprach über energieeffiziente Rechenzentrum. Ich fand es spannend, dass einer der Gurus für VMs und Programmiersprachen nun in diesem Bereich tätig ist. Aber wenn man sich die Anzahl Server bei Google ansieht und die technischen Herausforderungen, ist das nachvollziehbar.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Für morgen steht dann der von mir organisierte Java-Track auf dem Programm...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-8278825436285292529?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=wZI_Io88S3w:WkOWFixfavI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=wZI_Io88S3w:WkOWFixfavI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=wZI_Io88S3w:WkOWFixfavI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=wZI_Io88S3w:WkOWFixfavI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/wZI_Io88S3w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/8278825436285292529/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=8278825436285292529" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/8278825436285292529?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/8278825436285292529?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/wZI_Io88S3w/jaoo-erster-tag.html" title="JAOO: Erster Tag" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/10/jaoo-erster-tag.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4FQn04eyp7ImA9WxNQGEw.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-399258940633673337</id><published>2009-09-24T18:45:00.002+02:00</published><updated>2009-09-24T18:48:33.333+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-24T18:48:33.333+02:00</app:edited><title>Bitte wählen!</title><content type="html">Am Sonntag ist Bundestagswahl. Ich möchte alle Leser dieses Blogs darum bitten, an der Wahl teilzunehmen und dabei eine demokratische Partei - also nicht NPD - zu wählen.&lt;br /&gt;&lt;br /&gt;Und an dieser Stelle noch ein Hinweis an die NPD-Wähler unter den Lesern: Sie sind hier nicht erwünscht. Ich möchte nicht, dass die Ergebnisse meiner Arbeit von Nazis genutzt werden. Bitte bestellen Sie den Blog ab. Danke.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-399258940633673337?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=k21krmZE-MQ:pHrTDUrd3Ew:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=k21krmZE-MQ:pHrTDUrd3Ew:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=k21krmZE-MQ:pHrTDUrd3Ew:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=k21krmZE-MQ:pHrTDUrd3Ew:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/k21krmZE-MQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/399258940633673337/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=399258940633673337" title="11 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/399258940633673337?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/399258940633673337?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/k21krmZE-MQ/bitte-wahlen.html" title="Bitte wählen!" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/09/bitte-wahlen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQGQXk_cCp7ImA9WxNQFkU.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-225974309788065620</id><published>2009-09-23T08:08:00.002+02:00</published><updated>2009-09-23T08:12:00.748+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T08:12:00.748+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SE-Radio" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>SE-Radio-Interview mit mir über Spring</title><content type="html">Unter &lt;a href="http://www.se-radio.net/podcast/2009-09/spring-2009-eberhard-wolff"&gt;http://www.se-radio.net/podcast/2009-09/spring-2009-eberhard-wolff&lt;/a&gt; gibt es eine Interview mit mir zum Spring-Framework - allerdings in Englisch. An dieser Stelle mein Dank an SE Radio und insbesondere Markus Völter für das Interviews.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-225974309788065620?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=lMIyjkOTm-U:3m5JM1ndW9U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=lMIyjkOTm-U:3m5JM1ndW9U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=lMIyjkOTm-U:3m5JM1ndW9U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=lMIyjkOTm-U:3m5JM1ndW9U:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/lMIyjkOTm-U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/225974309788065620/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=225974309788065620" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/225974309788065620?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/225974309788065620?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/lMIyjkOTm-U/se-radio-interview-mit-mir-uber-spring.html" title="SE-Radio-Interview mit mir über Spring" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/09/se-radio-interview-mit-mir-uber-spring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQFRX8-cSp7ImA9WxNQEU4.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-8493201713243557402</id><published>2009-09-11T10:40:00.004+02:00</published><updated>2009-09-16T22:18:34.159+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-16T22:18:34.159+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Opitz" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>Event: Leichtgewichtige JEE Entwicklung mit dem Spring Framework</title><content type="html">SpringSource und OPITZ CONSULTING zeigen auf unsere gemeinsamen &lt;br /&gt;Veranstaltung „Moderne Enterprise-Java-Entwicklung mit dem Spring &lt;br /&gt;Framework“ welche Vorteile die Entwicklung mit Spring bei &lt;br /&gt;Individualsoftware bringt. Individualsoftware unterstützt komplexe &lt;br /&gt;Prozesse optimal und lässt sich so flexibel anpassen, dass sie den &lt;br /&gt;ständigen Änderungen im Geschäft gewachsen ist. Jedoch verbindet man &lt;br /&gt;Entwicklung und Betrieb individueller Unternehmensanwendungen oft mit &lt;br /&gt;drei Eigenschaften: teuer, riskant und aufwändig. Dass es mit den &lt;br /&gt;richtigen Werkzeugen und Methoden auch anders gehen kann, möchten wir &lt;br /&gt;Ihnen in dieser Vortragsreihe beweisen.&lt;br /&gt;&lt;br /&gt;Termine:&lt;br /&gt;23.9.2009 &lt;a href="http://www.opitz-consulting.de/veranstaltungen/alle_veranstaltungstermine/veranstaltungsdetails.php?vid=561&amp;ref=ocweb&lt;br /&gt;"&gt;Frankfurt&lt;/a&gt;&lt;br /&gt;12.10.2009 &lt;a href="http://www.opitz-consulting.de/veranstaltungen/alle_veranstaltungstermine/veranstaltungsdetails.php?vid=562&amp;ref=ocweb&lt;br /&gt;"&gt;Hamburg&lt;/a&gt;&lt;br /&gt;13.10.2009 &lt;a href="http://www.opitz-consulting.de/veranstaltungen/alle_veranstaltungstermine/veranstaltungsdetails.php?vid=563&amp;ref=ocweb&lt;br /&gt;"&gt;München&lt;/a&gt;&lt;br /&gt;14.10.2009 &lt;a href="http://www.opitz-consulting.de/veranstaltungen/alle_veranstaltungstermine/veranstaltungsdetails.php?vid=560&amp;ref=ocweb&lt;br /&gt;"&gt;Köln&lt;/a&gt;&lt;br /&gt;9.11.2009 &lt;a href="http://www.opitz-consulting.de/veranstaltungen/alle_veranstaltungstermine/veranstaltungsdetails.php?vid=568&amp;ref=ocweb&lt;br /&gt;"&gt;Zürich&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Agenda&lt;br /&gt;&lt;br /&gt;10:00 Uhr Softwareprojekte in wirtschaftlich schweren Zeiten&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Chancen und Risiken&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Bedeutung von Vorgehen und Technik&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Referent: OPITZ CONSULTING&lt;br /&gt;&lt;br /&gt;10:25 Uhr Effizienz durch moderne Entwicklungsverfahren&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Spring als Grundlage moderner Architekturen&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Qualität und Wartbarkeit durch Testautomatisierung&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Effizienz durch Vermeidung nichtdifferenzierender Entwicklung&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Referent: OPITZ CONSULTING&lt;br /&gt;&lt;br /&gt;11:15 Uhr Integration statt Neuentwicklung&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Spring als Integrationsplattform&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Effizienz durch Vermeidung nichtdifferenzierender Entwicklung&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Fallbeispiele&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Referent: OPITZ CONSULTING&lt;br /&gt;&lt;br /&gt;12:00 Uhr Mittagspause&lt;br /&gt;&lt;br /&gt;12:45 Uhr Spring kosteneffizient betreiben&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Monitoring und Administration&lt;/li&gt;&lt;br /&gt;&lt;li&gt;tc Server, dm Server und Hyperic&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Praxisbeispiele&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Referent: SpringSource&lt;br /&gt;&lt;br /&gt;13:30 Uhr Get together&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-8493201713243557402?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=ifDypFjUoAU:pzg4EQw0_2M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=ifDypFjUoAU:pzg4EQw0_2M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=ifDypFjUoAU:pzg4EQw0_2M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=ifDypFjUoAU:pzg4EQw0_2M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/ifDypFjUoAU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/8493201713243557402/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=8493201713243557402" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/8493201713243557402?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/8493201713243557402?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/ifDypFjUoAU/event-leichtgewichtige-jee-entwicklung.html" title="Event: Leichtgewichtige JEE Entwicklung mit dem Spring Framework" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/09/event-leichtgewichtige-jee-entwicklung.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4DQnY9cCp7ImA9WxNRFkg.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6981423074979885835</id><published>2009-09-11T09:00:00.003+02:00</published><updated>2009-09-11T09:26:13.868+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-11T09:26:13.868+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Singletons" /><category scheme="http://www.blogger.com/atom/ns#" term="EJB 3.1" /><category scheme="http://www.blogger.com/atom/ns#" term="Pooling" /><title>EJB 3.1 Singletons considered harmful</title><content type="html">Bevor wir zum Problem vorstoßen, zunächst einige Worte zu Singletons und Pooling. EJB hat vor 3.1 nur ein Modell mit Pooling von Bean angeboten. Der Grund für diese Entscheidung ist, dass man sich so nicht mit Multi-Threading in seiner Anwendung beschäftigen muss. Jeder Thread bekommt seine Instanz aus dem Pool, daher wird jede Instanz nur von einem Thread genutzt. Spring hingegen nutzt Singletons - von jeder Spring Bean gibt es typischerweise nur eine Instanz. Spring bietet auch die Option für Pooling - aber dieses Feature würde ich für den Preis des am wenigsten genutzten Features in Spring nominieren. Ich selber habe es bisher nur einmal produktiv verwendet - und nicht etwa, um Thread-Problemen zu entgehen, sondern um Ressourcen zu poolen. Die Nutzung von Singletons stellt bezüglich den Threads nämlich meistens kein Problem dar - weil die Beans fast immer Thread-Safe sind. Sie erhalten die Daten als Parameter, haben keinen eigenen Zustand und Ressourcen wie die Datenbankverbindung wird von Spring automatisch an den Thread gekoppelt. Dieses Modell wird in vielen Anwendungen genutzt und hat sich als sehr skalierbar erwiesen.&lt;br /&gt;&lt;br /&gt;EJB 3.1 bietet nun als Neuerung auch ein Singelton-Modell an. Obwohl es aber mittlerweile unstrittig ist, dass Pooling praktisch nie wirklich benötigt wird, bleibt das Pooling der Default. Singletons sind vor allem dafür gedacht, um Datenstrukturen zu implementieren, die man nur einmal haben möchte. Dazu gehören zum Beispiel Caches. Es macht kaum Sinn, mehrere Instanzen eines Caches vorzuhalten. Man sollte lieber für alle Zugriffe dieselbe Instanz nutzen, weil man sonst mehrere Cache befüllen muss. Ein einfaches Singleton kann zum Beispiel folgendermaßen aussehen:&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;br /&gt;@Singleton&lt;br /&gt;public class MyCache {&lt;br /&gt;  &lt;br /&gt;  private Map&lt;String, Object&gt; cache = new ConcurrentHashMap&lt;String, Object&gt;();&lt;br /&gt;&lt;br /&gt;  public Object get(String key) {&lt;br /&gt;    return cache.get(key);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void store(String key, Object value) {&lt;br /&gt;    cache.put(key, value);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/tt&gt;&lt;br /&gt;Sieht jemand das Problem? Nun, wenn man diese Implementierung so nutzt, wird man ein erhebliches Skalierungsproblem haben. Überrascht? Lesen Sie weiter.&lt;br /&gt;&lt;br /&gt;EJB 3.1 Singletons haben ein interessantes Feature. In der EJB-3.1-Spezifikation ist das Problem der Nebenläufigkeit gelöst worden. Dieses Thema dort anzusprechen ist gleich aus mehreren Gründen spannend:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;In Java gibt es mit &lt;tt&gt;synchronized&lt;/tt&gt; und dem Package &lt;tt&gt;java.util.concurrent&lt;/tt&gt; ausgesprochen gute Werkzeuge für Nebenläufigkeit. Es muss in diesem Bereich also keine Lücke gefüllt werden.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Nehmen wir dennoch an, dass die Unterstützung für Nebenläufigkeit in EJB 3.1 eine sinnvolle Ergänzung ist. Warum ist sie dann auf EJB 3.1 beschränkt? Nebenläufigkeit ist ein fundamentales Problem und gehört nicht in eine spezialisierte API wie EJB.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Außerdem ist Nebenläufigkeit bei den Singletons meist kein Problem, wenn man die Erfahrungen mit Spring zu Grunde legt. Zugegebenermaßen fokussiert EJB 3.1 aber auf Anwendungsfälle, bei denen man Datenstrukturen verwendet, die von mehreren Threads genutzt werden sollen, wie den Cache im Beispiel oben. Dort kann es dann sicher zu Nebenläufigkeitsproblemen kommen.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Das erinnert an eines der größten Probleme von EJB in Version 1.x und 2.x. Damals wurde mit Container Managed Persistence das Persistenz-Problem gelöst. Dabei wurden die bekannten Ansätze von O/R-Mappern ignoriert - so wie man jetzt die vorhandenen Nebenläufigkeits-APIs ignoriert. Und man hat eine Lösung in EJB implementiert, so dass man sie nur in einem Application Server nutzen kann - obwohl Persistenz genau wie heute Nebenläufigkeit ein viel allgemeineres Problem ist.&lt;br /&gt;&lt;br /&gt;Wie funktioniert nun die Nebenläufigkeit bei EJB 3.1? Der Default ist Container Managed Concurrency. Alternativ kann man durch Bean Managed Concurrency die üblich Java-Bordmittel nutzen. Bei Container Managed Concurrency kann eine Methode mit &lt;tt&gt;@Lock(READ)&lt;/tt&gt; oder &lt;tt&gt;@Lock(WRITE)&lt;/tt&gt; markieren. Nur eine Methode mit einem WRITE-Lock kann zu einem Zeitpunkt aufgerufen werden. Keine andere Methode - weder mit READ- noch mit WRITE-Lock - darf dann in einem anderen Thread ausgeführt werden. Parallele Abarbeitung von Methoden mit READ-Locks ist hingegen erlaubt. Die Nebenläufigkeit an Methoden fest zu machen ist alleine schon Problem genug. Der Schlüssel zu einem skalierbaren System ist, dass man Locks so kurz wie möglich hält.&lt;br /&gt;&lt;br /&gt;Ich hatte vor einiger Zeit einen Consulting-Einsatz wegen  eines Skalierungsproblems. Das habe ich gelöst, indem ich diesen Code:&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;br /&gt;...&lt;br /&gt;synchronized(cache) {&lt;br /&gt;   if (cache.get(key)==null) {&lt;br /&gt;      cache.put(aValue);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;...&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;durch solchen Code ersetzt habe:&lt;br /&gt;&lt;pre&gt;&lt;tt&gt;&lt;br /&gt;...&lt;br /&gt;if (cache.get(key)==null) {&lt;br /&gt;   synchronized(cache) {&lt;br /&gt;     if (cache.get(key)==null) {&lt;br /&gt;        cache.put(aValue);&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;...&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Dadurch wird der Cache nur noch gelockt, wenn er den Wert noch nicht enthält. Da der Cache irgendwann gefüllt ist, wird der Cache dann praktisch gar nicht mehr gelockt und man kann der Code dann mit wesentlich besserer Nebenläufigkeit betrieben werden. Wie man hier sieht, kann das Verschieben des Locking um eine Zeile schon einen erheblichen Unterschied machen. Wenn man solche Sachen mit den EJB-3.1-Annotationen machen will, wird man nicht weiterkommen, da sie nur auf Methoden wirken.&lt;br /&gt;&lt;br /&gt;Schlimmer wird es nun dadurch, dass der Default ist, dass jede Methode ohne Annotationen so behandelt wird, als wäre sie mit &lt;tt&gt;@Lock(WRITE)&lt;/tt&gt; versehen. Das bedeutet, dass in dem &lt;span style="font-style:italic;"&gt;gesamten&lt;/span&gt; EJB-3.1-Singleton - wenn man nicht anderes definiert - nur ein Thread zur Zeit aktiv sein kann. Der oben mit EJB 3.1 implementierte Cache kann also nur von einem Thread parallel genutzt werden. Das wird in der Realität bei vielen parallelen Threads zu erheblichen Problemen führen. Da &lt;tt&gt;@Lock(WRITE)&lt;/tt&gt; der Default ist, sieht man gar nicht, was passiert, und muss man sehr genau verstehen, was hinter den Kulissen vor sich geht. Wer also einfach so mit EJB 3.1 los programmiert, wird in diese Falle tappen.&lt;br /&gt;&lt;br /&gt;Besonders ironisch ist natürlich, dass der oben definierte Cache durch die &lt;tt&gt;ConcurrentHashMap&lt;/tt&gt; sowieso von mehreren Threads parallel genutzt werden kann. EJB 3.1 schüzt uns also ganz umsonst von der ach-so-komplizierten Welt der Nebenläufigkeit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6981423074979885835?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=EzhLFwLK30s:yN-gd1MRarI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=EzhLFwLK30s:yN-gd1MRarI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=EzhLFwLK30s:yN-gd1MRarI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=EzhLFwLK30s:yN-gd1MRarI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/EzhLFwLK30s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6981423074979885835/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6981423074979885835" title="3 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6981423074979885835?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6981423074979885835?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/EzhLFwLK30s/ejb-31-singletons-considered-harmful.html" title="EJB 3.1 Singletons considered harmful" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/09/ejb-31-singletons-considered-harmful.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUADSH87fyp7ImA9WxNRE0Q.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6325179202959937001</id><published>2009-09-08T10:12:00.002+02:00</published><updated>2009-09-08T10:16:19.107+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-08T10:16:19.107+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Betrieb" /><category scheme="http://www.blogger.com/atom/ns#" term="dm Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Skalierbarkeit" /><category scheme="http://www.blogger.com/atom/ns#" term="tc Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat" /><category scheme="http://www.blogger.com/atom/ns#" term="Performance" /><category scheme="http://www.blogger.com/atom/ns#" term="Hyperic" /><title>Event am 3.11. in Düsseldorf: Spring: Performance, Skalierbarkeit &amp; Betrieb</title><content type="html">Sie benutzen Spring zur Entwicklung Ihrer Anwendungen - aber was ist beim Betrieb und Performance-Tuning zu beachten? In diesem Seminar erhalten Sie Hinweise, wie man Anwendungen mit Spring effektiv betreiben kann und wie man typische Performance-Optimierungen vornehmen kann. Dabei stellen wir Ihnen Projekte wie die Hyperic HQ Open-Source-Monitoring-Lösung, Tomcat und dm Server vor.&lt;br /&gt;&lt;br /&gt;Bitte registrieren Sie Sich unter &lt;a href="http://spring-performance.eventbrite.com/"&gt;http://spring-performance.eventbrite.com/&lt;/a&gt; - dort finden Sie auch den genauen Ablauf. Es wird ein Unkostenbeitrag von 99€ erhoben. Für das leibliche Wohl ist gesorgt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6325179202959937001?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=8efH4B1UavA:XaIWgeIyP2w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=8efH4B1UavA:XaIWgeIyP2w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=8efH4B1UavA:XaIWgeIyP2w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=8efH4B1UavA:XaIWgeIyP2w:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/8efH4B1UavA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6325179202959937001/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6325179202959937001" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6325179202959937001?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6325179202959937001?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/8efH4B1UavA/spring-performance-skalierbarkeit.html" title="Event am 3.11. in Düsseldorf: Spring: Performance, Skalierbarkeit &amp; Betrieb" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/09/spring-performance-skalierbarkeit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMCSH8ycCp7ImA9WxNTEkg.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-5246534268422970512</id><published>2009-08-14T14:20:00.002+02:00</published><updated>2009-08-14T15:27:49.198+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-14T15:27:49.198+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VMWare" /><category scheme="http://www.blogger.com/atom/ns#" term="SpringSource" /><title>VMware und SpringSource nachdem sich der Staub gelegt hat....</title><content type="html">Am Montag abend ist der Kauf von SpringSource durch VMware öffentlich bekannt gegeben worden. VMware ist schon länger Partner von SpringSource. Es gab auch vor dem Kauf technologische Kooperationen zum Beispiel beim der Integration des VMware Lab Manager in die SpringSource Tool Suite. Daher kommt der Schritt für SpringSource-Mitarbeiter nicht überraschend, denn es gab schon lange Beziehungen. Für einige Außenstehende ist der Schritt anscheinend dennoch überraschend -obwohl SpringSource nicht die erste Enterprise-Java-Firma ist, die von einer größeren Firma gekauft wird.&lt;br /&gt;&lt;br /&gt;Technisch ist dieser Schritt auf jeden Fall sehr sinnvoll. Mit tc Server und dm Server haben wir innovative Application Server im Angebot, die insbesondere in der Cloud Vorteile bringen. Dazu gehört in tc Server die Möglichkeit, eine Gruppe von Servern zu definieren, auf die man dann Anwendungen deployen kann oder umkonfigurieren kann. Ähnliches wird es in dm Server 2.0 auch geben. Außerdem wird man dort ein zentrales Repository für mehrere dm Serve definieren können, aus dem dann alle Server in der Cloud OSGi Bundles laden können. Und unser Management-Produkt Hyperic ist gerade beim Management von Clouds sinnvoll, weil man nur einen Agent auf jedem Knoten installieren muss - die komplette zu managende Software auf dem Rechner wird automatisch gefunden. Man kann also basierend auf diesen Lösungen leicht einen Cloud von VMs aufbauen, um seine Anwendung skalierbar zu halten und effektiv zu betreiben. Durch VMwares Technologien kann man dann in diesem Cluster einzelne Knoten auf andere physikalische Rechner migrieren, um bei einem Ausfall die Verfügbarkeit zu gewährleisten oder bei Hochlast die Performance zu verbessern.&lt;br /&gt;&lt;br /&gt;Ebenfalls wird die Entwicklung vereinfacht, weil man sehr einfach Test-Umgebungen aufbauen kann und auf diesen die Anwendungen mit einem Application Server zusammen deployen kann. Solche Test-Umgebungen kann man auch recht einfach in Produktionskonfigurationen überführen. Ohne Virtualisierung sind diese Aufgaben sehr komplex, dauern sehr lange und sind auch sehr fehleranfällig. Weitere technische Diskussionen dazu finden sich in &lt;a href="http://blog.springsource.com/2009/08/13/virtualization-enterprise-java/"&gt;Adrian Colyers (CTO SpringSource) Blog Post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Neben den Technologien ist ein weiterer wichtiger Punkt die Ausrichtung der Firmen. Beide Firmen sind technologie-fokusiert. Beide Firmen haben sich zur Offenheit bekannt. Das ist konsequent: Letztendlich ist der Erfolg der SpringSource-Technologien nur durch ihre Communities möglich. Dafür möchte ich mich bedanken. Wir werden auch weiterhin unsere Communities interessante Technologien anbieten - um so mehr, weil wir nun durch eine direkte Unterstützung von Virtualisierung spannende neue Ansätze anbieten können. Gleichzeitig werden wir auch weiterhin alternative Ansätze unterstützen. Schließlich ist einer der großen Vorteile von Spring schon immer die Plattformunabhängigkeit gewesen und das wird sich nicht ändern.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-5246534268422970512?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=Jpw3pYqgysI:_xI5LJecQto:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=Jpw3pYqgysI:_xI5LJecQto:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=Jpw3pYqgysI:_xI5LJecQto:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=Jpw3pYqgysI:_xI5LJecQto:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/Jpw3pYqgysI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/5246534268422970512/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=5246534268422970512" title="2 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/5246534268422970512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/5246534268422970512?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/Jpw3pYqgysI/vmware-und-springsource-nachdem-sich.html" title="VMware und SpringSource nachdem sich der Staub gelegt hat...." /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/08/vmware-und-springsource-nachdem-sich.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EMQ3k7eip7ImA9WxJaGU4.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-522858480343922692</id><published>2009-08-10T22:17:00.004+02:00</published><updated>2009-08-10T22:21:22.702+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-10T22:21:22.702+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VMWare" /><category scheme="http://www.blogger.com/atom/ns#" term="SpringSource" /><title>SpringSource wird von VMWare gekauft</title><content type="html">SpringSource wird von VMWare gekauft. Das ist ein sinnvoller Deal, weil wir uns gut ergänzen, es gibt keine Überschneidungen bei den Produkten. Und gleichzeitig haben wir ein recht umfangreiches Produktangebot. Gleichzeitig bietet es uns die Möglichkeit, noch mehr in unsere Technologien zu investieren. Siehe zum Beispiel &lt;a href="http://finance.yahoo.com/news/VMware-to-Acquire-iw-1761113527.html?x=0&amp;.v=1"&gt;http://finance.yahoo.com/news/VMware-to-Acquire-iw-1761113527.html?x=0&amp;.v=1&lt;/a&gt; oder &lt;a href="http://blog.springsource.com/2009/08/10/springsource-chapter-two/"&gt;http://blog.springsource.com/2009/08/10/springsource-chapter-two/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-522858480343922692?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=VZoe2vN4EYo:KOOkDSGMx1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=VZoe2vN4EYo:KOOkDSGMx1o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=VZoe2vN4EYo:KOOkDSGMx1o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=VZoe2vN4EYo:KOOkDSGMx1o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/VZoe2vN4EYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/522858480343922692/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=522858480343922692" title="3 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/522858480343922692?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/522858480343922692?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/VZoe2vN4EYo/springsource-wird-von-vmware-gekauft.html" title="SpringSource wird von VMWare gekauft" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/08/springsource-wird-von-vmware-gekauft.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQAR348cCp7ImA9WxJaGEQ.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-1511573511867484640</id><published>2009-08-10T10:32:00.002+02:00</published><updated>2009-08-10T10:35:46.078+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-10T10:35:46.078+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spring 3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="Meta Annotationen" /><title>Spring 3.0: Meta Annoationen</title><content type="html">In Spring 3.0 hat mit Meta Annotationen ein neues Feature Einzug gehalten, das den Umgang mit Annotationen vereinfacht. Hier ein Beispiel ohne Meta Annotationen:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;pre&gt;&lt;br /&gt;@Service&lt;br /&gt;@Transactional(timeout=42, noRollbackFor={ApplicationException.class})&lt;br /&gt;public class EinService {&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Wie man sieht, ist der Service mit zwei Annotationen versehen. Vermutlich sollen alle anderen Services genauso annotiert werden. Der Code drückt aber nicht die eigentliche Intention aus: Jeder Service auch die entsprechenden Transaktions-Regeln haben. Beide Annotationen werden immer nur zusammen vorkommen.&lt;br /&gt;Das könnte man durch AOP lösen, indem man jeden Service per AOP mit einer passenden Transaktions-Regel versieht. Eine ander Möglichkeit sind die Meta Annotationen. Dazu definiert man sich seine eigene Annotation:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;pre&gt;&lt;br /&gt;@Retention(RetentionPolicy.RUNTIME)&lt;br /&gt;@Target(ElementType.TYPE)&lt;br /&gt;@Service&lt;br /&gt;@Transactional(timeout=42, noRollbackFor={ApplicationException.class})&lt;br /&gt;public @interface MeinService {&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Diese Annotation wirkt nun genau wie die Kombination aus @Service und @Transactional. Der obige Code wird also zu:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;pre&gt;&lt;br /&gt;@MeinService&lt;br /&gt;public class EinService {&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Analog könnte man @MeinRepository usw. definieren. Dabei ist zum Beispiel auch die Nutzung von @Scope für die Definition eines Scopes möglich.&lt;br /&gt;&lt;br /&gt;Wie man sieht, bieten Meta-Annotationen interessante neue Möglichkeiten für die Konfiguration mit Spring.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-1511573511867484640?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=NHD5IGC6Pa0:ukihiMe13KA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=NHD5IGC6Pa0:ukihiMe13KA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=NHD5IGC6Pa0:ukihiMe13KA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=NHD5IGC6Pa0:ukihiMe13KA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/NHD5IGC6Pa0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/1511573511867484640/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=1511573511867484640" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/1511573511867484640?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/1511573511867484640?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/NHD5IGC6Pa0/spring-30-meta-annoationen.html" title="Spring 3.0: Meta Annoationen" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/08/spring-30-meta-annoationen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EDRXszfip7ImA9WxJbF0o.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-4371581084381616276</id><published>2009-07-28T11:30:00.003+02:00</published><updated>2009-07-28T12:07:54.586+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-28T12:07:54.586+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java EE" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat" /><title>Das Problem mit Java EE oder: Die reale Realität vs. die Konfernenz-Realität</title><content type="html">Wenn man Konferenzen besucht und sich Vorträge anhört, bekommt man leicht den Eindruck, dass Java EE eine ernsthafte Alternative zu Spring ist und vor allem - es ist ja im Application Server enthalten, warum also Spring nutzen? Dabei ist die Rede natürlich von Java EE 5 und dem noch nicht fertig spezifizierte Java EE 6. Diese Standards haben neue Programmiermodelle eingeführt - über die Probleme von Java EE 1.4 und EJB 2.x braucht man wohl nichts zu sagen.&lt;br /&gt;&lt;br /&gt;Interessanterweise hat diese Konferenz-Realität aber nichts mit der realen Realität zu tun, die da draußen in den Projekten wirklich gelebt wird. Zunächst einmal sagen zahlreiche Statistiken, dass Tomcat die führende Java-Plattform ist. So zeigt der &lt;a href="http://it-republik.de/jaxenter/quickvote/results/1/poll/22"&gt;JAXenter Quick Vote&lt;/a&gt;  zum Beispiel, dass 58% aller Java-Entwickler Tomcat als Basis aller Web-Projekte verwenden, 24% gelegentlich je nach technischer Entscheidung und 12% gelegentlich je nach politischer Entscheidung - zusammen 94%. Das 2008 Evans Data Survey geht von 68% Markt-Anteil von Tomcat aus. Das TheServerSide Survey kommt zu ähnlichen Ergebnisse. Ingesamt arbeitet die Mehrheit der Java-Anwendung also mit Tomcat und hat daher keine vollständige Java-EE-Umgebung. Sie können oder wollen also nicht die vollständigen Java-EE-APIs nutzen. Es kann auf keinen Fall die Rede davon sein, dass man die Java-EE-APIs "eh schon im Application Server hat". Das Gegenteil ist der Fall - der Java-EE-Application-Server ist die Ausnahme, nicht die Regel. Und selbst wenn einer genutzt wird, ist es oft eine alte Version, die noch kein Java EE 5 unterstützt. Der Betrieb ist eben eher konservativ. Java EE 6 ist noch nicht einmal fertig standardisiert - es macht also wenig Sinn, das weiter zu betrachten.&lt;br /&gt;&lt;br /&gt;Diese Wahrnehmung spiegelt sich auch in konkret in letzter Zeit erlebten Projekt-Szenarien wieder:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;So das Projekt, das zwar auf einem vollständigen Java-EE-Server läuft, aber auf JDK 1.4. Java EE würde hier EJB 2.x anbieten, was niemand wirklich will. Die einzige sinnvolle Alternative ist also Spring.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Oder das Projekt, dass auf einer Standard-Software aufbaut. Die läuft auf einem gebundelten Tomcat - der eben kein vollständiges Java EE anbietet. Selbst wenn man wollte, kann man kein vollständiges Java EE nutzen.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Oder das Projekt, das von EJB 3 wegmigriert, um auf Tomcat umzusteigen - weil man Tomcat als gegenüber Java EE als Ablaufumgebung vorzieht.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Die Realität im Java-Bereich ist, dass eine vollständige Java-EE-Unterstützung - im Gegensatz zu dem Stand vor einigen Jahren - bei Enterprise-Anwendungen keine große Rolle mehr spielt. Und ich denke, dass sich dieser Trends aufgrund der Dominanz von Tomcat und dem OSGi-Aufschwung noch weiter verstärken wird.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-4371581084381616276?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UpWJoPIUh9Q:KTVFkKHmEGE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UpWJoPIUh9Q:KTVFkKHmEGE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=UpWJoPIUh9Q:KTVFkKHmEGE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UpWJoPIUh9Q:KTVFkKHmEGE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/UpWJoPIUh9Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/4371581084381616276/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=4371581084381616276" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/4371581084381616276?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/4371581084381616276?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/UpWJoPIUh9Q/das-problem-mit-java-ee-oder-die-reale.html" title="Das Problem mit Java EE oder: Die reale Realität vs. die Konfernenz-Realität" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/07/das-problem-mit-java-ee-oder-die-reale.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGQ3Y_fCp7ImA9WxJUGUQ.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-7241934625973483624</id><published>2009-07-19T12:18:00.002+02:00</published><updated>2009-07-19T12:27:02.844+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T12:27:02.844+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spring Day" /><category scheme="http://www.blogger.com/atom/ns#" term="WJAX" /><title>Spring Day WJAX</title><content type="html">Ich habe auch dieses Jahr wieder das Vergnügen, den Spring Day auf der WJAX zu organisieren.&lt;br /&gt;&lt;br /&gt;Den Anfang werde ich dieses Jahr bestreiten mit einem Überblick über Spring 3.0, das dann auch zur Verfügung stehen sollte. Mein Kollege Agim Emruli spricht dann über Rich Internet Applikationen mit Spring. Gerade in diesem Bereich stehen mit Spring Faces und der BlazeDS-Integration einige interessante neue Ansätze bereit. Zusammen mit Papick Taboada präsentiert Agim dann den dm Server insbesondere für den Einsatz für Web-Anwendungen. Thomas Biskup von Quinscape spricht im Anschluß über Möglichkeiten, wie man Spring gewinnbringend einführen kann. Ein wie ich finde interessantes Thema, weil man bei der Einführung naturgemäß noch nicht so viel über Spring weiß, aber eigentlich erst mit viel Erfahrung erkennt, wo Spring am besten einzusetzen ist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-7241934625973483624?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=URZ0x61yn1w:lVBhMH40xwU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=URZ0x61yn1w:lVBhMH40xwU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=URZ0x61yn1w:lVBhMH40xwU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=URZ0x61yn1w:lVBhMH40xwU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/URZ0x61yn1w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/7241934625973483624/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=7241934625973483624" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/7241934625973483624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/7241934625973483624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/URZ0x61yn1w/spring-day-wjax.html" title="Spring Day WJAX" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/07/spring-day-wjax.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEMQnY9cCp7ImA9WxJUGUQ.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-3676507023041717633</id><published>2009-07-19T12:14:00.002+02:00</published><updated>2009-07-19T12:18:03.868+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T12:18:03.868+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>Spring EInführungsartikel</title><content type="html">Unter &lt;a href="http://robbbert.hostrator.com/"&gt;http://robbbert.hostrator.com/&lt;/a&gt; steht ein recht umfangreicher Artikel mit einer Einführung zu Spring bereit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-3676507023041717633?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UcXmZYrnkLs:I9AzotK_B9I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UcXmZYrnkLs:I9AzotK_B9I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=UcXmZYrnkLs:I9AzotK_B9I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=UcXmZYrnkLs:I9AzotK_B9I:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/UcXmZYrnkLs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/3676507023041717633/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=3676507023041717633" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/3676507023041717633?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/3676507023041717633?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/UcXmZYrnkLs/spring-einfuhrungsartikel.html" title="Spring EInführungsartikel" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/07/spring-einfuhrungsartikel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYFQ3YzcSp7ImA9WxJWFks.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-5927968607847002278</id><published>2009-06-22T11:53:00.007+02:00</published><updated>2009-06-22T12:55:12.889+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-22T12:55:12.889+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Rod Johnson" /><category scheme="http://www.blogger.com/atom/ns#" term="Dalibor Topic" /><category scheme="http://www.blogger.com/atom/ns#" term="Martin Lippert" /><category scheme="http://www.blogger.com/atom/ns#" term="Arjen Poutsma" /><category scheme="http://www.blogger.com/atom/ns#" term="JAOO" /><category scheme="http://www.blogger.com/atom/ns#" term="Gary Sevitsky" /><category scheme="http://www.blogger.com/atom/ns#" term="Java Magazin" /><title>JAOO Java Track</title><content type="html">Ich habe dieses Jahr die Ehre, den Java Track auf der JAOO in Århus, Dänemark, zu organisieren. Das ist vor allem eine Ehre, weil die JAOO ursprünglich eine reine Java-Konferenz war und somit dieser Track sozusagen eine Art Kern der Konferenz darstellt.&lt;br /&gt;&lt;br /&gt;Das Programm ist nun unter &lt;a href="http://jaoo.dk/aarhus-2009/tracks/show_track.jsp?trackOID=264"&gt;http://jaoo.dk/aarhus-2009/tracks/show_track.jsp?trackOID=264&lt;/a&gt; online.&lt;br /&gt;&lt;br /&gt;Erster Sprecher wird Rod Johnson sein, CEO von SpringSource. Dabei geht es um Innovation durch Standards und Open Source. Traditionell sind Standard bei Java ja wichtig gewesen, aber das ändert sich gerade. Und Open Source Projekte - wie Spring, Tomcat, Eclipse usw - werden langsam zu den wichtigsten Technologien im Java-Bereich. Die Details können sich aber durchaus noch ändern.&lt;br /&gt;&lt;br /&gt;Wegen Open-Source-Thema freut es mich, Dalibor Topic als nächsten Speaker gewonnen zu haben. Er ist der Leiter des Open-JDK-Projekts und arbeitet dadurch an einer sehr zentralen Stelle im Open-Source-Java-Bereich. Gerade durch den Kauf von Sun durch Oracle ist es wichtig, sich noch einmal zu vergegenwärtigen, dass Java eben Open Source ist und kein Sun-Projekt. Außerdem sind für viele Java-Entwickler die konkreten Konsequenzen des Open-JDK-Projekts für ihre tägliche Arbeit noch nicht erkennbar. Das soll dieser Talk korrigieren.&lt;br /&gt;&lt;br /&gt;Eine wichtige technische Innovation im Java-Bereich ist OSGi, vor allem auf dem Server. Zu diesem Thema konnte ich Martin Lippert gewinnen, der ja eine der herausragenden Größe in diesem Bereich ist. Themen wie Modularisierung und Dynamisierung werden Java-Server-Anwendungen sicher deutlich ändern und ich bin auf Martins Ausführungen diesbezüglich gespannt.&lt;br /&gt;&lt;br /&gt;Schließlich gibt Gary Sevitsky einen Talk über speichereffiziente Java-Anwendung - ein konret uns praktisch wichtiges Thema. Den Abschluss bilde ich dann selber mit einem Überblick typischer Probleme in Java-Anwendung - ein Resultat der vielen Code-Reviews, die ich durchgeführt habe.&lt;br /&gt;&lt;br /&gt;Und mein Kollege Arjen Poutsma organisiert dann noch den Spring-Track, siehe &lt;a href="http://jaoo.dk/aarhus-2009/tracks/show_track.jsp?trackOID=274"&gt;http://jaoo.dk/aarhus-2009/tracks/show_track.jsp?trackOID=274&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-5927968607847002278?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=IyOxMVp8uJo:VHh596uOjgM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=IyOxMVp8uJo:VHh596uOjgM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=IyOxMVp8uJo:VHh596uOjgM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=IyOxMVp8uJo:VHh596uOjgM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/IyOxMVp8uJo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/5927968607847002278/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=5927968607847002278" title="1 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/5927968607847002278?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/5927968607847002278?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/IyOxMVp8uJo/jaoo-java-track.html" title="JAOO Java Track" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/06/jaoo-java-track.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNQ3g4eyp7ImA9WxJWEk4.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-6221921993131434618</id><published>2009-06-17T12:38:00.002+02:00</published><updated>2009-06-17T12:41:32.633+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-17T12:41:32.633+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="QuinScape" /><category scheme="http://www.blogger.com/atom/ns#" term="dm Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><title>Case Study mit QuinScape online</title><content type="html">Unter &lt;a href="http://www.springsource.com/files/QuinScape%20Case%20Study_0.pdf"&gt;http://www.springsource.com/files/QuinScape%20Case%20Study_0.pdf&lt;/a&gt; steht nun eine Case Study zur Verfügung, in der unser deutscher Partner QuinScape über die Vorzüge von Spring und dm Server bei der Entwicklung von Anwendungen berichtet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-6221921993131434618?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=v3VnTzBOhUg:jZ0ItsrpJsw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=v3VnTzBOhUg:jZ0ItsrpJsw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=v3VnTzBOhUg:jZ0ItsrpJsw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=v3VnTzBOhUg:jZ0ItsrpJsw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/v3VnTzBOhUg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/6221921993131434618/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=6221921993131434618" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6221921993131434618?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/6221921993131434618?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/v3VnTzBOhUg/case-study-mit-quinscape-online.html" title="Case Study mit QuinScape online" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/06/case-study-mit-quinscape-online.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcFR388eyp7ImA9WxJXGE0.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-3258954812528136014</id><published>2009-06-12T13:51:00.003+02:00</published><updated>2009-06-12T14:00:16.173+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-12T14:00:16.173+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Domain Driven Design" /><category scheme="http://www.blogger.com/atom/ns#" term="Eric Evans" /><title>Domain Driven Design Seminar mit Eric Evans in Deutschland</title><content type="html">Unter &lt;a href="http://www.domainlanguage.de/training/index.html"&gt;http://www.domainlanguage.de/training/index.html&lt;/a&gt; gibt es eine Liste von Seminaren unter anderem auch mit Eric Evans zum Thema Domain Driven Design in Deutschland. Dieser Ansatz ist sicher einer der wichtigsten im Bereich der Software-Entwicklung und es ist schön, dass hier im deutschsprachigen Bereich nun auch mehr passiert!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-3258954812528136014?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=BjVnG7U4vzw:bjuuPiCq_tQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=BjVnG7U4vzw:bjuuPiCq_tQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=BjVnG7U4vzw:bjuuPiCq_tQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=BjVnG7U4vzw:bjuuPiCq_tQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/BjVnG7U4vzw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/3258954812528136014/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=3258954812528136014" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/3258954812528136014?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/3258954812528136014?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/BjVnG7U4vzw/domain-driven-design-seminar-mit-eric.html" title="Domain Driven Design Seminar mit Eric Evans in Deutschland" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/06/domain-driven-design-seminar-mit-eric.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUACRHk-cCp7ImA9WxJXFUk.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-412168369483574254</id><published>2009-06-09T13:35:00.002+02:00</published><updated>2009-06-09T13:42:45.758+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-09T13:42:45.758+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SpringSource" /><category scheme="http://www.blogger.com/atom/ns#" term="tc Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat" /><title>Noch Plätze frei: SpringSource tc Server Event - The Tomcat you know, the Enterprise Capabilities you need</title><content type="html">Planen Sie die Migration weg von teuren und komplexen Java-EE-Applications-Servern?&lt;br /&gt;Benötigen Sie Enterprise-Eigenschaften, die Tomcat selber nicht hat?&lt;br /&gt;&lt;br /&gt;Tomcat ist ein sehr leistungsfähiger Web-Server, aber Tomcat-Installationen sind für Administratoren eine komplexe Herausforderung. Das Management und Monitoring unterstützt Tomcat sogar praktisch gar nicht, so dass oft aufwändige Lösungen selbst entwickelt werden müssen.&lt;br /&gt;SpringSource tc Server ist da – endlich kann man Tomcat einfach installieren, managen und monitoren und dadurch Kosten sparen! Dieser zweistündige Vortrag zeigt Ihnen:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Wie Sie große Installationen managen&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Verteilte Tomcat Instanzen überwachen&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Zuverlässig Unternehmens-Applikationen in die Produktions-Systemen deployen&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Serverprobleme schnell und zuverlässig identifizieren, diagnostizieren und lösen&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Und das beste: Wenn Sie einen teuren Applikations-Server einsetzen, zeigen wir Ihnen gerne, wie Sie die verteilten Management Fertigkeiten zusammen mit Enterprise Support zu deutlich geringeren Kosten bekommen können.&lt;br /&gt;&lt;br /&gt;Melden Sie Sich zu diesem kostenlosen Event unter&lt;br /&gt;&lt;a href="http://tcserverinfrankfurt.eventbrite.com/"&gt;http://tcserverinfrankfurt.eventbrite.com/&lt;/a&gt; Frankfurt, 16. Juni 14:00-16:00 Uhr bzw.&lt;br /&gt;&lt;a href="http://tcserverinzurich.eventbrite.com/"&gt;http://tcserverinzurich.eventbrite.com/&lt;/a&gt; Zürich, 17. Juni, 14:30-16:30&lt;br /&gt;an.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-412168369483574254?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=TkhXr1qqArE:_aLrXbblhnw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=TkhXr1qqArE:_aLrXbblhnw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=TkhXr1qqArE:_aLrXbblhnw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=TkhXr1qqArE:_aLrXbblhnw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/TkhXr1qqArE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/412168369483574254/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=412168369483574254" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/412168369483574254?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/412168369483574254?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/TkhXr1qqArE/noch-platze-frei-springsource-tc-server.html" title="Noch Plätze frei: SpringSource tc Server Event - The Tomcat you know, the Enterprise Capabilities you need" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/06/noch-platze-frei-springsource-tc-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcBR3YzeSp7ImA9WxJQFUU.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-1972068337834346510</id><published>2009-05-29T10:33:00.001+02:00</published><updated>2009-05-29T10:34:16.881+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T10:34:16.881+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Spring" /><category scheme="http://www.blogger.com/atom/ns#" term="WJAX" /><category scheme="http://www.blogger.com/atom/ns#" term="Architektur" /><title>Video zum Vortrag "Architekturen und Spring" online</title><content type="html">Unter &lt;a href="http://it-republik.de/jaxenter/news/JAX-TV-Gute-Architekturen-mit-Spring-049097.html"&gt;http://it-republik.de/jaxenter/news/JAX-TV-Gute-Architekturen-mit-Spring-049097.html&lt;/a&gt; kann man nun meinen Vortrag zum Thema "Architekturen mit Spring" anschauen. Viel Spaß!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-1972068337834346510?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=nCP-7abtjwY:QABW7ndC9r4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=nCP-7abtjwY:QABW7ndC9r4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=nCP-7abtjwY:QABW7ndC9r4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=nCP-7abtjwY:QABW7ndC9r4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/nCP-7abtjwY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/1972068337834346510/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=1972068337834346510" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/1972068337834346510?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/1972068337834346510?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/nCP-7abtjwY/video-zum-vortrag-architekturen-und.html" title="Video zum Vortrag &quot;Architekturen und Spring&quot; online" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/05/video-zum-vortrag-architekturen-und.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8NR3g7cCp7ImA9WxJQE0s.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-4680034338217094038</id><published>2009-05-26T20:30:00.003+02:00</published><updated>2009-05-26T20:34:56.608+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-26T20:34:56.608+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dm Server" /><title>Kostenloses Dokument zum SpringSource dm Server</title><content type="html">Unter &lt;a href="http://www.dpunkt.de/buecher/3231.html"&gt;http://www.dpunkt.de/buecher/3231.html&lt;/a&gt; steht mein neustes Werk bereit: Ein umfassendes Dokument zum SpringSource dm Server bereit - mit Beispielen, Einführungen in OSGi und Spring und vielen weiteren Infos - einfach mal anschauen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-4680034338217094038?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=MY0o5LzXdlo:jtANuoICnko:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=MY0o5LzXdlo:jtANuoICnko:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=MY0o5LzXdlo:jtANuoICnko:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=MY0o5LzXdlo:jtANuoICnko:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/MY0o5LzXdlo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/4680034338217094038/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=4680034338217094038" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/4680034338217094038?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/4680034338217094038?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/MY0o5LzXdlo/kostenloses-dokument-zum-springsource.html" title="Kostenloses Dokument zum SpringSource dm Server" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/05/kostenloses-dokument-zum-springsource.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4BQX06eSp7ImA9WxJRF08.&quot;"><id>tag:blogger.com,1999:blog-14001982.post-4983581525519833360</id><published>2009-05-19T10:09:00.003+02:00</published><updated>2009-05-19T10:15:50.311+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-19T10:15:50.311+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tc Server" /><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat" /><title>SpringSource tc Server - The Tomcat you know, the Enterprise Capabilities you need - Event in Frankfurt &amp; Zürich</title><content type="html">&lt;p&gt;In diesem zweistündigen Event lernen Sie den SpringSource tc Server kennen, der die Administration und Verwaltung von Tomcat-Server-Installationen entscheidend vereinfacht. Melden Sie Sich zu diesem kostenlosen Event unter&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://tcserverinfrankfurt.eventbrite.com/"&gt;http://tcserverinfrankfurt.eventbrite.com/&lt;/a&gt; Frankfurt, 16. Juni 14:00-16:00 Uhr bzw.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://tcserverinzurich.eventbrite.com/"&gt;http://tcserverinzurich.eventbrite.com/&lt;/a&gt; Zürich, 17. Juni, 14:30-16:30&lt;/p&gt;&lt;br /&gt;an.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14001982-4983581525519833360?l=jandiandme.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=e_lSfBspNzI:7hc0Z-ABERs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=e_lSfBspNzI:7hc0Z-ABERs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?i=e_lSfBspNzI:7hc0Z-ABERs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jandiandme2?a=e_lSfBspNzI:7hc0Z-ABERs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jandiandme2?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jandiandme2/~4/e_lSfBspNzI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jandiandme.blogspot.com/feeds/4983581525519833360/comments/default" title="Kommentare zum Post" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=14001982&amp;postID=4983581525519833360" title="0 Kommentare" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/4983581525519833360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14001982/posts/default/4983581525519833360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jandiandme2/~3/e_lSfBspNzI/springsource-tc-server-tomcat-you-know.html" title="SpringSource tc Server - The Tomcat you know, the Enterprise Capabilities you need - Event in Frankfurt &amp; Zürich" /><author><name>Eberhard Wolff</name><uri>http://www.blogger.com/profile/08362870553782434099</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="01178715276429005353" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://jandiandme.blogspot.com/2009/05/springsource-tc-server-tomcat-you-know.html</feedburner:origLink></entry></feed>
