<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3840302021974306502</id><updated>2011-12-18T23:49:41.721-08:00</updated><category term='jboss'/><category term='bam'/><category term='bpm'/><category term='gwt'/><category term='ux'/><category term='jboss7'/><title type='text'>The relative importance of order</title><subtitle type='html'>New and updates on the JBoss AS 7 management funtionality.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2355621364289249073</id><published>2011-12-16T05:57:00.001-08:00</published><updated>2011-12-16T05:59:47.669-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>JBoss AS 7: Updated look&amp;feel for CR1</title><content type='html'>The JBoss 7 console gets a new look&amp;feel with AS 7.1.CR1:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Before&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-B1lMBi3qSRs/TutOqjIP2BI/AAAAAAAAAG8/GWBkaZQQgDY/s1600/org_before.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 264px;" src="http://3.bp.blogspot.com/-B1lMBi3qSRs/TutOqjIP2BI/AAAAAAAAAG8/GWBkaZQQgDY/s320/org_before.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5686725447376689170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;After&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-hihlZ1kqlgs/TutOkx6HuSI/AAAAAAAAAGw/vUNGhdfAJj4/s1600/console.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 275px;" src="http://4.bp.blogspot.com/-hihlZ1kqlgs/TutOkx6HuSI/AAAAAAAAAGw/vUNGhdfAJj4/s320/console.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5686725348264753442" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2355621364289249073?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2355621364289249073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2355621364289249073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2355621364289249073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2355621364289249073'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/12/jboss-as-7-updated-look-for-cr1.html' title='JBoss AS 7: Updated look&amp;feel for CR1'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-B1lMBi3qSRs/TutOqjIP2BI/AAAAAAAAAG8/GWBkaZQQgDY/s72-c/org_before.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-184410242462895818</id><published>2011-11-24T23:47:00.000-08:00</published><updated>2011-11-24T23:50:58.126-08:00</updated><title type='text'>iOS design pattern resources</title><content type='html'>The guys from &lt;a href="http://www.cocoanetics.com"&gt;Cocoanetics&lt;/a&gt; have published a great collection of iOS related design pattern resources:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cocoanetics.com/2011/11/steal-good-stuff-ios-design-pattern-collections/"&gt;Have a look, be inspired.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-184410242462895818?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/184410242462895818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=184410242462895818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/184410242462895818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/184410242462895818'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/11/ios-design-pattern-resources.html' title='iOS design pattern resources'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2668910017390839521</id><published>2011-11-16T06:27:00.001-08:00</published><updated>2011-11-16T06:30:05.672-08:00</updated><title type='text'>JUDCon India, Call for Papers</title><content type='html'>JUDCon 2012: India, January 24-25 in Bangalore, will be one of the premier technical JBoss developer events in India. JUDCons attract many of the best and brightest to present, and exchange ideas on JBoss technology.&lt;br /&gt;&lt;br /&gt;Got something to say? Say it at JUDCon 2012: India.&lt;br /&gt;&lt;br /&gt;The JUDCon call for papers is open now through November 26, and session tracks include:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;JBoss AS7 Application Server&lt;br /&gt;&lt;li&gt;Rules,  Workflow, SOA and EAI&lt;br /&gt;&lt;li&gt;OpenShift / Cloud&lt;br /&gt;&lt;li&gt;Cool Stuff (that we just can’t leave out)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Submit your papers here:&lt;br/&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/cfp"&gt;http://www.jboss.org/events/JUDCon/2012/india/cfp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2668910017390839521?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2668910017390839521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2668910017390839521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2668910017390839521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2668910017390839521'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/11/judcon-india-call-for-papers.html' title='JUDCon India, Call for Papers'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-8560548564391888656</id><published>2011-11-08T11:59:00.000-08:00</published><updated>2011-11-08T11:59:41.821-08:00</updated><title type='text'>Networked Society "on the brink"</title><content type='html'>&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/R7cuatm_bqw" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-8560548564391888656?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/8560548564391888656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=8560548564391888656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8560548564391888656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8560548564391888656'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/11/networked-society-on-brink.html' title='Networked Society &quot;on the brink&quot;'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/R7cuatm_bqw/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-9087691903102230219</id><published>2011-10-27T00:49:00.000-07:00</published><updated>2011-10-27T00:49:39.107-07:00</updated><title type='text'>Nielsen: Eyetracking studies</title><content type='html'>Interesting study about how users read on the web:&lt;a href="http://www.useit.com/alertbox/20000514.html"&gt;Eyetracking Study of Web Readers &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-9087691903102230219?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/9087691903102230219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=9087691903102230219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/9087691903102230219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/9087691903102230219'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/10/nielsen-eyetracking-studies.html' title='Nielsen: Eyetracking studies'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-3825635313998405060</id><published>2011-10-17T00:33:00.001-07:00</published><updated>2011-10-17T00:33:33.857-07:00</updated><title type='text'>One Day Talk: Introduction to JBoss AS 7</title><content type='html'>Here are my slides from this year one day talk in munich:&lt;div style="width:425px" id="__ss_9687843"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/hbraun/one-daytalk-hbraunoct2011" title="One daytalk hbraun_oct2011" target="_blank"&gt;One daytalk hbraun_oct2011&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/9687843" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/hbraun" target="_blank"&gt;hbraun&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-3825635313998405060?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/3825635313998405060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=3825635313998405060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3825635313998405060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3825635313998405060'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/10/one-day-talk-introduction-to-jboss-as-7.html' title='One Day Talk: Introduction to JBoss AS 7'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-935299924049452249</id><published>2011-10-06T08:02:00.001-07:00</published><updated>2011-10-06T08:05:58.899-07:00</updated><title type='text'>Turning my room into a kanban board</title><content type='html'>Work needs to be organized. Here's my DIY, pseudo &lt;a href="http://en.wikipedia.org/wiki/Kanban"&gt;Kanban Board&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-EeFGaIt2cSE/To3DU-Fb-GI/AAAAAAAAALc/LXMqd7gi260/s1600/pseudo-kanban.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://2.bp.blogspot.com/-EeFGaIt2cSE/To3DU-Fb-GI/AAAAAAAAALc/LXMqd7gi260/s320/pseudo-kanban.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5660395071705184354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(This is actually the first post, where the name of this blog kind of makes sense...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-935299924049452249?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/935299924049452249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=935299924049452249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/935299924049452249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/935299924049452249'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/10/turning-my-room-into-kanban-board.html' title='Turning my room into a kanban board'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-EeFGaIt2cSE/To3DU-Fb-GI/AAAAAAAAALc/LXMqd7gi260/s72-c/pseudo-kanban.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2454026518985281445</id><published>2011-10-04T05:41:00.000-07:00</published><updated>2011-10-04T05:44:06.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss7: Virtual Machine metrics</title><content type='html'>We've added some simple VM views to current beta upstream. It allows you to monitor thread and heap usage of the VM the server uses:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-HB83Zw2H7VQ/Tor_SOG0oEI/AAAAAAAAALU/Ei2lIWs6Gf8/s1600/Screen%2BShot%2B2011-10-04%2Bat%2B2.41.16%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 268px;" src="http://1.bp.blogspot.com/-HB83Zw2H7VQ/Tor_SOG0oEI/AAAAAAAAALU/Ei2lIWs6Gf8/s320/Screen%2BShot%2B2011-10-04%2Bat%2B2.41.16%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5659616570233888834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There's room for improvements. Tell us what you think...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2454026518985281445?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2454026518985281445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2454026518985281445' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2454026518985281445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2454026518985281445'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/10/managing-jbossas-7-virtual-machine.html' title='Managing JBoss7: Virtual Machine metrics'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-HB83Zw2H7VQ/Tor_SOG0oEI/AAAAAAAAALU/Ei2lIWs6Gf8/s72-c/Screen%2BShot%2B2011-10-04%2Bat%2B2.41.16%2BPM.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2829838412561444796</id><published>2011-09-30T00:10:00.000-07:00</published><updated>2011-09-30T00:16:49.729-07:00</updated><title type='text'>JBoss One Day Talk Munich, 13. Oktober</title><content type='html'>OneDayTalk 2011 - the conference for JBoss and Java Enterprise technologies&lt;br /&gt;&lt;br /&gt;As the successor of the successful JBoss OneDayTalk 2010 conference, the JBoss User Group Munich e.V. will organize a full day JBoss conference in Munich again. On 13.10.2011, everything will once again revolve around JBoss technologies and Java frameworks, with the focus on &lt;a href="http://onedaytalk.org/index.php/program"&gt;current topics&lt;/a&gt; such as Enterprise in the Cloud, Security, Operations, High Availability, Scalability, ESB,Web 2.0, Mobile, Clustering, and BPM / BPEL / BRM content.&lt;br /&gt; &lt;br /&gt;As the successor of the successful JBoss OneDayTalk 2010 conference, the &lt;a href="http://www.google.de/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CCEQFjAA&amp;url=http%3A%2F%2Fwww.jbug-munich.org%2F&amp;ei=g2yFTq6eM9KU0QXatRU&amp;usg=AFQjCNEXizuv9WrtW4EgWE-VrgqsdXMF6g"&gt;JBoss User Group Munich&lt;/a&gt; e.V. will organize a full day JBoss conference in Munich again.On 13.10.2011, everything will once again revolve around JBoss technologies and Java frameworks, with the focus on current topics such as&lt;span style="font-weight:bold;"&gt; Enterprise in the Cloud, Security, Operations, High Availability, Scalability, ESB, Web 2.0, Mobile, Clustering, and BPM / BPEL / BRM&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A large number of globally renowned &lt;a href="http://onedaytalk.org/index.php/speakers"&gt;speakers&lt;/a&gt; from Europe and the U.S. will come together on 13.10.2011 in the Konferenzzentrum München (Conference Center Munich) to present their practical knowledge, to report on project experiences and to provide you with the latest developments in software technology around JBoss, Java 6 and Java EE. The broad-based range of topics aimed not only at software developers and architects, but project managers and IT decision makers are also provided by leading JBoss project leads and core developers with valuable information.&lt;br /&gt;The time between the presentations offers you many ways to get information from the exhibitors to have conversations and discussions with speakers and other participants, and not least to maintain your own network.&lt;br /&gt;&lt;br /&gt;We are looking forward to see you on the conference - the &lt;a href="http://onedaytalk.org/index.php/home/7/43-payment"&gt;registration&lt;/a&gt; is now open!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2829838412561444796?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2829838412561444796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2829838412561444796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2829838412561444796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2829838412561444796'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/09/jboss-one-day-talk-munich-13-oktober.html' title='JBoss One Day Talk Munich, 13. Oktober'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6096224412082001012</id><published>2011-09-28T00:32:00.000-07:00</published><updated>2011-09-28T01:47:06.908-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Developer notes: How does data binding and model conversions work in the AS 7 console?</title><content type='html'>The JBoss AS 7 management layer works on a detyped, tree like mode structure  to represent subsystem and server configuration options.  The big benefit is that management clients don't depend on statically typed model, but instead rely on a fairly small API that's not subject to change. The model itself can easily be converted to and from JSON, which opens the management layer to variety of scripting environments and alternate management implementations.&lt;br /&gt;&lt;br /&gt;As many of you know, the management web interface is implemented in GWT. The means we cross compile from Java to Javascript, but all development is done in Java. Many of the default &lt;a href="http://www.google.de/url?sa=t&amp;source=web&amp;cd=1&amp;sqi=2&amp;ved=0CB8QFjAA&amp;url=http%3A%2F%2Fcode.google.com%2Fwebtoolkit%2Fdoc%2Flatest%2FDevGuideUiCellTable.html&amp;ei=ltuCTrePH42A-waTkciqDw&amp;usg=AFQjCNGTu-9zVEmMd7PGX-v46t_km6QSmg&amp;sig2=RzmiKuyfSmWkead7XL5jrQ"&gt;GWT components like tables, trees and lists&lt;/a&gt; expect a strongly  typed Java model, since this would be logical choice for most GWT implementations.  For us, working on the management web interface this means we have to bridge the gap between the detyped model the application server uses and the strongly typed model the GWT components rely on.&lt;br /&gt;&lt;br /&gt;In this post I am going to explain some of the building blocks we use within the management interface, to reduce the amount of boilerplate we have to provide converting between the two model representations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The detyped model&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A typical model representation we get from the AS management layer looks like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[domain@localhost:9999 /] /subsystem=datasources/data-source=ExampleDS:read-resource&lt;br /&gt;{&lt;br /&gt;    "outcome" =&gt; "success",&lt;br /&gt;    "result" =&gt; {&lt;br /&gt;        "connection-url" =&gt; "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",&lt;br /&gt;        "driver-name" =&gt; "h2",&lt;br /&gt;        "enabled" =&gt; true,&lt;br /&gt;        "jndi-name" =&gt; "java:jboss/datasources/ExampleDS",&lt;br /&gt;        "jta" =&gt; true,&lt;br /&gt;        "password" =&gt; "sa",      &lt;br /&gt;        "use-ccm" =&gt; true,&lt;br /&gt;        "user-name" =&gt; "sa",&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In this case we are looking at a data source.&lt;br /&gt;In order create and modify datasource, the management client would need to send a detyped representation like the one above and will get a response of the same content type.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;GWT entities&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Entities in GWT are represented as Java interfaces with getter and setter methods (&lt;a href="http://code.google.com/p/google-web-toolkit/wiki/AutoBean"&gt;AutoBean API&lt;/a&gt;). The corresponding representation for the data source above, would look like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@Address("/subsystem=datasources/data-source={0}")&lt;br /&gt;public interface DataSource {&lt;br /&gt;&lt;br /&gt;    @Binding(detypedName = "jndi-name")&lt;br /&gt;    String getJndiName();&lt;br /&gt;    void setJndiName(String name);&lt;br /&gt;&lt;br /&gt;    @Binding(detypedName = "user-name")&lt;br /&gt;    String getUsername();&lt;br /&gt;    void setUsername(String user);&lt;br /&gt;&lt;br /&gt;    String getPassword();&lt;br /&gt;    void setPassword(String password);&lt;br /&gt;&lt;br /&gt;    [...]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Coverting between two models&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Converting between the two model representation is the job of the EntityAdapter. An EntityAdapter works on the meta data declared on the entity class (@Address &amp; @Binding annotations).  The metadata itself is extracted during the compile time phase (&lt;a href="http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html"&gt;deferred binding&lt;/a&gt;) . &lt;br /&gt;&lt;br /&gt;The current meta data structure is divided into two distinct concepts: Entity addressing and the property binding. The address is required to perform operations on the detyped model ("/subsystem=datasource/data-source=ExampleDS:read-resource"). The property binding is used to get and set values within both models.  &lt;br /&gt;&lt;br /&gt;Let's take a look at an example:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;// Create an EntityAdapter for a specific type&lt;br /&gt;EntityAdapter&lt;DataSource&gt; adapter = new EntityAdapter&lt;DataSource&gt;(DataSource.class, metaData);&lt;br /&gt;&lt;br /&gt;// Convert from entity to DMR representation&lt;br /&gt;DataSource datasource = ...;&lt;br /&gt;ModelNode operation = adapter.fromEntity(datasource);&lt;br /&gt;&lt;br /&gt;// execute the operation (HTTP request) ...&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;First of all, we create an EntityAdapter for the DataSource.class type. This adapter allows us to convert an entity instance (DataSource datasource) into a ModelNode (detyped) representation.  We can use this model to execute an operation against the AS management layer (HTTP Post).&lt;br /&gt;&lt;br /&gt;Let's do it vice versa: Reading a detyped model and convert it into an entity.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// Create an EntityAdapter for a specific type&lt;br /&gt;EntityAdapter&lt;DataSource&gt; adapter = new EntityAdapter&lt;DataSource&gt;(DataSource.class, metaData);&lt;br /&gt;&lt;br /&gt;ModelNode detyped = ...; // HTTP response&lt;br /&gt;&lt;br /&gt;// Convert form DMR to entity&lt;br /&gt;DataSource datasource = adapter.fromDMR(detyped);&lt;br /&gt;&lt;br /&gt;// Work on the entity ....&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Addressing of resources&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As you can see in the above example, the entity carries an @Address annotation. In order to read from or write the management layer you would need to know how to address a resource properly. For datasources this would be:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/subsystem=datasources/data-source=ExampleDS&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;There are many cases where we need an address. It makes sense to associate this information with the entity itself and use it as a template for subsequent requests. I.e an address template like "@Address("/subsystem=datasources/data-source={0}")"&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;AddressBinding address = metaData.getBeanMetaData(DataSource.class).getAddress();&lt;br /&gt;ModelNode operation = address.asSubresource("ExampleDS");&lt;br /&gt;&lt;br /&gt;// further specify the operation (OP, RECURSIVE,ETC)&lt;br /&gt;operation.get(OP).set(READ_RESOURCE);&lt;br /&gt;&lt;br /&gt;// execute the operation (HTTP request) ...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What's next?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We have seen how two specific problems are solved: Addressing of resources and converting between two model types. In the next part of this series, I am going to explain how the actual data binding (mapping to HTML forms) actually works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6096224412082001012?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6096224412082001012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6096224412082001012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6096224412082001012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6096224412082001012'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/09/developer-notes-how-does-data-binding.html' title='Developer notes: How does data binding and model conversions work in the AS 7 console?'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-145149114548386349</id><published>2011-09-17T11:16:00.000-07:00</published><updated>2011-09-17T11:17:04.439-07:00</updated><title type='text'>Geoffrey West: The surprising math of cities and corporations</title><content type='html'>Physicist Geoffrey West has found that simple, mathematical laws govern the properties of cities -- that wealth, crime rate, walking speed and many other aspects of a city can be deduced from a single number: the city's population. In this mind-bending talk from TEDGlobal he shows how it works and how similar laws hold for organisms and corporations.&lt;br /&gt;&lt;br /&gt;&lt;!--copy and paste--&gt;&lt;object width="526" height="374"&gt; &lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="allowScriptAccess" value="always"/&gt; &lt;param name="wmode" value="transparent"&gt;&lt;/param&gt; &lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talk/stream/2011G/Blank/GeoffreyWest_2011G-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/GeoffreyWest-2011G.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1197&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=geoffrey_west_the_surprising_math_of_cities_and_corpora;year=2011;theme=a_taste_of_tedglobal_2011;theme=inspired_by_nature;theme=unconventional_explanations;theme=the_power_of_cities;event=TEDGlobal+2011;tag=Business;tag=Science;tag=biology;tag=cities;tag=complexity;tag=math;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt; &lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="526" height="374" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talk/stream/2011G/Blank/GeoffreyWest_2011G-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/GeoffreyWest-2011G.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1197&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=geoffrey_west_the_surprising_math_of_cities_and_corpora;year=2011;theme=a_taste_of_tedglobal_2011;theme=inspired_by_nature;theme=unconventional_explanations;theme=the_power_of_cities;event=TEDGlobal+2011;tag=Business;tag=Science;tag=biology;tag=cities;tag=complexity;tag=math;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-145149114548386349?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/145149114548386349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=145149114548386349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/145149114548386349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/145149114548386349'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/09/geoffrey-west-surprising-math-of-cities.html' title='Geoffrey West: The surprising math of cities and corporations'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-4556779159628651928</id><published>2011-07-25T05:42:00.000-07:00</published><updated>2011-07-25T05:45:49.209-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><title type='text'>Visual weight of primary and secondary action buttons</title><content type='html'>Pretty interesting observation on why the irreversible, permanent action should become the secondary button:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://uxmovement.com/buttons/the-visual-weight-of-primary-and-secondary-action-buttons/"&gt;http://uxmovement.com/buttons/the-visual-weight-of-primary-and-secondary-action-buttons/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-4556779159628651928?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/4556779159628651928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=4556779159628651928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4556779159628651928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4556779159628651928'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/07/visual-weight-of-primary-and-secondary.html' title='Visual weight of primary and secondary action buttons'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-1330568354069046485</id><published>2011-07-06T00:17:00.001-07:00</published><updated>2011-07-06T00:18:56.914-07:00</updated><title type='text'>Heap profiling on chrome</title><content type='html'>Neat: &lt;a href="http://code.google.com/chrome/devtools/docs/heap-profiling.html"&gt;http://code.google.com/chrome/devtools/docs/heap-profiling.html&lt;/a&gt;&lt;br /&gt;It's becoming more important when you move to resource limited devices, such as pads and phones.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/chrome/devtools/docs/heap-profiling-files/snapshot_memory.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 780px; height: 425px;" src="http://code.google.com/chrome/devtools/docs/heap-profiling-files/snapshot_memory.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-1330568354069046485?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/1330568354069046485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=1330568354069046485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1330568354069046485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1330568354069046485'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/07/heap-profiling-on-chrome.html' title='Heap profiling on chrome'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5216857953199315017</id><published>2011-06-22T05:31:00.000-07:00</published><updated>2011-07-21T11:48:48.783-07:00</updated><title type='text'>JBoss AS 7: Admin Guide, first draft</title><content type='html'>I did finish the first draft of the AS7 "Admin Guide". It is intended for people who need to setup and configure the JBoss Application Server:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://docs.jboss.org/author/display/AS7/Admin+Guide"&gt;https://docs.jboss.org/author/display/AS7/Admin+Guide&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let me know what you think.  There is plenty of room for improvements.Please send any comments and questions to the mailing list:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev"&gt;https://lists.jboss.org/mailman/listinfo/jboss-as7-dev&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5216857953199315017?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5216857953199315017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5216857953199315017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5216857953199315017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5216857953199315017'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/06/jboss-as-7-admin-guide-first-draft.html' title='JBoss AS 7: Admin Guide, first draft'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5878972898953277349</id><published>2011-06-21T01:51:00.000-07:00</published><updated>2011-06-21T01:52:24.081-07:00</updated><title type='text'>JBoss One Day Talk Munich</title><content type='html'>Liebe JBoss OneDayTalk-Interessierte, &lt;br /&gt;&lt;br /&gt;endlich ist es soweit und wir sind seit gestern mit dem Programm der JBoss OneDayTalk 2011 Konferenz online gegangen. Die Konferenz findet dieses Jahr am 13. Oktober 2011 in München statt. Und die Online-Registrierung ist jetzt geöffnet mit einer regulären Teilnahmegebühr von 89, - EUR. Sichern Sie sich jetzt bis zum 30.06.2011 ein Early Bird von 10%.&lt;br /&gt;&lt;br /&gt;Es wird diesmal drei Tracks, 18 Vorträge und 20 Speakers geben. Das Programm und bereits bestätigten Talks finden Sie unter &lt;a href="http://onedaytalk.org/index.php/program"&gt;http://onedaytalk.org/index.php/program&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Unter den Speakerns sind unter anderem Adam Bien, Gavin King, Stefan Tilkov, Michael Plöd, Jan Wildeboer, Heiko Braun, Heiko Rupp, Werner Eberling, Volker Bergmann und Kris Verlaenen. Alle Speaker finden Sie unter &lt;a href="http://onedaytalk.org/index.php/speakers"&gt;http://onedaytalk.org/index.php/speakers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Wir freuen uns über Ihre Teilnahme und für weitere Information besuchen Sie unsere Web Seite http://onedaytalk.org. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Viele Grüße vom JBUGM Team&lt;br /&gt;&lt;a href="http://www.jbug-munich.org "&gt;http://www.jbug-munich.org &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5878972898953277349?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5878972898953277349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5878972898953277349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5878972898953277349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5878972898953277349'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/06/jboss-one-day-talk-munich.html' title='JBoss One Day Talk Munich'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-7747254115888156302</id><published>2011-06-14T06:33:00.000-07:00</published><updated>2011-06-14T06:52:46.950-07:00</updated><title type='text'>AS7 Console performance improvements</title><content type='html'>I did take a look at the components that serve the console files again and removed some really sloppy parts and tweaked the HTTP cache behavior a little bit. With some really interesting results.&lt;br /&gt;&lt;br /&gt;This is what the average page loading time looked like, when client did access the console for the first time:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-C05kyKehBck/Tfdj63RKnSI/AAAAAAAAAK0/NA3fePFjSxI/s1600/Screen%2Bshot%2B2011-06-14%2Bat%2B3.36.19%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 11px;" src="http://3.bp.blogspot.com/-C05kyKehBck/Tfdj63RKnSI/AAAAAAAAAK0/NA3fePFjSxI/s320/Screen%2Bshot%2B2011-06-14%2Bat%2B3.36.19%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5618068923087494434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is what looks like after the improvements:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-75wXCg4ZmvA/TfdkOa3tASI/AAAAAAAAAK8/5iUIt9DQYuE/s1600/Screen%2Bshot%2B2011-06-14%2Bat%2B3.37.04%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 12px;" src="http://4.bp.blogspot.com/-75wXCg4ZmvA/TfdkOa3tASI/AAAAAAAAAK8/5iUIt9DQYuE/s320/Screen%2Bshot%2B2011-06-14%2Bat%2B3.37.04%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5618069259061887266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It get's even better, when a client does access the console subsequently:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-7qu7S2ybYBE/TfdkeniHneI/AAAAAAAAALE/W09fAkhMfVk/s1600/Screen%2Bshot%2B2011-06-14%2Bat%2B3.38.40%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 13px;" src="http://3.bp.blogspot.com/-7qu7S2ybYBE/TfdkeniHneI/AAAAAAAAALE/W09fAkhMfVk/s320/Screen%2Bshot%2B2011-06-14%2Bat%2B3.38.40%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5618069537338924514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt; How can it be explained?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well the most notable improvement is probably the replacement of the sloppy IO parts. Hence the drastic page loading times from ~4sec to ~1sec. Furthermore the addition of an HTTP "Expires" header allows the browser to successfully cache the results, which drastically decreases the page loading size from ~750kb ~10kb. All tests have been run on a LAN connection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-7747254115888156302?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/7747254115888156302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=7747254115888156302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/7747254115888156302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/7747254115888156302'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/06/as7-console-performance-improvements.html' title='AS7 Console performance improvements'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-C05kyKehBck/Tfdj63RKnSI/AAAAAAAAAK0/NA3fePFjSxI/s72-c/Screen%2Bshot%2B2011-06-14%2Bat%2B3.36.19%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-876000969419869310</id><published>2011-05-26T04:54:00.000-07:00</published><updated>2011-05-26T04:58:55.893-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss7: Console Beta9 released</title><content type='html'>We just updated to 1.0.0.Beta9:&lt;br /&gt;===================&lt;br /&gt;&lt;br /&gt;- suport for standalone&lt;br /&gt;- i18n&lt;br /&gt;- deployments&lt;br /&gt;- authentication&lt;br /&gt;&lt;br /&gt;- datasources&lt;br /&gt;- jms configurations&lt;br /&gt;- messaging&lt;br /&gt;- web subsystem&lt;br /&gt;&lt;br /&gt;- server groups&lt;br /&gt;- server configurations&lt;br /&gt;&lt;br /&gt;- system properties&lt;br /&gt;- jvm options&lt;br /&gt;- socket bindings&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The given functionality has small glitches here and there but most of it has been reported and is being worked on. In terms real tasks, this is still outstanding:&lt;br /&gt;&lt;br /&gt;- transaction subsystem&lt;br /&gt;- security&lt;br /&gt;- webservices&lt;br /&gt;- threads&lt;br /&gt;- logging&lt;br /&gt;&lt;br /&gt;But we expect this to be ready for 7.0.CR1.&lt;br /&gt;&lt;br /&gt;Give it try &amp; let us know what you think. &lt;br /&gt;Tell us what works and what doesn't.&lt;br /&gt;&lt;br /&gt;How do I access the console?&lt;br /&gt;==================&lt;br /&gt;&lt;br /&gt;http://localhost:9990/console&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How do I enable authentication?&lt;br /&gt;====================&lt;br /&gt;&lt;br /&gt;Simply create a security realm configuration. &lt;br /&gt;This needs to be done in "domain/configuration/host.xml" for domain mode:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;management&gt;&lt;br /&gt;       &amp;lt;security-realms&gt;&lt;br /&gt;           &amp;lt;security-realm name="ManagementRealm"&gt;&lt;br /&gt;               &amp;lt;authentication&gt;&lt;br /&gt;                   &amp;lt;users&gt;&lt;br /&gt;                       &amp;lt;user username="admin"&gt;&lt;br /&gt;                           &amp;lt;password&gt;&lt;br /&gt;                               password&lt;br /&gt;                           &amp;lt;/password&gt;&lt;br /&gt;                       &amp;lt;/user&gt;&lt;br /&gt;                   &amp;lt;/users&gt;&lt;br /&gt;               &amp;lt;/authentication&gt;&lt;br /&gt;           &amp;lt;/security-realm&gt;&lt;br /&gt;       &amp;lt;/security-realms&gt;&lt;br /&gt;   &amp;lt;/management&gt;&lt;br /&gt;   &amp;lt;management-interfaces&gt;&lt;br /&gt;       &amp;lt;native-interface interface="public" port="9999"/&gt;&lt;br /&gt;       &amp;lt;http-interface interface="public" &lt;br /&gt;            port="9990" security-realm="ManagementRealm"/&gt;&lt;br /&gt;   &amp;lt;/management-interfaces&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Or "standalone/configuration/standalone.xml":&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;management&gt;&lt;br /&gt;       &amp;lt;security-realms&gt;&lt;br /&gt;           &amp;lt;security-realm name="ManagementRealm"&gt;&lt;br /&gt;               &amp;lt;authentication&gt;&lt;br /&gt;                   &amp;lt;users&gt;&lt;br /&gt;                       &amp;lt;user username="admin"&gt;&lt;br /&gt;                           &amp;lt;password&gt;password&amp;lt;/password&gt;&lt;br /&gt;                       &amp;lt;/user&gt;&lt;br /&gt;                   &amp;lt;/users&gt;&lt;br /&gt;               &amp;lt;/authentication&gt;&lt;br /&gt;           &amp;lt;/security-realm&gt;&lt;br /&gt;       &amp;lt;/security-realms&gt;&lt;br /&gt;   &amp;lt;/management&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;management-interfaces&gt;&lt;br /&gt;      &amp;lt;native-interface interface="default" port="9999"/&gt;&lt;br /&gt;      &amp;lt;http-interface interface="default" &lt;br /&gt;              port="9990" security-realm="ManagementRealm"/&gt;&lt;br /&gt;   &amp;lt;/management-interfaces&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;How do I switch between standalone and domain administration?&lt;br /&gt;========================================&lt;br /&gt;&lt;br /&gt;Just boot AS7 in either one of these modes and reload the console web application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-876000969419869310?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/876000969419869310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=876000969419869310' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/876000969419869310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/876000969419869310'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/05/manage-jbossas7-console-beta9-released.html' title='Managing JBoss7: Console Beta9 released'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-9201187021530254028</id><published>2011-05-11T02:14:00.000-07:00</published><updated>2011-05-11T02:15:29.671-07:00</updated><title type='text'>WebKit Remote Debugging</title><content type='html'>Interesting, remotely connect the web inspector to a web kit instance:&lt;br /&gt;http://www.webkit.org/blog/1620/webkit-remote-debugging/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-9201187021530254028?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/9201187021530254028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=9201187021530254028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/9201187021530254028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/9201187021530254028'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/05/webkit-remote-debugging.html' title='WebKit Remote Debugging'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-4161775184559713195</id><published>2011-05-10T03:00:00.001-07:00</published><updated>2011-05-10T07:24:02.665-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss7: Messaging Provider Settings</title><content type='html'>This should give you an idea how the HornetQ configuration is going to look like:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Messaging Provider&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-gotUYdJrAw8/TckNQ_4QFiI/AAAAAAAAAKg/Cs9dIaTwUJw/s1600/messaging.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 314px; height: 320px;" src="http://3.bp.blogspot.com/-gotUYdJrAw8/TckNQ_4QFiI/AAAAAAAAAKg/Cs9dIaTwUJw/s320/messaging.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5605025796915729954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Queues &amp; Topics&lt;/b&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-gOs9OAbTVGc/TclKReIAIZI/AAAAAAAAAKo/wNeGl1jfLk0/s1600/jms.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 304px; height: 320px;" src="http://1.bp.blogspot.com/-gOs9OAbTVGc/TclKReIAIZI/AAAAAAAAAKo/wNeGl1jfLk0/s320/jms.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5605092875244151186" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-4161775184559713195?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/4161775184559713195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=4161775184559713195' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4161775184559713195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4161775184559713195'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/05/managing-jboss7-messaging-provider.html' title='Managing JBoss7: Messaging Provider Settings'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-gotUYdJrAw8/TckNQ_4QFiI/AAAAAAAAAKg/Cs9dIaTwUJw/s72-c/messaging.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-922333131271562779</id><published>2011-05-06T07:18:00.000-07:00</published><updated>2011-05-06T07:24:09.597-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss7: Datasource Configurations</title><content type='html'>We've begun working on datasource configurations within the web management interface. While it still requires some finishing touches, here's how regular and XA datasource configurations look like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-5HfvMBAGRQA/TcQEEqjXwWI/AAAAAAAAAKQ/aSlKgnQeuI0/s1600/xa.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 298px; height: 320px;" src="http://4.bp.blogspot.com/-5HfvMBAGRQA/TcQEEqjXwWI/AAAAAAAAAKQ/aSlKgnQeuI0/s320/xa.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5603608314544374114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-weHiMRkTio0/TcQEEa7MA2I/AAAAAAAAAKI/Yjo_zJooukI/s1600/ds.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 298px; height: 320px;" src="http://4.bp.blogspot.com/-weHiMRkTio0/TcQEEa7MA2I/AAAAAAAAAKI/Yjo_zJooukI/s320/ds.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5603608310349300578" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-922333131271562779?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/922333131271562779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=922333131271562779' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/922333131271562779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/922333131271562779'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/05/managing-jboss7-creating-datasources.html' title='Managing JBoss7: Datasource Configurations'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5HfvMBAGRQA/TcQEEqjXwWI/AAAAAAAAAKQ/aSlKgnQeuI0/s72-c/xa.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5764768865673791949</id><published>2011-04-14T04:22:00.000-07:00</published><updated>2011-04-14T04:48:54.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss7: Staging Applications</title><content type='html'>Your colleagues are all stressed out, because the new build of your b2b app needs to be put on a staging server for your external partner to verify the recent API changes. How to get this setup and running without interfering with the  existing production system? It's fairly simple. I'll show you ...&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Step1: Create a dedicated server group for your staging servers&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-vWGkPsxGtIE/TabZbufmjoI/AAAAAAAAAIo/SS3IJNGXXVs/s1600/step1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 320px;" src="http://1.bp.blogspot.com/-vWGkPsxGtIE/TabZbufmjoI/AAAAAAAAAIo/SS3IJNGXXVs/s320/step1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595398657414696578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Step2: Prepare a staging server-configuration&lt;/h3&gt;&lt;br /&gt;A custom server-group separates our staging environment from the production servers.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-d_PJHjzqyfM/TabZvXELqFI/AAAAAAAAAIw/ZGqiD9q8Ups/s1600/step2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 320px;" src="http://1.bp.blogspot.com/-d_PJHjzqyfM/TabZvXELqFI/AAAAAAAAAIw/ZGqiD9q8Ups/s320/step2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595398994723055698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;... with a specific port offset &lt;/h3&gt;&lt;br /&gt;You need to remember this, in order to connect to the server instances later on.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-BNuHWMiEc4I/TabaEd82E8I/AAAAAAAAAI4/6qRz6vQ7GrQ/s1600/step3.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 320px;" src="http://4.bp.blogspot.com/-BNuHWMiEc4I/TabaEd82E8I/AAAAAAAAAI4/6qRz6vQ7GrQ/s320/step3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595399357348582338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Launch a server instance&lt;/h3&gt;&lt;br /&gt;So we can connect to it.&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-rQ72KEpuvZ8/TabaS9Ja8FI/AAAAAAAAAJA/wGrKL8YzVF8/s1600/step4.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 320px;" src="http://2.bp.blogspot.com/-rQ72KEpuvZ8/TabaS9Ja8FI/AAAAAAAAAJA/wGrKL8YzVF8/s320/step4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595399606240997458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Deploy your application&lt;/h3&gt;&lt;br /&gt;In this case a simple web application.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-7nKZFen8R0A/Tabadvc5HkI/AAAAAAAAAJI/FfSp44xm4Ws/s1600/step5.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 320px;" src="http://4.bp.blogspot.com/-7nKZFen8R0A/Tabadvc5HkI/AAAAAAAAAJI/FfSp44xm4Ws/s320/step5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595399791543131714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;... to the staging server-group&lt;/h3&gt;&lt;br /&gt;Domain deployments are always associated with server-groups.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-uoDr17AiliM/TabarBeXJlI/AAAAAAAAAJQ/yrH4--vnhzw/s1600/step6.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 311px; height: 320px;" src="http://4.bp.blogspot.com/-uoDr17AiliM/TabarBeXJlI/AAAAAAAAAJQ/yrH4--vnhzw/s320/step6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595400019719431762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/--OCPPuRN8SE/TabbDC2Dx9I/AAAAAAAAAJY/EAPDGllwOFA/s1600/step7.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 294px; height: 320px;" src="http://4.bp.blogspot.com/--OCPPuRN8SE/TabbDC2Dx9I/AAAAAAAAAJY/EAPDGllwOFA/s320/step7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595400432404121554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Verify it has been deployed successfully&lt;/h3&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-KM4ybyCMHeE/TabbLffDJjI/AAAAAAAAAJg/89ka3gD4eJY/s1600/step8.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 165px;" src="http://1.bp.blogspot.com/-KM4ybyCMHeE/TabbLffDJjI/AAAAAAAAAJg/89ka3gD4eJY/s320/step8.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595400577531192882" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Grab a coffee and relax&lt;/h3&gt;&lt;br /&gt;Fairly simple, no?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5764768865673791949?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5764768865673791949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5764768865673791949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5764768865673791949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5764768865673791949'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/04/managing-jboss7-staging-applications.html' title='Managing JBoss7: Staging Applications'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-vWGkPsxGtIE/TabZbufmjoI/AAAAAAAAAIo/SS3IJNGXXVs/s72-c/step1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-4963114332899086776</id><published>2011-04-07T02:09:00.000-07:00</published><updated>2011-04-07T02:22:10.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss 7: UX updates</title><content type='html'>The current JBoss 7 development stream contains an updated version of the console that will be shipped with Beta3. We've removed the clutter on the left hand side and do now provide a cleaner separation between navigation and functional elements. The LHS is now only used for navigational purposes and the any functional element (i.e. add, delete resources) has been moved to the toolstrips on the right hand side. Along with this change we've turned the stacked navigation sections (used to display only one at a time) into a more tree like structure, that shows all available options at one glance. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In our opinion this make it much easier to find relevant management options within the UI. Let us know what you think. Screenshots attached.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Server Configuration&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-2cHwITMptLY/TZ2ByMLZwgI/AAAAAAAAAIM/fgE_O_PAnmk/s1600/server-config.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 319px; height: 320px;" src="http://1.bp.blogspot.com/-2cHwITMptLY/TZ2ByMLZwgI/AAAAAAAAAIM/fgE_O_PAnmk/s320/server-config.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5592769011526517250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Data Source Management&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-wSUFsnDi7qg/TZ2BNwCbj8I/AAAAAAAAAIE/xKPlyEKxAs8/s1600/datasources.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 302px;" src="http://2.bp.blogspot.com/-wSUFsnDi7qg/TZ2BNwCbj8I/AAAAAAAAAIE/xKPlyEKxAs8/s320/datasources.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5592768385497403330" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-4963114332899086776?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/4963114332899086776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=4963114332899086776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4963114332899086776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4963114332899086776'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/04/managing-jboss-7-ux-updates.html' title='Managing JBoss 7: UX updates'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-2cHwITMptLY/TZ2ByMLZwgI/AAAAAAAAAIM/fgE_O_PAnmk/s72-c/server-config.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-539891278226526832</id><published>2011-03-30T04:38:00.001-07:00</published><updated>2011-03-30T04:41:48.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>JBoss 7 Web Console: 1.0.0.Beta3</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Beta3 is the version that will be shipped with &lt;a href="http://www.jboss.org/jbossas/downloads"&gt;JBoss 7.0.0.Beta2&lt;/a&gt; end of this week.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family:tahoma, verdana, sans-serif;font-size:12px;"&gt;&lt;h2&gt;1.0.0.Beta3 Release Notes&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;Functional scope&lt;/h3&gt;Most of the work in this release has been done on the framework level, creating re-usable components that are needed to implement the remaining management use cases:&lt;ul&gt;&lt;li&gt;Form databinding &amp;amp; validation&lt;/li&gt;&lt;li&gt;Integration with the domain controller&lt;/li&gt;&lt;li&gt;General UI framework (MVP)&lt;/li&gt;&lt;/ul&gt;Functionally this release does focus on the outermost domain management use cases, that act as POC for the building blocks listed above.&lt;ul&gt;&lt;li&gt;Start/Stop server instances&lt;/li&gt;&lt;li&gt;Create server groups and server configurations&lt;/li&gt;&lt;li&gt;Configure server groups and configurations&lt;/li&gt;&lt;/ul&gt;The standalone server Web UI doesn't contain any reasonable functionality at this point.&lt;p&gt;&lt;/p&gt;&lt;p&gt;The work on management use cases that relate to subsystems has not begun yet. There are merely two examples (Datasource and JMS) that act as a preview and should give you an idea where things are going.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;Browser compatibility&lt;/h3&gt;This release has been tested on Chrome, Firefox and Safari. Internet Explorer has not been verified yet, but we don't expect it to work properly in releases before IE8.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;Feedback&lt;/h3&gt;Your feedback is greatly appreciated. Tell us what you think about the current way the content is organized within the UI. Identify the top three things that don't make sense to you or that you couldn't find easily in the console. Send these issues to:&lt;ul&gt;&lt;li&gt;&lt;a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev"&gt;jboss-as7-dev@lists.jboss.org&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;In case you run into a bug, don't hesitate and file an issue here: (&lt;i&gt;Don't forget to include your OS/Browser description&lt;/i&gt;)&lt;ul&gt;&lt;li&gt;&lt;a href="https://issues.jboss.org/browse/JBAS"&gt;https://issues.jboss.org/browse/JBAS&lt;/a&gt; (JBoss 7, Component "Web Console")&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-539891278226526832?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/539891278226526832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=539891278226526832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/539891278226526832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/539891278226526832'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/jboss-7-web-console-100beta3.html' title='JBoss 7 Web Console: 1.0.0.Beta3'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2669426361370435865</id><published>2011-03-23T13:02:00.000-07:00</published><updated>2011-03-23T13:03:17.730-07:00</updated><title type='text'>Firefox 4: App Tab</title><content type='html'>Now that makes sense:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-pAOfwdQ0zeI/TYpR-ADNFFI/AAAAAAAAABc/Z5sTp1MrVNw/s1600/Screen%2Bshot%2B2011-03-23%2Bat%2B9.02.02%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 137px;" src="http://2.bp.blogspot.com/-pAOfwdQ0zeI/TYpR-ADNFFI/AAAAAAAAABc/Z5sTp1MrVNw/s320/Screen%2Bshot%2B2011-03-23%2Bat%2B9.02.02%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5587368413313700946" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2669426361370435865?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2669426361370435865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2669426361370435865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2669426361370435865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2669426361370435865'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/firefox-4-app-tab.html' title='Firefox 4: App Tab'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-pAOfwdQ0zeI/TYpR-ADNFFI/AAAAAAAAABc/Z5sTp1MrVNw/s72-c/Screen%2Bshot%2B2011-03-23%2Bat%2B9.02.02%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6369135589943716600</id><published>2011-03-23T03:08:00.000-07:00</published><updated>2011-03-23T03:10:10.671-07:00</updated><title type='text'>User Interfaces: Perceived and actual affordance</title><content type='html'>"According to Norman, affordance refers to “the perceived and actual properties of a thing”, primarily the properties that determine how the thing could be operated. Note that perceived affordance is not the same as actual affordance. A facsimile of a chair made of papier-mache has a perceived affordance for sitting, but it doesn’t actually afford sitting: it collapses under your weight. Conversely, a fire hydrant has no perceived affordance for sitting, since it lacks a flat, human-width horizontal surface, but it actually does afford sitting, albeit uncomfortably. &lt;br /&gt;&lt;br /&gt;The parts of a user interface should agree in perceived and actual affordances."&lt;br /&gt;&lt;br /&gt;(Taken form &lt;a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-831-user-interface-design-and-implementation-fall-2004/lecture-notes/L6.pdf"&gt;MIT Courseware&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6369135589943716600?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6369135589943716600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6369135589943716600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6369135589943716600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6369135589943716600'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/user-interfaces-perceived-and-actual.html' title='User Interfaces: Perceived and actual affordance'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2007794951274162980</id><published>2011-03-15T03:01:00.000-07:00</published><updated>2011-03-15T06:58:48.637-07:00</updated><title type='text'>Nitro on IOS 4.3</title><content type='html'>Why is Nitro disabled in UIWebView and full screen web apps on IOS 4.3?&lt;br /&gt;Read more about it &lt;a href="http://www.mobilexweb.com/blog/apple-phonegap-html5-nitro"&gt;here&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- More on this topic: &lt;a href="http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_web_apps_on_home_screen/"&gt;http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_web_apps_on_home_screen/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2007794951274162980?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2007794951274162980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2007794951274162980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2007794951274162980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2007794951274162980'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/nitro-on-ios-43.html' title='Nitro on IOS 4.3'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-8107413450698312807</id><published>2011-03-11T04:23:00.001-08:00</published><updated>2011-03-11T04:31:17.417-08:00</updated><title type='text'>Contributing to the JBoss 7 Management Console</title><content type='html'>&lt;p&gt;You want to contribute to the management web interface for JBoss ? Then this should get you going.&lt;/p&gt;&lt;span class="Apple-style-span"  style=" font-weight: bold; font-size:19px;"&gt;Codebase&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Everything is hosted at &lt;a href="http://help.github.com/"&gt;github&lt;/a&gt;, The best way is to &lt;a href="http://help.github.com/fork-a-repo/"&gt;create a fork&lt;/a&gt; of either one of the codebases listed below and work on that one.&lt;br /&gt;&lt;br /&gt;- Authoritative master: &lt;a class="jive-link-external-small" href="https://github.com/jbossas/console" style="font-size: 12px; color: #355491;" target="_blank"&gt;https://github.com/jbossas/console&lt;/a&gt;&lt;br /&gt;- Most recent: &lt;a class="jive-link-external-small active_link" href="https://github.com/heiko-braun/as7-console" style="font-size: 12px; color: #355491;" target="_blank"&gt;https://github.com/heiko-braun/as7-console&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Prerequisites&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;The console it self is developed using the &lt;a href="http://code.google.com/webtoolkit/overview.html"&gt;Google Web Toolkit&lt;/a&gt;. You would need to make yourself familiar with the basics before we et going. The GWT SDK will be installed as part of the maven build. No need to fetch it on it's own. If you plan to work with Eclipse, then you should consider the development tools for GWT that are provided by Google. But please don't ask how things are setup correctly in Eclipse. We baseline on maven and that's it.&lt;/p&gt;&lt;h3&gt;Things you need to know&lt;/h3&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Widgets&lt;/span&gt;&lt;/p&gt;&lt;p&gt;We build on GWT 2.2 without any dependencies on external widget libraries. However these is a growing number of widgets (&lt;a href="http:/"&gt;org.jboss.as.console.client.widgets&lt;/a&gt;) that should be reused. We aim for keeping the overall number of widgets to a minimum. &lt;/p&gt;&lt;p&gt;But if you need anything that doesn't exist, take a look at the &lt;a href="http://www.smartclient.com/smartgwt/showcase/"&gt;SmartGWT showcase&lt;/a&gt;, tell us about it and we'll then consider implementing it.&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;MVP Pattern&lt;/span&gt;&lt;/p&gt;&lt;p&gt;But one of the cornerstones is the GWT Platform library, which nicely abstracts the MVP pattern. It act's as a blueprint for the console design. A good &lt;a href="http://code.google.com/p/gwt-platform/wiki/GettingStarted#Using_GWTP"&gt;introduction can be found here&lt;/a&gt;. (This is a "must read")&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;AutoBeans&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;Internal model representations are build as &lt;a href="http://code.google.com/p/google-web-toolkit/wiki/AutoBean"&gt;AutoBean's&lt;/a&gt;. They align well with the default GWT API and have build-in serialization support. A general guideline: Any domain representation that's used within the console needs to be provided as an AutoBean abstraction. This means that beyond the integration layer (backend calls to the AS 7 domain) entities need to be adopted.&lt;/p&gt;&lt;p&gt;This is necessary to provide a baseline for the data binding used across widgets. Take a look at the form abstractions, then you'll know what I mean. The &lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/latest/index.html?overview-summary.html"&gt;CellList and CellTable API's&lt;/a&gt; are another example.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Discussions&lt;/h3&gt;&lt;br /&gt;We are using the AS7 mailing lists and/or IRC for discussions of technical matters, improvements, proposed patches, etc:&lt;br /&gt;&lt;p&gt;- &lt;a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev"&gt;https://lists.jboss.org/mailman/listinfo/jboss-as7-dev&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://lists.jboss.org/mailman/listinfo/jboss-as7-dev"&gt;&lt;/a&gt;- irc.freenode.net#jboss-as7&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-8107413450698312807?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/8107413450698312807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=8107413450698312807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8107413450698312807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8107413450698312807'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/contributing-to-jboss-7-management.html' title='Contributing to the JBoss 7 Management Console'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-8687369200616359952</id><published>2011-03-10T06:08:00.000-08:00</published><updated>2011-03-10T11:36:32.596-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>Managing JBoss 7: Screenshots</title><content type='html'>To add some meat to the discussion, here are some recent screenshots of the current web interface. It does use a very reduced look&amp;amp;feel at this stage, that allows us to focus on the tasks at hand, without getting distracted  too much. In the next iteration we'll look into adding some proper styles, with the help of our design friends from jboss.org. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Server Groups&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-qvJ5KaIF7Qc/TXjccAihtUI/AAAAAAAAAA0/S1rEMbFWMWA/s1600/servergroup.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 318px; height: 320px;" src="http://4.bp.blogspot.com/-qvJ5KaIF7Qc/TXjccAihtUI/AAAAAAAAAA0/S1rEMbFWMWA/s320/servergroup.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582454111864993090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Deployments&lt;/b&gt; (associated with server group)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-gJC-hHKPczo/TXjdo6PU6qI/AAAAAAAAABU/fajWb7Fif7M/s1600/deployments.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 314px;" src="http://2.bp.blogspot.com/-gJC-hHKPczo/TXjdo6PU6qI/AAAAAAAAABU/fajWb7Fif7M/s320/deployments.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582455433023777442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Server Configuration&lt;/b&gt; (on a host)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-X8xBIqeUU18/TXjcv3ZHRCI/AAAAAAAAABE/rrpUXyQlpNo/s1600/serverconfig.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 318px; height: 320px;" src="http://1.bp.blogspot.com/-X8xBIqeUU18/TXjcv3ZHRCI/AAAAAAAAABE/rrpUXyQlpNo/s320/serverconfig.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582454453006976034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Server Instances&lt;/b&gt; (on a host)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-wUYhdlQu7NM/TXjc7xUaV5I/AAAAAAAAABM/EGMJi2PNxrk/s1600/instances.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 318px; height: 320px;" src="http://4.bp.blogspot.com/-wUYhdlQu7NM/TXjc7xUaV5I/AAAAAAAAABM/EGMJi2PNxrk/s320/instances.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582454657535072146" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-8687369200616359952?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/8687369200616359952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=8687369200616359952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8687369200616359952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8687369200616359952'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/managing-jboss7-screenshots.html' title='Managing JBoss 7: Screenshots'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-qvJ5KaIF7Qc/TXjccAihtUI/AAAAAAAAAA0/S1rEMbFWMWA/s72-c/servergroup.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6007551773886122125</id><published>2011-03-10T00:37:00.000-08:00</published><updated>2011-03-10T11:02:58.970-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss7'/><title type='text'>Managing JBoss 7: A task oriented approach</title><content type='html'>It's been several weeks now, since we started working on the management web interface for JBoss 7. Time to outline some of the general ideas and concepts the console is build on. If you are not familiar with &lt;a href="https://community.jboss.org/wiki/DomainManagementModelDesign"&gt;domain management approach&lt;/a&gt; that has been introduced in 7.0, you should &lt;a href="https://community.jboss.org/wiki/DomainManagementModelDesign"&gt;make yourself familiar with it&lt;/a&gt; before reading any further.&lt;br /&gt;&lt;br /&gt;Conceptually the domain model consists of three different levels, that we tried to reflect within the user interface: Configuration profiles, server groups and host specific settings.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-TbvOLFcDSqE/TXiRCyS_aOI/AAAAAAAAAAM/nScqY75VC9M/s1600/Screen%2Bshot%2B2011-03-10%2Bat%2B9.35.42%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 88px;" src="http://1.bp.blogspot.com/-TbvOLFcDSqE/TXiRCyS_aOI/AAAAAAAAAAM/nScqY75VC9M/s320/Screen%2Bshot%2B2011-03-10%2Bat%2B9.35.42%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582371215172921570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you think of these levels as being layered atop of each other, then &lt;span style="font-style:italic;"&gt;Profiles&lt;/span&gt; would be the bottom most configuration level that acts as a blueprint for the layers atop of it. &lt;span style="font-style:italic;"&gt;Profiles&lt;/span&gt; consist of subsystem specific settings (i.e. JCA, TX, etc) and are referenced by &lt;span style="font-style:italic;"&gt;Server Groups&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Server Groups&lt;/span&gt; on the other hand specify configuration properties for a set of &lt;span style="font-style:italic;"&gt;Servers&lt;/span&gt; that run on different &lt;span style="font-style:italic;"&gt;Hosts&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A &lt;span style="font-style:italic;"&gt;Host&lt;/span&gt; is the top most and most detailed level. It runs &lt;span style="font-style:italic;"&gt;Server Instances&lt;/span&gt; that belong to a particular &lt;span style="font-style:italic;"&gt;Server Group&lt;/span&gt;.&lt;br /&gt;While there are numerous ways to organize the information accessible through the web interface, we used a few simple questions to guide our decisions:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- "What are the &lt;b&gt;primary tasks&lt;/b&gt;?"&lt;/div&gt;&lt;div&gt;- "At what &lt;b&gt;frequency&lt;/b&gt; to these task occur?"&lt;/div&gt;&lt;div&gt;- "What's the &lt;b&gt;impact &lt;/b&gt;on related configuration elements?"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The primary tasks already seem to be represented by the different levels described above: Changes to and requests of host specific information is something we expect to occur quiet regularly. This does cover use cases like starting server instances and requesting runtime state information (i.e. metrics).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Creation and modification of Server Groups will probably happen less often, except one specific use case, which is application deployment. Deployments are  associated with server groups.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The least likely changes are going to happen on the profile level.  I.e the modification of a thread pool size is something you probably wont do very often.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;The outermost categorization looks as follows:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-WVJNA08_d_M/TXi_oObcEjI/AAAAAAAAAAc/R6HFrtLzirg/s1600/task_groups.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 290px; height: 320px;" src="http://3.bp.blogspot.com/-WVJNA08_d_M/TXi_oObcEjI/AAAAAAAAAAc/R6HFrtLzirg/s320/task_groups.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582422435914584626" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now while this coarse grained organization nicely groups the primary tasks and allows you to focus on the goal you want to achieve, it doesn't give you any clues which configuration properties are inherited from lower levels. Some elements  can be specified on a lower and be replaced on higher level (i.e. System Properties in profiles and server groups).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This problem has two sides: On the one hand you need to know where an inherited property comes from in order to change it, on the other hand need to know what impact a modification might have on higher levels (Think of a JVM property on the profile level that impacts all server groups).&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-CckLATLb7Pg/TXjM7Hj_EyI/AAAAAAAAAAk/BHfUP4cpJTk/s1600/impact.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 228px;" src="http://2.bp.blogspot.com/-CckLATLb7Pg/TXjM7Hj_EyI/AAAAAAAAAAk/BHfUP4cpJTk/s320/impact.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582437054140060450" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This problem isn't solved yet. We are still working on  visual distinction that allows you to clearly identify the source level of a configuration property and cross reference it accordingly. It might look like this:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-gf_hEACXjqU/TXjTUgq4ZmI/AAAAAAAAAAs/5QW6ScSTXTw/s1600/properties.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 92px;" src="http://1.bp.blogspot.com/-gf_hEACXjqU/TXjTUgq4ZmI/AAAAAAAAAAs/5QW6ScSTXTw/s320/properties.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582444087446365794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;Call for participation&lt;/b&gt;&lt;br /&gt;&lt;div&gt;There are plenty of other related topics that we can talk about, but that's it for today. If you want to participate, I would suggest you take a look at the following resources and let us know to what degree the suggested categorization makes sense.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- &lt;a href="https://community.jboss.org/wiki/DomainManagementModelDesign"&gt;DomainManagementModelDesign&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://community.jboss.org/wiki/DomainManagementModelDesign"&gt;&lt;/a&gt;- &lt;a href="https://github.com/jbossas/jboss-as/blob/master/controller/src/main/resources/schema/jboss_7_0.xsd"&gt;jboss_7_0 schema&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://github.com/jbossas/jboss-as/blob/master/controller/src/main/resources/schema/jboss_7_0.xsd"&gt;&lt;/a&gt;Stay tuned, we keep you posted.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6007551773886122125?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6007551773886122125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6007551773886122125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6007551773886122125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6007551773886122125'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/03/managing-jboss-7-task-oriented-approach.html' title='Managing JBoss 7: A task oriented approach'/><author><name>HBraun</name><uri>http://www.blogger.com/profile/07103829051346814127</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-TbvOLFcDSqE/TXiRCyS_aOI/AAAAAAAAAAM/nScqY75VC9M/s72-c/Screen%2Bshot%2B2011-03-10%2Bat%2B9.35.42%2BAM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5707892470723313388</id><published>2011-01-28T00:28:00.000-08:00</published><updated>2011-01-28T00:29:02.765-08:00</updated><title type='text'>"The future is bright and the present compelling ..."</title><content type='html'>Dimitiris about the release of JBoss AS 6 and the work on AS 7:&lt;br /&gt;&lt;a href="http://jaxenter.com/jboss-as-6-0-0-final.1-34623.html"&gt;http://jaxenter.com/jboss-as-6-0-0-final.1-34623.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5707892470723313388?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5707892470723313388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5707892470723313388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5707892470723313388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5707892470723313388'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2011/01/future-is-bright-and-present-compelling.html' title='&quot;The future is bright and the present compelling ...&quot;'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-4155777520240481685</id><published>2010-12-16T04:00:00.000-08:00</published><updated>2010-12-16T04:01:48.354-08:00</updated><title type='text'>Export Mac OS Mail RSS URL's</title><content type='html'>Neat and simple: &lt;br /&gt;&lt;br /&gt;pubsub --client com.apple.mail list | cut -f3 | sed -ne '3,$p'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-4155777520240481685?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/4155777520240481685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=4155777520240481685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4155777520240481685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4155777520240481685'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/12/export-mac-mail-rss-urls.html' title='Export Mac OS Mail RSS URL&apos;s'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-1135324221778576522</id><published>2010-09-16T11:50:00.000-07:00</published><updated>2010-09-16T11:51:37.034-07:00</updated><title type='text'>JBoss Developer Conference Berlin</title><content type='html'>JUDCon Berlin - October 7-8, 2010&lt;br /&gt;Boston was a smashing success. Now on to Berlin!&lt;br /&gt;&lt;br /&gt;JUDCon, the JBoss User and Developer Conference, gives developers the unique opportunity to participate in deep dive sessions with JBoss Core Developers and other leaders the JBoss community. Code sessions, hackfests, beer and food... now that's a developer conference.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/events/JUDCon.html"&gt;More here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-1135324221778576522?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/1135324221778576522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=1135324221778576522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1135324221778576522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1135324221778576522'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/09/jboss-developer-conference-berlin.html' title='JBoss Developer Conference Berlin'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2206883194897483978</id><published>2010-07-30T00:44:00.000-07:00</published><updated>2010-07-30T00:46:27.621-07:00</updated><title type='text'>GWT Compiler Options</title><content type='html'>Joseph from the &lt;a href="http://www.rhq-project.org/"&gt;RHQ team&lt;/a&gt; has written a good article on how the different compiler options (num workers, Xmx, Xms) affect the overall compilation time: &lt;a href="http://josephmarques.wordpress.com/2010/07/30/gwt-compilation-performance/"&gt;http://josephmarques.wordpress.com/2010/07/30/gwt-compilation-performance/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2206883194897483978?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2206883194897483978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2206883194897483978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2206883194897483978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2206883194897483978'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/07/gwt-compiler-options.html' title='GWT Compiler Options'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-8122229482069631739</id><published>2010-07-26T05:52:00.000-07:00</published><updated>2010-07-26T05:59:18.905-07:00</updated><title type='text'>JBoss One Day Talk</title><content type='html'>&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 57px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/TE2GYwG0yUI/AAAAAAAAAHU/NbvpJ9NX8U4/s320/Screen+shot+2010-07-26+at+2.57.43+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5498198479877753154" /&gt;&lt;br /&gt;One Day, 14 sessions on two tracks. Get together with the experts and join us in Munich, 1. October 2010.&lt;br /&gt;&lt;a href="http://www.onedaytalk.org/index.php"&gt;JBoss One Day Talk - From the community for the community.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From the web page:&lt;br /&gt;&lt;br /&gt;"Die Konferenz für Java Frameworks &amp; Enterprise Edition Technologien&lt;br /&gt;&lt;br /&gt;Der JBoss OneDayTalk 2010 (organisiert vom JBUGM e.V.) ist eine ganztägige Konferenz, bei der sich alles um das Thema JBoss Technologien und Java Frameworks dreht. Experten aus den USA und Europa treffen am 01.10.2010 in München zusammen, um ihr Wissen, ihre Erfahrungen und ihre Ideen miteinander zu teilen und darüber zu diskutieren. JBoss Project Leads und Core Developers werden ebenso vertreten sein wie Mitglieder der JBoss Community, Softwarearchitekten und IT-Entscheider.&lt;br /&gt;&lt;br /&gt;Erstklassige Sprecher und aktuelle Themen wie JAVA6, JAVA EE 6, Caching, Clustering, Cloud Computing,Wicket, BPM, BPMN, BPMS, BPEL, Rules, Web Services, Ruby-On-Rails, Auditing, Performance und Versioning persistenter Klassen garantieren eine erstklassige und spannende Veranstaltung. Dabei liegt der Fokus nicht nur auf der Theorie der vorgestellten Themen. Vielmehr wird es auch Erfolgsberichte aus "echten" Projekten geben, in denen sich die Technologien unter Alltagsbedingungen im Projektumfeld bewährt haben."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-8122229482069631739?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/8122229482069631739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=8122229482069631739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8122229482069631739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8122229482069631739'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/07/jboss-on-day-talk.html' title='JBoss One Day Talk'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QxIFVLQdHS0/TE2GYwG0yUI/AAAAAAAAAHU/NbvpJ9NX8U4/s72-c/Screen+shot+2010-07-26+at+2.57.43+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2867085381851803305</id><published>2010-06-18T01:13:00.000-07:00</published><updated>2010-06-18T01:15:17.720-07:00</updated><title type='text'>RHQ migrating to GWT</title><content type='html'>Really nice. The RHQ team did a great job migrating parts of their UI to GWT. Take a look. It's impressive:&lt;br /&gt;&lt;a href="http://www.screencast.com/users/ghinkle/folders/Jing/media/1a43a622-04ac-4b25-b230-565e0e613bce"&gt;RHQ Screencast&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2867085381851803305?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2867085381851803305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2867085381851803305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2867085381851803305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2867085381851803305'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/06/rhq-ships-gwt-interface.html' title='RHQ migrating to GWT'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-319980511060311215</id><published>2010-04-07T03:43:00.000-07:00</published><updated>2010-04-07T03:45:40.223-07:00</updated><title type='text'>Speaking at JBUG Munich (12.04)</title><content type='html'>I'll speaking in Munich next monday (12.04):&lt;br /&gt;&lt;br /&gt;In this presentation we'll see how to organize a nontrivial GWT application. We'll go through the lessons learned in a real world project and take a look the complete development lifecycle and best practices that go beyond what GWT has to offer out-of-the-box. This talk does focus on modularity of GWT applications and how to overcome the burdens of compile-time linking. We'll talk about client side patterns and server side implementation options and explore different approaches that allow for quick turn around times without sacrificing maintainability.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jbug-munich.org/"&gt;Details can be found here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-319980511060311215?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/319980511060311215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=319980511060311215' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/319980511060311215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/319980511060311215'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/04/speaking-at-jbug-munich-1204.html' title='Speaking at JBUG Munich (12.04)'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-3940142065787519905</id><published>2010-03-31T11:08:00.000-07:00</published><updated>2010-03-31T11:10:32.116-07:00</updated><title type='text'>JUDCon 2010</title><content type='html'>JUDCon is an event by developers, for developers. Presentations will include a range of deep technical dives into JBoss Community projects and related technical topics of developer interest. The inaugural JUDCon will be a one day event packed with valuable sessions and will run into the early hours of the following day. For your convenience, JUDCon is the day before JBoss World and shares the same venue. In the future, look for stand-alone, multi-day events.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/events/JUDCon.html"&gt;More information here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-3940142065787519905?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/3940142065787519905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=3940142065787519905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3940142065787519905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3940142065787519905'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/03/judcon-2010.html' title='JUDCon 2010'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2923496506264173822</id><published>2010-03-31T11:03:00.000-07:00</published><updated>2010-03-31T11:06:10.506-07:00</updated><title type='text'>Riftsaw 2.0-Final ships the BPM Console</title><content type='html'>&lt;a href="http://jboss.org/riftsaw"&gt;Riftsaw 2.0-Final&lt;/a&gt; includes the BPM Console. Although pretty limited in functionality (merely a replacement for the ODE console) it will act as the foundation for future extensions. &lt;a href="http://soa.dzone.com/articles/introduction-riftsaw-open"&gt;Read the full article here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2923496506264173822?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2923496506264173822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2923496506264173822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2923496506264173822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2923496506264173822'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/03/riftsaw-20-final-ships-bpm-console.html' title='Riftsaw 2.0-Final ships the BPM Console'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6132133291355877542</id><published>2010-03-31T06:32:00.000-07:00</published><updated>2010-04-01T00:12:20.455-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><category scheme='http://www.blogger.com/atom/ns#' term='bam'/><title type='text'>Business Process Analytics using BPAF</title><content type='html'>Over last 6 month I've been working on several components that will be assembled to a bigger business activity monitoring solution. I started off with a CEP based activity monitor (SAM) that allows for advanced correlation across heterogeneous event sources. After that I've spent some time integrating the BIRT reporting runtime with the BPM console, which allows you to run complex reports on process-related audit data. Only to realize that I've started on the wrong foot.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Process analytics bottom to top&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I made a mistake to begin with the most complex components first, without realizing that the key to a successful BAM solution is underlying data model. Without a solid baseline the creation of report templates becomes a daunting task because the missing  unification of audit data basically requires you to customize the report algorithms for any instrumented subsystem. Creating rules for the CEP component that fire when certain SLA's are breached doesn't get more simple either, when working on a heterogeneous event model.&lt;br /&gt;&lt;br /&gt;I finally spend some time prototyping around an idea that has been in the wild for quiet some time: Baseline process-related audit data on &lt;a href="http://www.bpm-research.com/wp-content/uploads/2009/02/2009-02-20-wfmc-tc-1015-business-process-analytics-format-r1.pdf"&gt;BPAF&lt;/a&gt;: A WFMC standard that describes a data structure that enables the aggregation and correlation of audit data across multiple platforms. &lt;br /&gt;&lt;br /&gt;In the following sections I would like to walk through &lt;a href="http://anonsvn.jboss.org/repos/soag/activity-monitor/trunk/"&gt;a simple protoype&lt;/a&gt;, that already shows the benefits of this approach. It is really impressive how little code it requires to deliver a solution that already matches an important number of the use cases.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Data model, storage and retrieval&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To begin with an implementation for storing and querying BPAF event data was needed. Fortunately JAXB and Hibernate made this a trivial task:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@XmlAccessorType(XmlAccessType.FIELD)&lt;br /&gt;@XmlType(name = "", propOrder = {&lt;br /&gt;    "eventDetails",&lt;br /&gt;    "dataElement"&lt;br /&gt;})&lt;br /&gt;@XmlRootElement(name = "Event")&lt;br /&gt;@Entity&lt;br /&gt;@Table(name="BPAF_EVENT")&lt;br /&gt;public class Event {&lt;br /&gt;&lt;br /&gt;  @XmlElement(name = "EventDetails", required = true)&lt;br /&gt;  protected Event.EventDetails eventDetails;&lt;br /&gt;&lt;br /&gt;  @XmlElement(name = "DataElement")&lt;br /&gt;  protected List&lt;Tuple&gt; dataElement;&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * A globally unique identifier for the individual event&lt;br /&gt;   */&lt;br /&gt;  @XmlAttribute(name = "EventID", required = true)  &lt;br /&gt;  protected long eventID;&lt;br /&gt;&lt;br /&gt;[...]&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://anonsvn.jboss.org/repos/soag/activity-monitor/trunk/model/"&gt;current implementation&lt;/a&gt; allows two approaches for querying the BPAF data: Either leverage the default model and it's persistence implementation, or adopt a proprietary audit data structure to the BPAF model when needed. For later use case the API fo querying is split from the default data model:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/**&lt;br /&gt; * @author: Heiko Braun &lt;hbraun@redhat.com&gt;&lt;br /&gt; * @date: Mar 10, 2010&lt;br /&gt; */&lt;br /&gt;public interface BPAFDataSource&lt;br /&gt;{&lt;br /&gt;  /**&lt;br /&gt;   * Get a list of distinct process definition ID's that are known to the system.&lt;br /&gt;   * @return a collection of process definition ID's&lt;br /&gt;   */&lt;br /&gt;  List&lt;String&gt; getProcessDefinitions();&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * Get a list of distinct process instance ID's that are known to the system.&lt;br /&gt;   * @return a collection of process instance ID's&lt;br /&gt;   */&lt;br /&gt;&lt;br /&gt;  List&lt;String&gt; getProcessInstances(String processDefinition);&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * Get a list of distinct activity definition ID's that are known to the system.&lt;br /&gt;   * @return a collection of activity definition ID's&lt;br /&gt;   */&lt;br /&gt;&lt;br /&gt;  List&lt;String&gt; getActivityDefinitions(String processInstance);&lt;br /&gt;&lt;br /&gt;[...]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now that we have components in place for storing and querying raw BPAF data, let's move on to a more interesting topic: How to make sense of it. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Turning data into information&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The whole purpose of this exercise is to provide a way to gain insights about the execution characteristics of the processes that drive your business. While BPAF itself is a compact but still very expressive format  (BPAF State Model)  to store process-related audit data, it requires additional steps to turn it into consumable information that participants and decision makers can make sense of.&lt;br /&gt;&lt;br /&gt;For the sake of this example we've added some algorithms that allow grouping and sorting of the underlying data, which will be used by the presentation layer.&lt;br /&gt;&lt;br /&gt;Let's take a look at the prototype UI (&lt;a href="http://www.jboss.org/errai/ErraiWorkspaces"&gt;yet another BPM Console plugin&lt;/a&gt;) and see how much information can already be derived without going through hoops and loops.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Presenting audit data to decision makers&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The prototype UI demos a simple use case: "How did the processes execute in the past?" Although a simple question, it already implies a lot of fine grained functionality a user might expect:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Selecting a relevant process&lt;br /&gt;&lt;li&gt;Restricting the query to a certain time period  &lt;br /&gt;&lt;li&gt;Scrolling through business related events that occurred over a period of time&lt;br /&gt;&lt;li&gt;Zooming in and out on a time scale (hourly, daily, weekly, etc)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/S7OiMl80QWI/AAAAAAAAAGQ/s39x43bWrs4/s1600/fullscreen.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 295px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/S7OiMl80QWI/AAAAAAAAAGQ/s39x43bWrs4/s320/fullscreen.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454881910905127266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Concepts represented by the prototype UI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;For the sake of simplicity the current implementation (at the time of this writing) is limited in functionality. Nevertheless I would like to walk you through the current features and explain some of the key concepts.&lt;br /&gt;&lt;br /&gt;To begin with a user selects the &lt;tt&gt;Process Defintion&lt;/tt&gt; and the relevant time period:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/S7Ojxoj9e6I/AAAAAAAAAGY/5jVluEQOuUw/s1600/process_selection.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 294px; height: 137px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/S7Ojxoj9e6I/AAAAAAAAAGY/5jVluEQOuUw/s320/process_selection.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454883646772968354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/S7Ojx3k65XI/AAAAAAAAAGg/74ZnmgejsmA/s1600/timeperiod.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 264px; height: 110px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/S7Ojx3k65XI/AAAAAAAAAGg/74ZnmgejsmA/s320/timeperiod.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454883650803524978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The time period offers a set of commonly used intervals, like "Last Week", "Last Quarter" or "Last 24 Hours".&lt;br /&gt;&lt;br /&gt;The BPAF data is loaded and grouped according to the time period and presented in an interactive chart:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/S7Okx0Tj3aI/AAAAAAAAAGw/40A6uPt9t7w/s1600/chrono1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 206px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/S7Okx0Tj3aI/AAAAAAAAAGw/40A6uPt9t7w/s320/chrono1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454884749437033890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/S7Okxsf_o_I/AAAAAAAAAGo/06F4A5G0qBk/s1600/chrono2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 252px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/S7Okxsf_o_I/AAAAAAAAAGo/06F4A5G0qBk/s320/chrono2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454884747341702130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The charts allow you to zoom in on the time scale (i.e. "1 day, 5 day, max") and scroll through the event data on each level.&lt;br /&gt;(Shout-Outs to &lt;a href="http://timepedia.org/chronoscope/"&gt;the chronoscope project&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;You can comment on the information and create markers on business relevant points that either require clarification or otherwise mark notable changes in the execution of a process:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/S7OmGBz98KI/AAAAAAAAAHA/kJoesWMhUi8/s1600/comment_create.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 63px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/S7OmGBz98KI/AAAAAAAAAHA/kJoesWMhUi8/s320/comment_create.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454886196171632802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/S7OmFtYpD4I/AAAAAAAAAG4/fkNhm0oW34s/s1600/markers.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 286px; height: 320px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/S7OmFtYpD4I/AAAAAAAAAG4/fkNhm0oW34s/s320/markers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5454886190688309122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion and next steps&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As you see, this simple prototype already covers important features that you would expect from such an implementation.&lt;br /&gt;And we didn't yet touch sophisticated topics like comparison of process executions or creation of key performance indicators that trigger notifications (do the markers ring a bell?). &lt;br /&gt;&lt;br /&gt;In the next few month you can expect this approach to be married to SAM, our CEP based BAM component that allows correlation and execution on process activities close to real time.&lt;br /&gt;&lt;br /&gt;Stay tuned, now that we have a common baseline for representing and querying process-related audit data we'll look into more advanced topics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6132133291355877542?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6132133291355877542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6132133291355877542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6132133291355877542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6132133291355877542'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/03/business-process-analytics-using-bpaf.html' title='Business Process Analytics using BPAF'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QxIFVLQdHS0/S7OiMl80QWI/AAAAAAAAAGQ/s39x43bWrs4/s72-c/fullscreen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-8371277552715052884</id><published>2010-03-13T05:06:00.000-08:00</published><updated>2010-03-13T05:09:05.215-08:00</updated><title type='text'>Good introduction to Akka</title><content type='html'>Jonas Boner has provided a pretty good &lt;a href="http://jonasboner.com/2010/01/04/introducing-akka.html"&gt;introduction to Akka&lt;/a&gt;. If concurrency, fault-tolerance and scalability matter to you then this is a must read.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-8371277552715052884?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/8371277552715052884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=8371277552715052884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8371277552715052884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8371277552715052884'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/03/good-introduction-to-akka.html' title='Good introduction to Akka'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6071440163472482959</id><published>2010-03-04T04:53:00.001-08:00</published><updated>2010-03-31T13:19:46.023-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><title type='text'>BPM Console 2.0.1 released</title><content type='html'>I am glad to announce the BPM Console 2.0.1. Although it doesn't include many new functional enhancements, architecturally it's still a major step forward. Let's take a look at the most prominent changes first:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Workspace API consolidation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is probably one of the most important steps. Something that we had on the roadmap for quiet some time. Before 2.0.x the BPM build on it's own workspace API, which is fully merged with &lt;a href="https://www.jboss.org/errai/ErraiWorkspaces"&gt;errai-workspaces&lt;/a&gt;. Not only does this consolidate the web tooling efforts within JBoss, but it also allows building of true federated toolsets using the errai bus and workspaces modules as a foundation.&lt;br /&gt;&lt;br /&gt;This allows us to easily integrate tools from other JBoss projects into a custom workspace build. I.e. something that we are currently thinking about is integrating the &lt;a href="http://ws.apache.org/juddi/"&gt;Apache Juddi&lt;/a&gt; web console as part of the &lt;a href="http://www.jboss.org/riftsaw"&gt;Riftsaw console&lt;/a&gt; offering. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Improved performance and development tools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We've been running the console on GWT 1.5.3 for quiet some time but now it leverages &lt;a href="http://code.google.com/webtoolkit/doc/latest/ReleaseNotes.html"&gt;GWT 2.0&lt;/a&gt;. Probably the most important changes for the BPM console are support for code splitting and declarative UI's.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;JBoss system theme&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We started working on a custom theme, that should apply to JBoss web tooling in general.  It's still in the early stages, but already included in the recent release. We are aiming for a design that's clean, concise and doesn't get in your way:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-w1lVNQVI/AAAAAAAAAFw/WTu5w5040RQ/s1600-h/process.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-w1lVNQVI/AAAAAAAAAFw/WTu5w5040RQ/s320/process.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444764909114835282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Role based authorization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since we migrated to errai-workspaces the BPM console now has &lt;a href="http://download.jboss.org/errai/docs/1.0.0.GA/userguide/index.html#rolebased"&gt;support for role based authorization&lt;/a&gt;. This means you can easily restrict access to certain tools (i.e. admin vs. user) or use this mechanism to create customized profiles according to a users role (i.e. sales vs. marketing)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;@LoadTool(name = "Deployments", group = "Runtime")&lt;br /&gt;@RequireRoles({"administrator"})&lt;br /&gt;public class DeploymentModule implements WidgetProvider&lt;br /&gt;{&lt;br /&gt;  [...]&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;History and perma links&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One feature that has been requested a lot, was support for linking to tools from an external application. I.e. when a email notification is send for an outstanding task. This is now built into  errai-workspaces. The same mechanism that allows you to use the default browser history navigation, can now be used to reference tools from external applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Report parameter preferences&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The console supports parametrized &lt;a href="http://community.jboss.org/wiki/BPMConsole-Reporting"&gt;report templates&lt;/a&gt; since version 1.3. What has been added is the ability to store report parameters for each template as part of the console preferences. Imagine a report that requires you to enter a certain time period for rendering. This data is now store within as part of console preferences, so can easily switch between report templates without having to provide that data over and over again.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-2sVj6TJI/AAAAAAAAAF4/DVBpdX-Olmo/s1600-h/Screen+shot+2010-03-04+at+2.33.13+PM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 226px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-2sVj6TJI/AAAAAAAAAF4/DVBpdX-Olmo/s320/Screen+shot+2010-03-04+at+2.33.13+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444771347332484242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/S4-2z4Iv1CI/AAAAAAAAAGA/Fol3QoTFfEo/s1600-h/Screen+shot+2010-03-04+at+2.32.49+PM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 58px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/S4-2z4Iv1CI/AAAAAAAAAGA/Fol3QoTFfEo/s320/Screen+shot+2010-03-04+at+2.32.49+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444771476872877090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Roadmap&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the next few weeks we'll focus on the toolset for the &lt;a href="http://jboss.org/riftsaw"&gt;Riftsaw BPEL Engine&lt;/a&gt;. Areas that need improvement are activity monitoring tools and tools for maintaining WS endpoint references, like the &lt;a href="http://docs.jboss.com/riftsaw/2.0-CR2/userguide/html/uddi.html"&gt;UDDI browser&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Contributions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As I said earlier, 2.0.x was an important step regarding maintainability and API consolidation. We now have everything in place for you to &lt;a href="http://download.jboss.org/errai/docs/1.0.0.GA/userguide/index.html#using-workspaces"&gt;get your hands on the errai-workspaces module and start developing&lt;/a&gt; plugins for the BPM console in particular or the JBoss SOA platform in general. In case you are interested, don't hesitate to get in touch with us:&lt;br /&gt;&lt;br /&gt;IRC: errai@irc.freenode.net&lt;br /&gt;Mail: &lt;a href="http://jboss.org/errai/MailingLists.html"&gt;http://jboss.org/errai/MailingLists.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6071440163472482959?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6071440163472482959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6071440163472482959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6071440163472482959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6071440163472482959'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/03/bpm-console-201-released.html' title='BPM Console 2.0.1 released'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QxIFVLQdHS0/S4-w1lVNQVI/AAAAAAAAAFw/WTu5w5040RQ/s72-c/process.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-1090031657031524379</id><published>2010-03-01T10:39:00.000-08:00</published><updated>2010-03-01T10:40:38.257-08:00</updated><title type='text'>Bela Ban at JBUG Munich, 08.03.2010</title><content type='html'>Bela talks about ReplCache:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Memory is the new disk, disk is the new tape&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ReplCache is a tool to store data in a cluster. It is essentially a hashmap spanning multiple hosts in a cluster.&lt;br /&gt;&lt;br /&gt;There are put(), get() and remove() methods which distribute data over the cluster.&lt;br /&gt;&lt;br /&gt;The unique feature of ReplCache is that it allows to define a replication count per element, e.g. how many times should an element be stored (on different nodes) for redundancy. When the cluster changes, e.g. due tonew nodes joining or nodes crashing, elements are automatically rebalanced to satisfy replication counts.&lt;br /&gt;&lt;br /&gt;Given enough nodes and the assumption that not all nodes ever crash at the exact same time, we can get rid of our database, and use the aggregated memory as our large virtual memory-based database!&lt;br /&gt;&lt;br /&gt;(For the paranoid folks, we can still stream the data away to disk/DB).&lt;br /&gt;&lt;br /&gt;We will also discuss the architectural approach for applications leveraging ReplCache and which for which kind of application this architecture will be suitable.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jbug-munich.org/"&gt;Details can be found here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-1090031657031524379?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/1090031657031524379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=1090031657031524379' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1090031657031524379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1090031657031524379'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/03/bela-ban-at-jbug-munich-08032010.html' title='Bela Ban at JBUG Munich, 08.03.2010'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2023123463366532337</id><published>2010-02-16T07:20:00.000-08:00</published><updated>2010-03-01T10:41:06.802-08:00</updated><title type='text'>Talking at JUG Zurich @ 2.3.2010</title><content type='html'>I'll be talking about GWT and project Errai in particular at the Java User Group Zurich at the 2.3.2010:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Patterns and Best Practices for building large GWT applications&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;In this presentation weʼll see how to organize a nontrivial GWT application. Weʼll go through the lessons learned in a real world project and take a look the complete development lifecycle and best practices that go beyond what GWT has to offer out-of-the- box. This talk does focus on modularity of GWT applications and how to overcome the burdens of compile-time linking. Weʼll talk about client side patterns and server side implementation options and explore different approaches that allow for quick turn around times without sacrificing maintainability.&lt;br /&gt;&lt;br /&gt;As part of this talk we'll look at project Errai (&lt;a href="http://jboss.org/errai"&gt;http://jboss.org/errai&lt;/a&gt;) and &lt;br /&gt;see how it can help to achieve these tasks.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In case you are around, make sure to show up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2023123463366532337?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2023123463366532337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2023123463366532337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2023123463366532337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2023123463366532337'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2010/02/talking-at-jug-zurich-232010.html' title='Talking at JUG Zurich @ 2.3.2010'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-3527499124335225759</id><published>2009-11-03T02:31:00.000-08:00</published><updated>2009-11-03T02:32:57.713-08:00</updated><title type='text'>BPM Console 1.2 released</title><content type='html'>Release Notes - BPM Console - Version BPM Console 1.2&lt;br /&gt;    &lt;br /&gt;&lt;h2&gt;        Bug&lt;br /&gt;&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-15'&gt;BPMC-15&lt;/a&gt;] -         Principal not correctly resolved&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-20'&gt;BPMC-20&lt;/a&gt;] -         Parse error on process instance with two active nodes&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-25'&gt;BPMC-25&lt;/a&gt;] -         XMLProxy chokes upon cookie initialization&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-24'&gt;BPMC-24&lt;/a&gt;] -         'rootToken' is optional in the ProcessInstanceRef&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;        &lt;br /&gt;&lt;h2&gt;        Feature Request&lt;br /&gt;&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-14'&gt;BPMC-14&lt;/a&gt;] -         Add support for custom reports&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-17'&gt;BPMC-17&lt;/a&gt;] -         Add paging to processdefinitions, processinstances, tasks, ... views&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-21'&gt;BPMC-21&lt;/a&gt;] -         CSS for task forms&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-22'&gt;BPMC-22&lt;/a&gt;] -         Auto-resize task form windows&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-26'&gt;BPMC-26&lt;/a&gt;] -         Provide preferences panel&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;[&lt;a href='https://jira.jboss.org/jira/browse/BPMC-27'&gt;BPMC-27&lt;/a&gt;] -         Initialize report server when server module is loaded&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-3527499124335225759?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/3527499124335225759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=3527499124335225759' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3527499124335225759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3527499124335225759'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/11/bpm-console-12-released.html' title='BPM Console 1.2 released'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-3815375453534838205</id><published>2009-10-20T05:48:00.001-07:00</published><updated>2009-10-20T05:48:36.646-07:00</updated><title type='text'>Talk on GWT &amp; Errai @ JUG Stuttgart</title><content type='html'>&lt;div style="width:425px;text-align:left" id="__ss_2291853"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/hbraun/gwt-jug-stuttgart" title="GWT Jug Stuttgart"&gt;GWT Jug Stuttgart&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gwtjugstuttgart-091020074530-phpapp01&amp;stripped_title=gwt-jug-stuttgart" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gwtjugstuttgart-091020074530-phpapp01&amp;stripped_title=gwt-jug-stuttgart" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/hbraun"&gt;hbraun&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-3815375453534838205?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/3815375453534838205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=3815375453534838205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3815375453534838205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3815375453534838205'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/10/talk-on-gwt-errai-jug-stuttgart.html' title='Talk on GWT &amp; Errai @ JUG Stuttgart'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6093633799129704983</id><published>2009-10-07T00:22:00.000-07:00</published><updated>2010-03-31T13:20:04.155-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><title type='text'>Drools 5.1 M1 ships the BPM console</title><content type='html'>Drools 5.1 M1 includes the recent BPM console. Take a look, give it a ride: &lt;a href="http://blog.athico.com/2009/10/drools-51-m1-release-notes.html"&gt;http://blog.athico.com/2009/10/drools-51-m1-release-notes.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6093633799129704983?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6093633799129704983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6093633799129704983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6093633799129704983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6093633799129704983'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/10/drools-51-m1-ships-bpm-console.html' title='Drools 5.1 M1 ships the BPM console'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2689766659454465221</id><published>2009-09-10T06:45:00.000-07:00</published><updated>2010-03-31T13:20:40.046-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><category scheme='http://www.blogger.com/atom/ns#' term='bam'/><title type='text'>Activity Monitoring, Part 1: A twitter example</title><content type='html'>SAM has been around for quiet some time, but still didn’t get much traction. On the one hand I was involved with other projects and on the other SAM did lack good examples that reveal the underlying concepts and put them into context.&lt;br /&gt;In the past few days I’ve put together an activity monitoring demo that will be used to explain the core concepts and give you an idea how SAM can be used to monitor activities of a particular domain. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Event streams&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First of all, a good example needs constant event feeds. I was  thinking about monitoring TCP packages on my box, but then came up with much more comprehensive example: Twitter feeds. Twitter has such a high volume of messages that it’s easy to derive event streams from it. In order for correlation to make sense we need events that share some kind of context. Using the twitter search API we can query messages that contain particular keywords, which is just enough contextual information for this example to make sense.  Because I was tired of the king of pop, I decided on another high volume discussion, in this case iran. &lt;br /&gt;&lt;br /&gt;You may ask: “Why event streams to begin with?” Because SAM is intended to monitor activities in a system close to real time. System activity is expressed a number of events that happen in no particular order but constantly over time. Event’s don’t even need to share the same properties, even though in our example they do. &lt;br /&gt;And last but not least: It’s no fun to monitor a system without activity. You’d just get blank graphs and empty tables, which is hard to explain to the audience. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QxIFVLQdHS0/SqkDrJeSwkI/AAAAAAAAADo/y7OwVDe7MyI/s1600-h/event_stream.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 102px;" src="http://2.bp.blogspot.com/_QxIFVLQdHS0/SqkDrJeSwkI/AAAAAAAAADo/y7OwVDe7MyI/s320/event_stream.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379835269683003970"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Correlation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Events come in all kinds of flavors. Most likely events share common properties if they derive from the same domain, i.e the twitter message cloud. When instrumenting a target domain you create event representations and push them to SAM using a specific stream input. A stream input is bound to a transport layer (i.e. JMS) and has a set of processing rules associated with it. These rules are used to monitor and act upon event streams if certain conditions kick in:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;rule "all iran tweets"&lt;br /&gt;when&lt;br /&gt;    $tweets: List() from accumulate(&lt;br /&gt;      $t : Tweet(id&amp;gt;0) over window:time(15s) from entry-point "iran tweets",&lt;br /&gt;      collectList( $t )&lt;br /&gt;   )&lt;br /&gt;then      &lt;br /&gt;   SAM.getListener("iran results").update($tweets); &lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In this example a simple rule is associated with the event stream input “iran tweets” that collects messages over a 15sec time window and pushes them to a stream output “iran results”.&lt;br /&gt;&lt;br /&gt;While stream inputs collect events, stream outputs are used to forward events,&lt;br /&gt;i.e. for notifying SLA watchdogs. The number of processing steps between input and output is not limited. You may use rules that trigger other rules. I.e. first filter certain events and then correlate them:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QxIFVLQdHS0/SqkDrYg9iPI/AAAAAAAAADw/lIarZzbWKjs/s1600-h/inout.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 143px;" src="http://2.bp.blogspot.com/_QxIFVLQdHS0/SqkDrYg9iPI/AAAAAAAAADw/lIarZzbWKjs/s320/inout.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379835273720727794"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But for the sake of simplicity we simply collect events over time and push them to the monitoring UI. We could add more complex processing rules, but that would extend the scope of this blog post and will be explained in Part 2 of this series. But for those of you who cannot wait, I suggest to take a look at Drools Fusion, the CEP engine that drives the complex correlation capabilities within SAM. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Monitoring&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The whole purpose of SAM is monitoring and management of a system in place. SAM has a close relation to BPM console, as it will be used to realize the BAM capabilities (Business Activity Monitoring) for JBoss BPM projects. For this reason I’ve chosen to implement the monitoring UI right atop of the BPM console framework. The user interface you see in the next sections is actually an editor component that can be plugged into the BPM console.&lt;br /&gt;&lt;br /&gt;But before we dive into the details, we need explain how SAM interfaces with a monitoring console. &lt;br /&gt;&lt;br /&gt;The monitoring UI and SAM are decoupled through the use of current value tables (CVT). A CVT holds the correlation results at a particular point in time. Any processing result that is forwarded to an event stream output will update a specific CVT that is associated that output. The monitoring UI doesn’t access the stream output directly, but instead reads the data from a CVT:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/SqkEfO6DdoI/AAAAAAAAAEA/KQB_2XQmfhQ/s1600-h/cvt.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 221px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/SqkEfO6DdoI/AAAAAAAAAEA/KQB_2XQmfhQ/s320/cvt.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379836164494816898"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, whats happening in our twitter example? Every 15 sec we collect the events from our stream input and simply forward to a stream output, that in our case is writing to a current value table. The monitoring UI runs in a another thread and uses a different update interval. It assembles a graphical representation and displays it to the user. In this case a line chart that depicts that number of messages at given point in time:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/SqkEfW6vXBI/AAAAAAAAAEI/1Rx_ZWNnvYc/s1600-h/line-chart.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 96px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/SqkEfW6vXBI/AAAAAAAAAEI/1Rx_ZWNnvYc/s320/line-chart.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379836166645177362"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Et voila! We’ve reached our first milestone: Monitoring twitter participation on a certain topic close to real-time. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Analysis&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As the name suggests, a current value table only holds most recent data. In our  example it means the last sample point on the x-axis of the chart above. Here’s the corresponding value table:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/SqkE4N3bM8I/AAAAAAAAAEY/gkPx7QBMgj8/s1600-h/current-cvt.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 260px; height: 128px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/SqkE4N3bM8I/AAAAAAAAAEY/gkPx7QBMgj8/s320/current-cvt.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379836593712083906"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this case four people have been tweeting about “iran” at that given point. But what if we want to go back in time? I.e. inspecting a previous peak or any other kind of derivation? Fortunately our CVT implementation doesn’t simply purge all records when an update occurs, but instead “swaps” all data to a Handler that will maintain a CVT’s history. It stores all snapshots so they can be retrieved later on. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/SqkDr2JGJpI/AAAAAAAAAD4/13RcqW2WNt0/s1600-h/snapshot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 243px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/SqkDr2JGJpI/AAAAAAAAAD4/13RcqW2WNt0/s320/snapshot.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379835281673692818"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Second milestone: We are not restricted to the most recent data, but can also go back in time and compare current and past event streams by simply navigating through the chart:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/SqkEf8g9TiI/AAAAAAAAAEQ/FHPR3MV1stA/s1600-h/current-past.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/SqkEf8g9TiI/AAAAAAAAAEQ/FHPR3MV1stA/s320/current-past.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379836176737586722"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Drill down&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That leaves us with one remaining question. The event properties available are pretty limited. Why is that? And how can we get to the details?&lt;br /&gt;&lt;br /&gt;In order to answer these questions we need to step back a little. SAM tries to provide event stream analysis close to real time. That means we aim for minimum footprint whenever possible. Event representations travel back and forth through the whole monitoring infrastructure, beginning with the target domain being monitoring, then entering the event processor itself and finally being represented visually in a monitoring UI. It’s important to restrict the payload without sacrificing the analysis possibilities. The solution is simple: SAM works with references to both the target domain and the event entity. Basically everything that is required are an event context (i.e. twitter user name), a timestamp and a reference id (i.e. message id). Other properties that go beyond that depend on the correlation rules you want to apply. The challenge when creating a monitoring solution is finding the right balance between target domain instrumentation (initial event representation) and correlation capabilities. &lt;br /&gt;&lt;br /&gt;If we stick to our example, both message ID and username are sufficient to drill down later on. We can always go back to twitter and retrieve the message contents for a particular message ID. It leverages one of the fundamental ideas behind SAM CVT implementation: On-demand content retrieval:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/SqkFYZXgNJI/AAAAAAAAAEo/alNbeAmThck/s1600-h/content-factory.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 179px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/SqkFYZXgNJI/AAAAAAAAAEo/alNbeAmThck/s320/content-factory.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5379837146555233426"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Putting it all together&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let us quickly recapture what has been explained here. &lt;br /&gt;We capture events of a target domain and push them to SAM through event stream inputs. Each input is associated with a set of processing rules that monitor the event stream and kick in on certain conditions. When rules kick in we can forward events to stream outputs or further feed them into the processor. &lt;br /&gt;&lt;br /&gt;One of the use cases for stream outputs are monitoring tools that display the information to a user. Users watch for exceptional situations and need to know what’s causing them. This also implies access to events that did happn in the past. &lt;br /&gt;&lt;br /&gt;Thorough analysis requires you to drill down to the event details and the source of information. Which is not necessary for all events, but only those of interest hence the need for on-demand content retrieval.&lt;br /&gt;&lt;br /&gt;Comments? Thoughts? Please let us know at the &lt;a href="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=279"&gt;Overlord forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the meantime enjoy &lt;a href="http://www.screencast.com/t/PQp1Vzrbsy"&gt;the screencast of the twitter monitoring demo&lt;/a&gt; in action.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/SqlUzM04ISI/AAAAAAAAAEw/F8vRSiEEkvg/s1600-h/Screen+shot+2009-09-10+at+11.21.05+AM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 215px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/SqlUzM04ISI/AAAAAAAAAEw/F8vRSiEEkvg/s320/Screen+shot+2009-09-10+at+11.21.05+AM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5379924468463837474" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2689766659454465221?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2689766659454465221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2689766659454465221' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2689766659454465221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2689766659454465221'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/09/activity-monitoring-part-1-twitter.html' title='Activity Monitoring, Part 1: A twitter example'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QxIFVLQdHS0/SqkDrJeSwkI/AAAAAAAAADo/y7OwVDe7MyI/s72-c/event_stream.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-3462496570465744634</id><published>2009-09-04T00:22:00.000-07:00</published><updated>2009-09-04T00:23:24.339-07:00</updated><title type='text'>Fred Sauer speaks at JBoss World</title><content type='html'>Sildes can be found &lt;a href="http://fredsa.allen-sauer.com/2009/09/gwt-for-enterprise-developer-jboss.html"&gt;here...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-3462496570465744634?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/3462496570465744634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=3462496570465744634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3462496570465744634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/3462496570465744634'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/09/fred-sauer-speaks-at-jboss-world.html' title='Fred Sauer speaks at JBoss World'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-4020317567550420179</id><published>2009-08-31T05:54:00.000-07:00</published><updated>2009-08-31T06:05:54.360-07:00</updated><title type='text'>BPM Console 1.1.2 released</title><content type='html'>BPM Conosle 1.1.2 carries minor enhancements, probably the most notable change is the switch from HTTP Basic Auth to form based authentication and session management (BPMC-12). Here's the complete changelog:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Release Notes - BPM Console - Version BPM Console 1.1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;[BPMC-7] - url is wrong in the resources page for jbpm profile&lt;br /&gt;&lt;li&gt;[BPMC-1] - Make tasks the default editor&lt;br /&gt;&lt;li&gt;[BPMC-2] - Move settings to the bottom&lt;br /&gt;&lt;li&gt;[BPMC-3] - Split rendering directives and process variables in form processor&lt;br /&gt;&lt;li&gt;[BPMC-5] - Tomcat Lite doesn't pickup profile changes&lt;br /&gt;&lt;li&gt;[BPMC-9] - Form processing requires access to principal doing the call&lt;br /&gt;&lt;li&gt;[BPMC-10] - Pick JAAS domain for server module from build profile&lt;br /&gt;&lt;li&gt;[BPMC-8] - Set the correct log for RESTEasy in JBoss As.&lt;br /&gt;&lt;li&gt;[BPMC-12] - Switch to form based authentication and session management&lt;br /&gt;&lt;li&gt;[BPMC-13] - Remove TX demarcation inPluginMgr&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-4020317567550420179?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/4020317567550420179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=4020317567550420179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4020317567550420179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4020317567550420179'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/08/bpm-console-112-released.html' title='BPM Console 1.1.2 released'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-4680062932864781417</id><published>2009-08-24T06:47:00.000-07:00</published><updated>2010-03-31T13:20:53.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bpm'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt'/><title type='text'>BPM Console screencasts</title><content type='html'>Several new screencast have popped up recently that show the BPM console in Action. &lt;br /&gt;&lt;br /&gt;- Joram shows how to &lt;a href="http://www.jorambarrez.be/blog/2009/08/24/custom_bi_reportin/"&gt;customize the reporting&lt;/a&gt;.&lt;br /&gt;- Kris did an excellent &lt;a href="http://downloads.jboss.com/drools/videos/gwt-console.swf"&gt;overview of the console as a whole&lt;/a&gt;, including task forms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-4680062932864781417?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/4680062932864781417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=4680062932864781417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4680062932864781417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/4680062932864781417'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/08/bpm-console-screencasts.html' title='BPM Console screencasts'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5935945655754550334</id><published>2009-07-23T00:22:00.000-07:00</published><updated>2009-07-23T00:23:50.647-07:00</updated><title type='text'>Alex McGuire on Using Scala in a Large-Scale Project</title><content type='html'>Alex McGuire, a developer with Électricité de France, &lt;a href="http://www.scala-lang.org/node/2200"&gt;describes&lt;/a&gt; how his team has been gradually migrating to Scala in a 300,000-line mission-critical production application. &lt;a href="http://www.scala-lang.org/node/2200"&gt;More ...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5935945655754550334?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5935945655754550334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5935945655754550334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5935945655754550334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5935945655754550334'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/07/alex-mcguire-on-using-scala-in-large.html' title='Alex McGuire on Using Scala in a Large-Scale Project'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2640834361644185910</id><published>2009-07-07T11:49:00.000-07:00</published><updated>2009-07-23T00:18:54.884-07:00</updated><title type='text'>James Strachan on Scala</title><content type='html'>If you are interested in &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt;, then I'd recommend &lt;a href="http://macstrac.blogspot.com/2009/04/scala-as-long-term-replacement-for.html"&gt;James blogpost&lt;/a&gt; on Scala. He did collect a lot of resources to whet your appetite.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2640834361644185910?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2640834361644185910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2640834361644185910' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2640834361644185910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2640834361644185910'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/07/james-strachan-about-scala.html' title='James Strachan on Scala'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-1421547593104861803</id><published>2009-06-30T02:27:00.000-07:00</published><updated>2009-06-30T02:30:22.001-07:00</updated><title type='text'>Integrating App Engine with EC2</title><content type='html'>A usual morning: Grab a coffee, check your emails and browse the latest rss feed updates. This time  stumbled across an interesting session, given at google i/o: &lt;a href="http://code.google.com/events/io/sessions/AppEngineNittyGritty.html"&gt;"App Engine Nitty-Gritty: Scalability, Fault Tolerance, and Integrating Amazon EC2"&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-1421547593104861803?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/1421547593104861803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=1421547593104861803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1421547593104861803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/1421547593104861803'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/06/integrating-app-engine-with-ec2.html' title='Integrating App Engine with EC2'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-2713919014653583283</id><published>2009-06-25T14:34:00.000-07:00</published><updated>2009-06-25T14:40:09.552-07:00</updated><title type='text'>Client-side data storage: JavaScript database support</title><content type='html'>I remember the days when Javascript was considered a severe security vulnerability. Now we get client side javascript database support. &lt;a href="http://developer.apple.com/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html#//apple_ref/doc/uid/TP40007256-CH3-SW1"&gt;Safari already implements it&lt;/a&gt;. Wicked!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-2713919014653583283?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/2713919014653583283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=2713919014653583283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2713919014653583283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/2713919014653583283'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/06/client-side-data-storage-javascript.html' title='Client-side data storage: JavaScript database support'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6362476070483137422</id><published>2009-06-25T03:06:00.000-07:00</published><updated>2009-09-16T06:26:15.706-07:00</updated><title type='text'>Drools Flow adopts BPM Console</title><content type='html'>Kris Verlaenen, the Drools Flow lead, has &lt;a href="http://blog.athico.com/2009/05/drools-flow-51-preview-1-web-console.html"&gt;successfully adopted the BPM Console&lt;/a&gt; for Drools.&lt;br /&gt;This means you can now manage Drools Flow processes the same way you do in jBPM4.&lt;br /&gt;&lt;br /&gt;That's great news. It shows that the initial design, decoupling the console from the engine has proven to be successful.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.athico.com/2009/05/drools-flow-51-preview-1-web-console.html"&gt;Read more...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6362476070483137422?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6362476070483137422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6362476070483137422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6362476070483137422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6362476070483137422'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/06/drools-flow-adopts-bpm-console.html' title='Drools Flow adopts BPM Console'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-7040870714583186388</id><published>2009-05-18T04:26:00.001-07:00</published><updated>2009-05-25T02:02:33.899-07:00</updated><title type='text'>"Clothes make a man": Moving to gwt-mosaic 0.1.10</title><content type='html'>&lt;div id="since"&gt;Since jBPM 4.0.0.CR1&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;Today I've tested the new &lt;a href="http://code.google.com/p/gwt-mosaic/"&gt;mosaic&lt;/a&gt; styles on the BPM console. &lt;br /&gt;Thanks to &lt;a href="http://code.google.com/u/georgopoulos.georgios/"&gt;George&lt;/a&gt; for back porting the &lt;br /&gt;Aegean theme and the layout manager improvements to the mosaic build for GWT 1.5.3:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/ShFGcfKalbI/AAAAAAAAADg/j64lkTJ1gFs/s1600-h/Picture+1.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 190px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/ShFGcfKalbI/AAAAAAAAADg/j64lkTJ1gFs/s320/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5337124488626214322" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-7040870714583186388?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/7040870714583186388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=7040870714583186388' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/7040870714583186388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/7040870714583186388'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/05/clothes-make-man-moving-to-gwt-mosaic.html' title='&quot;Clothes make a man&quot;: Moving to gwt-mosaic 0.1.10'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QxIFVLQdHS0/ShFGcfKalbI/AAAAAAAAADg/j64lkTJ1gFs/s72-c/Picture+1.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5817451556847218985</id><published>2009-05-14T01:50:00.000-07:00</published><updated>2009-05-14T06:52:49.497-07:00</updated><title type='text'>BPM Console, Task UI Demo</title><content type='html'>I've created a quick demo of the new Task UI feature, embedded in the console. Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4643652&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=4643652&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/4643652"&gt;BPM Console, Task UI Demo&lt;/a&gt; from &lt;a href="http://vimeo.com/user1754977"&gt;Heiko Braun&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;(Best viewed full screen with scaling turned off)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Questions?&lt;/span&gt; Leave a comment in the &lt;a href="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=295"&gt;forum&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5817451556847218985?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5817451556847218985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5817451556847218985' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5817451556847218985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5817451556847218985'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/05/bpm-console-task-ui-demo.html' title='BPM Console, Task UI Demo'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5490480083856682404</id><published>2009-04-23T01:43:00.000-07:00</published><updated>2009-05-18T05:49:26.452-07:00</updated><title type='text'>BPM console: springtime cleaning</title><content type='html'>&lt;div id="since"&gt;Since 4.0.0.Beta2&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;The BPM console is approaching Beta3 and it was about time to tidy up. We'd been running on gwt-ext from the beginning, because it was easy to get started with the project. But due to some &lt;a href="http://extjs.com/forum/showthread.php?t=33096"&gt;license changes&lt;/a&gt; in the gwt-ext project, we'd been forced to abandon that approach and chose &lt;a href="http://code.google.com/p/gwt-mosaic/"&gt;gwt-mosaic&lt;/a&gt; as it's successor. Mosaic works like charm and will eventually evolve as the default library for any JBoss GWT console. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QxIFVLQdHS0/SfA5PDDj-PI/AAAAAAAAADA/ZN2UN2CnCGo/s1600-h/Picture1.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://2.bp.blogspot.com/_QxIFVLQdHS0/SfA5PDDj-PI/AAAAAAAAADA/ZN2UN2CnCGo/s320/Picture1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5327821289860364530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;&lt;b&gt;Plugin-API and workspace composition&lt;/b&gt;&lt;br /&gt;We are still looking into unification that allows composition of management interfaces across JBoss project within a single console. The BPM console already follows that approach, which has been explained in a &lt;a href="http://jboss-overlord.blogspot.com/2009/01/developing-bpm-console-plugins.html"&gt;previous blog post&lt;/a&gt;. Besides some minor refactorings in the &lt;a href="http://anonsvn.jboss.org/repos/jbpm/projects/gwt-console/trunk/plugin-api/src/main/java/org/jboss/bpm/console/client/"&gt;plugin-api&lt;/a&gt;, the concept did basically remain the same: A workspace is assembled at build-time. Editors (workspace plugins) are retrieved from the classpath (maven dependencies) and configured through a workspace configuration:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;workspace-default.cfg&lt;/i&gt;&lt;br/&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;org.jboss.bpm.console.client.process.ProcessEditor&lt;br /&gt;org.jboss.bpm.console.client.task.TaskEditor&lt;br /&gt;&lt;br /&gt;# not yet implemented in jBPM4&lt;br /&gt;#org.jboss.bpm.console.client.report.ReportEditor  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proper MVC design&lt;/b&gt;&lt;br /&gt;If you got the chance to look into the previous codebase, you'd probably realized that the model and view components have been tightly intermingled. It was a result of the early UI prototypes that simply survived across releases. But with migration to mosaic, we decided to clean it up was well. The current implementation uses &lt;a href="http://code.google.com/p/mvc4g/"&gt;mvc4g&lt;/a&gt;, a GWT ready implementation of the &lt;a href="http://code.google.com/p/mvc4g/wiki/HmvcWithMvc4g"&gt;HMVC pattern&lt;/a&gt;. As a result the plugin-api does leverage that pattern by default:&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QxIFVLQdHS0/SfAxrsdgmnI/AAAAAAAAACw/9xEXnhrFcTg/s1600-h/v2_patterns.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 252px;" src="http://1.bp.blogspot.com/_QxIFVLQdHS0/SfAxrsdgmnI/AAAAAAAAACw/9xEXnhrFcTg/s320/v2_patterns.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5327812985918364274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;If you now look at the sources, you'll find a clean and easy to understand separation of editors, actions and views:&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QxIFVLQdHS0/SfAzIG7pTYI/AAAAAAAAAC4/mG1RwmfXgL8/s1600-h/src-layout.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 221px; height: 320px;" src="http://4.bp.blogspot.com/_QxIFVLQdHS0/SfAzIG7pTYI/AAAAAAAAAC4/mG1RwmfXgL8/s320/src-layout.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5327814573572050306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Improved error handling&lt;/b&gt;&lt;br /&gt;One of the major complaints we received about previous console versions, was the fact that, sometimes it got stuck without any indication of what has been going wrong. With the latest refactorings, any HTTP request handling has been delegated to the core GWT RequestBuilder classes. This gives us more fine grained control, including request timeouts and http status codes as well as standardized error reporting.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New look and feel&lt;/b&gt;&lt;br /&gt;Mosaic is more close to the actual GWT sources and hence less fancy. But the actual Widgets are less error prone and do render faster then gwt-ext:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QxIFVLQdHS0/SfA5PX9uQII/AAAAAAAAADQ/51dRG9z_iq0/s1600-h/Picture3.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 114px;" src="http://2.bp.blogspot.com/_QxIFVLQdHS0/SfA5PX9uQII/AAAAAAAAADQ/51dRG9z_iq0/s320/Picture3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5327821295473016962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;Stay tuned. Now that we got the codebase in good shape for this summer, we'll proceed with functional enhancements: Task forms and reporting.&lt;br /&gt;&lt;br /&gt;Join the discussion in the &lt;a href="http://www.jboss.org/index.html?module=bb&amp;op=viewforum&amp;f=295"&gt;console dev forum&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5490480083856682404?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5490480083856682404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5490480083856682404' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5490480083856682404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5490480083856682404'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/04/bpm-console-springtime-cleaning.html' title='BPM console: springtime cleaning'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QxIFVLQdHS0/SfA5PDDj-PI/AAAAAAAAADA/ZN2UN2CnCGo/s72-c/Picture1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-5487774304270434427</id><published>2009-03-31T02:01:00.001-07:00</published><updated>2009-03-31T02:05:07.271-07:00</updated><title type='text'>JBoss at Google Summer of Code</title><content type='html'>JBoss is mentoring projects at this year &lt;a href="http://socghop.appspot.com/org/show/google/gsoc2009/redhat"&gt;Google Summer of Code&lt;/a&gt; again. If you interested in working on jBPM or JBoss projects in general then please checkout the list of &lt;a href="http://www.jboss.org/community/docs/DOC-13401"&gt;available projects&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jboss.org/community/docs/DOC-13299"&gt;jBPM offers a list of projects&lt;/a&gt; that will be mentored by Tom and me. If you are interested in one of those get in touch with us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-5487774304270434427?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/5487774304270434427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=5487774304270434427' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5487774304270434427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/5487774304270434427'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/03/jboss-at-google-summer-of-code.html' title='JBoss at Google Summer of Code'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6171281593749869499</id><published>2009-03-30T06:41:00.000-07:00</published><updated>2009-03-31T01:39:39.419-07:00</updated><title type='text'>jBPM Task Management: A look at the participation model</title><content type='html'>&lt;div id="since"&gt;Since 4.0.0.Beta1&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;The revisited task management model in jBPM introduces a new concept: task participation. The participation model describes identities (user or groups) and the type of involvement in the actual completion of task:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QxIFVLQdHS0/SdDNEjfRblI/AAAAAAAAACo/-WXy3CulUr0/s1600-h/participation.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 306px;" src="http://2.bp.blogspot.com/_QxIFVLQdHS0/SdDNEjfRblI/AAAAAAAAACo/-WXy3CulUr0/s320/participation.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5318976638054133330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Example 1: User and business administrator participation&lt;/span&gt;&lt;br /&gt;A common use case where this model fit's quiet nicely is the distinction between a user that actually performs the task and a business administrator monitoring progress. Depending on the participation type some principals will actually do the work, while others make sure tasks are executed within given constraints (i.e. priority, duedate, etc).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Example 2: Task stakeholders with different participation types&lt;/span&gt;&lt;br /&gt;Another example could be stakeholders monitoring the actual outcome of task, or delegation between different participants that co-operate on a task. In this case a "initiator" of task, a "candidate" performing the work and the "final recepient" might be different participation types.&lt;br /&gt;&lt;br /&gt;The TaskService API already reflects those changes:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;org.jbpm.TaskService &lt;br /&gt;{&lt;br /&gt;   [...]&lt;br /&gt;/**&lt;br /&gt;   * retrieves a list of tasks for a user&lt;br /&gt;   * and a particular {@link org.jbpm.task.Participation} type&lt;br /&gt;   *&lt;br /&gt;   * @see org.jbpm.TaskQuery&lt;br /&gt;   */&lt;br /&gt;  List&lt;Task&gt; findTasksByParticipation(String participation, UserRef user);&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * retrieves a list of tasks for a group&lt;br /&gt;   * and a particular {@link org.jbpm.task.Participation} type&lt;br /&gt;   *&lt;br /&gt;   * @see org.jbpm.TaskQuery &lt;br /&gt;   */&lt;br /&gt;  List&lt;Task&gt; findTasksByParticipation(String participation, GroupRef... groups);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Currently we ship some default participation types, out of which only type 'candidate' is supported, but you can expect this to be extended in the near future. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;org.jbpm.task.Participation&lt;br /&gt;{&lt;br /&gt;   [...]&lt;br /&gt;&lt;br /&gt;  String CANDIDATE = "candidate";&lt;br /&gt;&lt;br /&gt;  IdentityRef getIdentityRef();&lt;br /&gt;  &lt;br /&gt;  /** see constants for default participations */&lt;br /&gt;  String getType();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6171281593749869499?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6171281593749869499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6171281593749869499' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6171281593749869499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6171281593749869499'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/03/jbpm-task-management-look-at.html' title='jBPM Task Management: A look at the participation model'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QxIFVLQdHS0/SdDNEjfRblI/AAAAAAAAACo/-WXy3CulUr0/s72-c/participation.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-6921085872992304996</id><published>2009-03-20T05:50:00.000-07:00</published><updated>2009-03-20T12:54:38.902-07:00</updated><title type='text'>Task management extensions: Human interaction management</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QxIFVLQdHS0/ScOThkaKcnI/AAAAAAAAACg/zHGzWmDzhnE/s1600-h/Extensions.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 182px;" src="http://2.bp.blogspot.com/_QxIFVLQdHS0/ScOThkaKcnI/AAAAAAAAACg/zHGzWmDzhnE/s320/Extensions.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5315254190145696370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br clear="all"/&gt;&lt;br /&gt;&lt;br /&gt;a) Application: Some process being executed that hits a task activity&lt;br /&gt;&lt;br /&gt;b) Task Mgr: The current jBPM4 base model for managing tasks. It includes assignments, variables, etc.&lt;br /&gt;&lt;br /&gt;c) Notification Mgr: Decouples the notification features. I.e. email, ical,etc. The idea is borrowed from the latest code contribution. &lt;br /&gt;How and if the task management does notifications will be pluggable. We will probably provide a smtp notification mechanism as the default.&lt;br /&gt;&lt;br /&gt;d) Form Mgr: Interfacing the outside world. Formost use would be HTML forms of some kind, but can be a WS interface as well. The Form Mgr relies on the variables and resources associated with a process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-6921085872992304996?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/6921085872992304996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=6921085872992304996' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6921085872992304996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/6921085872992304996'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/03/task-management-extensions-human.html' title='Task management extensions: Human interaction management'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QxIFVLQdHS0/ScOThkaKcnI/AAAAAAAAACg/zHGzWmDzhnE/s72-c/Extensions.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-7185564476527816471</id><published>2009-03-10T08:25:00.000-07:00</published><updated>2009-03-11T05:57:24.879-07:00</updated><title type='text'>RFC: Process deployment use cases</title><content type='html'>This is a request for comments. &lt;div id="since"&gt;Since 4.0.0.Beta1&lt;/div&gt; &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;What deployment use cases do we want to cover? &lt;br /&gt;&lt;li&gt;What constraints should apply for each use case?&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The matrix below shows the constraints for the deployment policies that are currently implemented:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QxIFVLQdHS0/SbeuSoy7sJI/AAAAAAAAACQ/QFBYBZeRYaE/s1600-h/deployment_use_cases.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 224px;" src="http://3.bp.blogspot.com/_QxIFVLQdHS0/SbeuSoy7sJI/AAAAAAAAACQ/QFBYBZeRYaE/s320/deployment_use_cases.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5311905920718712978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br clear="all"&gt;&lt;br /&gt;&lt;br /&gt;Explanation:&lt;br /&gt;&lt;br /&gt;There is currently four properties that are taken into consideration when processes get deployed:&lt;br /&gt;the process name and version (part of jpdl.xml), the artifact name (i.e OrderProcess.par) and the artifact timestamp.&lt;br /&gt;Process name, version and artifact name are the main properties that distinguish process deplyoments, the timestamp basically just acts as a fallback when no version is given and leads a version auto-increment.&lt;br /&gt;&lt;br /&gt;Possible combinations of those properties lead to matrix above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-7185564476527816471?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/7185564476527816471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=7185564476527816471' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/7185564476527816471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/7185564476527816471'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/03/rfc-process-deployment-use-cases.html' title='RFC: Process deployment use cases'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QxIFVLQdHS0/SbeuSoy7sJI/AAAAAAAAACQ/QFBYBZeRYaE/s72-c/deployment_use_cases.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3840302021974306502.post-8065608932684016432</id><published>2009-03-10T08:24:00.001-07:00</published><updated>2009-03-10T08:25:18.342-07:00</updated><title type='text'>Work on the jBPM4 deployer started</title><content type='html'>&lt;div style="width:425px;text-align:left" id="__ss_1126680"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/hbraun/jbpm4-deployer?type=powerpoint" title="Jbpm4 Deployer"&gt;Jbpm4 Deployer&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=jbpm4-deployer-090310101047-phpapp02&amp;stripped_title=jbpm4-deployer" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=jbpm4-deployer-090310101047-phpapp02&amp;stripped_title=jbpm4-deployer" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/hbraun"&gt;hbraun&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3840302021974306502-8065608932684016432?l=relative-order.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://relative-order.blogspot.com/feeds/8065608932684016432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3840302021974306502&amp;postID=8065608932684016432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8065608932684016432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3840302021974306502/posts/default/8065608932684016432'/><link rel='alternate' type='text/html' href='http://relative-order.blogspot.com/2009/03/work-on-jbpm4-deployer-started.html' title='Work on the jBPM4 deployer started'/><author><name>Heiko Braun</name><uri>http://www.blogger.com/profile/17987290811990461031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
