<?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/"
	>

<channel>
	<title>I.T. aware &#187; Anglais</title>
	<atom:link href="http://www.itaware.eu/category/anglais/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.itaware.eu</link>
	<description>Sébastien Letélié and Cyril Balit weblog</description>
	<pubDate>Tue, 20 Oct 2009 20:16:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='www.itaware.eu' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Java BarCamp Paris 4th ed. : Cloud and DDD</title>
		<link>http://www.itaware.eu/2009/04/05/java-barcamp-paris-4th-ed-cloud-and-ddd/</link>
		<comments>http://www.itaware.eu/2009/04/05/java-barcamp-paris-4th-ed-cloud-and-ddd/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 19:20:31 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[cloud-computing]]></category>

		<category><![CDATA[ddd]]></category>

		<category><![CDATA[qi4j]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=463</guid>
		<description><![CDATA[A big success! It was full of people in the great Google's office. 2 schedules / 4 rooms and a total of 7 sessions, I present the both where I participated : Cloud computing (definition, actors and amazon eclipse tool) and DDD (definition and qi4j) <a href="http://www.itaware.eu/2009/04/05/java-barcamp-paris-4th-ed-cloud-and-ddd/" target="_blank">[...]</a>]]></description>
			<content:encoded><![CDATA[<p>A big success! It was full of people in the great Google&#8217;s office. 2 schedules / 4 rooms and a total of 7 sessions, I present the both where I participated :</p>
<p><strong>Cloud computing </strong><br />
Not really a Java subject but it attract people. We tried to define the cloud computing and we fixed that there is 3 offers :</p>
<ul>
<li><strong>IAAS</strong> (Infrastructure as a Service): this is typical <a href="http://aws.amazon.com/" target="_blank">Amazon services</a> products, S3 for storage and EC2 for virtualized servers. Amazon offer very basic service now with a very powerful management tool in <a href="http://aws.amazon.com/eclipse/" target="_blank">Eclipse plug-in</a> (see the <a href="http://awsmedia.s3.amazonaws.com/videos/awsToolkit.html" target="_blank">demo</a>). There is also <a href="http://www.elastic-grid.com/" target="_blank">Elastic Grid</a> proposing to develop and deploy easily on the Amazon infrastructure, <a href="http://www.gogrid.com/index.php" target="_blank">GoGrid</a> an Amazon concurrent. I believe that the recent IBM / Sun merge will create new offerings.</li>
<li> <strong>SAAS</strong> (Software as a Service): we find a lot of solutions (often based on the previous offer), for example Amazon <a href="http://aws.amazon.com/simpledb/" target="_blank">SimpleDB</a>, Amazon <a href="http://aws.amazon.com/sqs/" target="_blank">SQS</a>, <a href="http://www.google.com/a" target="_blank">Google Apps</a>, Microsoft <a href="http://www.microsoft.com/azure/" target="_blank">Azure</a> Services <a href="http://www.cloudmq.com/" target="_blank">CloudMQ</a>, <a href="http://www.zumodrive.com/" target="_blank">ZumoDrive</a> &#8230; and I could continue like a long time&#8230;</li>
<li><strong>PAAS</strong> (Platform as a Service): is hosting the application on a common and scalable platform, it is typically <a href="http://appengine.google.com/" target="_blank">Google AppEngine</a>, it is possible to deploy all yours web application if you know Python. Microsoft probably has a deal in Azure (I should have a look) and Sun has just launched <a href="http://zembly.com/" target="_blank">Zembly</a>.</li>
</ul>
<p>A lot of discussion on what about offline, security, and where is java in the cloud. For me offline mode is really important in a world of increasingly nomad people. Cloud is primarily storage space allowing me to share my data between my devices, then an area of services, and finally deployment platform of my apps.<br />
Finished managing a backup that is never done, losed time finding  a way to share data and finally used USB key, now my data are in the cloud and synchronized on all my devices. I have set up Zumodrive in my company and it&#8217;s very cool, the documents are shared even outside the company and I don&#8217;t care about backup.<br />
Security is the most bigger difficulty for acceptance in the company, I hear the same remarks when talking about the payment on Internet ten years ago. All these services are secure and there is no zero risk.<br />
Java have his place in the cloud on client and server side. The multi platform aspect facilitates the developments on the client (eg: ZumoDrive client is in Java), I want to see more and more Java APIs &#8220;cloud-ready&#8221; facilitating the integration of service in code. Similarly on the server side I look forward to Google AppEngine in Java.<br />
Finally the advantage of cloud computing is primarily economic, smalls company are the first customers and have found lower cost and flexible capabilities.</p>
<p><strong>DDD (<a href="http://domaindrivendesign.org/" target="_blank">Domain Driven Design</a>)</strong><br />
I had little success at the last barcamp with this subject, this time it was proposed by others much more stronger than me and have made relevant arguments on the benefits of the concept. One of the important point raised we used talking too much technical and framework implementation than focus more on the reality, something that we tend to forget wanting to put our new framework in our code. I talked about <a href="http://www.qi4j.org/" target="_blank">Qi4j</a>, that is not pure DDD implementation, but is for me the best way to modelling reality. I want make a demo of my medical record implemented with Qi4j to really prove that this approach is relevant.<br />
Of course I&#8217;m convinced that a DDD refactoring of an existing code is difficult. DDD is a best practice and a new way of development vision. Have to follow for sure &#8230;</p>
<p>Thank you again to the organizers. It is always a good opportunity to exchange. And i hope Google will open their doors as often as possible;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2009/04/05/java-barcamp-paris-4th-ed-cloud-and-ddd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Put your company in the cloud</title>
		<link>http://www.itaware.eu/2009/03/29/put-your-company-in-the-cloud/</link>
		<comments>http://www.itaware.eu/2009/03/29/put-your-company-in-the-cloud/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 12:13:46 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=448</guid>
		<description><![CDATA[2 months ago I started the migration of my company's messaging on GoogleApps. Where our old provider took us a considerable amount per month for outsourcing our mail server, Google makes the same thing free. There is no small economies and is a good start to start in the use of cloud computing tools. I give you the steps i follow to complete the project and a return after 1 month of use.<a href="http://www.itaware.eu/2009/03/29/put-your-company-in-the-cloud/" target="_blank">[...]</a>]]></description>
			<content:encoded><![CDATA[<p>2 months ago I started the migration of my company&#8217;s messaging on <a href="http://www.google.com/a" target="_blank">GoogleApps</a>. Where our old provider took us a considerable amount per month for outsourcing our mail server, Google makes the same thing free. There is no small economies and is a good start to start in the use of cloud computing tools. I give you the steps i follow to complete the project and a return after 1 month of use.<br />
Google offers a simple way to create an online mail, calendar, docs, chat and website using your own domain name. If you have one you can already <a href="http://www.google.com/a/cpanel/domain/new" target="_blank">open an account</a>, Google will ask you to validate that you are the owner of this domain by adding a <a href="http://en.wikipedia.org/wiki/Domain_Name_System#DNS_resource_records" target="_blank">CNAME</a> entry in your <a href="http://en.wikipedia.org/wiki/Domain_Name_System" target="_blank">DNS</a> or simply by putting a file in the root of your web server. At this moment all services are available except email that you must activate by changing the MX settings on your DNS server. For those who have no existing mail, server activation can be done immediately, for us we should take into the existing account s. This is the most difficult part, fortunately Google provides a migration tool very useful for the recovery of mail from Outlook and Thunderbird clients. Knowing that we have no network administrator and I did not have much time to work on this i had to bring everyone to his own managing migration, of course I speak of the engineers whose computer is the job for the other i do it for them. This handling is really not easy for a non computer engineer. In our case the majority of users were using Thunderbird email client. <a href="http://en.wikipedia.org/wiki/Post_Office_Protocol" target="_blank">POP</a> or <a href="http://en.wikipedia.org/wiki/Imap" target="_blank">IMAP</a> in the handling is not the same and the most difficult partis to manage tree directory of your archived mail. In fact you should know that GMail does not use the concept of directory but label. What is ultimately much more relevant and allows efficient searches. Fortunately there is a trick that keeps the tree using the &#8216;/&#8217; character in a label is interpreted as a tree by the mail client (configured in IMAP), so the label &#8216;mydir/myunderdir&#8217; in GMail will be transformed into the corresponding tree.</p>
<p><strong>Migration </strong></p>
<p>Steps of migration that I present here are dedicated to those who have a <a href="http://www.mozillamessaging.com/en-US/thunderbird/" target="_blank">Thunderbird</a> client.</p>
<ul>
<li> If you use Thunderbird, and you have the directories:
<ul>
<li>for those use IMAP : click on the bulb at the bottom right, it will put you offline and recover all local directories. Be carrefful you should declared as <em>Synchronized for offline use</em> in <em>Account settings</em> in the  <em>Offline and Disk Space</em> and click on <em>Select folders for offline use</em> then select the folders you want to recover.</li>
<li>download the <a href="http://mail.google.com/mail/help/email_uploader.html" target="_blank">migration tool</a>, install and run it</li>
<li>select the folders to migrate, initially it is empty, a link on the right &#8220;add Thunderbird directory&#8221; allows you to select folders, navigate to your Thunderbird home directory:
<ul>
<li>For XP: C: / Documents and Settings / &lt;user&gt; / Application Data / Thunderbird / Profiles / &#8230;</li>
<li>For Vista: C: / Users / &lt;user&gt; / AppData / Roaming / Thunderbird / Profiles / &#8230;</li>
<li>POP in: &#8230; / mail</li>
<li>IMAP in: &#8230; / ImapMail</li>
</ul>
</li>
<li>select the files to the directory name that you want to recover (NB: not those of the same name with the <em>.msf</em> extension). Normally not need to get the subdirectories, these will be automatically detected, no need either to retrieve the trash and spam. Please note it may take time, the tool used to evaluate the loading time, you can perform this operation several times, the tool remembers the place where you left off.</li>
</ul>
</li>
<li>If you use Thunderbird or webmail and you have no folders, there&#8217;s nothing to do special for migration. If you using webmail and you have online directories it&#8217;s more complex, the only way I found is to install Thunderbird to retrieve all your data over IMAP and apply first step</li>
</ul>
<p><em>Note: Even if GMail offers retrieve mail from another account (see paragraph below), this system uses POP and therefore does not recover the tree.</em></p>
<p>Before switching to GMail, until everyone has made her migration, it is possible to <a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;ctx=mail&amp;answer=21288" target="_blank">redirect his mail to GMail</a>, go to <em>Settings</em> (top right), then go into <em>Accounts</em> and click on <em>Add a mail account</em><br />
WARNING for those IMAP: POP will retrieve all the messages you&#8217;ve already recovered in first step, you need to empty your inbox and destroy all the directories.</p>
<p>To reconfigure Thunderbird with GMail account here are some tips that will help you save time.</p>
<ul>
<li>GMail provides assistance to configure your account.</li>
<li>To manage the offline, go to &#8220;<em>Account Settings</em>&#8221; menu &#8220;<em>Offline and disk space</em>&#8221; and check the boxes and select the directory, so you can also access your mails on the train via Thunderbird</li>
<li>The plugin indispensable <a href="https://addons.mozilla.org/fr/thunderbird/addon/2487" target="_blank">Nostalgy</a>: keyboard shortcut to sort your mails</li>
<li>Other:</li>
<li><a href="https://addons.mozilla.org/fr/thunderbird/addon/2313" target="_blank">Lightning</a> calendar (<a href="https://addons.mozilla.org/fr/thunderbird/addon/4631" target="_blank">synced</a> with google calendar), this plugin is good but can quickly become problematic if you share too much time because the requests update to Google Calendar slow sometimes use Thunderbird</li>
<li><a href="https://addons.mozilla.org/fr/thunderbird/addon/7307" target="_blank">Google Contact</a> or <a href="https://addons.mozilla.org/fr/thunderbird/addon/6095" target="_blank">Zindus</a> : sync of contact</li>
</ul>
<p><strong>Setting up your mobile phone</strong></p>
<p>Go to <a href="http://mobile.google.fr/" target="_blank">http://mobile.google.fr/</a> from your mobile, it works with all smartphones that can go on the Web and it&#8217;s very useful</p>
<p><strong>Mailing lists</strong></p>
<p>For mailing lists, standard version&#8217;s GoogleApps features are very limited, the distribution list is simply a contact group. There is no rights management and even external users can send e-mails on this list. For this you must upgrade to premium version where you have groups management. You can also not store this list in a common area but there is a <a href="http://www.google.com/support/a/bin/answer.py?hl=en&amp;answer=33329" target="_blank">trick with google-groups</a>: for this you must create a group that simply archive your mailling list and will be accessible on the Web, simply by adding a special receiver to your distribution list.</p>
<p><strong>Limitations</strong></p>
<p>Note to manage spam, GMail limit the sending of mail per user per day. This it is not possible to use a GMail account to send notifications for an application.</p>
<p><strong>Options</strong></p>
<p>To take advantage of other features on GMail (transform mail document multiple inbox &#8230;) know that when you set your GMail in your language you  neither acces to the tab &#8220;Labs&#8221; containing all these options. You must switch to &#8220;English U.S.&#8221; to make this selection appear and then come back in your language.</p>
<p><strong>Conclusion</strong></p>
<p>Very positive! Although migration has been slow because the migration tool is not simple to use, the concept of directory disappears in the Gmail web interface and makes use of labels, some mails were lost. Few people are complaining and everyone saw the benefits of a collaboration tool that works. Some use the web interface, it is true, is very well thought out and offers the same benefits that a classic mail client (especially since the offline mode). In the end we do not regret this first step in the cloud that we save time and money.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2009/03/29/put-your-company-in-the-cloud/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Some tools for flexing&#8230;</title>
		<link>http://www.itaware.eu/2009/01/25/some-tools-for-flexing/</link>
		<comments>http://www.itaware.eu/2009/01/25/some-tools-for-flexing/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 20:56:52 +0000</pubDate>
		<dc:creator>Cyril Balit</dc:creator>
		
		<category><![CDATA[RIA-RDA-RWA]]></category>

		<category><![CDATA[cairngorm]]></category>

		<category><![CDATA[flex]]></category>

		<category><![CDATA[kapinspect]]></category>

		<category><![CDATA[puremvc]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=411</guid>
		<description><![CDATA[KapIT release in it lab area some tools  among which we find:

KapInspect

KapInspect is the flex equivalent of the famous Firebug console. Activated on a simple click it allows to inspect all the flex components of the page, to show and to modify their properties.


Cairngorm console et purMVC console


Those consoles allow to show at runtime [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kapit.fr/">KapIT</a> release in it <a href="http://lab.kapit.fr/display/kaplabhome/Home">lab</a> area some tools  among which we find:</p>
<ul>
<li><strong>KapInspect</strong></li>
</ul>
<p><a href="http://lab.kapit.fr/display/kapinspect/Kap%20Inspect">KapInspect</a> is the flex equivalent of the famous Firebug console. Activated on a simple click it allows to inspect all the flex components of the page, to show and to modify their properties.<br />
<img class="alignnone size-full wp-image-406" title="kapi" src="http://www.itaware.eu/wp-content/uploads/2009/01/kapi.gif" alt="kapi" width="695" height="433" /></p>
<ul>
<li><strong><a href="http://lab.kapit.fr/display/cairngormconsole/Cairngorm+Console">Cairngorm</a> console et <a href="http://lab.kapit.fr/display/puremvcconsole/PureMVC+Console">purMVC</a> console<br />
</strong></li>
</ul>
<p>Those consoles allow to show at runtime the various components of the framework. </p>
<p><img class="alignnone size-full wp-image-406" title="kapi" src="http://www.itaware.eu/wp-content/uploads/2009/01/mvc.gif" alt="mvc" width="695" height="433" /></p>
<p>The integration is quite simple. After setting the .swc component in the project classpath, you just have to add the good tag in your mxml file.</p>
<p>For  example :</p>
<p><code>
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:kapit="fr.kapit.*"&gt;
	...
	&lt;kapit:KapInspect/&gt;	
&lt;/mx:Application&gt;
</code></p>
<p>Then to open the console just make a  Ctrl+Alt+Click in the flash stage. Notice that you can use the various consoles simultaneously<br />
For pureMVC console you have to change your Facade class to extend DebugFacade. You&#8217;ll find explanation<a href="http://lab.kapit.fr/display/puremvcconsole/Integration+Guide">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2009/01/25/some-tools-for-flexing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaCamp II : DB and ESB</title>
		<link>http://www.itaware.eu/2008/12/20/javacamp-ii-db-and-esb/</link>
		<comments>http://www.itaware.eu/2008/12/20/javacamp-ii-db-and-esb/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 21:01:29 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Barcamp]]></category>

		<category><![CDATA[devoxx]]></category>

		<category><![CDATA[EAI]]></category>

		<category><![CDATA[ESB]]></category>

		<category><![CDATA[ETL]]></category>

		<category><![CDATA[MQ]]></category>

		<category><![CDATA[Mule]]></category>

		<category><![CDATA[Spring Integration]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=398</guid>
		<description><![CDATA[The second edition of Octo&#8217;s Barcamp Java was great. This event format is really interesting because it allows having the opinions of others, learn through their experience and meet interesting people.
Two of my proposals were adopted: RDF+OWL and database.
The subject RDF+OWL has not really been interested and has finished in the more generally REST subject. [...]]]></description>
			<content:encoded><![CDATA[<p>The second edition of <a href="http://www.octo.com/" target="_blank">Octo</a>&#8217;s <a href="http://barcamp.org/JavaCampParis2" target="_blank">Barcamp Java</a> was great. This event format is really interesting because it allows having the opinions of others, learn through their experience and meet interesting people.<br />
Two of my proposals were adopted: <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework" target="_blank">RDF</a>+<a href="http://en.wikipedia.org/wiki/Web_Ontology_Language" target="_blank">OWL</a> and database.<br />
The subject RDF+OWL has not really been interested and has finished in the more generally REST subject. In addition the <a href="http://en.wikipedia.org/wiki/Representational_state_transfer" target="_blank">REST</a> session took place during the session on the database so I have not participated. I re-suggest it next time, with another title these acronyms were not always known.<br />
What database for what need ? it was the question on which I wanted to talked about. 8 votes have allowed this matter to be debated in a room. But finally 4 responded to the call. The exchange has not been less interesting. This will be the subject of my next post.<br />
I then followed the subject on Spring Integration and Mule, which was also the opportunity to speak more generally of integration. I just give you a list of tools mentioned (I make comments on what I know):</p>
<ul>
<li><a href="http://www.springsource.org/spring-integration" target="_blank">Spring integration</a> : Version 1.0 have been released, this framework is the implementation of the design pattern book <a href="http://www.eaipatterns.com/" target="_blank">EAI Pattern</a>.</li>
<li><a href="http://www.jitterbit.com/" target="_blank">JitterBit</a> : an open source EAI with advanced management tool, the GUI is attractive but I have not had time yet to really test the product</li>
<li><a href="https://www.openadaptor.org/" target="_blank">OpenAdaptor</a> : First opensource EAI developed by a <a href="http://www.dresdnerkleinwort.com" target="_blank">german</a> team. I personally used to develop an EAI dedicated to health which actually interconnects the SAMU of the Champagne-Ardennes region (3 to 4 messages per minute it&#8217;s still reasonable). The product is stable and multi-source design, pipe, sink is well thought out. There is a lot of connectors but not always reusable, it is better to re-develop your own when you have specific features. I used the original version 1.7.2, there was no version 2 but a complete refactoring that is now version 3. An article by the author was published recently in <a href="http://java.sys-con.com/node/535350" target="_blank">JDJ</a>.</li>
<li><a href="http://mule.mulesource.org/display/MULE/Home" target="_blank">Mule</a> : a lightweight ESB now well known, I have not had the opportunity to implement it, but before the arrival of Spring Integration it was one that interested me most. <a href="http://www.touilleur-express.fr" target="_blank">Nicolas</a> has implemented it and has even made a quickie at DEVOXX08.</li>
<li><a href="https://open-esb.dev.java.net/" target="_blank">OpenESB</a> : implementation of the Sun <a href="http://jcp.org/en/jsr/detail?id=208" target="_blank">JBI</a> specification (JSR-208) dedicated to integration</li>
<li><a href="http://www.jboss.org/jbossesb/" target="_blank">JBoss ESB</a> : ESB by JBoss</li>
<li><a href="http://synapse.apache.org/" target="_blank">Apache Synapse</a> : lightweight ESB of Apache Foundation</li>
<li><a href="http://servicemix.apache.org/home.html" target="_blank">Apache serviceMix</a> : ESB, JBI implementation</li>
<li><a href="http://activemq.apache.org/camel/" target="_blank">Apache CAMEL</a> : implementation of EAI pattern (idem Spring integration)</li>
<li><a href="http://cxf.apache.org/" target="_blank">Apache CXF</a> : implementation of JAX-WS.</li>
<li><a href="http://ws.apache.org/axis2/" target="_blank">Axis2</a> : same but with asynchronous mode and REST. I started working on web services with version 1 of this framework and realize practical training works with it. The architecture allows flexible configuration based on a chain between the request and response. It is simple to use to make an <a href="http://fr.wikipedia.org/wiki/Extract_Transform_Load" target="_blank">ETL</a>. Version 2 provides asynchronous, more performance and <a href="http://wso2.org/library/291" target="_blank">AXIOM</a> to manage attachments (easier to use than <a href="http://www.w3.org/TR/SOAP-attachments" target="_blank">SwA</a>)</li>
<li><a href="http://jira.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol" target="_blank">APMQ</a> : the new specification to standarize messaging tools (initiated by JBoss), it is only the beginning but we have to follow</li>
<li><a href="http://activemq.apache.org/" target="_blank">ActiveMQ</a> : the open source open source MQ, <a href="http://julien.dubois.free.fr/" target="_blank">Julien Dubois</a> has some experience on the subject and tells us that we must be wary of some bugged versions (5.0 for example). The tool is not mature and often encounter problems because developers believe they can integrate easily in their application. Apparently this is not as simple as a single jar to add.</li>
<li><a href="https://mq.dev.java.net/" target="_blank">OpenMQ</a> : the Sun open source MQ, I could follow the session at the DEVOXX08, it was very broad but Sun show that the project is well supported and adopted by their clients. If I switch to open source (currently i use WebSphere MQ) i think i choose this one.</li>
<li><a href="http://www-01.ibm.com/software/integration/wmq/" target="_blank">WebSphere MQ</a> : the historical MQ from IBM that I use now. Robust, mature but hard to configure. Even if IBM provide RCP application for configuration it remains complex. I added the <a href="http://www-01.ibm.com/software/integration/wmqe/" target="_blank">MQ Everyplace</a> module to deploy on mobile handsets, configuration is even more complex. Once it is ready it works well.</li>
</ul>
<p>Thanks to <a href="http://blog.octo.com/index.php/2008/12/18/210-retours-sur-le-javacampparis-ii" target="_blank">Luc Bizeul</a> who organize this event and also for the cocktail at the end. I&#8217;m waiting for the next <img src='http://www.itaware.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/12/20/javacamp-ii-db-and-esb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SINGLETON in as3</title>
		<link>http://www.itaware.eu/2008/11/08/singleton-in-as3/</link>
		<comments>http://www.itaware.eu/2008/11/08/singleton-in-as3/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 12:35:45 +0000</pubDate>
		<dc:creator>Cyril Balit</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[RIA-RDA-RWA]]></category>

		<category><![CDATA[action script]]></category>

		<category><![CDATA[as3]]></category>

		<category><![CDATA[pattern]]></category>

		<category><![CDATA[singleton]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=364</guid>
		<description><![CDATA[To implement the pattern singleton in action script we quickly collide with a limitation of the language: we cannot return a private constructor and it is the base of the pattern.
By looking on internet we find several more or less evolved solutions which allow to protect the usage of the constructor.Often an exception is raised [...]]]></description>
			<content:encoded><![CDATA[<p>To implement the pattern <a href="http://en.wikipedia.org/wiki/Singleton_pattern">singleton</a> in action script we quickly collide with a limitation of the language: <strong>we cannot return a private constructor</strong> and it is the base of the pattern.<br />
By looking on internet we find several more or less evolved solutions which allow to protect the usage of the constructor.Often an exception is raised if it is not called by the static <em>getInstance </em>method.<br />
The inconvenience of this approach is that the error is raise only during runtime and not in the compilation. In the book <a href="http://www.amazon.fr/ActionScript-Design-Patterns-William-Sanders/dp/0596528469">&#8220;ActionScript 3.0 Design Patterns&#8221;</a> the author proposes another approach.<br />
<span id="more-364"></span><br />
The principle is to use a private class described in our Singleton class but in the outside of the package:</p>
<p><code>
package
{
public class Singleton
{
private static var _instance:Singleton;
public function Singleton(pvt:PrivateClass){
}
public static function getInstance():Singleton
{
if(Singleton._instance==null){
Singleton._instance=new Singleton(new PrivateClass()};
}
return Singleton._instance;
}
}
}
//END OF PACKAGE
//Private class
class PrivateClass
{
public function PrivateClass(){}
}
</code><br />
The advantage is that the private class used in the constructor is visible only in the Singleton class because it is defines outside the package.<br />
Indeed the code following in another class raise an error after compilation.<br />
<code>
Singleton s=new Singleton(new PrivateClass())};
</code><br />
Here is an elegant way to implement this pattern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/11/08/singleton-in-as3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RIA : inside or outside the browser ?</title>
		<link>http://www.itaware.eu/2008/11/05/ria-inside-or-outside-the-browser/</link>
		<comments>http://www.itaware.eu/2008/11/05/ria-inside-or-outside-the-browser/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:12:21 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[.NET,WPF,WCF,Silverlight]]></category>

		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[RIA-RDA-RWA]]></category>

		<category><![CDATA[SOA]]></category>

		<category><![CDATA[gwt]]></category>

		<category><![CDATA[rda]]></category>

		<category><![CDATA[REST]]></category>

		<category><![CDATA[rwa]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=351</guid>
		<description><![CDATA[The <a href="http://www.parisjug.org/"  target="_blank">Paris JUG</a> this time was devoted to <a href="http://code.google.com/webtoolkit/" target="_blank">GWT</a> and implementation of <a href="http://www.restlet.org/" target="_blank">Restlet</a> for GWT. Two presentations greatly performed by <a href="http://blog.dgirard.eu" target="_blank">Didier Girard</a> and Jerome Louvel. I was impressed by the number of participants, thinking that GWT was already in the soul. Bravo to Didier continue to promote this technology and Jerome to put the concept of REST.
Still, I am astonished at the vision that people have of the RIA. For many I have the impression that RIA means rich web application. <a href="http://www.itaware.eu/2008/11/05/ria-inside-or-outside-the-browser/" target="_blank">[...]</a>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.parisjug.org/"  target="_blank">Paris JUG</a> this time was devoted to <a href="http://code.google.com/webtoolkit/" target="_blank">GWT</a> and implementation of <a href="http://www.restlet.org/" target="_blank">Restlet</a> for GWT. Two presentations greatly performed by <a href="http://blog.dgirard.eu" target="_blank">Didier Girard</a> and Jerome Louvel. I was impressed by the number of participants, thinking that GWT was already in the soul. Bravo to Didier continue to promote this technology and Jerome to put the concept of REST.<br />
Still, I am astonished at the vision that people have of the RIA. For many I have the impression that RIA means rich web application. But the notion of &#8220;rich&#8221; is simply a reconsideration of the user experience and this does not necessarily by the browser. GWT, Ajax, AppletFX, Flex or Silverlight do not have the monopoly of RIA simply because they run in a browser.<br />
Javascript enabled to overcome the limitations of HTML in the browser and gave a new dimension to Web applications. The browser now becomes a runtime JavaScript and uses HTML as graphics library. Like Java with Swing, C# with WPF or Silverlight, AS3 with Flash and Flex.<br />
iTunes is probably one of the first RIA and this is not a web application. As I said already we must differentiate <a href="http://www.itaware.eu/2007/03/28/ria-desktop-or-web" target="_blank">Rich Web Application and Rich Desktop Application</a>. A RWA runs in the browser, a RDA runs in an OS.<br />
There are advantages and disadvantages in both approaches but the distribution and maintenance which have long been the strengths of Web applications are no longer true today.<br />
As you do more surprised to have your Windows automatically updated it is now also possible for an RDA to be maintained and transmitted via the Web. Java Web Start is a good example and Adobe AIR knows how to do too. But i herer what you say : to run Java or Air, you have to respectively install the JVM and runtime AIR. Yes it&#8217;s true like you do it recently when you installed Chrome or previously installed Firefox. The difference is that Windows come with its own browser and when you buy a PC with Windows you have it. At one time you install a runtime and except if you are terribly lazy person you aren&#8217;t obliged to be use Windows/IE only.<br />
Where we must be vigilant with a RDA is to not go back to the old client/server model. The RDA must remain a UI layer and not shipping business that must always be server side.&lt;br /&gt; Apple had already experimented this with <a href="http://www.webobjects.com" target="_blank">WebObjects</a> Java Client and continues today to offer similar APIs for Cocoa and now IPhone SDK.<br />
To the slogan &#8220;the browser is the platform&#8221; I answer &#8220;the browser is a platform&#8221;. Future architectures should not be dependent on UI layer because it must be developed in the best technology to meet the objectives of application and customer needs by focusing on ergonomics and performance.<br />
Our application <a href="http://www.resurgences.com" target="_blank">ResUrgences</a> is in web for 8 years now in a sector (health) where applications are often client/server. Now the extension from the emergency department to the mobile emergency department (say SMUR in France) forces us to reconsider the web architecture because using a web application on a Tablet PC offline, although not impossible, is not appropriate. Especially when you have to interconnect with monitoring and electro-cardiogram equipment.<br />
So what choice between RWA and RDA ? The first step is to think RIA, so to have a SOA server side architecture and services accessible through various formats via various protocols. At this point different criteria have to be focus on: ergonomics, performance, accessibility, environment (OS and hardware), openness, security, compatibility with existing &#8230; So there is no obvious answer. I&#8217;m looking for a long time on a table that defines what technology for what needs and now I think it&#8217;s impossible.<br />
What should be considered is :</p>
<ul>
<li> access to local resources (files, applications, USB, serial, Bluetooth) is an argument to look to the RDA. Although this can be remedied with an applet and increasingly with <a href="http://gears.google.com/" target="_blank">Gears</a> (but it&#8217;s a <a href="http://www.itaware.eu/2007/07/15/interaction-between-web-and-desktop-application/" target="_blank">RWA/RDA mix</a>, why not is what I do) and that the Flash plugin already allows access to the camera.</li>
<li> the concept of &#8220;push&#8221; to send data to a client from the server is now possible with RWA (<a href="http://en.wikipedia.org/wiki/Comet_(programming)" target="_blank">Comet</a>, reverse Ajax) and soon <a href="http://www.itaware.eu/2008/11/03/push-push-push-on-the-browser/" target="_blank">standarize</a> in <a href="http://www.w3.org/html/wg/html5/" target="_blank">HTML 5</a> (<a href="http://www.w3.org/html/wg/html5/#the-web-socket-protocol" target="_blank">WebSocket</a>).</li>
<li> exchanges via asynchronous <a href="http://en.wikipedia.org/wiki/Message_Oriented_Middleware" target="_blank">MOM</a> with queues client side cannot yet be in RWA. Gears should propose an API and LifeCycle Data Service does not really do it because the queue is server side.</li>
<li> uniformity of application with a single platform deployment independent of the OS is probably the most powerful argument for the SI to choose a RWA</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/11/05/ria-inside-or-outside-the-browser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Push, push, push on the browser</title>
		<link>http://www.itaware.eu/2008/11/03/push-push-push-on-the-browser/</link>
		<comments>http://www.itaware.eu/2008/11/03/push-push-push-on-the-browser/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 21:40:08 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[comet]]></category>

		<category><![CDATA[html 5]]></category>

		<category><![CDATA[kaazing]]></category>

		<category><![CDATA[push]]></category>

		<category><![CDATA[websocket]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=344</guid>
		<description><![CDATA[It's a fact the request-response HTTP loop is not fashion. The RIA wave oblige, we need more browser interaction and push backed data like we have on desktop applications (chat (XMPP), online gaming, financial app). <a href="http://www.w3.org/html/wg/html5/" target="_blank">HTML 5</a> is looking after that with <a href="http://www.w3.org/html/wg/html5/#the-web-socket-protocol" target="_blank">WebSocket</a> but you need web server which implement it. <a href="http://www.kaazing.org/confluence/display/KAAZING/Home" target="_blank">Kaazing</a> company just release its <a href="http://www.theserverside.com/news/thread.tss?thread_id=51651" target="_blank">web server</a> which implement this specification after the Michael Carter's <a href="http://www.orbited.org/" target="_blank">Orbited</a>.
<a href="http://en.wikipedia.org/wiki/Comet_(programming)" target="_blank">Comet</a> concept already allow us implement push in the browser with <a href="http://cometdproject.dojotoolkit.org/" target="_blank">CometD</a>, or more easily with <a href="http://www.pushlets.com/" target="_blank">Pushlet</a>. Be carefull not all web server support this.
The recent <a href="http://www.svwebbuilder.com/page/10%2F29%2F2008+The+Chronicles+of+Web+Standard%3A+the+HTML+5%2C+the+Comet+and+the+WebSocket?t=anon" target="_blank">conference</a> on this subject met personnalities but unfortunately i miss and there is no available webcast yet. But there is the Jonas Jacobi's <a href="http://java.sys-con.com/node/657514" target="_blank">webcast</a> (Kaazing co-fondator).]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a fact the request-response HTTP loop is not fashion. The RIA wave oblige, we need more browser interaction and push backed data like we have on desktop applications (chat (XMPP), online gaming, financial app). <a href="http://www.w3.org/html/wg/html5/" target="_blank">HTML 5</a> is looking after that with <a href="http://www.w3.org/html/wg/html5/#the-web-socket-protocol" target="_blank">WebSocket</a> but you need web server which implement it. <a href="http://www.kaazing.org/confluence/display/KAAZING/Home" target="_blank">Kaazing</a> company just release its <a href="http://www.theserverside.com/news/thread.tss?thread_id=51651" target="_blank">web server</a> which implement this specification after the Michael Carter&#8217;s <a href="http://www.orbited.org/" target="_blank">Orbited</a>.<br />
<a href="http://en.wikipedia.org/wiki/Comet_(programming)" target="_blank">Comet</a> concept already allow us implement push in the browser with <a href="http://cometdproject.dojotoolkit.org/" target="_blank">CometD</a>, or more easily with <a href="http://www.pushlets.com/" target="_blank">Pushlet</a>. Be carefull not all web server support this.<br />
The recent <a href="http://www.svwebbuilder.com/page/10%2F29%2F2008+The+Chronicles+of+Web+Standard%3A+the+HTML+5%2C+the+Comet+and+the+WebSocket?t=anon" target="_blank">conference</a> on this subject met personnalities but unfortunately i miss and there is no available webcast yet. But there is the Jonas Jacobi&#8217;s <a href="http://java.sys-con.com/node/657514" target="_blank">webcast</a> (Kaazing co-fondator).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/11/03/push-push-push-on-the-browser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Server-side OSGi, is it really useful ?</title>
		<link>http://www.itaware.eu/2008/10/19/server-side-osgi-is-it-really-useful/</link>
		<comments>http://www.itaware.eu/2008/10/19/server-side-osgi-is-it-really-useful/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 10:19:08 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[SOA]]></category>

		<category><![CDATA[jsr 277]]></category>

		<category><![CDATA[modular approach]]></category>

		<category><![CDATA[osgi]]></category>

		<category><![CDATA[solstice]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=327</guid>
		<description><![CDATA[<img class="alignleft size-full wp-image-323" title="puzzle" src="http://www.itaware.eu/wp-content/uploads/2008/10/puzzle.jpg" alt="" width="150" height="112" /> The recent <a href="http://www.parisjug.org/xwiki/bin/view/Main/WebHome" target="_blank">Paris JUG</a> was an opportunity to talk about <a href="http://www.osgi.org/" target="_blank">OSGi</a> technology, already mentioned <a href="http://www.itaware.eu/2008/01/26/news-on-osgi/" target="_blank">several</a> <a href="http://www.itaware.eu/2007/02/20/osgi-demo/" target="_blank">times</a> in this blog, and continues to hear about it. Although OSGi is present on the client side with Eclipse, the development of the server side and especially in Java EE environment sometimes leaves developers not convinced. Spring Source (<a href="http://www.springsource.com/products/suite/dmserver" target="_blank">Spring DM server</a>), ObjectWeb (<a href="http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome" target="_blank">JOnAS</a>), Sun (<a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a>) and IBM (<a href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was_v6/was/6.1/Architecture/WASv61_Componentization/player.html" target="_blank">WebSphere 6.1</a>) have clearly made the choice. What are the real benefits for our applications on server side? <a href="http://www.itaware.eu/2008/10/19/server-side-osgi-is-it-really-useful/">[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-323" title="puzzle" src="http://www.itaware.eu/wp-content/uploads/2008/10/puzzle.jpg" alt="" width="150" height="112" /> The recent <a href="http://www.parisjug.org/xwiki/bin/view/Main/WebHome" target="_blank">Paris JUG</a> was an opportunity to talk about <a href="http://www.osgi.org/" target="_blank">OSGi</a> technology, already mentioned <a href="http://www.itaware.eu/2008/01/26/news-on-osgi/" target="_blank">several</a> <a href="http://www.itaware.eu/2007/02/20/osgi-demo/" target="_blank">times</a> in this blog, and continues to hear about it. Although OSGi is present on the client side with Eclipse, the development of the server side and especially in Java EE environment sometimes leaves developers not convinced. Spring Source (<a href="http://www.springsource.com/products/suite/dmserver" target="_blank">Spring DM server</a>), ObjectWeb (<a href="http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome" target="_blank">JOnAS</a>), Sun (<a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a>) and IBM (<a href="http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was_v6/was/6.1/Architecture/WASv61_Componentization/player.html" target="_blank">WebSphere 6.1</a>) have clearly made the choice. What are the real benefits for our applications on server side?<br />
First don&#8217;t forget OSGi is a specification designed for the embedded domain. This make an implementation without the new Java 5 features : annotations, generics, etc &#8230; and that makes us appear OSGi like an old technology. But OSGi stay attractive because what is important above all is the concept: modularization. Concept that on each ear of OOP developer can not be ignored. By development on development we have tried to improve the way we write code, trying to organize it to not create inter-dependencies and go over possible reusability. The arrival of the <a title="Dependency Injection" href="http://en.wikipedia.org/wiki/Dependency_injection" target="_blank">DI</a> pattern help us to do that and the success of Spring is a good example. OSGi creates a continuity in offering us an infrastructure that obliges us to respect the rules and allows us to dynamically manipulate our components. The dynamic aspect and hot deployment is the icing on the cake but this is not what makes OSGi essential on server side, the current deployment technics with clustered servers, or even with the simple <a href="http://developer.apple.com/fr/webobjects/" target="_blank">WebObjects</a> <a href="http://developer.apple.com/documentation/WebObjects/Deployment/Deploying_Applications/Introduction/chapter_1_section_1.html#//apple_ref/doc/uid/TP30000059-TPXREF101" target="_blank">Monitor</a> tool, help us to update applications gracefully. What is interesting it&#8217;s how the code is organized and the hierarchy throw the management of dependency imposed by OSGi, in application servers and applications themselves.<br />
So in fact this specification is not suited to Java EE and remains technically difficult to understand, but the concept of modularization is a good approach to improve the quality of our developments. That is why Spring focused on because it fits with their framework.<br />
Moreover <a href="http://openjdk.java.net/projects/modules/osgi-support-draft.html" target="_blank">reconciliation</a> between JCP and OSGi promises well, I hope in the right direction, to make the best of 2 worlds, i.e. all existing OSGi in one hand and the server aspect and Java 5 new features for Sun on the other.<br />
However, we must not forget the dynamic aspect because although users are not insist to see a new button dynamically appear at each time thez need a new functionnality, the fact is with OSGi it is technically possible. But is it really an improvement, actually with a web application it is also possible in PHP, in Java (must reload session). For RIA this becomes more complicated because part of the functional is deported on the client side and update requires complete reloading. This is typically what <a href="Chris Brind" target="_blank">Chris Brind</a> has managed to improve by combining Flex and OSGi with <a href="Solstice" target="_blank">Solstice</a>. This framework show the potential of modular approach in this domain.<br />
Again what is important is the concept, the modular approach will bring us more quality in our development and greater flexibility in deployment. Let the community choose the best technology to do it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/10/19/server-side-osgi-is-it-really-useful/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bravo Benjamin !</title>
		<link>http://www.itaware.eu/2008/10/17/bravo-benjamin-2/</link>
		<comments>http://www.itaware.eu/2008/10/17/bravo-benjamin-2/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 21:44:47 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[quality]]></category>

		<category><![CDATA[victory]]></category>

		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=315</guid>
		<description><![CDATA[Un bref billet pour saluer la <a href="http://www.journaldunet.com/ebusiness/le-net/actualite/qui-sont-les-jeunes-dirigeants-it-les-plus-prometteurs-en-2008/et-le-vainqueur-est.shtml">victoire</a> de <a href="http://blog.exoplatform.org/">Benjamin MESTRALLET</a> au "Prix du jeune dirigeant de la technologie". <a href="http://www.exoplatform.com/">Exo Platform</a> est une société qui a de l'avenir et menée par des personnes de talents ;). Longue vie à vous et à bientôt sur le chemin de la réussite.]]></description>
			<content:encoded><![CDATA[<p>A short post to report the <a href="http://www.journaldunet.com/ebusiness/le-net/actualite/qui-sont-les-jeunes-dirigeants-it-les-plus-prometteurs-en-2008/et-le-vainqueur-est.shtml">victory</a> of <a href="http://blog.exoplatform.org/">Benjamin MESTRALLET</a> at the &#8220;Young dirgeant technology price&#8221;. <a href="http://www.exoplatform.com/">Exo Platform</a> is a great and quite promising company managed by quality persons ;). Long life to you &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/10/17/bravo-benjamin-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Terracota presentation</title>
		<link>http://www.itaware.eu/2008/10/05/terracota-presentation/</link>
		<comments>http://www.itaware.eu/2008/10/05/terracota-presentation/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 13:23:18 +0000</pubDate>
		<dc:creator>Sébastien Letélié</dc:creator>
		
		<category><![CDATA[Anglais]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[cluster]]></category>

		<category><![CDATA[JVM]]></category>

		<category><![CDATA[NAM]]></category>

		<category><![CDATA[NAS]]></category>

		<category><![CDATA[serialization]]></category>

		<category><![CDATA[WebObjects]]></category>

		<guid isPermaLink="false">http://www.itaware.eu/?p=297</guid>
		<description><![CDATA[It was a pleasure to show <a href="http://www.terracotta.org" target="_blank">Terracota</a> presentation by its creator <a href="http://blog .terracottatech.com" target="_blank">Ari Zilka</a>, organized by the very innovative company <a href="http://www.zenika.com" target="_blank">Zenika</a>.
Terracota is a JVM cluster, it allows to synchronize JVM, based on the principle of <a href="http://fr.wikipedia.org/wiki/Network_attached_storage" target="_blank">NAS</a> but for memory: NAM for Network Attached Memory.<a href="http://www.itaware.eu/2008/10/05/terracota-presentation/#more-297" target="_blank">[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://www.terracotta.org/web/download/thumbnails/14155789/fig_201_1_v7.png" alt="" width="200" height="168" /> It was a pleasure to show <a href="http://www.terracotta.org" target="_blank">Terracota</a> presentation by its creator <a href="http://blog .terracottatech.com" target="_blank">Ari Zilka</a>, organized by the very innovative company <a href="http://www.zenika.com" target="_blank">Zenika</a>.<br />
Terracota is a JVM cluster, it allows to synchronize JVM, based on the principle of <a href="http://fr.wikipedia.org/wiki/Network_attached_storage" target="_blank">NAS</a> but for memory: NAM for Network Attached Memory. <span id="more-297"></span>Forget serialization session, finished storage state of objects in database, Terracotta allows you to focused on the essentials and reduce dependency with the database. The example showed how to better manage the principle of registering on a web site with email confirmation. The classic method is to store basic identification data with a status and change that status when the email is received. With Terracotta this data remains in memory and is shared by all JVMs, it is stored on database only upon receipt of the email. In addition Terracotta stored on disk the memory status, used to manage a server crash.<br />
For my part, although I am interested in this tool since its creation and i&#8217;ve <a href="http://www.itaware.eu/2006/12/04/terracotta-en-open-source/" target="_blank">mentioned</a> on this blog when it become open source, I have not implemented yet. Even working on <a href="http://www.apple.com/webobjects/" target="_blank">WebObjects</a> the advantage is obvious, in fact Apple had thought it <a href="http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_5/DeployingWebObjects/Introduction/index.html" target="_blank ">deployment solution</a> for this framework with one JVM launched for each WebObjects application instance. The whole managed by a simple and handy tool: <a href="http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_5/DeployingWebObjects/Administration/index.html" target="_blank">Monitor</a>. The Apple Store is still deployed with this solution. This approach is due to <a href="http://en.wikipedia.org/wiki/Enterprise_Objects_Framework" target="_blank">EOF</a> (ORM from NeXT) that has only one flaw: it is not multithread. So for individual instance of application know the status of each other on enterprise objects they use in common, each database access (change, create, delete) is stored in a table that is read by other applications to synchronize their objects. With Terracotta you simply implement the DSO (Distributed Shared Objects) concept on the graph object to share and that&#8217;s it. To go even further and be more generic i should implement this on the EOF cache layer like it was done with <a href="http://ehcache.sourceforge.net/">EHCache</a> and <a href="http://www.hibernate.org/">Hibernate</a>. I have to take a serious look on it, this will be a next news with a good example of implementation of Terracotta.</p>
<p>Note that this is the first of a (hopefully) long series of Zenika event, so thanks again and see you next time &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itaware.eu/2008/10/05/terracota-presentation/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
