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

<channel>
	<title>Privates Blog von Karsten Gresch &#187; Konferenzen</title>
	<atom:link href="http://blog.gresch.de/category/konferenzen/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gresch.de</link>
	<description>Varia, Miscellania</description>
	<lastBuildDate>Wed, 06 Jul 2011 18:23:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>berlin.jar 2008</title>
		<link>http://blog.gresch.de/2008/09/13/berlin-jar-2008/</link>
		<comments>http://blog.gresch.de/2008/09/13/berlin-jar-2008/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 12:26:22 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=291</guid>
		<description><![CDATA[Ralph Bergmann, Student an der FHTW Berlin, hat mit viel Energie und Elan die Java User Group Berlin-Brandenburg (re-)vitalisiert. H&#246;hepunkt seiner Aktivit&#228;ten ist die erste Berliner Fachkonferenz um die Programmiersprache Java, die berlin.jar. &#160; Im Vergleich zu den gro&#223;en kommerziellen Java-Konferenzen (in Deutschland die JAX, US-international die Java One) nimmt sich die berlin.jar bescheiden aus: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.xing.com/profile/Ralph_Bergmann3">Ralph Bergmann</a>, Student an der <a href="http://www.fhtw-berlin.de/">FHTW Berlin</a>, hat mit viel Energie und Elan die <a href="http://www.jug-bb.de/">Java User Group Berlin-Brandenburg</a> (re-)vitalisiert. H&ouml;hepunkt seiner Aktivit&auml;ten ist die erste Berliner Fachkonferenz um die Programmiersprache Java, die <a href="http://berlin.jar.jug-bb.de/">berlin.jar</a>.</p>
<p>&nbsp;</p>
<p>Im Vergleich zu den gro&szlig;en kommerziellen Java-Konferenzen (in Deutschland die <a href="http://it-republik.de/jaxenter/">JAX</a>, US-international die <a href="http://java.sun.com/javaone/sf/">Java One</a>) nimmt sich die <i>berlin.jar</i> bescheiden aus:</p>
<p>&nbsp;</p>
<p>Alle Besucher (zumindest, die mit denen ich sprach) wurden von Ralph Bergmann pers&ouml;nlich begr&uuml;&szlig;t.</p>
<p>Nett.</p>
<p>Jedenfalls etwas ganz anderes als die spektakul&auml;ren B&uuml;hnenbegr&uuml;&szlig;ungen von <a href="https://www.xing.com/profile/Sebastian_Meyen">Sebastian Meyen</a>, der ansonsten auf der JAX stets recht arrogant/gestresst agiert, wenn man sich nicht durch Anzug oder Speaker-T-Shirt ausweisen kann.</p>
<p>&nbsp;</p>
<p>An zwei Tagen werden Samstags vier Vortr&auml;ge in f&uuml;nf Tracks angeboten, am Sonntag drei. Daneben k&ouml;nnen Samstags noch Workshops besucht werden (v.a. Eclipse RCP und Tomcat 6).</p>
<p>&nbsp;</p>
<p>Die Konferenz findet &#8211; naheliegend &#8211; in den R&auml;umen der FHTW Berlin in der <a href="http://maps.google.com/maps?ie=UTF-8&amp;um=1&amp;cid=0,0,15165330293285825259&amp;fb=1&amp;dq=fhtw+berlin&amp;daddr=Treskowallee+8,+10318+Berlin,+Germany&amp;geocode=6644372185939614511,52.493827,13.525643&amp;ll=52.493827,13.525643&amp;iwstate1=dir:to&amp;iwloc=A&amp;f=d&amp;sa=X&amp;oi=local_result&amp;resnum=1&amp;ct=directions-to">Treskowallee</a> statt. Menschen von der User Group und offenbar auch Studenten (?) unterst&uuml;tzen die Veranstaltung, ein einem Gang sind drei St&auml;nde aufgebaut.</p>
<p>Essen wird an Grill und Suppenk&uuml;che ausgegeben, leider alles nicht ganz mit den Veranstaltungszeiten koordiniert. F&uuml;r die erste Veranstaltung dieser Art, zudem nichtkommerziell, ist das akzeptabel.</p>
<p>&nbsp;</p>
<p>Was macht aber eine Konferenz wertvoll? <i>Nat&uuml;rlich die mobile Massage in der Relax-Lounge!</i> M&ouml;gen manche sagen. Andere finden eher die Qualit&auml;t der Vortr&auml;ge entscheidend. Hier braucht sich die <i>berlin.jar</i> nicht zu verstecken: Von <a href="https://www.xing.com/profile/Oliver_Boehm2">Oliver B&ouml;hm</a> &uuml;ber <a href="https://www.xing.com/profile/Peter_Rossbach">Peter Ro&szlig;bach</a> (!Tomcat Workshop!) zu <a href="https://www.xing.com/profile/Eberhard_Wolff">Eberhard Wolff</a> sind viele Gr&ouml;&szlig;en der deutschen Java-Community vertreten. Die Qualit&auml;t der von mir besuchten Vortr&auml;ge braucht sich zumindest hinter denen der Vortr&auml;ge auf der JAX nicht zu verstecken.</p>
<p>Alles in allem eine lohnende Veranstaltung, f&uuml;r den l&auml;cherlich niedrigen Eintrittspreis (15,- EUR im Vorverkauf, Verk&ouml;stigung inklusive) bekommt im Vergleich zu den kommerziellen Veranstaltungen ein Vielfaches als Gegenwert.</p>
<p>&nbsp;</p>
<p>Dieses Angebot nutzten am ersten Tag nach meiner Einsch&auml;tzung (Mittagessen und &quot;Abendparty&quot;) mehr als 100, aber sicherlich weniger als 250 Teilnehmer, davon etwa 3% Frauen (leider nicht eine einzige Vortragende, sehr schade, dass <a href="https://www.xing.com/profile/Angelika_Langer">Angelika Langer</a> nicht anwesend war).</p>
<p>&nbsp;</p>
<p>Hochachtung verdient Ralph Bergmann und seinen Helfern f&uuml;r den Einsatz, der weitaus mehr von einer Begeisterung f&uuml;r die Technologie spricht als von reinem Profilierungsdrang. Dazu wurde zuviel gel&auml;chelt.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2008/09/13/berlin-jar-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Spring Framework: Enterprise Java ganz einfach! (Eberhard Wolff, Mike Wiesner, Interface 21)</title>
		<link>http://blog.gresch.de/2007/04/27/jax-2007-spring-framework-enterprise-java-ganz-einfach-eberhard-wolff-mike-wiesner-interface-21/</link>
		<comments>http://blog.gresch.de/2007/04/27/jax-2007-spring-framework-enterprise-java-ganz-einfach-eberhard-wolff-mike-wiesner-interface-21/#comments</comments>
		<pubDate>Fri, 27 Apr 2007 06:47:26 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=183</guid>
		<description><![CDATA[Eberhard Wolff &#8211; Java Champion, Autor d. Buchs im dpunkt-Verlag (Eberhard Wolff &#8211; Spring) (dpunkt). Mike Wiesner: Fokus auf Security. Interface 21. Rod Johnson. J&#252;rgen H&#246;ller (Linz) Hauptentwickler Ausgangspunkt: Kritik an EJB. Deshalb mit POJOs (also known as &#34;Simple Objects&#34;) arbeiten. Java EE Design-Pattern-Ansatz zu komplex. DI &#8211; AOP &#8211; Portable Service Abstractions. Pluggable Architecture. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Eberhard Wolff</strong> &#8211; Java Champion, Autor d. Buchs im dpunkt-Verlag (<a href="index.php?/archives/142-Eberhard-Wolff-Spring-dpunkt.html">Eberhard Wolff &#8211; Spring) (dpunkt)</a>. <br /><strong>Mike Wiesner</strong>: Fokus auf Security.
<p>Interface 21. Rod Johnson. J&uuml;rgen H&ouml;ller (Linz) Hauptentwickler</p>
<p><strong>Ausgangspunkt</strong>: Kritik an EJB. Deshalb mit POJOs (also known as &quot;Simple Objects&quot;) arbeiten.</p>
<p>Java EE Design-Pattern-Ansatz zu komplex.</p>
<p>DI &#8211; AOP &#8211; Portable Service Abstractions.</p>
<p>Pluggable Architecture. Spring MVC. JNDI JPA, JTI etc.</p>
<p>Leightweight remoting, JMX. </p>
<p><strong><br />Inversion of Control</strong></p>
<p>Inversion of Control</p>
<p>^-Dependency Lookup ^-DI</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^-Setter Injection ^-Constructor Injection</p>
<p><strong><br />Setter Injection</strong></p>
<p>Spring setzt setter-Werte. <em>Parameterloser Konstruktor n&ouml;tig.</em></p>
<p>Nachteil: Inkonsistenter Zustand m&ouml;glich, wenn wesentliche Properties fehlen. BeanInterface (aber schlecht: abh&auml;ngig vom Framework) &#8211; besser init method =&gt; Ruft init-Methode auf. Oder setter mit @required erstellen, dann pr&uuml;ft Spring von selbst. noch besser:</p>
<p><strong><br />Constructor Injection</strong></p>
<p>Kann mit setter-I. kombiniert werden. Indizierung der Parameter. </p>
<p><em>&lt;constructor-arg index=&quot;0&quot; ref=&quot;accountDao&quot; /&gt; </em>(Index kann bei unterschiedlichen Typen auch weggelassen werden).</p>
<p>Dagegen spricht: super()-Aufruf bei Vererbung, Parameter <em>so</em> nicht mehr verwendbar. Kein Mechanismus, den Objekt-Status zu refreshen.</p>
<p><strong><br />Unit Test</strong></p>
<p>Nicht an Container denken, Objekte mit new() erzeugen.</p>
<p><strong><br />Spring Containers</strong><br />IoC und lookup Features. mit new einfach zu erzeugen:<br /><em>ApplicationContext theContext = new ClassPathXmlApplicationContext(&quot;spring-config.xml&quot;);</em></p>
<p>Bsp. deklarativ in web.xml &#8211; aber nicht empfohlen. Test-Case-Bsp.: protected String[] getConfigLocations()</p>
<p>Spring-Beans brauchen nicht ausgelesen zu werden. ###Files mit Aufgaben und Pr&auml;sentation hochladen###</p>
<p><strong><br />AbstractTransactionalDataSourceSpringContextTests</strong>: <br />Rollt DS nach Testaufruf auf Anfangszustand zur&uuml;ck.</p>
<p><strong><br />Autowiring</strong><br />Um Referenzen automatisch zuzuweisen. Nachteil: Weniger verst&auml;ndlich. Empfehlung: Eher nicht benutzen.</p>
<p><strong>AOP</strong><br />Spring AOP kann ohne DI benutzt werden. Bsp. Eclipse RCP. &quot;Decoration through configuration&quot;.<br /><em>Crosscutting concerns</em>. <em>Advices</em> &#8211; <em>Pointcuts</em>. Einige Aspects out-of-the-box. <br /><em>jamon</em> &#8211; Monitoring einfach einzurichten.</p>
<p><em>AOP-Proxy</em> &#8211; bezieht sich nur auf Spring-Beans (!), also z.B. nicht bei Selbstreferenzierung. Aspekte f&uuml;r AspectJ transformierbar von Spring AOP. Unterschiede: Keine Feldzugriffe mit Spring AOP. Dadurch, dass Bytecode erzeugt wird, kann AspectJ auch selbstinstantiierende Klassen finden. </p>
<p><em>Advice-Typen</em>: around (via <em>ProceedingJoinPoint</em>), before, after, throws.<br />Kurzer Verweis auf http://www.easymock.org/</p>
<p>Beispiel f&uuml;r Einbindung.</p>
<p><font face="courier new,courier" size="1">    &lt;aop:config&gt;<br />&nbsp; &lt;aop:aspect id=&quot;traceAspect&quot; ref=&quot;traceInterceptor&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &lt;aop:around pointcut=&quot;execution(* dao.*+.*(..))&quot; method=&quot;trace&quot; /&gt;<br />&nbsp; &lt;/aop:aspect&gt;<br />    &lt;/aop:config&gt;</font>
<p>&nbsp;</p>
<p>Aufruf Unit-Test auch mit <em>-DSPRING_XML_FILE=aop-pojo.xml </em>in Eclipse als VM arg. Annotation-Aspects gut f&uuml;r Transaktionen, ansonsten immer schlecht, wo es schlecht ist, wenn der Code ge&auml;ndert wird.</p>
<p><em>    @Pointcut(&quot;execution(* dao.*+.*(..))&quot;)<br />    public void traceMethods()&nbsp; {<br />    }</em></p>
<p>Hack, damit &uuml;ber </p>
<p><em>@Around(&quot;traceMethods()&quot;)</em></p>
<p>darauf referenziert werden kann.</p>
<p>Annotations-Aspekt kann auch in AspectJ wiederverwendet werden, XML-POJO nicht. Bestimmte Views der SpringIDE: Bean Explorer; Bean Cross Reference; Spring AOP Event Trace.</p>
<p><strong>Effective Middle Tier</strong><br />Service Objects /Business Facade _transactional boundaries. Logik auch in Domain-Objekt, zu Lasten der Interoperabilit&auml;t.<br />Stateless, POJO. <br /><em>DAO Interfaces</em><br /><em>DAO Implementations</em></p>
<p><strong>Data Access Layer</strong> <br />Persistence hidden; Impl Class; Throws unchecked exception; Stateless, POJO. Gut mit Singleton Spring Beans. Dom&auml;nenobjekte. POJOs. </p>
<p><strong>Distributed Spring</strong><br />Referenzen auf Server injizieren. RMI, HttpInvoker &#8211; http + Serialisierung.</p>
<p>Server erstellen. Client erstellen. Seeeehr einfach. Funktioniert auch mit JMX. <em>BeanFactoryPostProcessor</em>. (Erl&auml;uterung, wie man &uuml;ber PropertyPlaceholderConfigurer Werte in *.properties-Datei [oder DB oder Input etc. etc.] auslagert und Werte in XML mit ${valuename} auslagert.</p>
<p>spring-modules hat auch eine Impl f&uuml;r Commons Configuration.</p>
<p><strong>Template Pattern</strong><br />Extreme Vereinfachung von Zugriff auf Persistenzl&ouml;sungen + JMS. Von Spring verwaltet, ohne M&auml;chtigkeit zu verlieren. Beispiel: </p>
<p><em>getSimpleJdbcTemplate().update(&quot;DELETE FROM T_ITEM WHERE ID=?&quot;, &quot;name&quot;);</em></p>
<p><strong>Exception Hierarchies.</strong><br />DataAccessException &#8211; all exceptions extend one single class. Erweiterbar. Vorbereitete Klassen, z.B. f&uuml;r SPs, die Fehlercode zur&uuml;ckgeben.<br />Datasource auch &uuml;ber JNDI-Lookup im J EE Appserver.</p>
<p>###Notiz: Wenn man Convention over Configuration folgte, sollte man IMHO f&uuml;r Spring stets drei Defaultverbindungen verwenden.### </p>
<p><strong>Transactions</strong><br />DAOs nehmen automatisch an Transaktionen teil. Gilt auch f&uuml;r Verbindungen von Persistenzl&ouml;sungen. DataSource &uuml;ber Connection. <em>Two-Phase-Commit</em>: JOTEM/Atomicus f. Java SE. Ansonsten Integration mit Appserver und JTA. </p>
<p><strong>iBATIS</strong><br />&quot;Sweet spot&quot; zwischen JDBC und ORM. Wohlbekannt&#8230; <img src='http://blog.gresch.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <br />Integration mit JavaSpaces: AUf Java Modules (?). Spring ist technologieneutrales API.<br />MSB &#8211; Support injizierbar.</p>
<p><strong>Spring + JSF</strong><br />Auf Spring Beans via JSF zugreifen, als w&auml;ren es Managed Beans.<br /><em>jsf-spring-Projekt</em>: Umgekehrt. </p>
<p><strong>Quartz</strong><br />Wie JMS. POJO-Bean mit  Aufrufmethoden. Sah sehr einfach aus.</p>
<p><strong>Security</strong><br />Acegi. Unabh&auml;ngiges Framework. ServletFilter.</p>
<p><strong><br />KGs Fazit:</strong></p>
<p>Der Stoff eines ganzen Buches von zwei h&ouml;chstprofessionellen, aber augenscheinlich gelangweilt-genervervten-ersch&ouml;pften &quot;Trainern&quot;. H&auml;tte ich den Enthusiasmus, das Feuer bei der Pr&auml;sentation als Richtschnur genommen,&nbsp; w&auml;re ich unweigerlich zur Vermutung gelangt, die beiden w&auml;ren vom Java EE Marketing aufgekauft. Spring ist ein excellentes Framework, das die Entwicklung verteilter Anwendungen ungemein erleichtern kann. Dies wurde zwar vermittelt, aber in einer Weise, als ob es sich um etwas Langweiliges handele. F&uuml;r einen &quot;Rundumschlag&quot; an einem Tag, der IMHO damit enden sollte, dass alle Entwickler begeistert noch auf der Heimfahrt an den Beispielen weiterarbeiten, fehlte der Elan, vielleicht auch die didaktischen F&auml;higkeiten von Eberhard Wolff, dessen Naturell aber vielleicht eher auf Coolness/Phlegma hingerichtet ist. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/27/jax-2007-spring-framework-enterprise-java-ganz-einfach-eberhard-wolff-mike-wiesner-interface-21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Testing with Selenium (Neal Ford, Thoughtworks)</title>
		<link>http://blog.gresch.de/2007/04/26/jax-2007-testing-with-selenium-neal-ford-thoughtworks/</link>
		<comments>http://blog.gresch.de/2007/04/26/jax-2007-testing-with-selenium-neal-ford-thoughtworks/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 13:53:29 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[thoughtworks]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=182</guid>
		<description><![CDATA[Origins &#34;Teflon-Effect&#34;: Thoughtworks Time and Expenses System (with Plone). Mercury testing suite (element Selenium protects from Mercury toxity). Acceptance Testing Tool. Test runs directly in the browser, analysing the DOM. BrowserBot -takes commands and exercises the app as if it was the user. http://selenium.houghtworks.com http://www.openqa.org/selenium Usage Modes: TestRunner -put core alongside the app (means static [...]]]></description>
			<content:encoded><![CDATA[<p><b>Origins</b></p>
<p>&quot;Teflon-Effect&quot;: Thoughtworks Time and Expenses System (with Plone). Mercury testing suite (element Selenium protects from Mercury toxity).</p>
<p>Acceptance Testing Tool. Test runs directly in the browser, analysing the DOM. BrowserBot -takes commands and exercises the app as if it was the user.</p>
<p>http://selenium.houghtworks.com</p>
<p>http://www.openqa.org/selenium</p>
<p><b>Usage</b></p>
<p>Modes: </p>
<p><i>TestRunner</i> -put core alongside the app (means static HTML dir).</p>
<p><i>RemoteControl</i> (&quot;driven mode&quot;).</p>
<p> Test cases: Simple HTML tables</p>
<p>| Ignored |   </p>
<p>Command | Target | Value</p>
<p>Command | Target | &amp;nbsp;</p>
<p>Assertion | Expectet | Actual</p>
<p>TestSuites possible. </p>
<p>Understands everthing that can be done by the user and additionally things like changing cookie values.</p>
<p><b>Concepts</b></p>
<p><i>Locators</i>: Find things on the page. id, name, identifier, dom=JS expression</p>
<p><i>Matching Patterns</i>: glob:pattern, regexp, exact, default is glob</p>
<p><i>Select</i>: label, value, id, index</p>
<p><i>Actions</i>: Action, actionAndWait, open</p>
<p><i>Assertions</i>: Assert, Verify (continue the test in case of a failure), waitFor (e.g. for AJAX &#8211; wait until field changes the value) </p>
<p><i>assertConfirmation</i>: JS confirmation dialog.</p>
<p><i>Parameters and Variables</i>: store, storeValue, storeText, storeAttribute, stored in JS map <i>storedVars</i></p>
<p><i></i>Variable Substitution &#8211; JS Evaluation</p>
<p />
<p><b>Selenium Techniques</b></p>
<p>Generating UIDs</p>
<p>Creating Test Case JSPs. </p>
<p />
<p>Assert sthg not existing. assertXPath extension (on openqa).</p>
<p>Fits into CruiseControl. </p>
<p>auto=&quot;true&quot; =&gt; /postResults =&gt; CC</p>
<p><b>Remote Control Selenium</b> </p>
<p>Drivers for Java, .NET, Python, Perl, Squeak, and Ruby. Jetty-based proxy-server. Issue Selenium commands &#8211; allows to issue all commands via JUnit tests&#8230;</p>
<p>Purely declarative Selenium syntax can be broken up.</p>
<p><b>User-Extensions</b></p>
<p><i>user-extensions.js</i> : e.g. own actions. Own locators and assertions (see openqa). </p>
<p><b>Selenium-IDE</b></p>
<p>Firefox-Extension. Recorder. With intelligent addons-e.g. forward-engineer macros to remote scripts in all languages.</p>
<p>###XPather + XPath Checker ###</p>
<p>Future</p>
<p>Driver capabilities. 1.0 soon. Documentation for driver. DSL-like language to supplement HTML.</p>
<p>File Uploads possible with Firefox.</p>
<p>Question: What about integration with Fit/FitNesse (e.g. <a href="http://www.cornetdesign.com/2006/09/fitnesse-selenium-wrapper.html">http://www.cornetdesign.com/2006/09/fitnesse-selenium-wrapper.html</a> or <a href="http://storytestiq.sourceforge.net/index.html">http://storytestiq.sourceforge.net/index.html</a>)? Neal Ford didn&#8217;t seem to see any use for it as he understands FitNesse also for functional tests and Selenium only for acceptance tests. ###TODO: Send an e-mailÂ  to him###</p>
<p><i>https</i>-Support (one-time import of the certificate)</p>
<p />
<p><b>(KG&#8217;s) Summary</b></p>
<p>This is &quot;best-of-breed&quot; technology for free. Whoever works in smaller/midrange IT departments and wants to spend money for a commercial tool is going to burn money. The multi-language facility via the remote runner makes Selenium quite adjustable. E.g. the integration with CruiseControl and even JUnit test cases makes it highly valuable.</p>
<p>The Selenium IDE can compete with professional Testing UIs. It&#8217;s AJAX support is stunning. Haven&#8217;t seen any commercial competitors yet.<b></b></p>
<p />
<p />
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/26/jax-2007-testing-with-selenium-neal-ford-thoughtworks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Facelets und JSF (Thomas Spiegl, IRIAN.at)</title>
		<link>http://blog.gresch.de/2007/04/26/jax-2007-facelets-und-jsf-thomas-spiegl-irian-at/</link>
		<comments>http://blog.gresch.de/2007/04/26/jax-2007-facelets-und-jsf-thomas-spiegl-irian-at/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 12:12:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[facelets]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[jsf]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=181</guid>
		<description><![CDATA[Thomas Spiegl: Committer MyFaces. Einstieg: http://facelets.dev.java.net Nachteile von JSP&#8230; JSF 1.1-Problem falsche plazierte Renderung, kein Template-Framework. MyFaces hat Tiles-ViewHandler. Warum Facelets verwenden: HTML-Content kann schlecht in Komponentenbaum eingefÃ¼gt werden. 1.es Beispiel &#60;h:panelGrid columns=1&#34;&#62; &#60;h1&#62;&#60;h:outputText value=&#34;text&#34; /&#62; &#60;/h1&#62;&#60;/h:panelGrid&#62; Rendert als: &#60;table&#62;&#60;tr&#62;&#60;td&#62;text&#60;/td&#62;&#60;/tr&#62; &#60;h1&#62;&#60;/h1&#62; &#60;/table&#62; (Ist aber bei 1.2 gelÃ¶st mit automatischem verbatim-Tag). 2.es Beispiel &#60;h:outputLabel for=&#34;name&#34; /&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Thomas Spiegl: Committer MyFaces.</p>
<p>Einstieg: <a href="http://facelets.dev.java.net">http://facelets.dev.java.net</a></p>
<p>Nachteile von JSP&#8230; JSF 1.1-Problem falsche plazierte Renderung, kein Template-Framework. MyFaces hat Tiles-ViewHandler.</p>
<p>Warum Facelets verwenden:</p>
<p>HTML-Content kann schlecht in Komponentenbaum eingefÃ¼gt werden.</p>
<p><b>1.es Beispiel</b></p>
<p>&lt;h:panelGrid columns=1&quot;&gt;</p>
<p>&lt;h1&gt;&lt;h:outputText value=&quot;text&quot; /&gt;</p>
<p>&lt;/h1&gt;&lt;/h:panelGrid&gt;</p>
<p>Rendert als:</p>
<p>&lt;table&gt;&lt;tr&gt;&lt;td&gt;text&lt;/td&gt;&lt;/tr&gt;</p>
<p><b>&lt;h1&gt;&lt;/h1&gt;</b></p>
<p>&lt;/table&gt;</p>
<p>(Ist aber bei 1.2 gelÃ¶st mit automatischem verbatim-Tag).</p>
<p><b>2.es Beispiel</b></p>
<p>&lt;h:outputLabel for=&quot;name&quot; /&gt;</p>
<p>&lt;h:inputText id=&quot;name&quot; /&gt;</p>
<p>JSP und JSF 1.1: Label wird erst beim 2.en Request auf die Seite gerendert.</p>
<p>Facelets und JSF 1.1: Label wird gerendert. Komponentenbaum wird vor Renderphase aufgebaut.</p>
<p>(Ist auch bei JSF 1.2) vorhanden.</p>
<p>DataTable mit DataScroller &#8211; funktioniert nur, wenn der DS unterhalb der Table liegt.</p>
<ul>
<li>Performance 10-15% besser als JSP.</li>
<li>besseres Error-Reporting.</li>
<li>&quot;leichte&quot; Komponenten</li>
<li>einfaches Templating, ohne XML;</li>
<li>besseres Error Reporting &#8211; in web.xml. ui:debug</li>
<li>Designerfreundlich.</li>
<li>Konzept w</li>
</ul>
<p><b>Einrichten</b></p>
<p>FaceletViewHandler einbinden in faces-config.xml</p>
<p>Tag Libraries in facelets.LIBRARIES (web.xml Context-Param)</p>
<p>facelets.DEVELOPMENT</p>
<p>facelets.BUFFER_SIZE</p>
<p>facelets.REFRESH_PERIOD; Standard = 2 (Sekunden), lÃ¤dt die XHTML-Dateien nach. -1 zum Ausschalten.</p>
<p>facelets.VIEW_MAPPINGS</p>
<p>facelets.SKIP_COMMENTS false ist default. Sonst werden Kommentare Ã¼bermittelt.</p>
<p>facelets.BUILD_BEFORE_RESTORE default: false. Facelet baut Komponentenbaum ganz ab Beginn auf.</p>
<p><b>Erforderliche jars</b>:</p>
<ul>
<li>el-ri.jar</li>
<li>el-api.jar</li>
<li>jsf-facelets.jar</li>
</ul>
<p>JSF EL auch zum Schreiben von Properties. EL-libs fÃ¼r 1.5 kompiliert, aber im Netz auch noch fÃ¼r 1.4.</p>
<p>Maven-Konfig: Dependencies. http://maven-repository.dev.java.net/nonav/repository</p>
<p>Legacy-Attribut setzen fÃ¼r mvn2</p>
<p>Logging-Eigenschaften separat.</p>
<p>Beispielseite: Normales XHTML, Namespaces eingebunden.</p>
<p><b>Templating</b></p>
<p>xmlns:ui=&quot;http://~&quot;</p>
<p><b>Verwendung</b></p>
<p>mit ui:composition und ui:define. Alles auÃŸerhalb wird nicht geÃ¤ndert</p>
<p><b>Beispiel</b>: XHML-Datei erstelllt. Facelet-Namespace geholt und ui:definitionen =&gt; Template</p>
<p>Neue Datei mit Verweisauf Template. &lt;ui:composition&gt;&lt;ui:define name=&quot;content&quot; &gt;Das ist Inhalt =&gt; Ã¼berscjreibt default-Wert.</p>
<p>ui:decorate : Inhalt fÃ¼gt sich ein, alles Umgebende wird mitgerender</p>
<p>jsfc &#8211; Zur Kompilezeit Element in Komponente umwandeln.</p>
<p>&lt;input type=&quot;text&quot; jsfc=&quot;h:inputText&quot; etc.</p>
<p><b>JSTL-Support</b>: Nur eingeschrÃ¤nktes Set. Probleme beim Rendern: encodeChildren=&quot;true&quot;</p>
<p>ui:repeat statt c:forEach (buggy); besser rendered=&quot;true&quot; oder t:dataList</p>
<p><b>Custom TagLibs</b></p>
<p>Komponenten rein aus XHTML &#8211; TagHandler, Converter, Validator,</p>
<p>2 Alternative: 1 XML-Tag pro Komponente</p>
<p>1 XML-Tag, das eine Java-Klasse spezifiziert, welche die Konfiguration ausfÃ¼hrt. </p>
<p>&lt;facelet-taglib&gt;</p>
<p>&lt;namespace &#8230;&gt;</p>
<p>&lt;tag&gt;</p>
<p>&lt;tag-name&gt; etc.</p>
<p>Oder an Klasse binden (aber ungewÃ¶hnlich)</p>
<p>Einbindung der TagLib. Context-Param in web.xml facelets.LIBRARIES</p>
<p>oder Meta-Inf-Einbindung Ã¼ber WEB-INF/lib (automatisch)</p>
<p><b>Dynamische Komponenten</b></p>
<p />
<p />
<p>in Facelets library</p>
<p>Beispiel f. <b>Eingabekomponente</b>.</p>
<p>ui:component alle Anderen sind Kind-Elemente.</p>
<p>Ist echte Komponente im Baum.</p>
<p>Label mit Eingabekomponenten-Validierung. &lt;f:validateLength&gt;, indem in Template &lt;ui:insert /&gt; eingefÃ¼gt wird. Input-Text bekomment Validator gesetzt</p>
<p><b>Dynamische MenÃ¼s</b>-Beispiel.</p>
<p>Beispiel: Table-/Scroller-Kombination. </p>
<p>Method-Binding</p>
<p>funktioniert nicht: action=&quot;#{myBean.myAction}&quot;</p>
<p>sondern backing=&quot;{#myBean}&quot; action=&quot;myAction&quot;</p>
<p>und command action=&quot;backing[myBean]&quot; (###?, prÃ¼fen###)</p>
<p>Welche &lt;ui:&#8230;/&gt;-Tags</p>
<p>ui:fragment: rendert auch auÃŸenstehenden Text.</p>
<p>ui:composite</p>
</p>
<p>ui:decorate</p>
<p>ui:component</p>
<p>EL-Funktionen</p>
<p>JSP-Komponenten mÃ¼ssen in Taglib definiert werden. Component-Type + -Renderer festlegen.</p>
<p>Taglibs z.B.zum Einbinden in Tomahawk, auf Wiki-Seite von Faces.</p>
<p>Tag-Handler &#8211; Beispiel fÃ¼r Method-Binding. Tag-Handler nur einmal. dataTable-Tag-Handler: var-SpezialitÃ¤t. In Tomahawk kann das var-Attribut Ã¼ber Binding angespr werden</p>
<p>MetaRulest -Aliase, Attribute ignorieren, Meta-Rules f. Method-Binding.</p>
<p>Inlined EL-Expression: <b>unterstÃ¼tzen keine Konvertierung und kein Encoding</b> (also fÃ¼r Prototyping)</p>
<p>Debugging-Ausgabe: Mit Component-Tree und Scoped Vars, sehr nÃ¼tzlich.</p>
<p>In JSF 2.0 sollte eine Ã¤hnliche Technologie im Standard vorhanden sein (2008).</p>
<p><b>KGs Fazit:</b></p>
<p>Facelets sind JSP eindeutig vorzuziehen. Erhebliche Erleichterungen beim Erstellen von Taglibs. Intuitiveres Programmieren. </p>
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/26/jax-2007-facelets-und-jsf-thomas-spiegl-irian-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Grails &#8211; Rapid Web Application Development (Sven Haiges, Actionality)</title>
		<link>http://blog.gresch.de/2007/04/26/jax-2007-grails-rapid-web-application-development-sven-haiges-actionality/</link>
		<comments>http://blog.gresch.de/2007/04/26/jax-2007-grails-rapid-web-application-development-sven-haiges-actionality/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 10:05:31 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=180</guid>
		<description><![CDATA[Intro Ãœber S.H.: von Struts Ã¼ber JSF, Spring MVC zu Grails. Erstellt Grails Podcast. Motivation Framework wie Rails &#8211; Convention over Configuration, DRY Spring MVC im Hintergrund Grails vs. Rails Benchmark &#8211; Skaliert weitaus besser als Rails. 1.0 Release im Sommer, 0.5 im Mai. grails clean grails update zum Update, soll schmerzlos sein. Benutzte Frameworks [...]]]></description>
			<content:encoded><![CDATA[<p><b>Intro</b></p>
<p>Ãœber S.H.: von Struts Ã¼ber JSF, Spring MVC zu Grails. Erstellt Grails Podcast.</p>
<p><b>Motivation</b></p>
<p>Framework wie Rails &#8211; Convention over Configuration, DRY</p>
<p>Spring MVC im Hintergrund</p>
<p>Grails vs. Rails Benchmark &#8211; Skaliert weitaus besser als Rails. 1.0 Release im Sommer, 0.5 im Mai.</p>
<p><i>grails clean</i></p>
<p><i>grails update</i> </p>
<p>zum Update, soll schmerzlos sein. </p>
<p><b>Benutzte Frameworks</b></p>
<p>Spring: Spring DI + Spring MVC</p>
<p>Hibernate</p>
<p>SiteMesh &#8211; Layouting</p>
<p><b>Java EE &#8211; Integration</b></p>
<p>Standalone oder Hib-Mappings f Legacy-Schemata; EJB3-Integration; vorhandene Spring-Beans kÃ¶nnen verwendet werden.</p>
<p>Quickstart siehe am besten <a href="http://grails.org/Quick+Start">hier</a>.</p>
<p><i>ApplicationBootStrap</i> zum Persistieren.</p>
<p>TL-Erzeugung. Zur Laufzeit deploybar, ebenso mit Controller + Service. </p>
<p>Server-Start <i>runApp.groovy</i>. snipplr.com</p>
<p><b>MVC in Grails</b></p>
<p>Model: Domain-Klassen etc. </p>
<p>class Podcast {</p>
<p>String title</p>
<p>String feedUrl</p>
<p>}</p>
<p>View: Groovy SP oder JSP; dynamic TagLibs</p>
<p>Controller: Grails Controller + Grails Service</p>
<p>Object-Relational Mapping GORM. Equals()/hashCode() werden automatisch + dynamisch erstellt. </p>
<p> grails create-domain-class</p>
<p><b>Mapping 1:1</b></p>
<p>class Podcast {<br /><i>Author author</i><br />String title<br />}</p>
<p><b>Mapping 1:n</b></p>
<p>class Podcast {<br /><i>def hasMany = [ episodes : Episode ]</i><br />String title<br />}</p>
<p />
<p><b>Mapping m:n</b></p>
<p>class Podcast {<br /><i>def hasMany = [ episodes : Episode ]</i><br />String title<br />}</p>
<p>class Author<br />{<br /><i>def hasMany = [ podcasts : Podcasts ]</i><br />}</p>
<p>GORM: Dynamic Finders</p>
<p>Podcast.findByTitle(), QBE + HQL unterstÃ¼tzt.</p>
<p>Constraints</p>
</p>
<p>class Podcast {<br />String title<br />String feedUrl<br />static constraints = {<br />title(size:1..50)<br />feedUrl(unique:true)<br />}<br />}</p>
<p><b>GORM DB Konfiguration</b></p>
<p>development/production/test</p>
<p>Classe Development[...]DataSource Ã¤ndern. Standard: Development.</p>
<p><b>View-Technologien</b></p>
<p>Die meisten verwenden GSP wg. der Dynamic Tag Libs. </p>
<p />
<p><b>Grails Controller</b></p>
<p>Generierbar (mit CRUD), wird dynamisch geladen.  Immer alle CRUD-Operationen werden erstellt, DELETE kann z.B. nicht ausgeschlossen werden. Controller und Views mÃ¼ssen entsprechend manuell angepasst werden.</p>
<p>Parameter, Session, Flash-Objekte.</p>
<p>render()-Methode sehr mÃ¤chtig &#8211; AJAX</p>
<p>HTTP-MEthod-Restrictions.</p>
<p>Dynamisches Scaffolding</p>
<p>im Bsp.: <b>def scaffold= Podcast</b></p>
<p><b>Services</b></p>
<p>Kapselung von Business-Logik.</p>
<p>Buchempfehlung <i>Getting Started with Grails</i> (InnoQ)</p>
<p />
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/26/jax-2007-grails-rapid-web-application-development-sven-haiges-actionality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Maven 2 &#8211; Umstellung eines Projekts von Ant zu Maven 2 (Oliver Stauss, eXXcellent solutions)</title>
		<link>http://blog.gresch.de/2007/04/26/jax-2007-maven-2-ae-umstellung-eines-projekts-von-ant-zu-maven-2-oliver-stauss-exxcellent-solutions/</link>
		<comments>http://blog.gresch.de/2007/04/26/jax-2007-maven-2-ae-umstellung-eines-projekts-von-ant-zu-maven-2-oliver-stauss-exxcellent-solutions/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 08:46:36 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=179</guid>
		<description><![CDATA[Historie &#8211; von make Ã¼ber Ant, Maven 1 zu Maven 2. Einfluss der Rails-Community. Komplett neue Implementierung von 1. Paradigmenwechsel: Nicht Build-Skripte erstellen, sondern Projekte konfigurieren. Nicht das wie des zu erzeugenden, sondern das was. Mehr managen als erzeugen. OO-Mechanismen zur Konfiguration (also Projekt). mvn2 hilft bei einem GroÃŸteil des Entwicklungsprozesses. UnterstÃ¼tzung fÃ¼r Kompilation Releaserstellung [...]]]></description>
			<content:encoded><![CDATA[<p>Historie &#8211; von make Ã¼ber Ant, Maven 1 zu Maven 2. Einfluss der Rails-Community. Komplett neue Implementierung von 1.</p>
<p />
<p>Paradigmenwechsel: Nicht Build-Skripte erstellen, sondern Projekte konfigurieren.</p>
<p>Nicht das <i>wie</i> des zu erzeugenden, sondern das <i>was</i>. Mehr managen als erzeugen. OO-Mechanismen zur Konfiguration (also Projekt).</p>
<p>mvn2 hilft bei einem GroÃŸteil des Entwicklungsprozesses. UnterstÃ¼tzung fÃ¼r</p>
<ul>
<li>Kompilation</li>
<li>Releaserstellung</li>
<li>BibliotheksabhÃ¤ngigkeiten</li>
<li>Dokumentation</li>
<li>Unit- und Integrationstests</li>
<li>nn</li>
<li>nn</li>
</ul>
<p>Weniger ein Tool wie Ant &#8211; vielmehr eine standardisierte Best-Practices-Enforcment-Box. </p>
<p><b></b></p>
<p />
<p><b></b></p>
<p />
<p><b>Konzepte </b></p>
<p><b>P</b>roject <b>O</b>bject <b>M</b>odel, beschrieben in <i>pom.xml</i>. Name + Version + Typ, Vererbung, Unterprojekte (Module), AbhÃ¤ngigkeiten und Repos, Lifecycle- Plugin Konfigurationen, Profile, Properties, sonstiges (Issue Tracker, Version Control etc). </p>
<p><b></b></p>
<p />
<p />
<p><b>Artifact</b>: </p>
<p>Ergebnis (Produkt) eines mvn2-Projekts. Typen: jar, war, ear, sar; plugin, archetype, pom.</p>
<p>Werden in Rep abgelegt. Jedes mvn2-Projekt erzeugt lediglich <b>ein</b> Ergebnis (dadurch Modularisierung erzwungen).</p>
<p />
<p><b></b></p>
<p />
<p><b>Goal</b></p>
<p>Wie Ant-Target.</p>
<p />
<p><b></b></p>
<p />
<p><b></b></p>
<p><b>Plugin</b></p>
<p>Logische Gruppierung von Goals. In Reps verwaltet.</p>
<p>Syntax: <i>plugin:goal</i></p>
<p><i>archetype:create</i> &#8211; Skeleton fÃ¼r weitere Projekte.</p>
<p><i>cargo:start</i> &#8211; FÃ¼r Java EE interessant.</p>
<p><i>compiler:compile</i>: Quellcode kompilieren.</p>
<p />
<p><b></b></p>
<p />
<p />
<p><b>Repositories</b></p>
<p>Zentrale Stelle, in der alle Artifacts abgelegt werden. Zwei Type: Lokal (file://[user-home].m2/repository), Remote (z.B. <a href="http://repo1.maven.org">http://repo1.maven.org</a>)<b></b></p>
<p><b></b></p>
<p />
<p><b></b></p>
<p />
<p />
<p><b>Dependency-Management</b></p>
<p>Alle abhÃ¤ngigen Artefakte Ã¼ber Repositories verwaltet, werden nicht physische in das Projekt kopiert. Kein &quot;Jarmaggedon&quot;.</p>
<p><b>Build-Lifecycle</b></p>
<p>Definiert in Phasen: validate-generate-resource-compile-test_compile-test-package-integration_test-install-deploy. Phasen mit plugin-goals verbunden.</p>
<p><b>Reports</b></p>
<p>QA-Reports, generelle Projektinformationen. <b></b></p>
<p><b>Frage: Wie funktioniert das innerhalb Eclipse?</b></p>
<p>Antwort: Plugins, libraries in rep</p>
<p><b>Ãœbergang von Ant zu Maven 2</b></p>
<p>Refactoring des Ant-Projekts. Projektstrukturen vereinfachen! Bei mehreren Artifacts in Unterprojekte aufteilen.</p>
<p>AuflÃ¶sen der AbhÃ¤ngigkeiten. Verwendete Bibliotheken identifzieren (mit Version!) &#8211; das ist normalerweise der aufwendigste Punkt.</p>
<p> Einspielen von 3rd-Party- und Inhouse-Bibliotheken in internes Repository.</p>
<p>POM definieren. Spezielle Ant-Targets in mvn2 umsetzen. Weitere features nutzen, um QualitÃ¤t zu steigern. </p>
<p> <b>Beispiel: antAuthProject</b></p>
<p />
<p />
<p>/src und /test/src-Folders. /lib, /etc; client, common und server-Packages. </p>
<p>=&gt; mvn: drei Verzeichnisse /server, /common, /client und eine <i>pom.xml</i> auf root-Ebene und jeweils in den drei Verzeichnissen. Sourcen darunter in /src/main (Mvn2-Konzept) und /src/test. Alles andere in /resources.</p>
<p>AuflÃ¶sen der AbhÃ¤ngigkeiten: Gut, wenn Versionsnummer in jar-Namen enthalten sind.</p>
<p>mvn install:install-file, um Libs in Rep zu bekommen (fÃ¼r internes Rep).</p>
<p>Mvn-plugin fÃ¼r spezielle Ant-targets. &lt;parent&gt;-Tag fÃ¼r Submodule. Submodule erben Konfig des Hauptprojekts (z.B. Unit-Tests, CodeCoverage).</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/26/jax-2007-maven-2-ae-umstellung-eines-projekts-von-ant-zu-maven-2-oliver-stauss-exxcellent-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Polyglot Programming (Neal Ford, ThoughtWorks)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-polyglot-programming-neal-ford-thoughtworks/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-polyglot-programming-neal-ford-thoughtworks/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 18:30:55 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=178</guid>
		<description><![CDATA[Bridge building as metaphor for sw. Jack W. Reeves &#34;What is sw design?&#34; Design: Sourcecode itself. Manufacturing incredibly cheap. Design small parts, then bigger. Our design tool: Java. C/C++-origins. Stupid Java Tricks: static block. 6 ways to initialize sthg. in Java. Enum example. Inner class inherits List&#60;String&#62; s = new ArrayList&#60;String&#62;() { { add(&#34;hi&#34;); //etc. [...]]]></description>
			<content:encoded><![CDATA[<p>Bridge building as metaphor for sw. Jack W. Reeves &quot;What is sw design?&quot;</p>
<p>Design: Sourcecode itself. Manufacturing incredibly cheap. </p>
<p>Design small parts, then bigger. Our design tool: Java. C/C++-origins. </p>
<p>Stupid Java Tricks: static block. 6 ways to initialize sthg. in Java. </p>
<p>Enum example. </p>
<p>Inner class inherits</p>
<p>List&lt;String&gt; s = new ArrayList&lt;String&gt;() </p>
<p>{</p>
<p>  { add(&quot;hi&quot;); //etc.</p>
<p>
Justin Gehtland.</p>
<p>Language entropy &#8211; languages tend to become more complex. </p>
<p>Java language is the design, Java platform the manufacture.</p>
<p />
<p> Jaskell, Scala &#8211; Functional languages &#8211; e.g. automatically thread-safe</p>
<p />
<p>More declarative than imperative code.</p>
<p />
<p>Paul Graham, <i>Hackers and Painters</i>. Scale of the power of languages. LISP as the most powerful predecessor &#8211; no language that goes so far, Java only 4 features, Groovy 6 (?), Ruby 7</p>
<p>Ruby example&#8230; Calendar cal; cal.2.days.fromToday&#8230;</p>
<p>Testing is the rigor of SW dev.</p>
<p><b>KGs Summary</b>:</p>
<p>The most inspiring and personally important session which I attended. Neal Ford made clear that following the test-first-approach (and testing in general) is more needed than type-safety. And even more needed than the IDE (or whatever) is the programming language as developer&#8217;s tool. But what the programmer most necessarily needs is &#8211; his brain. If he doesn&#8217;t think but just rely in the compiler warnings etc. there is no gain at all. As Neal Ford explained that FUD very often distracts from thinking, his recommendation is to evaluate, I think, every Java developer should take a mid-complex personal project and rewrite it in Ruby.</p>
<p>But I&#8217;m also sure, many won&#8217;t. This is caused in the fact that there are many programmers which have no &quot;personal project&quot; &#8211; they even haven&#8217;t any IDE installed at home. </p>
<p>To me it seems, the programming world is not only splitted into MS and non-MS programmers or those who use a plaintext editor and those who use a full-featured IDE, but also in those who want to be efficient (in the Pragmatic Programmer&#8217;s sense) and those who just want to stay where they are. There is a big &quot;gap of passion&quot; and IMHO, the less a developer is passionated about software development the more she/he&#8217;ll produce and consume FUD.</p>
<p> </p>
</p>
<p>Addendum: On Neal Ford:</p>
<p>Homepage: <a href="http://www.nealford.com/">http://www.nealford.com/</a></p>
<p>Blog: <a href="http://memeagora.blogspot.com/">http://memeagora.blogspot.com/</a></p>
<p />
<p />
<p />
<p />
<p />
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-polyglot-programming-neal-ford-thoughtworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Garbage Collection &#8211; Memories are made of this (Rainer Jung, kippdata)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-garbage-collection-memories-are-made-of-this-rainer-jung-kippdata/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-garbage-collection-memories-are-made-of-this-rainer-jung-kippdata/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 14:34:08 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=177</guid>
		<description><![CDATA[Zu Rainer Jung: Tomcat-Commiter, Cluster, mod_jk, GeschÃ¤ftsfÃ¼hrer kippdata GmbH Warm-Up-Fragen, etc. wer benutzt noch 1.3 etc, Statistik XX-Optionen: 412 + 32 Diagnose 367 in DevBuild 53 Optionen mit verschiedenen Defaults BeschrÃ¤nkung auf Sun JVM 1.4.2, 1.5, 1.6 Drei Fragestellungen: GC run blockiert Anwendung GC blockiert CPU Zeiten GroÃŸes Memory ist teuer =&#62; Drei widersprÃ¼chliche Ziele. [...]]]></description>
			<content:encoded><![CDATA[<p>Zu Rainer Jung: Tomcat-Commiter, Cluster, mod_jk, GeschÃ¤ftsfÃ¼hrer kippdata GmbH</p>
<p>Warm-Up-Fragen, etc. wer benutzt noch 1.3 etc, </p>
<p>Statistik XX-Optionen: 412 + 32 Diagnose</p>
<p>367 in DevBuild</p>
<p>53 Optionen mit verschiedenen Defaults</p>
<p>BeschrÃ¤nkung auf Sun JVM 1.4.2, 1.5, 1.6</p>
<p>Drei <b>Fragestellungen</b>: </p>
<ol>
<li>GC run blockiert Anwendung</li>
<li>GC blockiert CPU Zeiten</li>
<li>
GroÃŸes Memory ist teuer</li>
</ol>
<p>=&gt; Drei widersprÃ¼chliche Ziele.</p>
<p>Objekterreichbarkeit &#8211; lebt, wenn es Kette v. ObjRefs von &quot;root&quot; zum Obj gibt.</p>
<p><i>roots</i>: static fields in Klassen, Args, MEmber der Methoden in allen aktuellen Threads.</p>
<p>Realisierungsziele</p>
<ul>
<li>schnelleObjAllokation: <b>Eden</b>-Stack; Ende d Stacks wird hochgesetzt -Inkrementierung d Pointers. Was, wenn Eden &quot;voll ist&quot;? Eden leerrÃ¤umen: In <b>Survivor Space</b> () [=&gt;Minor GC] wird Eden umkopiert. SS kleiner als Eden.<br />Was, wenn SS voll ist? Zwei SSes Survivor A + Survivor B. Eden=&gt;A=&gt;B. Dabei werden die From und To-Rollen immer abwechselnd vertauscht. Deshalb heiÃŸen die SSes auch &quot;Semi-Spaces&quot;. </li>
<li><b>New</b>: Var 1: Eden+ 1 Semi-Space</li>
<li>Var2: Eden + beide SSes.</li>
<li>Was, wenn SemiSpace voll ist? Objekte nicht mehr &quot;jung&quot; &#8211; <b>Tenured</b> &#8211; enthÃ¤lt Ã¤ltere Objekte. Nach MGC =&gt; Eden leer, From leer, alle Objekte in To und Tenured.</li>
<li>Objekte im SS erhalten Alter &quot;age&quot;, wird bei Umkopieren um eins erhÃ¶ht; Objekte oberhalb eines Age-limits (default 31 (1.4.2), 15 (1.6) und 31/15 (1.5), Ã¤nderbar) kommen nach Tenured.</li>
<li>Suche letztes Age A, welches unter N% liegt.</li>
<li><b>meisten Obj sterben jung</b></li>
<li>wenig Overhead + StÃ¶rung d. App</li>
</ul>
<p>Schalter -server / -client VerÃ¤ndert Memory Defaults. 64 bit immer Server. </p>
<p>Server Class Detection: Linux: Anhand d Memory-Werts. </p>
<p>-X-Argumente sind nicht standardisiert. -XX:+/-[Schalter] -XX:[key=value]</p>
<p>Argumente an CL oder .hotspotrc oder _JAVA_PREFIC envvar</p>
<p>Heap: Eden+2*Semi+Tenure</p>
<p>Dynamisches Resizing. Defaults 40/70%</p>
<p>FÃ¼r Produktion Xmx=Xms</p>
<p>New Size= Eden + 2*Semi</p>
<p>(Kein Schalter f. Tenured). New Size als Anteil New:Tenured = 1:NewRatio </p>
<p>New generation (in Doku): Ein Semi-Space + Eden</p>
<p><b></b></p>
<p />
<p><b>Survivor Ratio</b> 1 Semi Space also New /(SurvivorRatio+2)</p>
<p>4 = Eden 4/6, SS 1/6</p>
<p><b></b></p>
<p />
<p><b>Tenuring-Verhalten</b> beeinflussen</p>
<p>TargetSurvivorRatio (ZielfÃ¼llstand SemiSpaces %)</p>
<p>MaxTenurinbgThreshold</p>
<p><b></b></p>
<p />
<p><b>OutOfMemoryErrors</b></p>
<p>OnError &#8211; KommandoÃ¼bergabe.</p>
<p>Schalter <i>ShowMessageBoxOnError</i>: HÃ¤lt Prozess an, damit man Debugger anklemmen kann.</p>
<p>Seit 1.4.2. parallele Minor GC (Throughput Collector). Concurrent: Abarbeitung wÃ¤hrend App nicht gestoppt wird.</p>
<p>Schalter UseParallelGC bei CMS UseParNewGC, Default ab 1.5 bei server</p>
<p />
<p>Anzahl benutzter Threads nach Formel</p>
<p>(ncpus &lt;= ?) ncpus : 8 + (ncpus -8)* 5/ 8</p>
<p>ParallelGCThreads=x einstellen besser!</p>
<p>GC-Ergonomie, in Verbiindung m. Server-Class detection. Andere defaults der Mem-GrÃ¶ÃŸen.</p>
<p><i>UseAdaptiveSizingPolicy</i> &#8211; soll Eden und SemiSpaces automatisch skalieren. Wohl weniger performant, zu prÃ¼fen.</p>
<p />
<p><b></b></p>
<p />
<p><b>Major GC</b> / <i>Full GC</i><br />Entfernung toter Objekte aus Tenured. Steht nicht in jedem Log. Tenured &quot;voll&quot;? Ganz unterschiedliche AnsÃ¤tze Tenured-Size Eden &#8211; Size 1 Semi ODER 68% Tenured </p>
<p>System.gc() (aber kein Vertrag).</p>
<p>Webapp-Trick: &lt;% System.gc(); %&gt; &#8211; fÃ¼r Tests &#8211; ULR aufrufen.</p>
<p>GB-Tenured GC kann im Mehrsekundenbereich liegen; vor 1.6 single-threaded. </p>
<p><b></b></p>
<p />
<p><b>Zwei Algorithmen</b></p>
<p><i>Mark Sweep Compact</i> (Exact GC), default: </p>
<p>Geht nicht nur durch, um tote Obj zu entfernen, sondern &quot;defragmentiert&quot; auch</p>
<p><u>ab 1.5.06/1.6</u></p>
<p>optionale parallele Abarbeitung &#8211; mehrere Threads Parallel!=Concurrent-Vorsicht!</p>
<p>Gleicher Thread Count</p>
<p><i>Concurrent Mark Sweep [CMS] GC</i> (seit 1.4.2)<i></i></p>
<p>Anwendung nur kurz stoppen, GC in mehreren Phasen. UseConMarkSweepGC mit Minor GC nur mit UseParNewGC</p>
<p>Pausenzeiten deutlich kÃ¼rzer. Anfangs sehr buggy, jetzt aber empfehlenswert.</p>
<p>Gefahr: Fragmentierung von Tenured. erhÃ¶hter Memory Bedarf in Tenured (~30%?) </p>
<p>Neu in 1.6: CMS auch fÃ¼r System.gc(), Schalter <i>ExplicitGCInvokesConcurrent</i></p>
<p>Parallele Mark-Phase (stop)</p>
<p>1.4.2. ignoriert SurvivorRatio.</p>
<p>Class Garbage Collection;</p>
<p><b>Demo</b>: Eden und JMeter sendet Requests byteArray allozieren Speicher.</p>
<p>jconsole zeigt Ansteigen der Belegung d Eden Space an. </p>
<p><b>Demo</b>: Aging Distribution</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-garbage-collection-memories-are-made-of-this-rainer-jung-kippdata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Tomcat und Apache in der Produktion (Peter RoÃŸbach)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-tomcat-und-apache-in-der-produktion-peter-roabach/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-tomcat-und-apache-in-der-produktion-peter-roabach/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 11:58:08 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=176</guid>
		<description><![CDATA[Verbindung HTTP + TC. http://tomcat.objektpark.org/index.html ProxyLoadBalancer Apache httpd &#8211; ist am Browser-bug-resistentesten.Analyse mit Live HTTP Headers Catalina Architecture: Non Blocking IO Handler. ThreadHandler von Session separat. APR f&#252;r NBZ.B. 10.000 gleichzeitige Verbindungen auf derselben Box. Viele Verbindungen, die aber nicht alle gleichzeitig aktiv sind. Tomcat-Pipeline intern: Datenstr&#246;me werden &#34;mundgerecht&#34; zerlegt in Objektrepr&#228;sentationen.Was, wenn ein Server [...]]]></description>
			<content:encoded><![CDATA[<p>Verbindung HTTP + TC. <a href="http://tomcat.objektpark.org/index.html">http://tomcat.objektpark.org/index.html</a> ProxyLoadBalancer Apache httpd &#8211; ist am Browser-bug-resistentesten.<br />Analyse mit Live HTTP Headers</p>
<p><b>Catalina Architecture</b>: Non Blocking IO Handler. ThreadHandler von Session separat.</p>
<p><b>APR</b> f&uuml;r NB<br />Z.B. 10.000 gleichzeitige Verbindungen auf derselben Box. Viele Verbindungen, die aber nicht alle gleichzeitig aktiv sind.</p>
<p>Tomcat-Pipeline intern: Datenstr&ouml;me werden &quot;mundgerecht&quot; zerlegt in Objektrepr&auml;sentationen.<br />Was, wenn ein Server nicht mehr ausreicht?</p>
<p><b>mod_jk</b> -Konzept. &Uuml;ber httpd analysiert und an via <b>A</b>pache <b>J</b>ava <b>P</b>rotocol verbundene Tomcat-Instanzen. &quot;Sauschnell&quot; &#8211; stehende TCP/IP-Verbindungen, wie RPC.</p>
<p><b>jserv</b> -Protokoll: Senden von Kommandos und Datenbl&ouml;cken statt Stream mit Header und Body. Einziges Problem: 8k-Header-Beschr&auml;nkung bei SSL-Verbindungen. Kann aber vergr&ouml;&szlig;ert werden, zu Lasten des allgemeinen Speicherverbrauchs.<br />2-Byte-Kodierung mit Header-Strings. 30%-40% Perfomancegewinn iVglz <i>http_proxy</i>.<br />mod_jk-Konfiguration</p>
<p><i>JKWorkerProperty (ies) setzen:</i></p>
<p><i>worker.list=loadbalancer,jkstatus<br />~node01.port=8009/host=lch/type=ajp13<br />~loadbalancer.type=lb<br />~.balance_workers=node01<br />worker.jkstatus.type=status<br />JkMount /jkstatus status<br />JkMount /myapps* loadbalancer</i></p>
<p>server.xml:<br />jvmRoute=&quot;node01&quot;<br />protocol=&quot;AJP/1.3&quot;</p>
<p><b>AJP im Einsatz</b></p>
<p><b>Real Connect</b>: CPING-Paket hin, CPONG zur&uuml;ck<br />Request: RQ Header<br />Response: Nur wenn Requests beendet sind.<br />LogLevel Trace</p>
<p><b>Template</b><br />einmalige Konfiguration, auf die f&uuml;r viele Instanzen referenziert werden kann.</p>
<p><b>Timeouts</b><br />socket_timeout, connection_pool_~, connect_~, prepost_~, reply_~</p>
<p><b>Recovery </b> +4 Recovery-mode: connection close after ERROR<br /> 3 &#8211; Lieblingsmodus von P.R.</p>
<p> <b>Z&auml;hler-Methoden</b> : Requests, Sessions (PR f&uuml;r statusbehaftete), Busy (kleinste Anzahl von Anfragen, von PR f&uuml;r statuslose Sessions), Traffic (kleinster r+w Traffic); nur Requests, die keine JSessionId erhalten haben.</p>
<p> LB-Algorithmus (PSEUDO-CODE)<br /> DEF service<br /> FIND &lt;worker that handles request&gt;<br /> CALL_get_most_suitable_worker<br /> IF EXISTS &lt;worker candidate&gt;<br /> FIND &lt;worker_endpoint&gt;<br /> IF EXIST &lt;worker_endpoint&gt;<br /> SET WORKER.ATTR.state_busy<br /> SET ATTR.lbvalue<br /> IF LB.ATTR</p>
<p>[###von Folie holen!###]<br /> Weiter mit FIND MOST SUITABLE Algorithmus<br /> Weiter mit FIND BEST Algorithmen<br /> <b>Retries</b></p>
<p>Loadbalancer oder Worker</p>
<p> <i>jk_status</i> : F&uuml;r Analyse zur Ermittlung des geeigneten LoadBalancers.<br /><i>mo_jk</i> <b>State</b> &#8211; Recoverable, Force Recoverable. <b>JKRequestLogFormat</b> &#8211; dezidierte Analysen. <br /> <b>Location Mapping</b>. Eine Maschine liefert statischen Content aus. Loadbalancer immer nutzen, schon wegen <i>jk_status</i>.</p>
<p>Empfohlene Mindestkonfiguration: Zwei Rechner mit je zwei Instanzen (stabiler und updatef&auml;hig.).</p>
<p><b>Hot Standby</b> -<br /><b>Routing</b> &#8211; Konfiguration: Szenario &quot;Monatschabschlussbericht.&quot;reportlb zustandslos einrichten<br /><b>Cluster-Session State</b> &#8211; &uuml;ber Domainen hinweg. Nodes bleiben nicht gleich. State auf anderen Rechner auslagern.<br /><b>Zellen</b> &#8211; <b>Distance</b>: Auch zum Trennen unterschiedlicher Standorte weltweit.<br /><b>Virtual Server via Direct Routing</b>. LoadBalancer &auml;ndert R&uuml;ckroute IPVS wird dadurch nicht zum Flaschenhals.<br /><b>Tomcat APR Connector</b>: Direkter OpenSSL-Support in Tomcat. Senden statischer Ressourcen mit OS sendfile (*ix); Viele KeepAlive &#8211; Verbindungskonstrukte jetzt m&ouml;glich (z.B. f&uuml;r AJAX)<b>IOPointer</b> wird Poller zugewiesen. </p>
<p><b>ApacheBench</b> &#8211; TestClient</p>
<p>IO ist derzeit der Performanceblocker, CPU nicht mehr. Gr&ouml;&szlig;te Installation mit 80 Tomcat-Instanzen auf 30-40-Maschinen.</p>
<p>&nbsp;</p>
<p> <span id="more-176"></span><br />
<h2 style="font-size: 11pt; width: 410px"> </h2>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-tomcat-und-apache-in-der-produktion-peter-roabach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Keynote: Bringing Web 2.0 in the Enterprise (Rahul Patel, Oracle)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-keynote-bringing-web-2-0-in-the-enterprise-rahul-patel-oracle/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-keynote-bringing-web-2-0-in-the-enterprise-rahul-patel-oracle/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 11:52:04 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=175</guid>
		<description><![CDATA[â€žMy Definition of Web 2.0: 2 comes after 1â€œ. â€žWikinomicsâ€œTapscott/Williams Challenges and Capabilities of Web 2.0 Single UI Framework approach. Web 2.0 Services Architecture Diagram Learn from Portals. Different types of users. Enterprise communities. Social Networking Key Enablers â€“ Linking and tagging. &#34;Demonstration&#34;: Slides&#8230; Sum up: Absolutely boring, just telling the obvious.]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0cm;">â€žMy Definition of<br />
Web 2.0: 2 comes after 1â€œ. </p>
<p style="margin-bottom: 0cm;">â€žWikinomicsâ€œTapscott/Williams</p>
<p style="margin-bottom: 0cm;">Challenges and Capabilities of Web 2.0</p>
<p style="margin-bottom: 0cm;">Single UI Framework approach.</p>
<p style="margin-bottom: 0cm;">Web 2.0 Services Architecture Diagram</p>
<p style="margin-bottom: 0cm;">Learn from Portals.</p>
<p style="margin-bottom: 0cm;">Different types of users. Enterprise<br />
communities.</p>
<p style="margin-bottom: 0cm;">Social Networking Key Enablers â€“<br />
Linking and tagging.</p>
<p style="margin-bottom: 0cm;">&quot;Demonstration&quot;: Slides&#8230; </p>
<p style="margin-bottom: 0cm;">Sum up: Absolutely boring, just telling the obvious.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-keynote-bringing-web-2-0-in-the-enterprise-rahul-patel-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Apache Trinidad &#8211; JavaServer Faces Erster Klasse! (Matthias Weßendorf, Oracle Corp.)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 10:18:04 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=174</guid>
		<description><![CDATA[Geschichte Oracle-Schenkung (vormals Oracle ADF Faces). Incubator-Projekt beendet am 22.04.2007; jetzt Unterprojekt von MyFaces. Craig Mc Clannaghan Incubator Mentor. Wiki Komponenten Ca. 105 Komponenten. HTML AJAX Renderkit. Dialogframework. Testframework. Facelet-UnterstÃ¼tzung &#34;out-of-the-box&#34;. Dazu sind die Maven-Facelet-Plugins erforderlich. Tomahawk-UnterstÃ¼tzung. AJAX4JSF-, Seam-UnterstÃ¼tzung. Tobago schwierig. tr:charts &#8211; SVG-Graphiken, ziemlich beeindruckend. tr:breadCrumbs &#8211; &#34;HÃ¤nsel u. Gretel-Navigation&#34; tr:document &#8211; individuelle Load-Manipulation. [...]]]></description>
			<content:encoded><![CDATA[<p><b>Geschichte</b></p>
<p>Oracle-Schenkung (vormals Oracle ADF Faces). Incubator-Projekt beendet am 22.04.2007; jetzt Unterprojekt von MyFaces. Craig Mc Clannaghan Incubator Mentor.</p>
<p><a href="http://wiki.apache.org/myfaces/Trinidad">Wiki</a></p>
<p><a href="http://myfaces.apache.org/wiki/Trinidad"></a></p>
<p><b></b></p>
<p><b></b></p>
<p><b>Komponenten</b></p>
<p>Ca. 105 Komponenten. HTML AJAX Renderkit.</p>
<p>Dialogframework. Testframework. Facelet-UnterstÃ¼tzung &quot;out-of-the-box&quot;. Dazu sind die Maven-Facelet-Plugins erforderlich.</p>
<p>Tomahawk-UnterstÃ¼tzung. AJAX4JSF-, Seam-UnterstÃ¼tzung. Tobago schwierig.</p>
<p><i>tr:charts</i> &#8211; SVG-Graphiken, ziemlich beeindruckend.</p>
<p><i>tr:breadCrumbs</i> &#8211; &quot;HÃ¤nsel u. Gretel-Navigation&quot;</p>
<p><i>tr:document</i> &#8211; individuelle Load-Manipulation.</p>
<p><i>tr:form</i> &#8211; Anders als normal</p>
<p><i>tr:icon</i> &#8211; Skin-Icon</p>
<p><i>tr:inputListOfValue</i> action kann sich auf bestimmte Datei beziehen.</p>
<p><i>tr:inputSpinBox</i> Zahlenwert in Mini-List, mit Tastatur Ã¤nderbar</p>
<p><i>tr:legend</i> &#8211; fÃ¼r Skin Icons</p>
<p><i>tr:navigationPane</i> z.B. als Tab gerendert. Abstrakte Klasse aus dem Model Ã¼berschreiben (&quot;Swingy&quot;).</p>
<p />
<p><i>tr:navigationTree</i></p>
<p><i>tr:page</i> &#8211; f. Grundstruktur d. Layouts</p>
<p><i>tr:panel</i> &#8211; diverse Layout-Komponenten, Border-, Group-, Form-Layout (wie Layout-Mgr). (###?Tomahawk document?###) </p>
<p><i>tr:poll</i> Fortschrittsbalken &#8211; ziemlich cool &#8211; partialTriggers=&quot;poll&quot; setzen. So lange wie Transaktion nicht abgeschlossen, wird die Seite angezeigt. action=&quot;[Seite/Zustand nach Beendigung]&quot;; Beispiel: Auch fÃ¼r regelmÃ¤ÃŸiges Pollen auf Daten mÃ¶glich (z.B. Aktienticker). Auch z.B. zum ÃœberprÃ¼fen aktiver Session.</p>
<p><i>tr:selectOne[...]</i> &#8211; Zum AuswÃ¤hlen nur eines Elements (v.a. choice)</p>
<p><i>tr:selectManyShuttle</i> &#8211; zwei ListBoxes mit MÃ¶glichkeit, Werte von einer in die andere zu Ã¼bertragen.</p>
<p><i>tr:singleStepButton</i> </p>
<p><i>tr:subform</i> &#8211; Vorversenden von Formteilen</p>
<p><i>tr:treeTable</i> </p>
<p>Table-Sortierung sehr einfach, ebenso Selektion. </p>
<p><i>tr:setActionListener</i> (auch in JSF 1.2 default &#8211; fÃ¼r den Service Manager sehr interessant).</p>
<p />
<p />
<p />
<p><b>Projektstruktur</b></p>
<ul>
<li><i>trinidad-api</i> <br />Basisklassen, abstrakte Klassen, Code nur fÃ¼r Trinidad-Entwickler interessant&#8230;</li>
<li><i>trinidad-impl</i></li>
<li><i>trinidad-build</i></li>
</ul>
<p>JSF-Komponentenerstellung beschrÃ¤nkt sich auf das Schreiben lediglich der Rendererklasse (!). Facelets u.U. problematisch. </p>
<p> </p>
<p><b>Framework</b></p>
<p>API. Vereinfachung der Komponentenerstellung. Dialogframework. Optimierte Komponentenspeicherung: UIXComponentBase benutzt direkt Map und delegiert Bean-Methoden. </p>
<p> Maven2-Plugins. TagDoc Personalisierung. Skinning-Dateien.</p>
<p>Dialogframework z.B: fÃ¼r Wizards. processScope zw. Request und Session. Events: launch und return. </p>
<p><b>HTML AJAX RenderKit</b></p>
<p>Partial Page Rendering. iframe anstelle von XmlHttpRequest-Objekt. Clientseitige Validierung, kein form.submit(). WÃ¤re u.U. auch sehr interessant f. Service Manager.</p>
<p><i>autoSubmit</i> &#8211; input Components f. action, <i>partialSubmit</i> &#8211; command, partialTriggers &#8211; fÃ¼r listener, bezieht sich auf partial/autoSubmit Komponente</p>
<p>PPR via Java API auch mÃ¶glich (in action-Methode; RequestContext-Objekt von Trinidad nicht mit Faces-OBjekt verwechseln.).</p>
<p><i>RenderKit Extension</i> &#8211; JS an Client senden (programmatisch).</p>
<p>RenderKit Skinning Architecture. CSS anlegen, registrieren in <i>trinidad-config.xml</i> und <i>trinidad-skins.xml</i></p>
<p>Referenzieren auf Komponenten Ã¼ber Pseudoelemente, <i>af|Komponente::Attribut { &#8230; }</i> </p>
<p>Skinning-Verhalten Ã¼ber EL dynamisch Ã¤nderbar! </p>
<p>Accessibility: default, inaccessible, screenreader (f. Blinde), right-to-left, debug-output</p>
<p>Demo-Anwendung <a href="http://code.google.com/p/facesgoodies">http://code.google.com/p/facesgoodies</a>.</p>
<p><b></b></p>
<p><b></b></p>
<p />
<p><b>Arbeiten mit Trinidad</b></p>
<p>Vergleich JSF-Standard ./. Trinidad. Sehr angenehm: tr-Tags mit anderen (f) einsetzbar.</p>
<p>JSF 1.2 nur im branch, wartet auf MyFaces update. Aber stable, mit &quot;magic script&quot; permanentes Merge, derzeit keine nightly builds, das Continuum derzeit down.</p>
<p><b>Gesamteindruck</b></p>
<p>Sehr mÃ¤chtig, sehr traurig, dass das HTML AJAX RenderKit auf iframe basiert</p>
<p><b></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Keynote From Eclipse to Jazz (Erich Gamma)</title>
		<link>http://blog.gresch.de/2007/04/24/jax-2007-keynote-from-eclipse-to-jazz-erich-gamma/</link>
		<comments>http://blog.gresch.de/2007/04/24/jax-2007-keynote-from-eclipse-to-jazz-erich-gamma/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 17:30:54 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=173</guid>
		<description><![CDATA[Learning, describing, tooling &#34;The Eclipse way&#34;. From closed to open &#8211; not only regarding OS, but also direct interaction with the dev team. Project gives community and vice versa. &#34;Village Effect&#34; create accountability without blaming others. Transparency &#8211; who does what. Continuity (?) =&#62; continuous health. Mindmap of Eclipse practices ###get### Organizational Patterns of Agile [...]]]></description>
			<content:encoded><![CDATA[<p>Learning, describing, tooling &quot;The Eclipse way&quot;.</p>
<p>From closed to open &#8211; not only regarding OS, but also direct interaction with the dev team.</p>
<p>Project gives community and vice versa. &quot;Village Effect&quot; create accountability without blaming others. Transparency &#8211; who does what. Continuity (?) =&gt; continuous health.</p>
<p>Mindmap of Eclipse practices ###get###</p>
<p><i>Organizational Patterns of Agile SW Dev</i> / Coplien ###get###</p>
<p>Bugzilla Pivotgraph demo. </p>
<p>EPF examples. Bottom-down-and-up-collaboration; </p>
<p>Process/practice awareness: Instead of writing documentation help on the tool level.First products 2 b released in 2008. &quot;Open commercial&quot; software &#8211; seems that Jazz&#8217;ll be fully commercial (hm, maybe as commercial as EPF is considering the &quot;RUP composer&quot;). </p>
<p>Jazz overview. Team first &#8211; codesharing.</p>
<p><b>KG&#8217;s summary</b></p>
<p>Finally we can see something &#8211; after a long time of waiting (since <a href="http://portal.acm.org/citation.cfm?id=965670&#038;coll=portal&#038;dl=ACM&#038;CFID=21208174&#038;CFTOKEN=43773194" target="_blank">http://portal.acm.org/citation.cfm?id=965670&amp;coll=portal&amp;dl=ACM&amp;CFID=21208174&amp;CFTOKEN=43773194</a> I&#8217;m eager to see more) there&#8217;s a clear concept. If I understood it correctly, the tool-suite shall only be released commercially <img src='http://blog.gresch.de/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' />  </p>
<p>I hope this can be understood in the sense of never giving Eclipse for free or the RUP composer&#8230; I assume, there&#8217;ll be connectors to Lotus or Rational stuff &#8211; hope this&#8217;ll be a separate commercial part.</p>
<p>The vision I understood was this: One can design a collaborative process within EPF and apply it to Jazz-enabled IDEs in the way that it ensures that the developers stick to the process. This would work &#8211; plain documentation not.</p>
<p />
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/24/jax-2007-keynote-from-eclipse-to-jazz-erich-gamma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Simplifying Enterprise Applications with AOP and Spring 2.0 (Rod Johnson, Spring Lead)</title>
		<link>http://blog.gresch.de/2007/04/24/jax-2007-simplifying-enterprise-applications-with-aop-and-spring-2-0-rod-johnson-spring-lead/</link>
		<comments>http://blog.gresch.de/2007/04/24/jax-2007-simplifying-enterprise-applications-with-aop-and-spring-2-0-rod-johnson-spring-lead/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 15:03:16 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=172</guid>
		<description><![CDATA[AOP:General Introduction Comparison OOP and AOP. AOP 2 complement OOP. Don&#8217;t oversimplify. Common vocabulary: Service layer &#8211; business service &#8211; data access layer &#8211; dao &#8211; repository &#8211; web layer. Also patterns. (Speaks in a quite strange manner. Somehow I can imagine him ~20 years older with a long beard speaking the same way). Mismatch [...]]]></description>
			<content:encoded><![CDATA[<p><b>AOP:General Introduction</b></p>
<p>Comparison OOP and AOP. AOP 2 complement OOP. Don&#8217;t oversimplify. </p>
<p><i>Common vocabulary</i>: Service layer &#8211; business service &#8211; data access layer &#8211; dao &#8211; repository &#8211; web layer. Also patterns. </p>
<p>(Speaks in a quite strange manner. Somehow I can imagine him ~20 years older with a long beard speaking the same way).</p>
<p><i>Mismatch between common vocabulary and implementation</i> =&gt; solution is abstraction of the vocabulary and reduce every requirement to one code module.</p>
<p>No way to express the layer abstraction with a programming language like Java. <i>Pointcuts</i> do. E.g. service layer should be transactional.</p>
<p><i>Advices</i>. <i>@AfterThrowing</i> (AspectJ 5). Good practice: Mention pointcut here (for reuse).</p>
<p>AspectJ 5 Expression language. </p>
<p>Argument binding, e.g. <i>@AfterThrowing(throwing=&quot;hibernateException&quot;, pointcut=&quot;MyApp.dataAccessOperation()&quot;)</i></p>
<p>Aspects like classes, Advices live in Aspects.</p>
<p><i>&lt;aop:autoproxy /&gt;</i>-Switches AspectJ-support on.</p>
<p>AOP with Spring and Java &lt; 1.5. E.g. for existing code. &quot;Volatility&quot; of pointcuts &#8211; stability of advices.</p>
<p>Spring 2.0: <i>@Repository + DAO</i> (? ###check annotation###)</p>
<p><i>ProceedingJoinPoint</i></p>
<p>Argument binding better than join point parsing; around advice needs 1st arg ProceedingJoinPoint.</p>
<p>Idempotent operations: Runtime.RUNTIME_RETENTION_POLICY arg. =&gt; ###read###</p>
<p>AspactJ language extension, e.g. public <b>aspect</b> SystemArchitecture {}</p>
<p>(Example requirement: no calls to the web layer). AJDT.</p>
<p><i>declare warning</i>/error &#8211; example to check architectural rules even by preventing the programmer from compile the code.</p>
<p>Spring 2.0 integration &#8211; still AOP proxy. Mostly different pointcut definition language extended. Also along with Spring AOP. </p>
<p>=&gt;openJPA ###check###</p>
<p>AspectJ for policy enforcement/exploration, infrastructure/domain</p>
<p />
<p><i></i></p>
<p />
<p><i></i></p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/24/jax-2007-simplifying-enterprise-applications-with-aop-and-spring-2-0-rod-johnson-spring-lead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: GWT &#8211; Creating ajaxified web applications with ease (Jens Nixdorf, Christian Bien, prodyna)</title>
		<link>http://blog.gresch.de/2007/04/24/jax-2007-gwt-creating-ajaxified-web-applications-with-ease-jens-nixdorf-christian-bien-prodyna/</link>
		<comments>http://blog.gresch.de/2007/04/24/jax-2007-gwt-creating-ajaxified-web-applications-with-ease-jens-nixdorf-christian-bien-prodyna/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 12:23:31 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=171</guid>
		<description><![CDATA[Session war auf Deutsch, trotz des Titels. &#160; Teaser: Showcase Office demo: Mail, Bildverwaltung. Drag&#39;n Drop-Beispiel. &#160; GWT-Konzepte Motivation &#8211; ajaxified -&#34;nicht nur Anwendungen, die AJAX verwenden, sondern RC, desktop-&#228;hnlich&#34;. Neuer Ansatz: Java-only code. Kompiliert zu HTML, JS, CSS. GWT principles. Components: UI library, Java2JS compiler; Language support &#60; Java 5. Hosted mode shell. JSNI. [...]]]></description>
			<content:encoded><![CDATA[<p>Session war auf Deutsch, trotz des Titels.</p>
<p>&nbsp;</p>
<p><strong>Teaser: Showcase</strong></p>
<p>Office demo: Mail, Bildverwaltung.  Drag&#39;n Drop-Beispiel.</p>
<p>&nbsp;</p>
<p><strong>GWT-Konzepte</strong></p>
<p>Motivation &#8211; ajaxified -&quot;nicht nur Anwendungen, die AJAX verwenden, sondern RC, desktop-&auml;hnlich&quot;.</p>
<p>Neuer Ansatz: Java-only code. Kompiliert zu HTML, JS, CSS. GWT principles. </p>
<p>Components: UI library, Java2JS compiler; Language support &lt; Java 5.</p>
<p>Hosted mode shell. JSNI. XML, JSON support. GWT designer.</p>
<p><strong>Beispiel</strong>: Hello World</p>
<p>Project creator script. <em>%GWT_HOME%projectCreator -eclipse GwtHelloWorld</em></p>
<p>NN&nbsp;</p>
<p>applicationCreator</p>
<p>Client-Klasse ben&ouml;tigt Client-suffix.</p>
<p>Hosted mode shell.</p>
<p><em>GwtHello.gwt.xml </em>- Modulbeschreibungsdatei. /public-Verzeichnis enth&auml;lt statische Elemente. &lt;meta&gt;-Tag in HTML und einbinden der JS-Datei.</p>
<p>&nbsp;</p>
<p><strong>Genauerer &Uuml;berblick</strong></p>
<p><strong>Module</strong></p>
<p>module descriptor, client subpackage (Java client code), public subpackage.</p>
<p><strong>Widgets + Panels</strong></p>
<p>Widgets: Eigentliche GUI-Componenten, listener (Swing-&auml;hnlich?). Panels: F&uuml;r Anordnung der Widgets. Composites aus mehreren Widgets. Selbsterstellung rein &uuml;ber Java.</p>
<p>RootPanel: Stellt Schnittstelle zu statischen HTML dar. CellPanels, an Swing Layout-Manager angelehnt. TabPanel und StackPanel. PopupPanel, DialogBox. Hyperlink-Panel: Stellt Punkt/Status der App dar (History Funktionsverlinkung n&ouml;tig).  </p>
<p><strong>i18n</strong></p>
<p>Eingebaut &#8211; drei M&ouml;glichkeiten, lokalized. Klasse pro Sprache. i18nCreator &#8211; Script mit Property-Dateien. Interface mit Methode; JavaScript-dynamischer.</p>
<p><strong>RPC-Calls</strong>AJAX-calls gewrappt mit RCP-Idiom. Protokoll propriet&auml;r, Transport via JSON. </p>
<p>RemoteServiceServlet Implementierung. Servlet-Mapping, URL-Mapping enth&auml;lt zus&auml;tzlich Pfadangabe.</p>
<p>ClientCall-Beispiel. onSuccess/onFailure. </p>
<p>Was kann man transportieren? Primitive, String, Date, alle Arrays der serialisierbaren Typen. LinkedList nicht unterst&uuml;tzt. </p>
<p>Userdefined Types. IsSerializable direkte Implementierung. </p>
<p>&nbsp;</p>
<p><strong>In-depth view</strong></p>
<p>Customization</p>
<p><em>Drei Ans&auml;tze</em>: </p>
<p>Ableitungen von UIObjects, Widgets.</p>
<p>Composite von mehreren Widgets.</p>
<p>JSNI &#8211; keword native &#8211; dann keine Java-Kompilierung. JS-Code darin auskommentiert.</p>
<p>Clientquellcode + Bin&auml;rkode in jar. Jar im Classpath des GWT-Kompilers. Ggf. Launch-Konfiguration in Eclipse anpassen. </p>
<p>&nbsp;</p>
<p><strong>Wichtige Erweiterung: GWT-Widget-Library (Robert Hanson).</strong></p>
<p> Viele interessante Widgets. Ferner: GWTSpringController. Bugfixes. </p>
<p>&nbsp;</p>
<p><strong>Evaluierung &#8211; Warum und wann an die Nutzung vom GWT denken?</strong></p>
<p>JS und HTML selbst organisieren. Viele Nachteile. </p>
<p>JS Framworks verwenden. Dojo; Scriptaculous/Prototype. Langsam, schwierig, schlecht zu plflegen. </p>
<p>Echo2; </p>
<p>General Interface (Tibco) (+/DirectWebRemoting).</p>
<p>AdobeFlex2 / OpenLaslo/ XUL: Browserunterst&uuml;tzung sehr problematisch.</p>
<p>GWT</p>
<p>contra: Konventionen m&uuml;ssen erst erlernt werden; CSS zur Beschreibung de Widgets. fehlende Unterst&uuml;tzung von 1.5; kein MVC; </p>
<p>pro: In Java verbleiben, also Debugging, Unit-Tests etc. etc.</p>
<p>g4jsf-Integration der Komponenten in JSF.</p>
<p>Attlassian GWTDesigner. &quot;Ohne JS l&auml;uft nichts&quot;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/24/jax-2007-gwt-creating-ajaxified-web-applications-with-ease-jens-nixdorf-christian-bien-prodyna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Mylar &#8211; The Task Focused UI (Mik Kersten, Mylar Lead)</title>
		<link>http://blog.gresch.de/2007/04/24/jax-2007-mylar-the-task-focused-ui-mik-kersten-mylar-lead/</link>
		<comments>http://blog.gresch.de/2007/04/24/jax-2007-mylar-the-task-focused-ui-mik-kersten-mylar-lead/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 09:58:27 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[mylar]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=170</guid>
		<description><![CDATA[Objective/Background Eclipse overloaded with information. E.g. Package Explorer in normal projects.Context loss when multi-tasking. No integration with IDE workflow. Demo Eclipse &#34;empty&#34; except of task view. Hyperlinking also to sourcecode (### &#8211; need to check).Search view &#8211; (### try with Trac).Search for Duplicates when submitting a bug based on stack trace. Collaboration Template for commit [...]]]></description>
			<content:encoded><![CDATA[<p><b>Objective/Background</b></p>
<p>Eclipse overloaded with information. E.g. Package Explorer in normal projects.<br />Context loss when multi-tasking. No integration with IDE workflow.</p>
<p><b>Demo</b></p>
<p>Eclipse &quot;empty&quot; except of task view. Hyperlinking also to sourcecode (### &#8211; need to check).<br />Search view &#8211; (### try with Trac).<br />Search for Duplicates when submitting a bug based on stack trace.</p>
<p><b>Collaboration</b></p>
<p>Template for commit messages. Mylar-teamrule: Never write your own commit message.</p>
<p>### Eclipse UI for only searching and submitting. ###</p>
<p><b>Planning</b></p>
<p>Focus on work week; <b></b></p>
<p><b>Schedule</b></p>
<p>2.0 June 29th (with Europa)</p>
<p><b>Background</b></p>
<p>Decrease-of-interest model. Both direct and indirect. Landmark/Interesting/Uninteresting. </p>
<p><b>Framework</b></p>
<p>Four different APIs. Look the docs.</p>
<p><b>Integration</b></p>
<p>Xplanner-Connector. IssueZilla; Rally Software; Code Beamer; DLTK Structure Bridge (supporting ); </p>
<p><b>Tasktop-Demo</b></p>
<p>Task-based work also for office work. Unfortunately focussed on MS Office (and therefor MS Windows).</p>
<p>Default-Browser = Eclipse;</p>
<p />
<p><b></b></p>
<p><b></b></p>
<p><b></b></p>
<p />
<p><b></b></p>
<p><b></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/24/jax-2007-mylar-the-task-focused-ui-mik-kersten-mylar-lead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Multithreading im Zeichen von Mehrkernprozessoren (Steffen Schluff (OiO), Patrick Garcia Taboada)</title>
		<link>http://blog.gresch.de/2007/04/24/jax-2007-multithreading-im-zeichen-von-mehrkernprozessoren-steffen-schluff-oio-patrick-garcia-taboada/</link>
		<comments>http://blog.gresch.de/2007/04/24/jax-2007-multithreading-im-zeichen-von-mehrkernprozessoren-steffen-schluff-oio-patrick-garcia-taboada/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 08:03:45 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=169</guid>
		<description><![CDATA[Neue Herausforderung (?) Multi-Core Dilemma: Sehr aktuelle Diskussion; durch java.util.concurrent angefacht, JSR 166, ebenso durch Multiprozessorarchitekturen. &#34;Krieg der Kerne&#34; iX. Patrick Leonhard-Blog. Steigerung der CPU-Frequenz nicht alleinige &#34;Performanceschraube&#34;. Nur linearer Anstieg d. Stromverbrauchs bei Mehrkernarchitektur, platzsparend. www.despair.com Zukunftsprognosen: Cache-VergÃ¶ÃŸerung sorgt weiterhin f. Beschleunigung. Concurrent-Software wird fÃ¼r Nutzung immer wichtiger. Begrifflichkeit &#8211; &#34;MehrfÃ¤digkeit&#34;. Multithreading iRv Java [...]]]></description>
			<content:encoded><![CDATA[<p><b>Neue Herausforderung (?)</b></p>
<ul>
<li>Multi-Core Dilemma: Sehr aktuelle Diskussion; durch <i>java.util.concurrent</i> angefacht, JSR 166, ebenso durch Multiprozessorarchitekturen. &quot;Krieg der Kerne&quot; iX. Patrick Leonhard-Blog. </li>
<li>Steigerung der CPU-Frequenz nicht alleinige &quot;Performanceschraube&quot;.</li>
<li>Nur linearer Anstieg d. Stromverbrauchs bei Mehrkernarchitektur, platzsparend.</li>
<li>www.despair.com</li>
<li>Zukunftsprognosen: Cache-VergÃ¶ÃŸerung sorgt weiterhin f. Beschleunigung. Concurrent-Software wird fÃ¼r Nutzung immer wichtiger.</li>
</ul>
<p>Begrifflichkeit &#8211; &quot;MehrfÃ¤digkeit&quot;.</p>
<p>Multithreading iRv Java EE. Einzig EJBs sind per se threadsave. Servlet 2.4 macht SingleThreaded Modell deprecated &#8211; kein Verlass. Spring nur Data Access Templates, Business Services bleiben in der Entwicklerverantwortung.</p>
<p>Cincurrency Utilities, Doug Lea, mit Java 1.5 in <i>java.util.concurrent </i>berÃ¼cksichtigt. Concurrent Collections, Executor Framework. Synchronizers (Semaphore, CountDownLatch, CyclicBarrier, Exchanger), Locks (ObjektprÃ¤sentation von <i>synchronized</i>) und Conditions, Atomic Variables.</p>
<p>Collection-synchronied grobgranular, skaliert schlecht, MulticoreunterstÃ¼tzung fehlt.</p>
<p>synchronized Wrapper-Beispiel.</p>
<p> Threadsafe und Concurrent &#8211; Unterscheidung.</p>
<p>VerÃ¤nderte Semantik &#8211; Iteratoren bislang fail-fast, jetzt &quot;weakly consistent&quot;.</p>
<p />
<p>Java 6: ConcurrentSkipListMap; Collection Interfaces (ab 1.5): Queue, BlockingQueue, ab 1.6: Deque (&quot;Double Ended Queue&quot;), Blocking  Deque .</p>
<p>Executor Framework &#8211; Task durch Runnable beschrieben; Submission &#8211; Executor; <b>S</b>ingle<b>M</b>ethod<b>I</b>nterface; </p>
<p>ThreadPoolExecutor &#8211; Subklasse ScheduledThreadPoolExecutor</p>
<p>Executors &#8211; Utility-Methoden;</p>
<p>Starten und stoppen des ThreadPools. ExecutorService &#8211; Lifecycle-Verwaltung; ThreadPool</p>
<p>Life-Demo</p>
<p />
<p />
<p />
<p />
<p />
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/24/jax-2007-multithreading-im-zeichen-von-mehrkernprozessoren-steffen-schluff-oio-patrick-garcia-taboada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Keynote Tim Boudreau</title>
		<link>http://blog.gresch.de/2007/04/24/jax-2007-keynote-tim-boudreau/</link>
		<comments>http://blog.gresch.de/2007/04/24/jax-2007-keynote-tim-boudreau/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 07:40:10 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=168</guid>
		<description><![CDATA[&#34;Waterline&#34; of recognizability &#8211; AT machines etc. etc. Historical walkthrough of the programmer&#8217;s toolbox development. More stuff gets unrecognized, holy grail is natural language development (Star Trek). Some Sun marketing. Tools: Especially NetBeans 6 MR &#8211; Ruby support, even Rails &#34;out of the box&#34;, also PHP. Code completion. Called himself &#8220;Mr. NetBeans&#8221;. Wouldn&#8217;t reflect my [...]]]></description>
			<content:encoded><![CDATA[<p>&quot;Waterline&quot; of recognizability &#8211; AT machines etc. etc. Historical walkthrough of the programmer&#8217;s toolbox development. More stuff gets unrecognized, holy grail is natural language development (Star Trek).</p>
<p>Some Sun marketing. Tools: Especially NetBeans 6 MR &#8211; Ruby support, even Rails &quot;out of the box&quot;, also PHP. Code completion.</p>
<p>Called himself &#8220;Mr. NetBeans&#8221;. Wouldn&#8217;t reflect my style.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/24/jax-2007-keynote-tim-boudreau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007 &#8211; Hands on Apache Axis (Thilo Frotscher, Marc Teufel)</title>
		<link>http://blog.gresch.de/2007/04/23/jax-2007-hands-on-apache-axis-thilo-frotscher-marc-teufel/</link>
		<comments>http://blog.gresch.de/2007/04/23/jax-2007-hands-on-apache-axis-thilo-frotscher-marc-teufel/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 07:12:06 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[axis]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[ws]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=167</guid>
		<description><![CDATA[Einf&#252;hrung Axis 1 &#8211; Retro; u.a. in WAS integriert, Inkompatibilit&#228;ten; Axis 2 &#8211; Anforderungen ge&#228;ndert, nicht mit Axis 1 erreichbar; WS-Security; Performance; 3rd Generation WS Framwework; andere XFire, MS Indigo; Axis 2 mit asynchronem Modell; MEP &#8211; Message Exchange Pattern; Pull-Parser / StAX; Unterschiedliche Data Bindingm&#246;glichkeiten; MTOM/SwA Attachments; WSDL 2.0; Handlerketten dynamisch; Hot Deployment/Hot Update [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Einf&uuml;hrung</strong><br />
Axis 1 &#8211; Retro; u.a. in WAS integriert, Inkompatibilit&auml;ten;</p>
<p>Axis 2 &#8211; Anforderungen ge&auml;ndert, nicht mit Axis 1 erreichbar; WS-Security; Performance; 3rd Generation WS Framwework; andere XFire, MS Indigo; </p>
<p>Axis 2 mit asynchronem Modell; <strong>MEP</strong> &#8211; Message Exchange Pattern; Pull-Parser / StAX; Unterschiedliche Data Bindingm&ouml;glichkeiten; MTOM/SwA Attachments; WSDL 2.0;<br />
Handlerketten dynamisch; Hot Deployment/Hot Update f. Services; Modularisierungsf&auml;higkeit;</p>
<p>Erl&auml;uterung Streaming-Parser  vers. DOM-Parser; Push (z.B. SAX) vers. Pull Parser; StAX &#8211; Streaming API for XML</p>
<p><b>Axiom</b> <br />
eingest&auml;ndiges Projekt, wrappt StAX;<br />
Simuliertes baumbasiertes Parsing; &quot;deferred building&quot;; in Wirklichkeit Stream-Parser im Hintergrund;</p>
<p>Spez. SOAP-API;</p>
<p><b>Service Archive</b><br />
*.aar; neues Deploymentmodell; Ant-, Eclipse-Unterst&uuml;tzung; META-INF muss zumindest  services.xml enthalten, normalerweise auch die WSDL-Dateien.<b></p>
<p>Repository</b><br />
Ein R. f&uuml;r jede Axis-Installation; Standalone-Services m&ouml;glich; HTTP;TCP;SMTP/JMS-Listener; zwei Ordner: <i>services</i> (&#8230;) und <i>modules</i> (Erweiterungen);</p>
<p>
Automatischer REST-Support (muss gesondert disabled werden).</p>
<p>
&Auml;nderungen in Axis-Konsole <b>nicht</b> persistent, also nicht f&uuml;r Produktivbetrieb geeignet!  &Auml;nderungen m&uuml;ssen in Service-Archiven vorgenommen werden, um persistent zu sein;</p>
<p><b>XML Data Binding</b></p>
<ul>
<li>ADB (Axis D.B.); Default;</li>
<li>XMLBeans;</li>
<li>JiBX;</li>
<li>JaxME;</li>
<li>JAXB-Reference Implementation;</li>
</ul>
<p>Entscheidender Einfluss auf Gesamtperformance; ggf. auf DB-Framework verzichten;</p>
<p><b>Axis2-Engine</b></p>
<p>SOAP-Request (HTTP)<br />
=&gt;AxisServlet~MessageContext-MC_req~<br />
=&gt;AxisEngine~H1&#8230;n (Message Handler, weitergeben, transformieren, filterm&auml;&szlig;ig)~[end in-flow]<br />
=&gt;<b>MessageReceiver</b> (ruft WS auf, dieser kann alles durch Java Aufrufbare sein; leicht selbst zu implemetieren)<br />
=&gt;WS-Aufruf<br />
=&gt;MessageReceiver (wei&szlig; um Synchronit&auml;tsinformationen)~MC_resp~<br />
=&gt;[falls Antwort]: neue AxisEngine-Instanz[start out-flow]~H1..n~neu<br />
=&gt;<b>Transport Sender</b>-&gt;MC_resp<br />
=&gt;AxisServlet<br />
=&gt;SOAP response</p>
<p>Frage: Muss Factory f&uuml;r Identifzierung des Clients erstellt werden (im Message Receiver)? Antwort: Letztlich &uuml;ber Message Context</p>
<p><b><br />
Axis auf Clientseite</b><br />
OutInAxisOperation: Verwaltet MC_req und _resp; Vier Flows f&uuml;r Frage/Antwort; Komplement&auml;re Handler; Konfigurierbar, nicht programmatisch, Beispiel: Verschl&uuml;sselung.</p>
<p><b>Phasen</b></p>
<p>&bull; Eine Phase ist</p>
<p><span id="1209368654874E" style="display: none;">&nbsp;</span>&bull; Handler sind mit Regeln verkn&uuml;pft</p>
<blockquote>
<ul type="circle">
<li>In welche Phase soll der Handler kommen?</li>
<li>Soll er erster Handler einer Phase sein oder letzter?</li>
<li>&bdquo;Handler A immer vor/nach Handler B ausf&uuml;hren&ldquo;</li>
</ul>
</blockquote>
<p>&bull; Standard-Phasen:</p>
<blockquote><p>    Transport, Security, Pre-Dispatch, Dispatch, Policy Determination</p></blockquote>
<p>&bull; Konzept erlaubt dynamische Anordnung von Handlern</p>
<p>&nbsp;</p>
<p><b>Module</b></p>
<ul>
<li>Gruppieren Menge von Handler;</li>
<li>Separat deployed (*.mar);</li>
<li>Beispiele f&uuml;r Module; Z.B. Transformation &auml;lterer Nachrichtenstrukturversionen. SOAP-Monitor.</li>
<li>Engaging-Konzept &#8211; Modul wird f&uuml;r bestimmte Services/Service Gruppen aktiviert;</li>
</ul>
<p><b><br />
Client-API</b><br />
AXIOM-basiert; RPC-Kommunikation unterst&uuml;tzt; Dual protocol transport in request + response;  WS-Addressing support; echte Asynchronizit&auml;t;</p>
<p><b><br />
Code-Generierung</b><br />
Derzeit: Java, C#, C++. XML-Darstellung von Konfiguration und WSDL. Ant-Unterst&uuml;tzung. Java2WSDL (&#8230;). Maven2 bald. WS-Policy basierte Erweiterungen. Lifecycle-Management (f. Inbetriebnahme etc.).</p>
<p>JAX-WS + Annotations. JSON.</p>
<p><b><br />
Entwicklungsbeispiel</b><br />
Code-first (Implementierung zuerst) / Contract first (WSDL/Schema zuerst). Problematisierung des Code-first-Ansatzes. Arbeit von WS-I unterst&uuml;tzt Interoperabilit&auml;t besser, deshalb geringeres Risiko. Hinweis: Generierte WSDL-Datei mit WS-I-Tools pr&uuml;fen!</p>
<p>
<b>POJO-Beispiel</b></p>
<ol>
<li>POJO programmieren.</li>
<li>Service-Konfigurationsdatei schreiben (<i>service<b>s</b>.xml</i>).</li>
<li>Service-Archiv erstellen.</li>
<li>Deployment.</li>
</ol>
<p>RPC-Message-Receiver f. POJOS. Bestimmte Methoden k&ouml;nnen ausgeschlossen werden (in <i>services.xml</i>, excludeOperations-Tag). Dateiname d. Service-Archivs bestimmt den Namen.</p>
<p>
Einfaches Beispiel. Besondere Lektion: &Uuml;berschreiben der Methoden nicht m&ouml;glich, keine Polymorhpie.</p>
<p>
Document-Style sollte vorgezogen werden. RPC &uuml;ber Reflection. Document-Attribut allgemeiner, deshalb nur scheinbarer Widerspruch, das Struktur RPC entspricht.</p>
<p>
Target-Namespace kann festgelegt werden.</p>
<p>
invokeBlocking (RPCClient): synchroner Aufruf. RPCInOnlyMessageReceiver.</p>
<p><b><br />
Services und Service-Gruppen</b></p>
<p>Gruppen &#8211; einfacher zu deployen. Kommunikation unter Services m&ouml;glich. Dateiname des Servicearchivs: Jeder Service hat ein Name-Attribut. Dateiname = Name der Service-Gruppe.</p>
<p><b><br />
Code-Generierung</b></p>
<p>WSDL2Code-Optionen (&Uuml;bersicht); Eclipse-Plugin l&auml;sst nicht alle Kommandozeilenoptionen zu.</p>
<p>Session-Verwaltung</p>
<p>Handler/Phasen/Module</p>
<p><span id="more-167"></span>
<p>Restaurantservice</p>
<p>Trennung Schemata. WSDL beim PortType beginnen. Data-Binfinh, Service-Klassen,Client Classen; ExtensionMapper &#8211; Hilfsklasse, ignorieren. Generierte Klassen serializeable machen.</p>
<p>Von SkeletonImpl-Datei ableiten und implementieren. Dann Referenz auf &uuml;berschreibende Datei, nicht mehr auf Skeleton.</p>
<p><b>axis2.xml</b> &#8211; zentrale Konfigurationsdatei;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/23/jax-2007-hands-on-apache-axis-thilo-frotscher-marc-teufel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: Jogging</title>
		<link>http://blog.gresch.de/2006/06/06/jax-2006-jogging/</link>
		<comments>http://blog.gresch.de/2006/06/06/jax-2006-jogging/#comments</comments>
		<pubDate>Tue, 06 Jun 2006 18:55:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=23</guid>
		<description><![CDATA[Ein wenig Eitelkeit: Die Dokumentation, dass ich beim JAX Jogging teilnahm. Unvergesslich wird mir der schnaufende, st&#228;mmige, aber blitzschnelle kleine Wiesbadener M&#228;nnertypus sein, ebenso meine &#34;Fehlleitung&#34; hinauf zum Schlossberg, die zeigt, dass auch orientierungslos Gipfel erst&#252;rmt werden k&#246;nnen&#8230; JAX Jogging 2006 featuring KG.]]></description>
			<content:encoded><![CDATA[<p>Ein wenig Eitelkeit: Die Dokumentation, dass ich beim JAX Jogging teilnahm. Unvergesslich wird mir der schnaufende, st&auml;mmige, aber blitzschnelle kleine Wiesbadener M&auml;nnertypus sein, ebenso meine &quot;Fehlleitung&quot; hinauf zum Schlossberg, die zeigt, dass auch orientierungslos Gipfel erst&uuml;rmt werden k&ouml;nnen&#8230;
<div class="serendipity_imageComment_left" style="width: 110px">
<div class="serendipity_imageComment_img"><a href="uploads/jax2006_11.jpg"><img src="uploads/jax2006_11.serendipityThumb.jpg" border="0" width="110" height="83" /></a></div>
<div class="serendipity_imageComment_txt">JAX Jogging 2006 featuring KG.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/06/06/jax-2006-jogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: Angelika Langer: Mob programming session: Java Generics</title>
		<link>http://blog.gresch.de/2006/05/10/jax-2006-angelika-langer-mob-programming-session-java-generics/</link>
		<comments>http://blog.gresch.de/2006/05/10/jax-2006-angelika-langer-mob-programming-session-java-generics/#comments</comments>
		<pubDate>Wed, 10 May 2006 20:24:41 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=16</guid>
		<description><![CDATA[In &#228;u&#223;erst unterhaltsamer, hellwacher Art f&#252;hrte Angelika Langer, bekannt aus ihren Artikeln im Java (?Objekt) Spektrum (mit Klaus Kreft), in die Programmierung mit Generics ein. Geduldig und am&#252;sant ging sie auf alle Fragen aus dem Publikum ein, das ihr schlie&#223;lich den Code f&#252;r eine einfache Pair-Klasse diktieren sollte. Echtes Highlight, sehr beeindruckende Person.]]></description>
			<content:encoded><![CDATA[<p>In &auml;u&szlig;erst unterhaltsamer, hellwacher Art f&uuml;hrte Angelika Langer, bekannt aus ihren Artikeln im Java (?Objekt) Spektrum (mit Klaus Kreft), in die Programmierung mit Generics ein.  </p>
<p>Geduldig und am&uuml;sant ging sie auf alle Fragen aus dem Publikum ein, das ihr schlie&szlig;lich den Code f&uuml;r eine einfache Pair-Klasse diktieren sollte.  Echtes Highlight, sehr beeindruckende Person.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/05/10/jax-2006-angelika-langer-mob-programming-session-java-generics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: Jochen Krause: Eclipse Webtools 1.5 and AJAX</title>
		<link>http://blog.gresch.de/2006/05/10/jax-2006-jochen-krause-eclipse-webtools-1-5-and-ajax/</link>
		<comments>http://blog.gresch.de/2006/05/10/jax-2006-jochen-krause-eclipse-webtools-1-5-and-ajax/#comments</comments>
		<pubDate>Wed, 10 May 2006 13:33:20 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=14</guid>
		<description><![CDATA[AJAX support: Currently only mozilla (Rhino, JSLint) ATF deployment: Problem with 3rd party code: Why not &#8211; at least &#8211; providing the interested with a Maven task? ~ FU: Memory usage in status bar: plugin name? ~ Snippet use vers. code duplication.]]></description>
			<content:encoded><![CDATA[<p>AJAX support: Currently only mozilla (Rhino, JSLint)  ATF deployment: Problem with 3rd party code: Why not &#8211; at least &#8211; providing the interested with a Maven task?  ~ FU: Memory usage in status bar: plugin name?  ~ Snippet use vers. code duplication.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/05/10/jax-2006-jochen-krause-eclipse-webtools-1-5-and-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: SOA Kontrovers (Fragestunde mit N. Josuttis, M. Völker, E. Wolff)</title>
		<link>http://blog.gresch.de/2006/05/10/jax-2006-soa-kontrovers-fragestunde-mit-n-josuttis-m-voelker-e-wolff/</link>
		<comments>http://blog.gresch.de/2006/05/10/jax-2006-soa-kontrovers-fragestunde-mit-n-josuttis-m-voelker-e-wolff/#comments</comments>
		<pubDate>Wed, 10 May 2006 13:52:10 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=13</guid>
		<description><![CDATA[? Kritische Gr&#246;&#223;en f&#252;r Einf&#252;hrung: 2 Leute wohl nicht. Unklar. ? Kein zentrales BO-Model &#252;ber die ganze SOA verteilen (Auffassung Josuttis). Dagegen V&#246;lker: Mindstumfang an zentralen Datentypen muss vorhanden sein, damit SOA in Gro&#223;unternehmen &#252;berhaupt funktioniert. ~ E. Wolff stark hanseatisch gef&#228;rbtes, M. V&#246;lter stark schw&#228;bisch/badisch.]]></description>
			<content:encoded><![CDATA[<p>? Kritische Gr&ouml;&szlig;en f&uuml;r Einf&uuml;hrung: 2 Leute wohl nicht. Unklar. ?</p>
<p> Kein zentrales BO-Model &uuml;ber die ganze SOA verteilen (Auffassung Josuttis). </p>
<p>Dagegen V&ouml;lker: Mindstumfang an zentralen Datentypen muss vorhanden sein, damit SOA in Gro&szlig;unternehmen &uuml;berhaupt funktioniert.  ~ E. Wolff stark hanseatisch gef&auml;rbtes, M. V&ouml;lter stark schw&auml;bisch/badisch.  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/05/10/jax-2006-soa-kontrovers-fragestunde-mit-n-josuttis-m-voelker-e-wolff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: Merciless Refactoring mit Eclipse (II)</title>
		<link>http://blog.gresch.de/2006/05/10/jax-2006-merciless-refactoring-mit-eclipse-ii/</link>
		<comments>http://blog.gresch.de/2006/05/10/jax-2006-merciless-refactoring-mit-eclipse-ii/#comments</comments>
		<pubDate>Wed, 10 May 2006 08:19:20 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=12</guid>
		<description><![CDATA[Nur Notizen: Empfehlung: Michael Feather (?) Working effectively with Legacy Code Architectural smells -&#62; gro&#223;e Refactorings. Characterisierung, best Practices. Teamdiskussionen -&#62; Plan -&#62; Umleitungen: deprecated beg&#252;nden (!) Safe points definieren.]]></description>
			<content:encoded><![CDATA[<p>Nur Notizen: Empfehlung: <em>Michael Feather</em> (?) Working effectively with Legacy Code Architectural smells -&gt; gro&szlig;e Refactorings.</p>
<p> Characterisierung, best Practices. Teamdiskussionen -&gt; Plan -&gt; Umleitungen: deprecated beg&uuml;nden (!) Safe points definieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/05/10/jax-2006-merciless-refactoring-mit-eclipse-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: Keynote Craig Mc Clanahan: Future of Web Frameworks</title>
		<link>http://blog.gresch.de/2006/05/09/jax-2006-keynote-craig-mc-clanahan-future-of-web-frameworks/</link>
		<comments>http://blog.gresch.de/2006/05/09/jax-2006-keynote-craig-mc-clanahan-future-of-web-frameworks/#comments</comments>
		<pubDate>Tue, 09 May 2006 15:36:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=11</guid>
		<description><![CDATA[Viele &#220;berlappungen mit der Struts-/JSF-Session zuvor. Nichts neues.]]></description>
			<content:encoded><![CDATA[<p>Viele &Uuml;berlappungen mit der Struts-/JSF-Session zuvor. Nichts neues.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/05/09/jax-2006-keynote-craig-mc-clanahan-future-of-web-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2006: Craig Mc Clanahan: Struts and JSF</title>
		<link>http://blog.gresch.de/2006/05/09/jax-2006-craig-mc-clanahan-struts-and-jsf/</link>
		<comments>http://blog.gresch.de/2006/05/09/jax-2006-craig-mc-clanahan-struts-and-jsf/#comments</comments>
		<pubDate>Tue, 09 May 2006 15:31:43 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[JAX]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=9</guid>
		<description><![CDATA[High-Level gehaltener Vergleich zwischen Struts (1.3) und JSF. Eher eine Einf&#252;hrung in JSF, gro&#223;es &#34;Ahaa&#34; bei vielen, die sich offenbar noch nicht den Studio Creator angeschaut haben. Einige interessante Details zu Shale und ein paar Worte zu SAF 2.0 (Merger mit WebWorks.). Insgesamt sind die Sessions doch weit trivialer gehalten, als ich erwartet hab.]]></description>
			<content:encoded><![CDATA[<p>High-Level gehaltener Vergleich zwischen Struts (1.3) und JSF. Eher eine Einf&uuml;hrung in JSF, gro&szlig;es &quot;Ahaa&quot; bei vielen, die sich offenbar noch nicht den Studio Creator angeschaut haben.   Einige interessante Details zu Shale und ein paar Worte zu SAF 2.0 (Merger mit WebWorks.).  Insgesamt sind die Sessions doch weit trivialer gehalten, als ich erwartet hab.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/05/09/jax-2006-craig-mc-clanahan-struts-and-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

