<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>ejb &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/ejb/</link>
	<description>Feed of posts on WordPress.com tagged "ejb"</description>
	<pubDate>Sun, 29 Nov 2009 13:48:47 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[EJB: some basic concept]]></title>
<link>http://jobcrawler.wordpress.com/2009/11/26/ejb-some-basic-concept/</link>
<pubDate>Thu, 26 Nov 2009 03:50:00 +0000</pubDate>
<dc:creator>jobcrawler</dc:creator>
<guid>http://jobcrawler.wordpress.com/2009/11/26/ejb-some-basic-concept/</guid>
<description><![CDATA[#There are two types of session beans: stateful and stateless. #Because stateless session beans can ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>#There are two types of session beans: stateful and stateless.</p>
<p>#Because stateless session beans can support multiple clients, they can offer better scalability for applications that require large numbers of clients.</p>
<p>#A stateless session bean can implement a web service, but other types of enterprise beans cannot.</p>
<p>#A session bean represents a single client inside the Application Server.</p>
<p># Like an interactive session, a session bean is not persistent. (That is, its data is not saved to a<br />
database.) When the client terminates, its session bean appears to terminate and is no longer<br />
associated with the client.</p>
<p>#The state of an object consists of the values of its instance variables.(stateful session bean).</p>
<p># A stateless session bean does not maintain a conversational state with the client. When a client<br />
invokes the methods of a stateless bean, the bean’s instance variables may contain a state specific to that client, but only for the duration of the invocation.</p>
<p>#A message-driven bean is an enterprise bean that allows Java EE applications to process messages asynchronously.</p>
<p>#A message-driven bean’s instances retain no data or conversational state for a specific client.</p>
<p>#Message-driven beans have the following characteristics:<br />
They execute upon receipt of a single client message.<br />
They are invoked asynchronously.<br />
They are relatively short-lived.<br />
They are stateless.</p>
<p>#Session beans allow you to send JMS messages and to receive them synchronously, but not asynchronously.To receive messages asynchronously, use a message-driven bean.</p>
<p>#When you design a Java EE application, one of the first decisions you make is the type of client access allowed by the enterprise beans: remote, local, or web service.</p>
<p>#If you aren’t sure which type of access an enterprise bean should have, choose remote access. This decision gives you more flexibility.</p>
<p>#The Webserver: Just Receive the request from the client and forward to Webcontainer and do the Response vice versa.<br />
Web Container: Creates HTTP Request and Response for the Servlet calls the appropriate servlet service<br />
method (doGet or doPost) to service the client request.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[TGMC Project]]></title>
<link>http://srikanthjanardhan.wordpress.com/2009/11/21/tgmc-project/</link>
<pubDate>Sat, 21 Nov 2009 10:45:40 +0000</pubDate>
<dc:creator>srikanthjanardhan</dc:creator>
<guid>http://srikanthjanardhan.wordpress.com/2009/11/21/tgmc-project/</guid>
<description><![CDATA[I am currently involved in tgmc 2009 project, which is sponsored by IBM. I have taken up Online Libr]]></description>
<content:encoded><![CDATA[I am currently involved in tgmc 2009 project, which is sponsored by IBM. I have taken up Online Libr]]></content:encoded>
</item>
<item>
<title><![CDATA[SCBCD 5]]></title>
<link>http://vigneshbhupathi.wordpress.com/2009/11/16/scbcd-5/</link>
<pubDate>Mon, 16 Nov 2009 17:06:10 +0000</pubDate>
<dc:creator>adroitvignesh</dc:creator>
<guid>http://vigneshbhupathi.wordpress.com/2009/11/16/scbcd-5/</guid>
<description><![CDATA[I would like to thank this Forum for the precious information I got from it as well as to Mikalai Za]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><table id="postTable" border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td valign="top">
<div id="2108804">I would like to thank this <a title="Java Ranch" href="http://www.coderanch.com/forums/c/7/certification">Forum</a> for the precious information I got from it as well as to Mikalai Zaikin (for his notes)..</p>
<p><strong>How long did you prepare for this exam?</strong><br />
Almost 2 months. I have tried each and every topic with examples (Tutorials accessible in netbeans.org, I prefer to use Netbeans IDE..)</p>
<p><strong>Material which I have used? </strong><br />
*Enterprise Java Beans (EJB) 3 In Action – Since I am novice, I have started with this book. Meticulously documented and lucidly written, this book is worthwhile for SCBCD.<br />
*Ejb-3_0-fr-spec-ejbcore &#8211; EJB Spec provided by Sun<br />
*Ejb-3_0-fr-spec-persistence -JPA Spec provided by Sun</p>
<p>Don&#8217;t try to resist yourself with book read  <img src="http://www.coderanch.com//images/smilies/0320a00cb4bb5629ab9fc2bc1fcc4e9e.gif" alt="" /> ,need more hands on, otherwise its hard to remember all those classes, methods as well as annotations.</p>
<p><strong>Note:</strong><br />
Difficulty level of <strong>SCDJWS 5</strong> exam is very high when compared to <strong>SCBCD 5</strong> (It is purely my opinion  <img src="http://www.coderanch.com//images/smilies/jr-tongue.gif" alt="" /> )..</p>
<p><strong>Few More Study materials: </strong> <!--more--></p>
<p>EJB specification Docs (download link):<br />
<a rel="nofollow" href="http://java.sun.com/products/ejb/docs.html" target="_blank">http://java.sun.com/products/ejb/docs.html</a></p>
<p>MZ Notes <strong>(Thanks a ton)</strong>:<br />
<a rel="nofollow" href="http://java.boot.by/scbcd5-guide/" target="_blank">http://java.boot.by/scbcd5-guide/</a></p>
<p>PPT from java passion: (Useful fro quick revise)<br />
<a rel="nofollow" href="http://www.javapassion.com/javaee_advanced/#Java_EE_5__EJB_3.0" target="_blank">http://www.javapassion.com/javaee_advanced/#Java_EE_5__EJB_3.0</a></p>
<p>EJb Mdb ,Jms  + JPA: (Tutorial)<br />
<a rel="nofollow" href="http://www.netbeans.org/kb/55/ejb30.html" target="_blank">http://www.netbeans.org/kb/55/ejb30.html</a></p>
<p>The Java Persistence Query Language:<br />
<a rel="nofollow" href="http://java.sun.com/javaee/5/docs/tutorial/doc/bnbtg.html" target="_blank">http://java.sun.com/javaee/5/docs/tutorial/doc/bnbtg.html</a></p>
<p>EJB with Web service end point: (Tutorial)<br />
<a rel="nofollow" href="http://www.netbeans.org/kb/60/websvc/ejb.html" target="_blank">http://www.netbeans.org/kb/60/websvc/ejb.html</a></p>
<p>FAQ :<br />
<a rel="nofollow" href="http://java.sun.com/javaee/overview/faq/ejb.jsp" target="_blank">http://java.sun.com/javaee/overview/faq/ejb.jsp</a></p>
<p>Secure Enterprise Beans: (Tutorial)<br />
<a rel="nofollow" href="http://www.netbeans.org/kb/docs/javaee/secure-ejb.html" target="_blank">http://www.netbeans.org/kb/docs/javaee/secure-ejb.html</a></p>
<p>Security Annotations in EJB:<br />
<a rel="nofollow" href="http://java.sun.com/mailers/techtips/enterprise/2007/TechTips_March07.html#2" target="_blank">http://java.sun.com/mailers/techtips/enterprise/2007/TechTips_March07.html#2</a></p>
<p>Java Persistence API:<br />
<a rel="nofollow" href="http://java.sun.com/developer/technicalArticles/J2EE/jpa/index.html" target="_blank">http://java.sun.com/developer/technicalArticles/J2EE/jpa/index.html</a></p>
<p>Exceptions:<br />
<a rel="nofollow" href="http://www.developer.com/java/ejb/article.php/10931_3650661_5/EJB-3-Session-Beans.htm" target="_blank">http://www.developer.com/java/ejb/article.php/1093&#8230;0661_5/EJB-3-Session-Beans.htm</a></p>
<p>Naming convention:<br />
<a rel="nofollow" href="http://java.sun.com/blueprints/code/namingconventions.html" target="_blank">http://java.sun.com/blueprints/code/namingconventions.html</a></p>
<p>All the best  <img src="http://www.coderanch.com//images/smilies/e8a506dc4ad763aca51bec4ca7dc8560.gif" alt="" /></div>
<p><!-- Attachments --></td>
</tr>
<tr>
<td colspan="2" width="100%" height="28"></td>
</tr>
</tbody>
</table>
<p>﻿</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[predeploy for PersistenceUnit failed]]></title>
<link>http://ryznar.wordpress.com/2009/11/11/predeploy-for-persistenceunit-failed/</link>
<pubDate>Wed, 11 Nov 2009 14:44:49 +0000</pubDate>
<dc:creator>Paweł Ryznar</dc:creator>
<guid>http://ryznar.wordpress.com/2009/11/11/predeploy-for-persistenceunit-failed/</guid>
<description><![CDATA[Poniżej zamieściłem fragment bardzo ładnego wyjątku i jestem ciekaw skąd się to bierze? W NetBeans s]]></description>
<content:encoded><![CDATA[Poniżej zamieściłem fragment bardzo ładnego wyjątku i jestem ciekaw skąd się to bierze? W NetBeans s]]></content:encoded>
</item>
<item>
<title><![CDATA[TDC - The Developers Conference 2009 - day 1]]></title>
<link>http://jcranky.wordpress.com/2009/11/10/tdc-the-developers-conference-2009-day-1/</link>
<pubDate>Tue, 10 Nov 2009 02:37:30 +0000</pubDate>
<dc:creator>Paulo Renato</dc:creator>
<guid>http://jcranky.wordpress.com/2009/11/10/tdc-the-developers-conference-2009-day-1/</guid>
<description><![CDATA[So, one more Java event happened this last weekend down here in Brazil. The Developers Conference, o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So, one more Java event happened this last weekend down here in Brazil. <a title="the Developers Conference" href="http://www.thedevelopersconference.com.br/" target="_blank">The Developers Conference</a>, organized by <a title="Globalcode" href="http://www.globalcode.com.br" target="_blank">Globalcode</a>, took place on the 6th and 7th of November in São Paulo, and it is going also to Florianópolis (9th) and Rio de Janeiro (11th).</p>
<p>Like last year, the event featured international speakers, and was really nice. In this and two other posts, I&#8217;ll be talking about what happened in São Paulo, since this is the location I attended.</p>
<p>Lets start off saying that this edition was the best one until now. Among the international speakers, we had Rod Johnson (<a title="Springsource" href="http://www.springsource.com/" target="_blank">Springsource</a>), Ed Burns (<a title="Sun Microsystems" href="http://www.sun.com/" target="_blank">Sun</a>) and Mike Keith (<a title="Oracle" href="http://www.oracle.com/" target="_blank">Oracle</a>).</p>
<h2>Opening</h2>
<p>The event started with Vinicius Senger&#8217;s (<a title="Globalcode" href="http://www.globalcode.com.br" target="_blank">Globalcode</a>) dancing robots. They started some music and turned the robots on, which started to dance. The dance was programmed by themselves into the toys. Really funny =)</p>
<div id="attachment_435" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-435" title="dancing robots" src="http://jcranky.wordpress.com/files/2009/11/0611200910881.jpg" alt="dancing robots" width="450" height="337" /><p class="wp-caption-text">dancing robots</p></div>
<p>Fast forward to a break that happened later, here is a closer picture of the robots in the stage above:</p>
<div id="attachment_438" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-438" title="robots!" src="http://jcranky.wordpress.com/files/2009/11/061120091095.jpg" alt="robots!" width="450" height="337" /><p class="wp-caption-text">robots!</p></div>
<p>For the music, they used a parody they made themselves. They created a new music, based on an existing one, with lyrics related to software development. As soon as I have the link, I&#8217;ll post it here. That was really really funny.=D</p>
<p>One thing that always grab my attention at those events are how much some people are excited about their stuff. You could see this clearly about Vinicius in the entire event; but special was his scream at the end of the opening: &#8220;<em>I love what I do!&#8221;</em></p>
<h2>Rod Johnson</h2>
<p>Rod Johnson was the first international speaker. He talked about how things are evolving in the software development world, and mentioned things like the fact that different kinds of data storage might be interesting, instead of using relational databases for everything; cloud computing and how <a title="Springsource" href="http://www.springsource.com/" target="_blank">Springsource</a> (and <a title="VMWare" href="http://www.vmware.com/" target="_blank">VMware</a>) might be involved (<a title="Cloud Foundry" href="http://www.cloudfoundry.com/" target="_blank">CloudFoundry</a>). It also seemed that he likes <a title="Groovy" href="http://groovy.codehaus.org/" target="_blank">Groovy</a> and <a title="Grails" href="http://grails.org/" target="_blank">Grails</a> a lot.</p>
<div id="attachment_436" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-436" title="rod johnson at tdc day 1" src="http://jcranky.wordpress.com/files/2009/11/061120091089.jpg" alt="rod johnson at tdc day 1" width="450" height="337" /><p class="wp-caption-text">rod johnson at tdc day 1</p></div>
<p>The talk was a little bit philosophic but interesting nonetheless.</p>
<h2>Career Panel</h2>
<p>Next we had a career panel, featuring the three international speakers. They basically told us some stories about how they started their careers, and things like what would they expect in interviews and the like.</p>
<div id="attachment_437" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-437" title="career panel" src="http://jcranky.wordpress.com/files/2009/11/061120091100.jpg" alt="career panel" width="450" height="337" /><p class="wp-caption-text">career panel</p></div>
<h2>Lightning Talks</h2>
<p>Spread during the day, we also had lightning talks, with subjects like <a title="GWT" href="http://code.google.com/webtoolkit/" target="_blank">GWT</a>, <a title="Google Guice" href="http://code.google.com/p/google-guice/" target="_blank">Google Guice</a>, Agile Developement and Software Architecture, <a title="EJB 3.1 Samples" href="http://kenai.com/projects/ejb31codesamples" target="_blank">EJB 3.1 (samples, available on Kenai)</a> and ScrumToys (which is available as a <a title="Netbeans" href="http://www.netbeans.org" target="_blank">NetBeans</a> sample project and a <a title="Glassfish" href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a> sample application). Two pictures of those:</p>
<div id="attachment_439" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-439" title="agile and architecture" src="http://jcranky.wordpress.com/files/2009/11/061120091102.jpg" alt="agile and architecture" width="450" height="337" /><p class="wp-caption-text">agile and architecture</p></div>
<div id="attachment_440" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-440" title="ejb 3.1 samples" src="http://jcranky.wordpress.com/files/2009/11/061120091108.jpg" alt="ejb 3.1 samples" width="450" height="337" /><p class="wp-caption-text">ejb 3.1 samples</p></div>
<p>And in-between presentations, Vinicius appeared again with one more toy. Now, a robotic balloon:</p>
<p style="text-align:left;">
<div id="attachment_441" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-441" title="robotic balloon" src="http://jcranky.wordpress.com/files/2009/11/061120091105.jpg" alt="robotic baloon" width="450" height="337" /><p class="wp-caption-text">robotic balloon</p></div>
<h2 style="text-align:left;">Mike Keith</h2>
<p style="text-align:left;">Following we had Mike Keith talking about J2EE 6. He talked a little bit about the timeline of the past releases, and about a few new features coming. Note-worthy, although not that new, is the definition of JEE Profiles &#8211; different versions of the application server, with different sets of libraries, for different scenarios.</p>
<p style="text-align:left;">For some odd reason, I don&#8217;t have a picture of this&#8230; so lets move on.</p>
<h2 style="text-align:left;">Ed Burns</h2>
<p style="text-align:left;">Finally, Ed Burns talked about <a title="Java Server Faces" href="http://java.sun.com/javaee/javaserverfaces/" target="_blank">JSF</a> 2.0 components. Some quick highlights: development of components should now be really easy; components can be built in groovy and can be packaged together with CSS and JS files; support for EL inside CSS files and CSS can be put anywhere in the page &#8211; JSF takes care of moving them to the page <strong>head</strong> tag later.</p>
<p style="text-align:left;">
<div id="attachment_442" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-442" title="JSF 2.0 Components with Ed Burns" src="http://jcranky.wordpress.com/files/2009/11/061120091111.jpg" alt="JSF 2.0 Components with Ed Burns" width="450" height="337" /><p class="wp-caption-text">JSF 2.0 Components with Ed Burns</p></div>
<p>And that was all for day 1 of the event! The next post will be about the second day, which was as busy as the first one. Stay tuned!</p>
<p>EDIT: <a title="TDC 2009 Day 2" href="http://jcranky.com/2009/11/12/tdc-the-developers-conference-2009-day-2/" target="_blank">Click here</a> for the coverage of the second day of the event.</p>
<p>EDIT 2: <a title="Bug Novo Video" href="http://www.globalcode.com.br/site/noticias/painel.seam?chave=bugNovo" target="_blank">Here is the link for the video</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Inversion of Control]]></title>
<link>http://matteomoci.wordpress.com/2009/11/08/inversion-of-control/</link>
<pubDate>Sun, 08 Nov 2009 18:04:22 +0000</pubDate>
<dc:creator>mox601</dc:creator>
<guid>http://matteomoci.wordpress.com/2009/11/08/inversion-of-control/</guid>
<description><![CDATA[Since probably from Tuesday I will be busy studying Spring and other technologies, I&#8217;d like to]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Since probably from Tuesday I will be busy studying Spring and other technologies, I&#8217;d like to dive in a bit and see what are the foundations of this platform. Probably this topic will gain deepness with time, but now let&#8217;s start really simple and watch one feature that makes <em>Spring</em> different from <em>EJB</em>: the <em>Inversion of Control</em> pattern.</p>
<p>Imagine to have two classes, <code>Door</code> and <code>Handle</code>. The Door has a private variable that is its Handle, and when it is instantiated with <code>new Door()</code>, it will build a <code>new Handle()</code> inside its constructor as seen in the following diagram.</p>
<p><a href="http://matteomoci.wordpress.com/files/2009/11/door_handle_no_ioc1.jpg"><img class="alignnone size-full wp-image-32" title="door_handle_no_IOC" src="http://matteomoci.wordpress.com/files/2009/11/door_handle_no_ioc1.jpg" alt="door_handle_no_IOC" width="230" height="184" /></a></p>
<p>If we set up things in this way, there is a tight coupling between Door and Handle, and probably every change to the Handle class (for example, adding a parameter to the constructor) will affect even the Door class: to prevent this <em>high coupling</em> (class Door is responsible even for the creation of the Handle), we could have a IoC framework, that will have the responsibility to inject the instance of class Handle to the class Door, confining changes of class Door to the IoC framework. Class Door will only have a private variable Handle and a method setHandle(Handle h) to get the reference from the IoC framework.</p>
<p><a href="http://matteomoci.wordpress.com/files/2009/11/door_handle_with_ioc1.jpg"><img class="alignnone size-full wp-image-33" title="door_handle_with_IOC" src="http://matteomoci.wordpress.com/files/2009/11/door_handle_with_ioc1.jpg" alt="door_handle_with_IOC" width="337" height="212" /></a></p>
<p>In this case, class Door and Handle are independent, since the IoC framework uses the public method of class Door to set up the Handle.However, there are three different ways to implement the IoC pattern, and every web framework uses its implementation.</p>
<p><em>Setter-based IoC</em>: like in the example I showed before, we use a setter method to inject the referred object (Handle) in the referring object (Door). In this way, even if Handles change a lot during its lifetime in the development, we prevent Doors from changing: the main drawback is that we expose the internal variables with setter methods, violating the key OO principle of classes, that is encapsulation of data.</p>
<p><em>Constructor-based IoC</em>: we use a constructor to set the reference of the object, so that only the creator knows about the referenced object.</p>
<p><em>Interface-based IoC</em>: objects have to implement a specific interface of the IoC framework, so that the framework will be able to properly inject the objects. In this way there is no need for an external configuration file with the objects&#8217; references. This locks your application to a specific IoC framework.</p>
<p>I am sure this approach has a lot of advantages, most of all when you don&#8217;t know much about the referred class and how it will change in the application lifecycle, but i think that in order to fully understand its potential it should be seen in a well defined context, comparing the same web application written with EJB and with Spring that accompanies the IoC pattern with principles of <em>Aspect Oriented Programming</em>. Hope to learn this in the future.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Some terms (related to each other), part I.]]></title>
<link>http://amuhb.wordpress.com/2009/11/01/some-terms-related-to-each-other-part-i/</link>
<pubDate>Sun, 01 Nov 2009 05:44:05 +0000</pubDate>
<dc:creator>amuhb</dc:creator>
<guid>http://amuhb.wordpress.com/2009/11/01/some-terms-related-to-each-other-part-i/</guid>
<description><![CDATA[GUI &#8211; Graphical User Interface; Client-Server &#8211; a distributed application architecture t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>GUI</strong> &#8211; Graphical User Interface;</p>
<p><strong>Client-Server</strong> &#8211; a distributed application architecture that divides tasks or workloads between service providers (<strong>servers</strong>) and service requesters (<strong>clients</strong>). Generally, it describes the relationship between two programs, where one makes a service request to another. In a network, multiple server programs can be run on one host, the server machine. Client programs initiate<em> communication sessions </em>with servers, which await (<em>listen to</em>) incoming requests. Opposing to <strong>Peer-to-Peer </strong>and<strong> Client-queue-Client</strong> architectures.</p>
<p><strong>API </strong>- Application Programming Interface &#8211; an interface that a software program implements in order to allow other software to interact with it; much in the same way that a software might implement the GUI in order to allow humans to operate with it.</p>
<p><strong>J2EE </strong>- Java Platform, Enterprise Edition;</p>
<p><strong>JMS </strong>- Java Message Service API is a messaging standard that allows application components based on the A2EE to create, send, receive, and read messages. It enables distributed communication between components. Java applications that use JMS are called <em>JMS clients</em>; system that handles routing and delivery of messages -<em> JMS Provider</em>; <em>JMS Application</em> &#8211; a business system, composer of many JMS clients, and, generally, one JMS Provider.</p>
<p><strong>EJB</strong> &#8211; Enterprise JavaBeans. A <em>server</em> side component architecture for Java Platform, Enterprise Edition. EJB technology enables rapid and simplified <em>development</em> of distributed, secure and portable applications based on Java technology.  In a typical application, EJBs contain the application&#8217;s business logic and business data, and is solving many issues which appear while using the standard Java objects.</p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[JSF i EJB 3 - prosta aplikacja CRUD]]></title>
<link>http://ryznar.wordpress.com/2009/10/30/jsf-i-ejb-3-prosta-aplikacja-crud/</link>
<pubDate>Fri, 30 Oct 2009 20:53:10 +0000</pubDate>
<dc:creator>Paweł Ryznar</dc:creator>
<guid>http://ryznar.wordpress.com/2009/10/30/jsf-i-ejb-3-prosta-aplikacja-crud/</guid>
<description><![CDATA[Tutorial do którego dzisiaj się odniosę to prosta aplikacja webowa wykonana w środowisku Netbeans z ]]></description>
<content:encoded><![CDATA[Tutorial do którego dzisiaj się odniosę to prosta aplikacja webowa wykonana w środowisku Netbeans z ]]></content:encoded>
</item>
<item>
<title><![CDATA[Introducción JBoss Seam]]></title>
<link>http://sebasjm.wordpress.com/2009/10/29/introduccion-jboss-seam/</link>
<pubDate>Fri, 30 Oct 2009 00:46:53 +0000</pubDate>
<dc:creator>Sebastian Javier Marchano</dc:creator>
<guid>http://sebasjm.wordpress.com/2009/10/29/introduccion-jboss-seam/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><!-- SlideShare error: doc is missing or has illegal characters /[^-_a-zA-Z0-9]/ --></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Software Professionals - Walk-In Interview]]></title>
<link>http://thewalkin.wordpress.com/2009/10/29/software-professionals-2/</link>
<pubDate>Thu, 29 Oct 2009 14:10:45 +0000</pubDate>
<dc:creator>The Editor</dc:creator>
<guid>http://thewalkin.wordpress.com/2009/10/29/software-professionals-2/</guid>
<description><![CDATA[DSRC requires Software Professionals (Walk-In Interviews) Looking for dynamic Software Professionals]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>DSRC requires Software Professionals (Walk-In Interviews)</p>
<p><strong>Looking for dynamic Software Professionals for the following skills:</strong></p>
<p>&#8212; Java &#8211; Technical Architect:<br />
a). 7-10 years experience in J2EE Design and Architecture, UML, OOAD, Design Patterns, EJB, Struts, JSP, EJB, JDBC, JNDI, Web Services, Weblogic App Server<br />
b). Struts Framework, Jakarta Tiles framework, Hibernate, Spring Framework, Eclipse 3.0, Solaris 9, Rational ClearCase, Rational ClearQuest, Oracle Database<br />
c). Knowledge of SOA &#38; SCA. Sun Certification Enterprise Architect would be preferred<br />
&#8212; Mainframe-Developers / Sr. Developers : 3-8 years experience with extensive Real Time Project experience in COBOL, JCL, VSAM, CICS, DB2, IMS DB/DC, ASSEMBLER, PL/I</p>
<p>Walk-In on 31st October, 2009 between 9 am and 7 pm at:</p>
<p><strong>Quality Inn Centurian Hotel</strong><br />
Opposite to Akaswani, Shivaji Nagar, Pune -411 005<br />
Tel: 020 25510600<br />
Fax:020-2552 0400</p>
<p>If you are unable to come on the above date, please forward your resume to<strong> jobs@dsrc.co.in</strong></p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ejb 3 con SpringBeanAutowiringInterceptor]]></title>
<link>http://nerdnotes.wordpress.com/2009/10/26/ejb-3-con-springbeanautowiringinterceptor/</link>
<pubDate>Mon, 26 Oct 2009 21:51:05 +0000</pubDate>
<dc:creator>Mirko Caserta</dc:creator>
<guid>http://nerdnotes.wordpress.com/2009/10/26/ejb-3-con-springbeanautowiringinterceptor/</guid>
<description><![CDATA[Integrare spring in un ejb 3 è possibile usando la classe SpringBeanAutowiringInterceptor. La docume]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Integrare spring in un ejb 3 è possibile usando la classe <span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;"><a href="http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/ejb/interceptor/SpringBeanAutowiringInterceptor.html">SpringBeanAutowiringInterceptor</a></span>. La documentazione di spring ne riporta <a href="http://static.springsource.org/spring/docs/2.5.x/reference/ejb.html#ejb-implementation-ejb3">un esempio</a> sufficientemente esplicativo. Tuttavia se ad esempio il nostro ejb si trova in un ear con classloader condiviso (questo è il default su jboss 4.2 se non esplicitamente configurato nel <span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;">jboss-app.xml</span> come specificato nella <a href="http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/Server_Configuration_Guide/ch01s04s02.html">documentazione di jboss</a>), l&#8217;interceptor di spring potrebbe trovare nel classpath un file <span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;">beanRefContext.xml</span> di un&#8217;altra applicazione, con conseguenze inattese.</p>
<p>Per fare in modo che l&#8217;interceptor di spring trovi il file giusto, è necessario definire un file xml di configurazione di spring con un nome univoco all&#8217;interno dell&#8217;application server ed usare una classe custom che estenda l&#8217;interceptor di spring:</p>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">public class VipManagerSpringBeanAutowiringInterceptor extends SpringBeanAutowiringInterceptor {</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">private static final String CONTEXT_FILE = &#8220;ejb-vip-manager-context.xml&#8221;;</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">@Override</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">protected BeanFactory getBeanFactory(Object o) {</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">return SpringBeanFactoryManager.getBeanFactory();</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">}</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">private static class SpringBeanFactoryManager {</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">private static final SpringBeanFactoryManager instance = new SpringBeanFactoryManager();</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">private final ClassPathXmlApplicationContext context;</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">private SpringBeanFactoryManager() {</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">// singleton</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">context = new ClassPathXmlApplicationContext(CONTEXT_FILE);</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">}</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">public static BeanFactory getBeanFactory() {</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">return instance.context.getBeanFactory();</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">}</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">}</div>
<div id="_mcePaste" style="position:absolute;left:-10000px;top:69px;width:1px;height:1px;">}</div>
<pre>public class MySpringBeanAutowiringInterceptor
    extends SpringBeanAutowiringInterceptor {

    private static final String CONTEXT_FILE = "my-ejb-context.xml";

    @Override
    protected BeanFactory getBeanFactory(Object o) {
        return SpringBeanFactoryManager.getBeanFactory();
    }

    private static class SpringBeanFactoryManager {
        private static final SpringBeanFactoryManager instance =
            new SpringBeanFactoryManager();
        private final ClassPathXmlApplicationContext context;

        private SpringBeanFactoryManager() {
            // singleton
            context = new ClassPathXmlApplicationContext(CONTEXT_FILE);
        }

        public static BeanFactory getBeanFactory() {
            return instance.context.getBeanFactory();
        }
    }
}</pre>
<p>In questo modo l&#8217;<span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;">ApplicationContext</span> configurato nel file <span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;line-height:18px;font-size:12px;white-space:pre;">my-ejb-context.xml</span> verrà caricato una sola volta su ogni singolo nodo del cluster e sarà possibile iniettare i bean di spring nel nostro ejb 3 semplicemente usando l&#8217;annotazione @Autowired, come nell&#8217;esempio:</p>
<pre>@Stateless
@Interceptors(MySpringBeanAutowiringInterceptor.class)
public class MyEjb {

    @Autowired
    // my spring component defined in my-ejb-context.xml
    private MySpringBean mySpringBean;

}</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The passivateEJB() exception and how to debug it]]></title>
<link>http://qants.wordpress.com/2009/10/26/the-passivateejb-exception-and-how-to-debug-it/</link>
<pubDate>Mon, 26 Oct 2009 16:54:15 +0000</pubDate>
<dc:creator>Alex Ersenie</dc:creator>
<guid>http://qants.wordpress.com/2009/10/26/the-passivateejb-exception-and-how-to-debug-it/</guid>
<description><![CDATA[Last week i was running some performance tests, using an increasing number of users, without restart]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Last week i was running some performance tests, using an increasing number of users, without restarting my Glassfish Application Server. It occured to me at some point in time, that although my scripts were not running (taking a pause), the Glassfish Application Server was returning some interesting warnings, that immediately got my attention.</p>
<p>The first thing to see, was the warnings referred to the passivation of an Entity Bean. More specifically, this was the error returned:</p>
<p><em>passivateEJB(), Exception caught -&#62; java.io.IOException: java.io.IOException</em></p>
<p><em>at com.sun.ejb.base.io.IOUtils.serializeObject(IOUtils.java:105)<br />
at com.sun.ejb.containers.util.cache.LruSessionCache.saveStateToStore(LruSessionCache.java:508)<br />
at com.sun.ejb.containers.util.cache.LruSessionCache.passivateEJB(LruSessionCache.java:433)<br />
at com.sun.ejb.containers.StatefulSessionContainer.passivateEJB(StatefulSessionContainer.java:1784)</em></p>
<p><em>Caused by: java.io.IOException</em></p>
<p><em>Caused by: java.io.NotSerializableException: java.util.logging.Logger</em></p>
<p>Now, after carefully reading once more the<a title="The lifecycles of Enterprise Beans" href="http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/EJBConcepts9.html" target="_blank"> lifecycle of an Entity Bean</a>, i realised that in order for something like this to happen, the Bean must have reached it&#8217;s <strong>cache idle timeout</strong> before being <strong>moved to the pool</strong> (passivation) (default in Glassfish is set to 600 seconds = 10 minutes) . That meant  first of all, that the application using the bean, was not calling the remove method, which would have caused the EJB container to call the ejbRemove method.</p>
<p>I was therefore more than interested to see some statistics on the bean. So i turned to my Glassfish Administrator, hoping that i will find the option of down-drilling the Entity Beans, and checking on their status.I wasn&#8217;t very surprised to see that although the Glassfish Monitoring allows setting different levels on monitoring the EJB&#8217;s, it doesn&#8217;t really provide any &#8220;friendly&#8221; interface for &#8220;reading&#8221; the information.</p>
<p>So i had to go the hard way&#8230;digging in command line.</p>
<p>Now, it may seem difficult in the beginning, but once you know how to filter all the information (and i am also still struggling on that), it can get easier. Here is what you have to do:</p>
<ol>
<li>Run &#8220;<em>asadmin</em>&#8221; in your console</li>
<li>type the following to list the  monitorable components for instance server:<br />
<em>list &#8211;user admin &#8211;monitor server*</em></li>
<li>extract the name of the bean you want to collect statistics for. Let&#8217;s call it <em>MyBean</em></li>
<li>type the following to collect the statistics on the bean:<br />
<em>get -m &#8211;user admin *.MyBean.*</em></li>
</ol>
<p>This will return a lot of statistics on the bean. I was interested in the number of created beans, running with 50 virtual users, and i wasn&#8217;t surprised at all to see this:</p>
<p>MyBean.createcount-count = 50</p>
<p>MyBean.removecount-count = 0</p>
<p>So i made one thing sure. <strong>A bean was instantiated </strong>for every virtual user of mine, but the <strong>remove method</strong> was never called. Point taken!</p>
<p>Now, i still had one question&#8230;why wasn&#8217;t the Bean able to be passivated.</p>
<p>Well, the secret here is that the<strong> ejb passivation fails</strong> because ejb has a <strong>Logger object and it cannot be serialized</strong>, hence the two log entries above:</p>
<p><em>at com.sun.ejb.base.io.IOUtils.serializeObject(IOUtils.java:105)</em></p>
<p><em>Caused by: java.io.NotSerializableException: java.util.logging.Logger</em></p>
<p>The solution here as i know, would be to make the logger transient. That way it won&#8217;t be serialized no more, and you have a &#8220;clean&#8221; passivation. But that is not the subject of the post, so if i am wrong on the last point here, please do correct me.</p>
<p>Cheers, and have a good night. I am still a little waisted after watching the U2 concert live on YouTube <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , so i&#8217;m heading home now.</p>
<p>Alex</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[JavaEE Hello World]]></title>
<link>http://wwolfblogger.wordpress.com/2009/10/26/javaee-hello-world/</link>
<pubDate>Mon, 26 Oct 2009 15:55:18 +0000</pubDate>
<dc:creator>wwolfblogger</dc:creator>
<guid>http://wwolfblogger.wordpress.com/2009/10/26/javaee-hello-world/</guid>
<description><![CDATA[Since the environment has been set up successful, the next step is to write a simple JavaEE Hello Wo]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Since the environment has been set up successful, the next step is to write a simple JavaEE Hello World application. Therefore we&#8217;ll use a simple Java WebStart client which which will call a stateless EJB to log Hello World. First create a new Enterprise Application Project, then an EJB Project and then a Java Web Client Project. It is mostly just clicking through the wizards. Create a class in the EJB Project, add a method printHelloWorld and call it from the Java Web Client Project. A tutorial can be found <a title="RoseIndia EJB HelloWorld tutorial" href="http://www.roseindia.net/ejb/ejb-hello-world.shtml" target="_blank">here</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Art of Eating]]></title>
<link>http://bovellog.bovell.com/2009/10/26/the-art-of-eating/</link>
<pubDate>Mon, 26 Oct 2009 02:55:13 +0000</pubDate>
<dc:creator>bovellog</dc:creator>
<guid>http://bovellog.bovell.com/2009/10/26/the-art-of-eating/</guid>
<description><![CDATA[Purple Mush, originally uploaded by Steph &amp; Josh Bovell. We never knew how much fun eating could]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div style="text-align:center;padding:3px;"><a title="photo sharing" href="http://www.flickr.com/photos/bovellog/4044385781/"><img style="border:solid 2px #000000;" src="http://farm3.static.flickr.com/2617/4044385781_e995edbb37.jpg" alt="" /></a></p>
<p><span style="font-size:.8em;margin-top:0;"><a href="http://www.flickr.com/photos/bovellog/4044385781/">Purple Mush</a>, originally uploaded by <a href="http://www.flickr.com/people/bovellog/">Steph &#38; Josh Bovell</a>.</span></div>
<p>We never knew how much fun eating could be until watching Beth with her food.  Although we started off slowly with a bit of home-made baby rice (using locally grown organic red rice called beras merah) mixed with expressed milk, it wasn&#8217;t long before Beth was after more interesting flavours and an eating utensil of her own.</p>
<p>Beth pretty well eats everything we put in front of her with the favourites being carrot, apple and a purple variety of the local sweet potato called ketela ungu.  She quite happily eats all of her greens (so far beans, zucchini and broccoli) as well as cauliflower, pear, avocado and banana.  Beth has also branched out on the cereal front with some oatmeal and just this morning tried her first weet-bix.  On the advice of a couple of books we started mixing in a bit of chicken stock with her veg at lunch time a couple of weeks ago to introduce her to the flavour of meat, and just over the last couple of days we&#8217;ve started including a bit of mushed up chicken and veg casserole in her lunch.  So far so good!</p>
<p>At first the introduction of solids into Beth&#8217;s diet didn&#8217;t seem to help on the sleeping front.  Unfortunately sleeping with Mum and Dad and feeding every 2 hours as a result were hard habits to break.  Amazingly though, Beth is now in her own room, sleeping fairly consistently from her 10.30pm feed through to 7am.  However, the one thing we have learned over the last 7 months is that babies like to keep parents on their toes, so we are fully aware that this current sleeping arrangement could change any day!</p>
<p>Needless to say, between the crawling, attempts at self-feeding, and a recently developed ability to signal &#8220;I want&#8221; (slapping with an open palm) we have to admit our little Beth is no longer a helpless little baby!  How and when did that happen?</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dot Net Cube | Design Patterns – Which to use When? Take the Quiz!]]></title>
<link>http://enggtech.wordpress.com/2009/10/20/dot-net-cube-design-patterns-%e2%80%93-which-to-use-when-take-the-quiz/</link>
<pubDate>Tue, 20 Oct 2009 11:46:25 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/20/dot-net-cube-design-patterns-%e2%80%93-which-to-use-when-take-the-quiz/</guid>
<description><![CDATA[Before you take the quiz, I encourage you to review the articles in the Design Pattern series. Quest]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="font-size:small;">Before you take the quiz, I encourage you to review the articles in the <a href="http://www.dotnetcube.com/?tag=/design+patterns">Design Pattern series</a>. </span></p>
<p><strong>Question 1</strong></p>
<p>You are creating an application that simulates a technical support service provider. All requests are initially handled by Level 1 support and are escalated to higher levels as and when required.</p>
<p>via <a href="http://www.dotnetcube.com/post/Design-Patterns-e28093-Which-to-use-When-Take-the-Quiz!.aspx">Dot Net Cube &#124; Design Patterns – Which to use When? Take the Quiz!</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle Application Server 10.1.3.5 - Dependency Injection]]></title>
<link>http://jpaandejb.wordpress.com/2009/10/19/oracle-application-server-10-1-3-5-dependency-injection/</link>
<pubDate>Mon, 19 Oct 2009 06:08:10 +0000</pubDate>
<dc:creator>bovinemagnet</dc:creator>
<guid>http://jpaandejb.wordpress.com/2009/10/19/oracle-application-server-10-1-3-5-dependency-injection/</guid>
<description><![CDATA[One of the cool things about EJB&#8217;s is the fact that you no longer need to do certain things, l]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of the cool things about EJB&#8217;s is the fact that you no longer need to do certain things, like go to the JNDI context, and search for your EJB.  You can let the @EJB tag do it for you (for example).</p>
<p>Writing a simple application to talk to a local EJB should be as simple as</p>
<pre class="brush: java;">
@EJB
 private SimpleStatelessEJBLocal simpleStateless;
 ...
 simpleStateless.someLocalMethod();
 ...
</pre>
<p>But what I found was a null pointer exception.<br />
So taking the application down to the simplest app.</p>
<ul>
<li>One servlet.</li>
<li>One statless session bean.</li>
<li>Using Jdeveloper 10.1.3.5 (I can&#8217;t use 11g as I need oc4j 10.1.3.5, I know I can get around it.. more on that later)</li>
<li>One local OC4J 10.1.3.5 instance.</li>
</ul>
<p>Deploying this application and after much playing around, the null pointer was gone, and this error remained.</p>
<pre class="brush: java;">

[Oracle Containers for J2EE 10g (10.1.3.5.0) ]

9/10/19 16:52:14.779 SimpleTwoWEB: Servlet error
java.lang.ClassCastException: com.evermind.server.ejb.StatelessSessionDefaultLocalHomeImpl cannot be cast to au.edu.rmit.its.qas.ejb.SimpleStatelessEJBLocal
</pre>
<p>This puzzled me for an hour or so, but through an obscure post on <a title="coderanch" href="http://www.coderanch.com/t/455629/EJB-Certification-SCBCD/certification/EJB-DI-JSP" target="_blank">coderanch</a> I found the problem.  It seems that JDeveloper 10.1.3.x creates web projects in web 2.4 compliance, but in order to run DI you need to run web container version 2.5.  Testing this out, I changed the web.xml from this:</p>
<pre class="brush: xml;">

&#60;web-app xmlns:xsi=&#34;http://www.w3.org/2001/XMLSchema-instance&#34; xsi:schemaLocation=&#34;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&#34; version=&#34;2.4&#34; xmlns=&#34;http://java.sun.com/xml/ns/j2ee&#34;&#62;
</pre>
<p>changing to&#8230;</p>
<pre class="brush: xml;">

&#60;web-app xmlns:xsi=&#34;http://www.w3.org/2001/XMLSchema-instance&#34; xmlns=&#34;http://java.sun.com/xml/ns/javaee&#34;   xmlns:web=&#34;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&#34;  xsi:schemaLocation=&#34;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&#34;  id=&#34;WebApp_ID&#34; version=&#34;2.5&#34;&#62;
</pre>
<p>And like magic is worked.</p>
<p>Now according to two OTN Discussions:</p>
<p><em>If you have a look at the J2EE 5 spec, the classes where DI is supported are listed on page 64.</p>
<p><strong>Component classes supporting injection</strong><br />
Servlet: servlets, servlet filters, event listeners<br />
JSP: tag handlers, tag library event listeners<br />
JSF: scoped managed beans<br />
JAX-WS: service endpoints, handlers<br />
EJB: beans, interceptors<br />
Java EE platform: main class (static), login callback handler</em></p>
<p><a title="OTN Link 1" href="http://forums.oracle.com/forums/thread.jspa?threadID=434481" target="_blank"><em>OTN  Link 1</em></a></p>
<p><em><a title="OTN Link 2" href="http://forums.oracle.com/forums/thread.jspa?threadID=447310" target="_blank">OTN Link 2</a><br />
</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[My ASP.NET MVC stack and why I chose it]]></title>
<link>http://enggtech.wordpress.com/2009/10/15/my-asp-net-mvc-stack-and-why-i-chose-it/</link>
<pubDate>Thu, 15 Oct 2009 14:45:19 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/15/my-asp-net-mvc-stack-and-why-i-chose-it/</guid>
<description><![CDATA[In this post Simone Chiaretta talks about the tools, components, and technologies he uses along with]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In this post Simone Chiaretta talks about the tools, components, and technologies he uses along with ASP.NET MVC to build web applications.</p>
<h5>Maven/<a href="https://hudson.dev.java.net/" target="_blank">Hudson</a></h5>
<p>The client&#8217;s team is mainly a Java oriented team, so they setup all the build server using java tools: they used Maven to build the projects and used Hudson to schedule the builds. I always used NAnt, MsBuild, TFS and CC.NET but since they already had all this place, I had to go with that. But it turned out to be a good thing: <a href="http://stackoverflow.com/questions/616149/how-and-why-do-i-set-up-a-c-build-machine/616230#616230" target="_blank">it seems like Hudson is probably the best CI server out there at the moment</a>, and also has a <a href="http://redsolo.blogspot.com/2008/04/guide-to-building-net-projects-using.html" target="_blank">lot of .NET related plugins</a>. So this is turning out to be an opportunity to learn a new thing.</p>
<h5>Custom Data Repository with Linq2Sql</h5>
<p>As said, there is not a lot of editing to do. Furthermore the dashboard is going to connect to a legacy database, designed in a really (and I mean really really) strange way, and unfortunately I&#8217;ve no jurisdiction over it. So custom repository with manual mapping is the way I decided to go. Furthermore the developers in the team are not familiar with an ORM. Actually they are not familiar with IoC, MVC, HTML+Javascript and writing tests neither. I didn&#8217;t want to flood them with all that many technologies and practices all together. So I thought that ORM was the one I could skip for that project.</p>
<h5><a href="http://entlib.codeplex.com/" target="_blank">Enterprise Library</a> and <a href="http://unity.codeplex.com/" target="_blank">Unity</a></h5>
<p>I always used <a href="http://ninject.org/">Ninject</a> for IoC, and <a href="http://code.google.com/p/elmah/">Elmah</a> for the logging, but <a href="http://www.avanade.com/entlib/">Avanade</a> is the company that wrote the first version of the Enterprise Library and it&#8217;s part of the internal development framework. But after all the EnterpriseLibrary is not that bad, and this way I have the chance to play around with Unity and maybe find a way to study the validation application block in order to make a client side validation provider on top of it.</p>
<h5><a href="http://www.codeplex.com/AutoMapper" target="_blank">AutoMapper</a></h5>
<p>Even if we won&#8217;t have a lot of entities to deal with, AutoMapper will save us from writing boring mapping code. And will help the team to understand better the importance of having a model specific to each view and to keep the domain model separated by the view model.</p>
<h5><a href="http://sparkviewengine.com/" target="_blank">Spark</a></h5>
<p>WebForm View Engine holds too many connections with the WebForm&#8217;s world so I don&#8217;t like using it. Furthermore the developers of the team are not familiar with ASP.NET and very little with HTML/CSS, so I thought that Spark is a better solution since it is pure HTML with little customization compared to WebForm. And finally it will prevent developers from breaking the pattern including server controls with data logic in them.</p>
<h5><a href="http://jquery.com/" target="_blank">jQuery</a></h5>
<p>There was a bit of talking about whether using ASP.NET Ajax or jQuery, but at the end we opted for the latter. The reasons for this decision are various: we are using Spark instead of the WebForms ViewEngine, jQuery has a much bigger &#8220;add-on&#8221; ecosystem and in particular it has the jqGrid which by itself justifies the adoption of jQuery, and then the guys of the team heard about it and wanted to learn more about it.</p>
<h5><a href="http://jqueryui.com/" target="_blank">jQuery UI</a></h5>
<p>Tabs, datatime pickers, modal dialogs are all part of the Ajax Control Toolkit, but what the jQuery UI has is the unified theme: with just one line of configuration all your UI controls will look the same. And since we choose for jQuery, the ACT has never really been an option.</p>
<h5><a href="http://www.trirand.com/blog/" target="_blank">jqGrid</a></h5>
<p>We have to implement a few grids that need to support sorting and paging: I already used this plugin before, and it&#8217;s both easy to setup and very powerful. You can browse some <a href="http://trirand.com/jqgrid/jqgrid.html" target="_blank">samples and the documentation here</a>.</p>
<h5><a href="http://xval.codeplex.com/" target="_blank">xVal</a></h5>
<p>We won&#8217;t have many complex editing screens, just a one or two, but xVal is really easy to implement and I think it&#8217;s worth adding it even if there is just one field to validate.</p>
<h4>Testing</h4>
<p>We are not going to do TDD (or maybe we will, let&#8217;s see how the team goes first) but for sure we will write unit tests and we&#8217;ll try to test the most important features.</p>
<h5>MsTest</h5>
<p>Even if I prefer mbUnit, the rest of the solutions is already using MsTest so, even if it&#8217;s not my preferred testing framework, we&#8217;ll go with that.</p>
<h5><a href="http://ayende.com/projects/rhino-mocks.aspx" target="_blank">RhinoMocks</a></h5>
<p>Fortunately the other tests are already using this great mocking framework, which is also the one I used the most and that I prefer, so all good on this side.</p>
<p><a href="http://codeclimber.net.nz/archive/2009/10/15/my-asp.net-mvc-stack-and-why-i-chosen-it.aspx">My ASP.NET MVC stack and why I chose it</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[java-commons 1.2.0 released!!!]]></title>
<link>http://bsempere.wordpress.com/2009/10/11/java-commons-1-2-0-released/</link>
<pubDate>Sun, 11 Oct 2009 10:58:18 +0000</pubDate>
<dc:creator>Benjamin Sempéré</dc:creator>
<guid>http://bsempere.wordpress.com/2009/10/11/java-commons-1-2-0-released/</guid>
<description><![CDATA[Bonjour à tous, La version 1.2.0 de java-commons est disponible!!! java-commons est une aggrégation ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Bonjour à tous,</p>
<p>La version 1.2.0 de java-commons est disponible!!!</p>
<p>java-commons est une aggrégation d&#8217;outils facilitant le développement d&#8217;applications Java / JEE.</p>
<p>Pour plus d&#8217;informations, suivez <a title="java-commons" href="http://code.google.com/p/java-commons/" target="_blank">ce lien</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[And she's off...]]></title>
<link>http://bovellog.bovell.com/2009/10/09/and-shes-off/</link>
<pubDate>Fri, 09 Oct 2009 08:51:09 +0000</pubDate>
<dc:creator>bovellog</dc:creator>
<guid>http://bovellog.bovell.com/2009/10/09/and-shes-off/</guid>
<description><![CDATA[We have been meaning to do a post filling you in on Beth&#8217;s latest sleeping and eating habits (]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We have been meaning to do a post filling you in on Beth&#8217;s latest sleeping and eating habits (just quietly that&#8217;s a post you would NOT want to miss!).  However, just moments ago something happened that made tales of multi-coloured food stuffs and 8.5 hour sleeping patterns seem <em>sooo </em>last month.</p>
<p>Ladies and gentlemen, hot off the press and direct to your screens, may we present Elizabeth Jayne &#8220;Yes I can crawl now, how good am I&#8221; Bovell&#8230;</p>
<span id='plh-loop-video-embed-0' class='hidden'>done</span><script type="text/javascript" src="http://v.wordpress.com/wp-content/plugins/video/swfobject2.js"></script><ins style='text-decoration:none;'>
<div class='video-player' id='x-video-0'>
<p id='video-0'></p></div></ins><script type='text/javascript'>swfobject.embedSWF('http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.11', 'video-0', '400', '326', '9.0.115','http://v.wordpress.com/wp-content/plugins/video/expressInstall2.swf', {guid:'uVn7kQ41', javascriptid:'video-0', width:'400', height:'326', locksize:'no'}, {allowfullscreen: 'true', allowscriptaccess:'always', seamlesstabbing:'true', overstretch:'true'}, {'id':'video-0'});</script>

<p>P.S. We compressed the video to a 11.5MB wmv file, hopefully you all have enough bandwidth to view it.  If you have dramas let us know as we can compress it further, it just loses quality.</p>
<p>P.P.S. By the way, the part where Josh says &#8220;She did it again&#8221; is not in reference to the crawling so much as Beth&#8217;s apparent knack for doing new things during the rare moments when Steph is in another room!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[PM with J2EE experince]]></title>
<link>http://spillerlaszlo.wordpress.com/?p=2178</link>
<pubDate>Thu, 24 Sep 2009 15:22:09 +0000</pubDate>
<dc:creator>Spiller László</dc:creator>
<guid>http://spillerlaszlo.wordpress.com/?p=2178</guid>
<description><![CDATA[Duties: Developing connected services for iGO My way GPS navigation software. Requirements: 3-4 year]]></description>
<content:encoded><![CDATA[Duties: Developing connected services for iGO My way GPS navigation software. Requirements: 3-4 year]]></content:encoded>
</item>
<item>
<title><![CDATA[Módulos EJB]]></title>
<link>http://pedentello.wordpress.com/2009/09/22/modulos-ejb/</link>
<pubDate>Tue, 22 Sep 2009 20:00:27 +0000</pubDate>
<dc:creator>pedentello</dc:creator>
<guid>http://pedentello.wordpress.com/2009/09/22/modulos-ejb/</guid>
<description><![CDATA[Enterprise Java Bean (JSR220) é um componente server-side que encapsula as lógicas de negócio, isto ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><em> Enterprise Java Bean</em> (<a href="http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html">JSR220</a>) é um componente <em>server-side</em> que encapsula as lógicas de negócio, isto é, o código escrito na linguagem de programação Java, para atender os objetivos de uma aplicação.</p>
<p>Um módulo EJB é usado para implementar um ou mais <em>enterprise beans</em> em uma única unidade de implantação, isto é, um arquivo Java Archive File (JAR). Estes <em>enterprise beans</em> são executados em um container EJB de um Servidor de Aplicação.</p>
<p>Um módulo EJB pode ser usado como uma aplicação standalone, ou pode ser combinado com outros módulos para criar uma aplicação. Ou ainda, pode ser usado para prover uma funcionalidade de negócio através de um Web Service. Um módulo EJB é formado por:<br />
. Um ou mais <em>enterprise beans</em><br />
. Um arquivo XML, que define a estrutura e as dependências externas dos <em>enterprise beans</em>, e descreve como eles são usados em tempo de execução. </p>
<p>Os módulos EJB podem ser <em>Session Bean</em> (stateless ou stateful) para atender um cliente ou implementar um Web Service ou <em>Message Bean</em> com o objetivo de atuar como um <em>listener</em> para um tipo de mensagem específico, como o Java Message Service.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[EJBDesignPatterns - Sreesh B Nair]]></title>
<link>http://knwrites.wordpress.com/2009/09/22/ejbdesignpatterns/</link>
<pubDate>Tue, 22 Sep 2009 12:51:21 +0000</pubDate>
<dc:creator>knwrites</dc:creator>
<guid>http://knwrites.wordpress.com/2009/09/22/ejbdesignpatterns/</guid>
<description><![CDATA[EJB Design Patterns   .   Presentation Tier  Intercepting Filter:Use an Intercepting Filter as a plu]]></description>
<content:encoded><![CDATA[EJB Design Patterns   .   Presentation Tier  Intercepting Filter:Use an Intercepting Filter as a plu]]></content:encoded>
</item>
<item>
<title><![CDATA[EJB 3 - the positive side]]></title>
<link>http://cleversd.wordpress.com/2009/09/21/ejb-3-the-positive-side/</link>
<pubDate>Mon, 21 Sep 2009 21:08:28 +0000</pubDate>
<dc:creator>cleversd</dc:creator>
<guid>http://cleversd.wordpress.com/2009/09/21/ejb-3-the-positive-side/</guid>
<description><![CDATA[In response to my previous post, I started to see the positive side of EJB 3 . First, there&#8217;s ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In response to my previous post, I started to see the positive side of EJB 3 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
First, there&#8217;s no requirement on business interfaces. That&#8217;s cool. You don&#8217;t depend on container interfaces anymore.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Brain Waves]]></title>
<link>http://bovellog.bovell.com/2009/09/14/brain-waves/</link>
<pubDate>Mon, 14 Sep 2009 02:33:48 +0000</pubDate>
<dc:creator>bovellog</dc:creator>
<guid>http://bovellog.bovell.com/2009/09/14/brain-waves/</guid>
<description><![CDATA[Our first week back home in Bali turned out to be somewhat of a nervous one.  On Tuesday 1st Septemb]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Our first week back home in Bali turned out to be somewhat of a nervous one.  On Tuesday 1st September Beth had a convulsion while she was breast feeding.  We went to one of the hospitals here and the doctor did a thorough check-up, concluding that there was no sign of fever and that Beth was strong and healthy.  She did on the other hand recommend that we see a specialist since there was nothing obvious to explain the convulsion.  So, with Josh already in Singapore for work we decided to fly there and see a paediatric neurologist.  Fortunately we were able to get on the Tuesday night flight and, even more fortunately, we were able to see a paediatic neurologist at Mount Elizabeth Hospital (a good omen!) the next day.  He recommended that since Beth was otherwise healthy, she should have an EEG (Electroencephalogram) to make sure everything was tickety-boo with her brain.  Beth had to be sedated (an oral liquid which she did NOT like thank you very much!), then had all of the little electrodes stuck to her scalp (a procedure which took about 20 minutes).  The test involved 20 minutes of recording the brain activity while Beth was asleep, then another 20 minutes with her awake.  Beth was a little trooper and only got upset when the electrodes were coming off &#8211; completely understandable.  Thankfully, the EEG was all normal.  The doctor suggested that the convulsion may have been something related to Beth&#8217;s sleep, somewhat like our own body spasms when we are sleeping.  This makes complete sense considering some of the amazing body movements we both manage in our sleep sometimes &#8211; Josh has been known to do a back hand reo in his sleep!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Java Knowledge Bank - 1]]></title>
<link>http://meghsoft.wordpress.com/2009/09/13/java-knowledge-bank-1/</link>
<pubDate>Sun, 13 Sep 2009 17:46:43 +0000</pubDate>
<dc:creator>meghsoft</dc:creator>
<guid>http://meghsoft.wordpress.com/2009/09/13/java-knowledge-bank-1/</guid>
<description><![CDATA[Q : Give a few reasons for using Java? A : Java is a fun language. Let’s look at some of the reasons]]></description>
<content:encoded><![CDATA[Q : Give a few reasons for using Java? A : Java is a fun language. Let’s look at some of the reasons]]></content:encoded>
</item>

</channel>
</rss>
