<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Edem Morny's Tech Blog &#187; Seam</title>
	<atom:link href="http://edemmorny.wordpress.com/tag/seam/feed/" rel="self" type="application/rss+xml" />
	<link>http://edemmorny.wordpress.com</link>
	<description>There's a fine line between walking and flying. It's called imagination.</description>
	<lastBuildDate>Tue, 22 Dec 2009 18:05:25 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='edemmorny.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/4ea55a85c39179bf099e4e3b297b60f2?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Edem Morny's Tech Blog &#187; Seam</title>
		<link>http://edemmorny.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://edemmorny.wordpress.com/osd.xml" title="Edem Morny&#8217;s Tech Blog" />
		<item>
		<title>Book Review: Packt&#8217;s JBoss Richfaces 3.3</title>
		<link>http://edemmorny.wordpress.com/2009/12/22/book-review-packts-jboss-richfaces-3-3/</link>
		<comments>http://edemmorny.wordpress.com/2009/12/22/book-review-packts-jboss-richfaces-3-3/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 17:45:45 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[Richfaces]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/2009/12/22/book-review-packts-jboss-richfaces-3-3/</guid>
		<description><![CDATA[
Summary
Very good book on what is arguably the most popular JSF component library. Covers the less well used but very important ajax features of Richfaces, including the use of ajax regions, containers as well as the plug-n-skin features.
Details
To all intents and purposes, this book is not for a beginner JSF developer, because it assumes familiarity [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=117&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		H3 { margin-bottom: 0.08in } 		H3.western { font-family: "Liberation Sans", sans-serif } 		H3.ctl { font-family: "Lohit Hindi" } --></p>
<h3>Summary</h3>
<p>Very good book on what is arguably the most popular JSF component library. Covers the less well used but very important ajax features of Richfaces, including the use of ajax regions, containers as well as the plug-n-skin features.</p>
<h3>Details</h3>
<p>To all intents and purposes, this book is not for a beginner JSF developer, because it assumes familiarity with JSF 1.2. It starts off by delving into the history of the Richfaces component framework, which in eons past was just Ajax4jsf. It gives a short introduction (which is expounded later) on the ajax capabilities, the component set and skinability features of Richfaces for Rich Internet Application development.</p>
<p>It then sets off showing you step by step, how to create a simple JSF application that takes advantage of Richfaces as it&#8217;s JSF components library. It presents the seam-gen tool, a nifty tool for creating skeletons jsf projects based on the JBoss Seam project. Following the instructions on seam-gen enables you to create a quick prototype to start playing around with. This is then followed by instructions on how to manually create a project which is not Seam based, for fans of other frameworks which also integrate JSF, or for the pure JSF purists. This also includes configuring facelets support, and finally a look at how the IDEs provide support for development using the Richfaces component set.</p>
<p>The rest of the book, chapter by chapter, then focuses on using Richfaces components in building an interactive, intuitive and rich UI for your JSF application.</p>
<p>The following chapter delves into creating a JSF application using seam-gen (which I felt was repetitive, given that they&#8217;d actually created one in the preceding chapter), with additional parameters for defining the persistence model (entities) that were to be used in the application. It is worth noting from here forward almost all the examples now make use of the Seam framework&#8217;s programming model, something which could be a problem for those who are not Seam adherents. Also, with the stated assumption that this book is targeted at people with a basic knowledge of JSF, there didn&#8217;t seem to be the need to go over the basics of templating with Facelets and defining managed beans in a faces-config.xml file.</p>
<p>The next two chapters then introduce us to the intricate details of what the application is actually supposed to look like in terms of UI and functionality. The reader is taken through creating a database and generating entities from these, as well as creating a login page. I felt that these two chapters were the weakest chapters of the book, seeing as they dwelt more on entities, JPA and entities generation and Seam&#8217;s identity and login management than it did on the particular component framework in question – Richfaces. This may be explained by the fact that Richfaces enables the user to hook into Hibernate Validator for DRY enforcement on the domain model, the user could have been spared the parts on how to create the database, etc as well as Seam&#8217;s login management features.</p>
<p>Subsequently, the next chapter gives some very good insight on skinning, and implementing a means for the user to dynamically change skins. It explains the Richfaces&#8217;s use of XCSS, a powerful xml based means of describing CSS properties, as well as how to use some of the default Plug-n-Skin examples.</p>
<p>Chapter 6 then takes us deep into a real ajax experience, showing us the lesser explored but very important features provided by the rich:dataTable and rich:column components, as well as the appropriate use of the datascroller component for displaying tabular data. It also talks extensively about other data iteration components like the DataGrid and the DataList. Additionally, it goes into detail on the appropriate use of ajax placeholders, especially on using Richfaces outputPanel in achieving really ajax based changes to UI after changes are made to content, instead of just using JSF&#8217;s rendered attribute only.</p>
<p>The next chapter then deals with using the RichEditor as well as how to implement Drag&#8217;n'Drop support in your application. Finally an in-depth score is done on using the Richfaces FileUpload component.</p>
<p>Chapter 8 and 9 deal into more detail with skinning support in Richfaces, including how to create your own Plug&#8217;n'Skin skins, which can be quite easy if you follow the author&#8217;s guidance.</p>
<p>Chapter 10 dwells on advanced ajax capabilities such as Poll, Push as well as the partial update of data iteration components in the UI.</p>
<p>Of course, this book would not have been complete without discussing the Richfaces Component Development Kit (CDK). From creating a maven project using Richfaces&#8217;s CDK archetypes, to creating your own user defined components and registering them with the application, this chapter covers it all.</p>
<p>It ends with an appendix giving a short description of all the components currently provided by the Richfaces team.</p>
<h3>What I like about this book.</h3>
<p>This book contains a lot of information about how to really take advantage of the ajax capabilities provided by the Richfaces framework, and makes important mention of very valuable points to look out for when ajaxifying your application. I highly commend the indepth knowledge of Richfaces placeholders and the use of attributes like <em>ajaxSingle</em> and <em>process</em>, which gives your JSF application a true ajax feel.</p>
<h3>What I don&#8217;t like about this book.</h3>
<p>I&#8217;m an avowed fan of JBoss Seam, but I&#8217;d have preferred the book didn&#8217;t delve so deeply into Seam to make it&#8217;s point. As i mentioned before, some chapters dealt more with Seam than with Richfaces, and those may actually be quite annoying to someone who is developing with say Spring Web Flow.</p>
<p>Packt Publishing has attempted to pull off a book that provides an indepth look at the 3.3 version of  the popular JSF component library, Richfaces. In a lot of ways, I believe they have managed to do just that, give or take a few points.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/117/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/117/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/117/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=117&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2009/12/22/book-review-packts-jboss-richfaces-3-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>
	</item>
		<item>
		<title>JSF Applications – JBoss Seam or Spring Web Flow?</title>
		<link>http://edemmorny.wordpress.com/2009/04/29/jsf-applications-%e2%80%93-jboss-seam-or-spring-web-flow/</link>
		<comments>http://edemmorny.wordpress.com/2009/04/29/jsf-applications-%e2%80%93-jboss-seam-or-spring-web-flow/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 08:22:14 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[spring ide]]></category>
		<category><![CDATA[web flow]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/2009/04/29/jsf-applications-%e2%80%93-jboss-seam-or-spring-web-flow/</guid>
		<description><![CDATA[I&#8217;ve had opportunity to use JBoss Seam from its 1.0 days, and also Spring Web Flow. I must admit that both frameworks really do hold their own in providing you with a full stack for rapid application development. This post does not attempt to look at these frameworks as a whole, but to focus on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=101&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="justify">I&#8217;ve had opportunity to use JBoss Seam from its 1.0 days, and also Spring Web Flow. I must admit that both frameworks really do hold their own in providing you with a full stack for rapid application development. This post does not attempt to look at these frameworks as a whole, but to focus on how easy it is to develop JSF<br />
applications in them.</p>
<p align="justify">
<p align="justify">JSF is a Java standard for web application development. Therefore to judge any framework that depends on or claims to accelerate JSF, we will focus on how it scales over the gaping holes that are not handled by the standard, not just how they stick to it. <span style="font-weight:normal;">B</span>elow are my observations. Note that the following points are not given in<br />
any order of importance.</p>
<h3 class="western">JSF&#8217;s UISelectItems Support</h3>
<p align="justify">From somewhere in it&#8217;s 1.x version, Seam has provided the ability to use just a normal java.util.List of your own domain objects e.g. List&lt;Student&gt; directly to populate JSF&#8217;s UISelectItem controls like list boxes, drop down lists etc using their &lt;s:selectItems/&gt; component and it&#8217;s attached &lt;s:convertEntity/&gt; tag. Additionally, enums are easily handled in like manner using &lt;s:convertEnum/&gt; and &lt;s:enumItem/&gt;.  This gets rid of the need to wrap domain objects in JSF SelectItem instances.</p>
<p align="justify">This is sorely lacking in Spring Faces, Spring&#8217;s JSF support for Web Flow, something I have even voted for in their JIRA instance.</p>
<p align="justify">
<h3 class="western">Conversation Propagation in a Different Browser Tab</h3>
<p align="justify">Seam provides the ability to invoke actions that start a new conversation or to move within states in a conversation using their provided &lt;s:button/&gt; or &lt;s:link/&gt; button and link respectively. Though Spring Faces has a Dojo backed<br />
&lt;sf:commandButton/&gt; and &lt;sf:commandLink/&gt;, these are not yet capable of achieving this.</p>
<p align="justify">
<h3 class="western">Integration with Hibernate Validator</h3>
<p align="justify">Following the DRY principle, it can be very useful if JSF can also hook into the validation defined on your domain model using the defacto validation standard, Hibernate Validator. As you may already know, JSR-303 Bean Validation is targeted at standardizing the definition and enforcement of validation rules on your domain model,<br />
with Hibernate Validator as the reference implementation. Seam provides the ability to enforce these validations in your JSF UI using the &lt;s:validateAll/&gt; tag.</p>
<p align="justify">Although requests have been made for this support, I&#8217;m yet to see it in Spring Faces.</p>
<p align="justify">
<h3 class="western">Popup Screens</h3>
<p align="justify">Sometimes it is cool to show modal panels for quick response from the user when interacting with the UI instead of a full page refresh. Spring Faces natively provides a Dojo based modal panel accessed just<br />
by setting “popup” to true on any view state.</p>
<p align="justify">It is important to note however that though not natively supported in Seam, both it&#8217;s default JSF component library, RichFaces and the supported alternatives, ICEFaces and Trinidad, all provide this functionality<br />
easily.</p>
<p align="justify">
<h3 class="western">Display of byte[] images</h3>
<p align="justify">JSF doesn&#8217;t provide any native control for the display of images from a byte array (byte[]) most probably retrieved from a database. The standard &lt;h:graphicImage/&gt; only deals with files accessible through a url. Seam however, provides support for display of images in a byte arrays using it&#8217;s &lt;s:graphicImage/&gt;.</p>
<p align="justify">There is no such support in Spring Faces, though RichFaces&#8217;s &lt;a4j:mediaOutput/&gt; could be used in displaying such content, however I have had problems using it with Spring Faces. ICEFaces also could be used to achieve this.</p>
<h3 class="western">File Upload</h3>
<p align="justify">Another vital component missing from the standard JSF toolkit is a file upload component of which Seam natively provides an &lt;s:fileUpload/&gt; component for achieving just that.</p>
<p align="justify">Unless you us a third party library like RichFaces or ICEFaces, I haven&#8217;t yet seen clear support for such a functionality in SpringFaces.</p>
<h3 class="western">Rendering Components Based on Access Rights</h3>
<p align="justify">Sometimes you want to hide a certain area of your UI from the user based on their roles/rights within the application. This is normally achieved in JSF using the “rendered” attribute on any tag or component. Seam provides a native way to easily hide or show components or sections using the s:hasRole EL function. An example of<br />
this is below</p>
<p align="justify">&lt;h:outputText value=”Hello”<br />
rendered=”#{s:hasRole(&#8216;Admin&#8217;)}”/&gt;</p>
<p align="justify">This same support is extended to its “s:hasPermission” function, allowing you to render components on the UI based on not only roles, but fine grained permissions even backed by the Drools engine. And these functions are accessible whether on the UI, in your navigation rules (when you use pages.xml or pdl) and even in your code on annotations.</p>
<p align="justify">Spring Faces has no native support for this on facelets (I think it&#8217;s only available on jsps). However, an open-source project, Acegi-JSF, has a UI component tag &lt;acegijsf:authorize/&gt; and other additional ones which allow you to render based on access rights. This is limited, in that it cannot be applied to the rendered” attributes of JSF components since it is by itself a component/tag, not an EL function like Seam&#8217;s approach. You have to be quite inventive (and verbose) to come up with your own solutions to this problem.</p>
<p align="justify">
<h3 class="western">Extended EL Capabilities</h3>
<p align="justify">JSF 1.2 is limited in it&#8217;s EL support, and as a result you cannot invoke an action with parameters on a facelet. The following is not allowed, though I&#8217;ve seen proposals to fix it natively in</p>
<p align="justify">&lt;h:commandButton action=”#{shop.buyProduct(product)}”/&gt;</p>
<p align="justify">Seam uses it&#8217;s own implementation of the EL-API called the JBoss EL, and this allows the invocation of such actions in a facelet and in your navigation rules.</p>
<p align="justify">Though Spring Faces also uses JBoss EL, for some reason I haven&#8217;t been able to do anything like the above in my facelet, though it is possible in flow (it is a heavily used feature Spring Web Flow).</p>
<p align="justify">
<h3 class="western">Automatic Detection of Converters &amp; Validators Through Annotations</h3>
<p align="justify">One may be forced to write some converters or validators needed to meet specific business logic needs. JSF requires you to specify these classes in it&#8217;s faces-config.xml file before being used.</p>
<p align="justify">Seam provides annotations for auto-discovering JSF converters and validators, meaning there is no need for the “xml hell” when creating these components.</p>
<p align="justify">Spring Faces doesn&#8217;t yet have this support.</p>
<h3 class="western">TimeZones &amp; Themes</h3>
<p align="justify">The JSF specification assumes that all dates and times are UTC. To override this behaviour,  a timezone must specified using an &lt;f:convertDateTime/&gt; on each date being displayed. The inconvenience of this cannot be overstated as I&#8217;ve had to deal with this. Using a Seam component on which the Time Zone may be specified in your application, Seam overrides this behaviour in your JSF application, a feature I&#8217;m yet to see in SpringFaces.</p>
<p align="justify">Also, most of today&#8217;s webapps come with the ability to change themes on the fly, but JSF has no native support for  themes. This support however is provided by Seam in a very easy to configure way, and is yet to make it to Spring Faces.</p>
<h3 class="western">Tools</h3>
<p align="justify">JSF by nature is designed with tools in mind, as result, tool support is an important part of adoption of JSF and every JSF framework&#8217;s tool support must be brought under the scope.</p>
<p align="justify">JBoss provides JBoss Tools, a superb set of tools for rapid application design. It&#8217;s Richfaces VPE provides wysiwyg, drag n&#8217; drop design of facelets with a palette of HTML,JSF, Facelets and Richfaces components. It also supports resolution of your seam components inside facelet using Seam component names as well as wysiwyg declaration of<br />
nagivation rules in both the standard JSF faces-config.xml or and Seam&#8217;s pages.xml. Even resolution of component names in code is also available. See the <a href="http://www.packtpub.com/developers-guide-for-jboss-tools-3/book/jbtpsd?utm_source=jbtpsd&amp;utm_medium=website&amp;utm_term=middle&amp;utm_content=image&amp;utm_campaign=packtpub.com" target="_blank">JBoss Tools Developer Guide</a> for more on this toolset.</p>
<p align="justify">Spring provides it&#8217;s own Spring IDE set of tools which also allow the resolution of Spring beans within your flow definitions. Unfortunately, there isn&#8217;t any wysiwig support and Spring beans cannot be resolved by the Richfaces VPE.</p>
<h2 class="western">Other Non-JSF Stuff For UI Developers</h2>
<h3 class="western">Conversation Switcher</h3>
<p align="justify">With both frameworks promising the ability to have long running conversations, it then becomes useful to be able to start different conversations concerning different things, and have knowledge on the UI of which conversations have been started and the state in which the user is in each conversation.</p>
<p align="justify">This is natively supported in Seam but not in Web Flow.</p>
<h3 class="western">Debug page</h3>
<p align="justify">It helps to know the state and content of the beans in your scopes, especially when you want to know why certain things are not showing up on your facelet, without having to set break points in your IDE and start a whole debugging process.</p>
<p align="justify">Seam gives you the ability to at any time in any conversation, see the contents of your components in their appropriate scopes. This I sorely missed in Web Flow.</p>
<h3 class="western">Summary</h3>
<p align="justify">There are a host of other things that we could also compare, but from these ones it is not difficult to see why people who develop using the JSF framework see Seam as a saviour. We could choose<br />
to chastise JSF itself for its shortcomings and use other frameworks but when someone comes along and <strong><em>makes standards like JSF more attractive as their first priority</em></strong>, I think they deserve the support and commendation. And that is what I believe is the problem with Spring Web Flow and it&#8217;s<br />
Spring Faces project.</p>
<p align="justify">Spring has it&#8217;s own MVC framework, SpringMVC which predates Web Flow. Web Flow can be developed either using SpringMVC or JSF aka Spring Faces. A lot of the limitations of Spring Faces noted here are already handled natively by SpringMVC. Obviously, Spring Faces has not had the kind of attention that the first class citizen, SpringMVC<br />
has in the world of Spring. In fact, one wonders if the sudden entrance of Spring Faces is not just a knee jerk reaction to Seam winning the JSF folks over.</p>
<p align="justify">I believe that if you had to develop a JSF application and did not have any investments in Spring already, it will make more sense to go for Seam as your preferred framework. Coupled with it&#8217;s advanced tooling, there isn&#8217;t as yet a better choice. Trust me, you won&#8217;t regret it.</p>
<p align="justify">Seam also has support for other web frameworks like GWT and Wicket. Though Seam&#8217;s support of Wicket is very young, it will be interesting to see what<br />
the community&#8217;s acceptance of it is.</p>
<p>Technorati Tags: <a class="performancingtags" rel="tag" href="http://technorati.com/tag/seam">seam</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/web%20flow">web flow</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/jsf">jsf</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/jboss">jboss</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/spring">spring</a></p>
<div><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=e4f30ef3-8cd6-8117-9d39-a0c9d83ddf83" alt="" /></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=101&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2009/04/29/jsf-applications-%e2%80%93-jboss-seam-or-spring-web-flow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=e4f30ef3-8cd6-8117-9d39-a0c9d83ddf83" medium="image" />
	</item>
		<item>
		<title>DZone Releases Richfaces and Seam UI RefCardz</title>
		<link>http://edemmorny.wordpress.com/2009/03/10/dzone-releases-richfaces-and-seam-ui-refcardz/</link>
		<comments>http://edemmorny.wordpress.com/2009/03/10/dzone-releases-richfaces-and-seam-ui-refcardz/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 09:27:49 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[Richfaces]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/2009/03/10/dzone-releases-richfaces-and-seam-ui-refcardz/</guid>
		<description><![CDATA[As part of DZone&#8217;s aim of informing the developer, especially Java developers of their choices in tools and technologies to be productive in their fields, it regularly publishes RefCardz. These are concise, straight to the point publications highlighting appropriate uses of different technologies. They have been very insightful to me.
In recent weeks, I&#8217;ve participated in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=80&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As part of <a href="http://www.dzone.com/links/index.html" target="_blank">DZone&#8217;s</a> aim of informing the developer, especially Java developers of their choices in tools and technologies to be productive in their fields, it regularly publishes RefCardz. These are concise, straight to the point publications highlighting appropriate uses of different technologies. They have been very insightful to me.</p>
<p>In recent weeks, I&#8217;ve participated in reviewing the publication of <a href="http://refcardz.dzone.com/refcardz/seam-ui" target="_blank">Seam UI</a> RefCard from Jacob Orshalick, the author of the just released <a href="http://www.amazon.com/Seam-Framework-Experience-Evolution-JBoss/dp/0137129394/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1236677038&amp;sr=8-1" target="_blank">Seam Framework: Experience the Evolution of Java EE</a> and a committer on the Seam project. It contains some useful information on some of the best practices for managing and configuraing your Seam application&#8217;s UI. Just grap a copy here.</p>
<p>And just yesterday, a RefCard on <a href="http://refcardz.dzone.com/refcardz/richfaces" target="_blank">Richfaces</a> was published from the horse&#8217;s own mouth &#8211; Excadel. This publication features Nick Belaevski, Ilya Shaikovsky, Jay Balunas and <a href="http://mkblog.exadel.com/" target="_blank">Max Katz</a> &#8211; author of the well acclaimed <a href="http://www.amazon.com/Practical-RichFaces-Max-Katz/dp/1430210559/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1236677212&amp;sr=1-1" target="_blank">Practical Richfaces</a>.</p>
<p>These give fans of Seam and Richfaces enough food for thought for the next few months. Enjoy chewing on them as I have.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=3faa6557-1418-4b77-9e5e-9aa81958b41e" alt="" /></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=80&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2009/03/10/dzone-releases-richfaces-and-seam-ui-refcardz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=3faa6557-1418-4b77-9e5e-9aa81958b41e" medium="image" />
	</item>
		<item>
		<title>JBoss Tools, Seam and XML Editing</title>
		<link>http://edemmorny.wordpress.com/2008/09/01/jboss-tools-seam-and-xml-editing/</link>
		<comments>http://edemmorny.wordpress.com/2008/09/01/jboss-tools-seam-and-xml-editing/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 13:12:48 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=71</guid>
		<description><![CDATA[I&#8217;d never been a fun of xml files. Never. I like to put my money where my mouth is, and that is not in xml files. Then came EJB3. And just when I was getting settled down with the new craze (Annotations), along came Seam. Now I could happily run away from my EJB 2.1 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=71&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;d never been a fun of xml files. Never. I like to put my money where my mouth is, and that is not in xml files. Then came EJB3. And just when I was getting settled down with the new craze (Annotations), along came Seam. Now I could happily run away from my EJB 2.1 days of verbose xml and never go<br />down the trail of “xml hell” again, editing xml just when i<br />really, really need to. Alas, twas just a dream. When you are faced<br />with an application that needs to be flexible and extensible,<br />sometimes the best (and probably only) way is through xml. And that<br />is exactly what I was faced with recently. However, JBoss reminded me<br />of one of the reasons why Seam is a compelling choice of framework –<br />tools support through JBoss Tools. Now I&#8217;ve fallen in love with xml<br />editing – simply because I don&#8217;t have to do any.
<p style="margin-bottom:0;"></p>
<p style="margin-bottom:0;">Here&#8217;s the scenario. Let&#8217;s say I were<br />developing an application for playing games, allowing users to play<br />different games which obey a consistent API. This means a separation<br />into interfaces and implementations. Here is how I tried to create<br />that separation.</p>
<p style="margin-bottom:0;">
<p>
<p style="margin-bottom:0;"><img style="max-width:800px;float:left;margin-top:10px;margin-bottom:10px;margin-right:10px;" src="http://edemmorny.files.wordpress.com/2008/09/project.jpg?w=333&#038;h=498" alt="" width="333" height="498" /></p>
<ul>	
<li>
<p style="margin-bottom:0;">Plugnplay-api – consistent<br />interfaces that are to be coded to.	</p>
</li>
<li>
<p style="margin-bottom:0;">Plugnplay-impl – implementations<br />of the above api. Contains Seam components (i.e. Entities, Actions,<br />UI components etc).	</p>
</li>
<li>
<p style="margin-bottom:0;">Plugnplay-web – the basic Seam<br />application (here&#8217;s where the facelets as well as the aforementioned<br />components finally end up).</p>
<p style="margin-bottom:0;">
<p></li>
<p></ul>
<p>
<p style="margin-bottom:0;">This meant that I&#8217;d have to use the<br />components.xml file to specify the names (instead of @Name) as well<br />as other properties of my Seam entities and actions. No hustle. I<br />immediately realized how big such a file will get. Thankfully Seam<br />allows you to define one components.xml file for each component like<br />Hibernate (not my idea of fun) or one components.xml file per<br />package. I chose the second option and decided to put JBoss Tools to<br />work. The result was pleasing. Let&#8217;s look at mapping different<br />implementations of the Game interface – DominoGameImpl and<br />MonopolyGameImpl.</p>
<p style="margin-bottom:0;">
<ol>	
<li>
<p style="margin-bottom:0;">Select File -&gt; New -&gt; Other.</p>
<p></li>
<p>	
<li>
<p style="margin-bottom:0;">Scroll to XML subcontent and<br />select XML.	</p>
</li>
<li>
<p style="margin-bottom:0;">Enter the name “components.xml”<br />as file name and click Next.</p>
</li>
</ol>
<p>
<p style="margin-bottom:0;"><img style="max-width:800px;" src="http://edemmorny.files.wordpress.com/2008/09/xml-create1.jpg?w=350&#038;h=404" alt="" width="350" height="404" /></p>
<ol>	
<li>
<p style="margin-bottom:0;">In the “Create XML File From”<br />screen, choose “Create an XML file from an XML schema file”.<br />This forces our xml file to conform to a schema, in this case the<br />components-2.0.xsd from Seam. Click Next.	</p>
</li>
<li>
<p style="margin-bottom:0;">At XML Schema File, select “Select<br />XML Catalog entry”. This should show a list of all schema files<br />currently registered in your Eclipse installation.	</p>
</li>
<li><img style="max-width:800px;" src="http://edemmorny.files.wordpress.com/2008/09/components-schema1.jpg?w=400&#038;h=239" alt="" width="400" height="239" /></li>
<p>	
<li>
<p style="margin-bottom:0;">Scroll through the XML Catalog and<br />find the key “<a href="http://jboss.com/products/seam/components-2.0.xsd">http://jboss.com/products/seam/components-2.0.xsd</a>”.<br />Click Next.	</p>
</li>
<li>
<p style="margin-bottom:0;">At the Root Element dialog box,<br />change the default Root element of “action” to “components”.<br />This is the root element in all components.xml files, and allow<br />other child elements such as pdf, mail etc. You may leave the other<br />checkboxes as their default. Click Finish to end the wizard.</p>
<p><img style="max-width:800px;" src="http://edemmorny.files.wordpress.com/2008/09/components-editor.jpg?w=407&#038;h=364" alt="" width="407" height="364" /></p>
</li>
</ol>
<p>
<p style="margin-bottom:0;"></p>
<p>
<p style="margin-bottom:0;"></p>
<p style="margin-bottom:0;">Finally our components.xml file is<br />created and displayed in the Seam Components Editor. At this top<br />level we can add components, define factories, events and imports.<br />Without much ado we&#8217;ll add our Game components. This is the part I<br />love the most.</p>
<p style="margin-bottom:0;">
<p>
<p style="margin-bottom:0;"></p>
<ol>	
<li>
<p style="margin-bottom:0;">Click “Add” to add a seam<br />component.	</p>
</li>
<li>
<p style="margin-bottom:0;">Enter the name of the Seam<br />component.	</p>
</li>
<li>
<p style="margin-bottom:0;">To add the particular class, click<br />Browse. You have a window with 3 tabs &#8211; “Search”, “Browse”<br />and “Recent”.	</p>
</li>
<li>
<p style="margin-bottom:0;">In “Search” begin typing the<br />name “DominoImpl” as our Seam component. A dynamic list of<br />matching classes are displayed as you type to select the particular<br />one you want.</p>
</li>
</ol>
<p><img style="max-width:800px;" src="http://edemmorny.files.wordpress.com/2008/09/component-search1.jpg?w=351&#038;h=384" alt="" width="351" height="384" />
<p style="margin-bottom:0;"></p>
<ol>	
<li>
<p style="margin-bottom:0;">Select the appropriate class and<br />click “OK”.	</p>
</li>
<li>
<p style="margin-bottom:0;">In the Seam Components Editor, you<br />may now specify the scope as well as other properties. I&#8217;ll choose<br />CONVERSATION from the Scope drop down list. Press Ctrl+S to save.	</p>
</li>
<li>
<p style="margin-bottom:0;">Repeat these steps to add the<br />MonopolyGameImpl as a Seam component.</p>
</li>
</ol>
<p>
<p style="margin-bottom:0;"></p>
<p style="margin-bottom:0;">Now that we have our games, we want to<br />associate them with a particular user. Our User API defines a list of<br />Games as a field. We repeat the above process in the “admin”<br />package, selecting UserImpl as with the component name “user”.<br />Set the scope of the component as you wish.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">To add properties to the “user”<br />component do the following.</p>
<ol>	
<li>
<p style="margin-bottom:0;">Click on it in Component Editor.<br />In the Properties sub-section, click on Add&#8230; . You immediate get<br />three options to select from; “Add Simple Property”, “Add List<br />property” and “Add Map property”.	</p>
</li>
<li>
<p style="margin-bottom:0;">Choose the 2<sup>nd</sup> option.<br />In the dialog box that appears give our list the name “games”,<br />mapping to the getGames and setGames of the UserImpl. We can now add<br />values to the games list. Add the name “monopoly”.	</p>
</li>
<li>
<p style="margin-bottom:0;">Repeat the steps above to add<br />“domino” as another game to the “games” list.	</p>
</li>
<li>
<p style="margin-bottom:0;">Your Editor should look like this<br />now.</p>
</li>
</ol>
<p><img style="max-width:800px;" src="http://edemmorny.files.wordpress.com/2008/09/components-editor-review.jpg?w=457&#038;h=332" alt="" width="457" height="332" />
<p style="margin-bottom:0;">This XML support in JBoss Tools allows me to easily wire my components together (like Spring, though Spring IDE can&#8217;t compare) and still get all the ooze of Seam. So why wouldn&#8217;t I fall in love with XML editing with JBoss Tools. And note, <a href="http://in.relation.to/9311.lace">JBoss Tools 3.0-alpha</a> is out with experimental pages.xml editor, visual view of navigations,  portlet and a host of other stuff that you are better of finding out for yourself. And I&#8217;ll definitely be blogging about my experiences with it very soon.</p>
<p>
<p style="margin-bottom:0;"></p>
<p>
<p style="margin-bottom:0;"></p>
<p>Technorati Tags: <a class="performancingtags" rel="tag" href="http://technorati.com/tag/JBoss%20Tools">JBoss Tools</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/Seam">Seam</a>, <a class="performancingtags" rel="tag" href="http://technorati.com/tag/Eclipse">Eclipse</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/71/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/71/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=71&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/09/01/jboss-tools-seam-and-xml-editing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>

		<media:content url="http://edemmorny.files.wordpress.com/2008/09/project.jpg" medium="image" />

		<media:content url="http://edemmorny.files.wordpress.com/2008/09/xml-create1.jpg" medium="image" />

		<media:content url="http://edemmorny.files.wordpress.com/2008/09/components-schema1.jpg" medium="image" />

		<media:content url="http://edemmorny.files.wordpress.com/2008/09/components-editor.jpg" medium="image" />

		<media:content url="http://edemmorny.files.wordpress.com/2008/09/component-search1.jpg" medium="image" />

		<media:content url="http://edemmorny.files.wordpress.com/2008/09/components-editor-review.jpg" medium="image" />
	</item>
		<item>
		<title>RichFaces plugin Released for NetBeans 6.1</title>
		<link>http://edemmorny.wordpress.com/2008/05/19/richfaces-plugin-released-for-netbeans-61/</link>
		<comments>http://edemmorny.wordpress.com/2008/05/19/richfaces-plugin-released-for-netbeans-61/#comments</comments>
		<pubDate>Mon, 19 May 2008 09:45:14 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[Richfaces]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=55</guid>
		<description><![CDATA[&#60; Seam PDF Rendering
Last week Geertjan Wielanga released a plugin he&#8217;d been working on for RichFaces tag support in NetBeans. I gave it a shot and its not bad.
Its meant to provide tag support as well as drag and drop of RichFaces controls on the palette. Interestingly this support is meant for both jsps and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=55&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://edemmorny.wordpress.com/2008/03/31/seam-pdf-rendering-and-jpa-native-queries/">&lt; Seam PDF Rendering</a></p>
<p>Last week <a href="http://blogs.sun.com/geertjan/">Geertjan</a> Wielanga released a <a href="https://nbrichfacessupport.dev.java.net/index.html">plugin</a> he&#8217;d been working on for RichFaces tag support in NetBeans. I gave it a shot and its not bad.</p>
<p>Its meant to provide tag support as well as drag and drop of RichFaces controls on the palette. Interestingly this support is meant for both jsps and facelets. But seriously speaking, how many people are using RichFaces on jsps instead of on Facelets? Since this plugin only works with NetBeans 6.1 and the facelets support plugin does not work with 6.1, I really wonder what use it is to me and to a significant number of others.</p>
<p>This is really causing me to worry for Sun. Anyone doing anything new in JSF is not going with JSPs if they really know what is best for them, but rather with Facelets. If Sun really wants JSF to catch up (alongside using NetBeans as their preferred JSF development tool) then they should provide us developers with at least some of what JBoss Tools provides &#8211; visual editing. I&#8217;ve been waiting for Sun&#8217;s Visual JSF to now support Facelets, cos there&#8217;s no way I&#8217;m sticking with Rave. I think a lot of people share this sentiment and it is the reason why everyone is praising Seam for the good work its doing.</p>
<p>If Sun has seen it fit to bring Jacob Hookom onto the JSF 2 EG as a sign of respect for what Facelets stands for, then it should stop sitting on the sidewalk with Facelets support in NetBeans and get some decent support for it (and I mean not just tag support). Most of us NetBeans fans are in a love hate relationship with it because of such political (in)decisions. Sun should continue taking developers seriously and see how to improve on it&#8217;s technologies with already proven ones instead of trying to stuff things down our throats that we don&#8217;t want to swallow.</p>
<hr />
28th May 2008</p>
<p>Ah. I just came across a release of the Facelets support for NetBeans 6.0 rebuilt to work with NetBeans 6.1. Good job by <a href="http://ifnu.artivisi.com">http://ifnu.artivisi.com</a>. <a href="http://project-template.googlecode.com/files/nbfaceletssupport-6.1.zip">Here</a> is the download. And thanks to Po-Ting Wu for the <a href="http://blogs.sun.com/poting/entry/build_and_install_facelets_support">rebuild instructions</a>.</p>
<p>Thanks also to Geertjan for the work on Richfaces support. JSF development will get better and easier!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=55&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/05/19/richfaces-plugin-released-for-netbeans-61/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>
	</item>
		<item>
		<title>GenKey Africa Is here</title>
		<link>http://edemmorny.wordpress.com/2008/05/19/genkey-africa-is-here/</link>
		<comments>http://edemmorny.wordpress.com/2008/05/19/genkey-africa-is-here/#comments</comments>
		<pubDate>Mon, 19 May 2008 09:03:43 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Genkey]]></category>
		<category><![CDATA[KNUST]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=54</guid>
		<description><![CDATA[o by God&#8217;s grace I was confronted with the choice of learning for an MSc in Networks and Distributed Systems and doing networks and distributed systems real hand with stuff like SOA, ESBs, Web Services, SVN etc. Well, I give it a very long thought (about 5 minutes) and decided to go for the latter. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=54&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>o by God&#8217;s grace I was confronted with the choice of learning for an MSc in Networks and Distributed Systems and doing networks and distributed systems real hand with stuff like SOA, ESBs, Web Services, SVN etc. Well, I give it a very long thought (about 5 minutes) and decided to go for the latter. So here I am in East Legon, Accra with Diabeney Agyiri-Tetteh and Wesley Kirinya from Kenya.</p>
<p>GenKey Africa has started and the first week has been challenging enough already. As if that is not enough, there&#8217;s a lot of pessimism about whether we can achieve what the American, Indian and Irish software developers can achieve. Suffice it to say that with my boss Hajo Birthelmer guiding us, and even more importantly with God on our side, we&#8217;ll beat everyone&#8217;s expectations.</p>
<p>So I now have to get comfortable with something called Spring (why does that give me the chills). Being a proponent for standards in enterprise Java, I thought Seam and Google Guice&#8217;s Web Beans JSR gave me enough motivation to stick with Seam as my preferred dependency injection-based framework.</p>
<p>Then to make it worse I also have to get comfortable with Eclipse. I&#8217;ve always had a bias against it and it SWT leanings, but because Spring support in Eclipse is quite advanced, i guess there&#8217;s no other choice. I might as well enjoy learnig and using them as I go along.</p>
<p>I&#8217;m already missing the folks on campus I used to teach and discuss Java and Linux technologies. Hope to spend sometime with some of them when they are on vacation. Like to say a few thanks though to Frank Appiah, Edwin Amoakwah, Appiah-Kubi, Nana Sawyer, Julius Kudjoe, Annan Sowah, Boamah Steven and Tolu Erinle. Keep up the hard work.</p>
<p>To my Seam friends, don&#8217;t worry we still have a long way to go yet. Keep your eyes on the ball.</p>
<p>To all the folks that turned up for my seminar on Seam, thanks for coming and I hope you enjoyed the session. Hope to do another seminar sometime soon and you&#8217;re definitely on my list.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/54/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/54/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=54&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/05/19/genkey-africa-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>
	</item>
		<item>
		<title>Accra Seam Seminar Update</title>
		<link>http://edemmorny.wordpress.com/2008/04/01/accra-seam-seminar-update/</link>
		<comments>http://edemmorny.wordpress.com/2008/04/01/accra-seam-seminar-update/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 08:44:17 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Accra]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[seminar]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=52</guid>
		<description><![CDATA[In my haste to announce the seminar I forgot to add the time. Its between 3:30pm and and 5:00pm. Date again is  24th April at AITI-KACE, Accra.
See ya there.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=52&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my haste to announce the seminar I forgot to add the time. Its between 3:30pm and and 5:00pm. Date again is  24th April at AITI-KACE, Accra.</p>
<p>See ya there.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/52/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/52/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=52&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/04/01/accra-seam-seminar-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>
	</item>
		<item>
		<title>Seam PDF Rendering and JPA Native Queries</title>
		<link>http://edemmorny.wordpress.com/2008/03/31/seam-pdf-rendering-and-jpa-native-queries/</link>
		<comments>http://edemmorny.wordpress.com/2008/03/31/seam-pdf-rendering-and-jpa-native-queries/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 16:32:50 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[JPA]]></category>
		<category><![CDATA[Seam]]></category>
		<category><![CDATA[Native Queries]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[programming model]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=49</guid>
		<description><![CDATA[&#60; Seam Portlet Bridge &#8230; &#124; RichFaces Plugin Released &#62;
One of the reasons why I&#8217;ve come to love Seam is that it really lives up to its appellation as a programming and integration model – because of its ability to let me use technologies which are complex in their own right without the need to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=49&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://edemmorny.wordpress.com/2008/03/04/seam-jboss-portlet-bridge-realeased/">&lt; Seam Portlet Bridge &#8230;</a> | <a href="http://edemmorny.wordpress.com/2008/05/19/richfaces-plugin-released-for-netbeans-61/">RichFaces Plugin Released &gt;</a></p>
<p>One of the reasons why I&#8217;ve come to love Seam is that it really lives up to its appellation as a programming and integration model – because of its ability to let me use technologies which are complex in their own right without the need to learn the nitty gritty of them. One example is the use of facelets for email, something which if I had to do programmatically using the JavaMail API will be quite a hell. With Seam all I have to learn are new facelets tags  related to email. I still have access to my Business Process, Application, Session,Conversation etc contexts and can use resources from these contexts just like a normal facelet which generates a web page. Another one is pdf rendering, and that is what we&#8217;ll be talking of today.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">I&#8217;ll use the shopper application that I developed for my previous post on AJAX, DataTables and Seam. Before we go on though, let&#8217;s not forget to mention the need for the following jar files in your classpath as per Chapter 16 of the Seam reference manual.</p>
<ul>
<li>
<pre>itex.jar</pre>
</li>
<li>
<pre>jboss-seam-pdf.jar</pre>
</li>
</ul>
<p style="margin-bottom:0;">Next add these declarations to your web.xml file</p>
<blockquote>
<pre>&lt;servlet&gt;</pre>
</blockquote>
<pre>        &lt;servlet-name&gt;Document Store Servlet&lt;/servlet-name&gt;</pre>
<pre>        &lt;servlet-class&gt;org.jboss.seam.pdf.DocumentStoreServlet&lt;/servlet-class&gt;</pre>
<pre>    &lt;/servlet&gt;</pre>
<pre>    &lt;servlet-mapping&gt;</pre>
<pre>        &lt;servlet-name&gt;Document Store Servlet&lt;/servlet-name&gt;</pre>
<pre>        &lt;url-pattern&gt;*.pdf&lt;/url-pattern&gt;</pre>
<pre>    &lt;/servlet-mapping&gt;</pre>
<p style="margin-bottom:0;">And these to your components.xml file, making sure the namespace is properly declared</p>
<blockquote>
<pre>&lt;pdf:document-store use-extensions="true" /&gt;</pre>
</blockquote>
<p style="margin-bottom:0;">Since we will be using charting from JFreeChart, we need to add these additional jars.</p>
<ul>
<li>
<pre> jcommon.jar</pre>
</li>
<li>
<pre> jfreechart.jar</pre>
</li>
</ul>
<p>I&#8217;ve decided to add two links that render pdf documents. One provides a pie chart of the products held in my database and their stock levels. Very simple use case, since all I have to do is to select the products I&#8217;m interested in into an ArrayList and display them.</p>
<pre>public List&lt;Product&gt; getProductView(){</pre>
<blockquote>
<pre>return entityManager.createQuery("Select p from Product p").getResultList();</pre>
</blockquote>
<pre>}</pre>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Here is the section of the facelet that displays the contents of the resulting ArrayList.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<pre>    &lt;p:image alignment="right" wrap="true" value="/jboss.jpg" /&gt;</pre>
<pre>    &lt;p:font id="test" size="24"&gt;&lt;p:paragraph spacingAfter="50"&gt;Chart&lt;/p:paragraph&gt;&lt;/p:font&gt;</pre>
<pre>    &lt;p:piechart title="Product Stock Levels" width="500" height="350" legend="true" is3D="true" plotForegroundAlpha=".25"&gt;</pre>
<pre>    &lt;ui:repeat value="#{shopList.productView}" var="item"&gt;</pre>
<pre>          &lt;p:data key="#{item.name}" value="#{item.stock}" /&gt;</pre>
<pre>    &lt;/ui:repeat&gt;</pre>
<pre>    &lt;/p:piechart&gt;</pre>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><a title="Products chart" href="http://edemmorny.files.wordpress.com/2008/03/chart_edit.jpg"><img src="http://edemmorny.files.wordpress.com/2008/03/chart_edit.jpg" alt="Products chart" /></a></p>
<p style="margin-bottom:0;">Now that the easy one is out of the way, lets look at the second link. This is to render a table telling us the date a cart was created, the total cost and the number of products in that cart. Well, date and cost  fields  are already declared on the Cart entity we created and we could do cart.getCartItems().size and get the number of products in each cart. But I decided to use a less talked about feature of JPA – native queries. Native queries enable us write SQL statements to retrieve records in our database that may not have been captured, modelled or contained in an existing entity. These allow us to write very complex queries and apply aggregation functions and so on on data.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">We begin by first examining our query</p>
<blockquote>
<pre>select cart.date_created as date,cart.cost as cost, count(cart_item.product_id) as products from cart left join cart_item on cart_item.cart_id=cart.id group by date</pre>
</blockquote>
<p style="margin-bottom:0;">Hmm. We have three aliases/fields being fetched from the database. JPA requires the declaration of an @SqlResultSetMapping which assigns a name to a native query and the fields that will be fetched from that native query. I decided to declare mine on the Cart entity, though I could have declared it on any entity.</p>
<p style="margin-bottom:0;">
<pre>@SqlResultSetMappings({</pre>
<pre>    @SqlResultSetMapping(</pre>
<pre>    name = "productStock",</pre>
<pre>            columns = {</pre>
<pre>        @ColumnResult(name = "date"),</pre>
<pre>        @ColumnResult(name = "cost"),</pre>
<pre>        @ColumnResult(name = "products")</pre>
<pre>    })}</pre>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Having sorted out what I want to fetch and meeting JPA&#8217;s requirements on declaring a @SqlResultSetMapping, I now go on to fetch the data using the entityManager.</p>
<p style="margin-bottom:0;">
<blockquote>
<pre>public List&lt;Map&gt; getCartView(){</pre>
</blockquote>
<pre>        List&lt;Object[]&gt; results = entityManager.createNativeQuery(</pre>
<blockquote>
<blockquote>
<pre>"select cart.date_created as date,cart.cost as cost, count(cart_item.product_id) as products from cart left join cart_item on cart_item.cart_id=cart.id group by date","productStock").getResultList();</pre>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<pre>List data = new ArrayList&lt;HashMap&gt;();</pre>
</blockquote>
</blockquote>
<pre>        if (!results.isEmpty()) {</pre>
<pre>            for (Object[] result : results) {</pre>
<pre>                HashMap resultMap = new HashMap();</pre>
<pre>                resultMap.put("date", (Date)result[0]);</pre>
<pre>                resultMap.put("cost", result[1]);</pre>
<pre>                resultMap.put("products", result[2]);</pre>
<pre>                data.add(resultMap);</pre>
<blockquote>
<blockquote>
<blockquote>
<pre>}</pre>
</blockquote>
</blockquote>
</blockquote>
<pre>        }</pre>
<blockquote>
<blockquote>
<pre>return data;</pre>
</blockquote>
</blockquote>
<blockquote>
<pre>}</pre>
</blockquote>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">There are lot of things to note here.</p>
<ol>
<li>
<p style="margin-bottom:0;">We use 	entityManager.createNativeQuery(), not entityManager.createQuery().</p>
</li>
<li>
<p style="margin-bottom:0;">After stating the query, you must 	also give the name of the named query which you defined in the 	SqlResutSetMapping. Ours is “productStock”.</p>
</li>
<li>
<p style="margin-bottom:0;">Each row/record of data fetched 	from the database is assigned to an Object array. In this case 	“date” is in the 0<sup>th</sup> index, “cost” is in the 1<sup>st</sup> and so on. Since I&#8217;m fetching more than one, I use 	entityManager.getResultSet() and assign to a List.</p>
</li>
</ol>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Expression Language( EL) allows us to refer to data in a Map by its key, and that feels more natural to me on  my facelet than referring to indexes of an array, so I rather iterate through my “results” List, creating a HashMap for each row/record from the database and using appropriate names to refer to the fetched data.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">Now here&#8217;s the facelet that renders the table containing our records.</p>
<p style="margin-bottom:0;">
<pre>  &lt;p:image alignment="right" wrap="true" value="/jboss.jpg" /&gt;</pre>
<pre>  &lt;p:font id="test" size="24"&gt;&lt;p:paragraph spacingAfter="50"&gt;Table&lt;/p:paragraph&gt;&lt;/p:font&gt;</pre>
<pre>  &lt;p:table  columns="3" headerRows="1"&gt;</pre>
<pre>  &lt;p:cell &gt;&lt;p:paragraph alignment="center"&gt;Date&lt;/p:paragraph&gt;&lt;/p:cell&gt;</pre>
<pre>  &lt;p:cell&gt;&lt;p:paragraph&gt;Cost&lt;/p:paragraph&gt;&lt;/p:cell&gt;</pre>
<pre>  &lt;p:cell&gt;&lt;p:paragraph&gt;No. of products&lt;/p:paragraph&gt;&lt;/p:cell&gt;</pre>
<blockquote>
<pre>  &lt;ui:repeat value="#{shopList.cartView}" var="data"&gt;</pre>
</blockquote>
<blockquote>
<blockquote>
<pre>   &lt;p:cell&gt;&lt;p:paragraph&gt;&lt;p:text  value="#{data.date}"&gt;&lt;f:convertDateTime dateStyle="medium" type="both"/&gt;</pre>
<blockquote>
<pre>&lt;/p:text&gt;&lt;/p:paragraph&gt;&lt;/p:cell&gt;</pre>
</blockquote>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<blockquote>
<pre>&lt;p:cell&gt;&lt;p:paragraph&gt;#{data.cost}&lt;/p:paragraph&gt;&lt;/p:cell&gt;</pre>
</blockquote>
</blockquote>
</blockquote>
<blockquote>
<blockquote>
<blockquote>
<pre>&lt;p:cell&gt;&lt;p:paragraph&gt;#{data.products}&lt;/p:paragraph&gt;&lt;/p:cell&gt;</pre>
</blockquote>
</blockquote>
</blockquote>
<blockquote>
<pre>&lt;/ui:repeat&gt;</pre>
</blockquote>
<pre>    &lt;/p:table&gt;</pre>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;"><a title="Cart table" href="http://edemmorny.files.wordpress.com/2008/03/table_edit.jpg"><img src="http://edemmorny.files.wordpress.com/2008/03/table_edit.jpg" alt="Cart table" /></a></p>
<p style="margin-bottom:0;">Explaining each of the individual tags on this facelet is out of the coverage area of this post and further details can be gleaned from the Seam Reference Manual. However using EL, I can just refer to the date field as #{data.date} and so on and we will all be none the wiser. Of particular interest is the use of the &lt;p:text/&gt; tag. It allows us to apply JSF formatting/conversion etc on data being rendered in a PDF, and here we needed to format the date using the f:convertDateTime. Another use of this is to determine if some data will be rendered using the standard “rendered” JSF component attribute.</p>
<p style="margin-bottom:0;">
<p style="margin-bottom:0;">The combination of bijection and contexts means that Seam can always find whatever I&#8217;m referencing in its appropriate context and display it for me, whether on a facelets web page, PDF, email or in an asynchronous process.</p>
<hr />
<p style="margin-bottom:0;">Added on 7th April 2008</p>
<p style="margin-bottom:0;">Give the <a href="http://damatrixtraining.googlegroups.com/web/shopper3.zip?gda=Lau_Jj0AAAAYuDw_8XR6ikJubhY6LPoq4k2Q4dNa2Wdcv8Ow7j6gr2G1qiJ7UbTIup-M2XPURDTABFfSjNjugZr_gRt_cqpX">code</a> a spin and see.</p>
<p style="margin-bottom:0;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/49/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/49/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=49&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/03/31/seam-pdf-rendering-and-jpa-native-queries/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>

		<media:content url="http://edemmorny.files.wordpress.com/2008/03/chart_edit.jpg" medium="image">
			<media:title type="html">Products chart</media:title>
		</media:content>

		<media:content url="http://edemmorny.files.wordpress.com/2008/03/table_edit.jpg" medium="image">
			<media:title type="html">Cart table</media:title>
		</media:content>
	</item>
		<item>
		<title>Seam Seminar at Kofi-Annan Centre, Accra</title>
		<link>http://edemmorny.wordpress.com/2008/03/25/seam-seminar-at-kofi-annan-centre-accra/</link>
		<comments>http://edemmorny.wordpress.com/2008/03/25/seam-seminar-at-kofi-annan-centre-accra/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 10:12:29 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[Seam]]></category>
		<category><![CDATA[Ghana]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[Kofi Annan]]></category>
		<category><![CDATA[seminar]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=48</guid>
		<description><![CDATA[As part of efforts to create a greater awareness of enterprise java technologies and tools especially on JBoss Seam, I&#8217;ve been able to secure a seminar on the 24th April 2008 at the Kofi Annan Center (AITI-KACE), Accra Ghana. This is part of their Technology Transformation Seminar that they organise to talk about trends and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=48&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As part of efforts to create a greater awareness of enterprise java technologies and tools especially on JBoss Seam, I&#8217;ve been able to secure a seminar on the 24th April 2008 at the <a href="http://www.aiti-kace.com.gh/" target="_blank">Kofi</a> Annan Center (AITI-KACE), Accra Ghana. This is part of their Technology Transformation Seminar that they organise to talk about trends and technologies in IT.</p>
<p>The seminar is titled &#8220;Stateful, Secure Enterprise Applications with JBoss Seam&#8221; and as the title suggests will be centered on the use of the <a href="http://www.seamframework.org" target="_blank">Seam</a> framework in web-based enterprise application development.</p>
<p>Looking forward to meeting all interested &#8220;Seamers&#8221; there. Will make the slides available on this blog after the seminar. Thanks in advance to AITI-KACE for the opportunity.</p>
<p>My next post will be focusing on PDF report generation and subsequently a look at the new feature of natural conversations. Keep your eyes on the ball.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=48&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/03/25/seam-seminar-at-kofi-annan-centre-accra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>
	</item>
		<item>
		<title>Seam JBoss Portlet Bridge Realeased</title>
		<link>http://edemmorny.wordpress.com/2008/03/04/seam-jboss-portlet-bridge-realeased/</link>
		<comments>http://edemmorny.wordpress.com/2008/03/04/seam-jboss-portlet-bridge-realeased/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 10:03:14 +0000</pubDate>
		<dc:creator>Edem Morny</dc:creator>
				<category><![CDATA[Seam]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[portlet]]></category>
		<category><![CDATA[portlet bridge]]></category>

		<guid isPermaLink="false">http://edemmorny.wordpress.com/?p=47</guid>
		<description><![CDATA[&#60; AJAX Magic with DataTables &#124; Seam PDF Rendering &#8230; &#62; 
I was glad last week when I heard that the JBoss Portlet Bridge has been released for deploying Seam projects in JBoss Portal.
I&#8217;ve been waiting for this for a while, since I find the idea of portals very interesting. I evaluated the SeamBookingPortlet example [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=47&subd=edemmorny&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://edemmorny.wordpress.com/2008/03/04/ajax-magic-with-datatables-in-seam-20/">&lt; AJAX Magic with DataTables</a> | <a href="http://edemmorny.wordpress.com/2008/03/31/seam-pdf-rendering-and-jpa-native-queries/">Seam PDF Rendering &#8230; &gt; </a></p>
<p>I was glad last week when I heard that the JBoss Portlet Bridge has been <a href="http://labs.jboss.com/portletbridge/" target="_blank">released</a> for deploying Seam projects in JBoss Portal.</p>
<p>I&#8217;ve been waiting for this for a while, since I find the idea of portals very interesting. I evaluated the SeamBookingPortlet example that comes with this release and its not bad. Looking forward to the opportunity to develop applications for a business in a portlet fashion, and will be blogging on my portlet learning experiences.</p>
<p>The last milestone I&#8217;m waiting for is the ability to deploy JBoss Portal on Tomcat, a feature which can only be available after the completion of the JBoss 5 project which includes the new JBoss Microcontainer. This feature will enable JBoss apps like JBoss Portal to be deployed on Tomcat.</p>
<p>JBoss, speed it up.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/edemmorny.wordpress.com/47/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/edemmorny.wordpress.com/47/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edemmorny.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edemmorny.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edemmorny.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edemmorny.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edemmorny.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edemmorny.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edemmorny.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edemmorny.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edemmorny.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edemmorny.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edemmorny.wordpress.com&blog=2250651&post=47&subd=edemmorny&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://edemmorny.wordpress.com/2008/03/04/seam-jboss-portlet-bridge-realeased/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0a863ee057fa55a68fef8fbf1a4d0d53?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Edem</media:title>
		</media:content>
	</item>
	</channel>
</rss>