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

<channel>
	<title>Cuadernodeapuntes.es &#187; Frameworks</title>
	<atom:link href="http://www.cuadernodeapuntes.es/category/frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cuadernodeapuntes.es</link>
	<description>Apuntes de informática</description>
	<lastBuildDate>Sat, 04 Sep 2010 12:09:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Roma Framework</title>
		<link>http://www.cuadernodeapuntes.es/2010/02/roma-framework/</link>
		<comments>http://www.cuadernodeapuntes.es/2010/02/roma-framework/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 14:25:09 +0000</pubDate>
		<dc:creator>Jrt_1990</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Roma]]></category>

		<guid isPermaLink="false">http://www.cuadernodeapuntes.es/?p=328</guid>
		<description><![CDATA[
			
				
			
		
El jueves estuve en la workshop sobre Roma que hubo en la ETSIT, y me pareció muy interesante, de modo que voy a hacer un par de entradas sobre el Framework.
En esta primera voy  a explicar de que va y cómo se instala, y en la siguiente haré un "twitter" con el framework, y demostraré ]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.cuadernodeapuntes.es%2F2010%2F02%2Froma-framework%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.cuadernodeapuntes.es%2F2010%2F02%2Froma-framework%2F&amp;source=capuntes&amp;style=normal&amp;service=TinyURL.com" height="61" width="50" /><br />
			</a>
		</div>
<p>El jueves estuve en la <a href="http://www.cuadernodeapuntes.es/2010/02/workshop-sobre-el-framework-roma/">workshop</a> sobre <a href="http://www.romaframework.org/">Roma</a> que hubo en la ETSIT, y me pareció muy interesante, de modo que voy a hacer un par de entradas sobre el <a href="http://www.romaframework.org/">Framework</a>.</p>
<p>En esta primera voy  a explicar de que va y cómo se instala, y en la siguiente haré un "twitter" con el framework, y demostraré lo sencillo que es crear aplicaciones web con <a href="http://www.romaframework.org/">Roma</a>.</p>
<p>Si eres programador, te habrás dado cuenta de que hacer un proyecto desde cero es una tarea muy dura, y que a menudo hay que repetir mucho código, escribir consultas a bases de datos y "picar" mucho código que al final lo que hace es descentrar al programador y entretenerle con minucias.</p>
<p>Los frameworks estan desarrollados para facilitar el trabajo del programador haciendo todas esas tareas que se repiten siempre automáticamente.</p>
<p>Tengo que decir que mi primer contacto con un framework fué Ruby on Rails, y como no tenía ni idea de Ruby, me pareció un horror, ya que te desarrollaba todo automáticamente, pero no había manera de "personalizarlo".<br />
Ahora es distinto, Roma es un framework de Java, es decir, que las aplicaciones que desarrollas estarán en Java, y como de Java algo entiendo, espero que todo sea más fácil.<span id="more-328"></span></p>
<p>Para usar Roma necesitamos dos cosas, la primera es <a href="http://www.eclipse.org/downloads/">Eclipse</a> (yo me lo he instalado por aptitude), y la segunda es el <a href="http://www.romaframework.org/download.htm">framework</a>.</p>
<p>Este tutorial lo estoy haciendo para Linux, pero si quieres instalar Roma en Windows o en Mac y tienes problemas, pídeme ayuda en un comentario.</p>
<p>Una vez tengamos instalado Eclipse y bajado el framework vamos a descomprimir Roma, a ser posible en una carpeta que no se vaya a mover.</p>
<p>Ahora, antes de nada, tenemos que abrir una consola y modificar el path, para crear la variable ROMA_HOME y que apunte hacia la carpeta donde tenemos roma.</p>
<p>Asi que abrimos una terminal, tecleamos lo siguiente (cambiando /home/javier.../ por la ruta hacia donde has descomprimido Roma).</p>
<div class="igBar"><span id="lcode-6"><a href="#" onclick="javascript:showPlainTxt('code-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-6">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">export ROMA_HOME=/home/javier/Programación/ROMA </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Como hacer esto cada vez que abrimos una consola es un coñazo, podemos añadir al fichero .bashrc (se encuentra en la carpeta personal) las siguientes lineas al final:</p>
<div class="igBar"><span id="lcode-7"><a href="#" onclick="javascript:showPlainTxt('code-7'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-7">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"># ROMA</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">export ROMA_HOME=/home/javier/Programación/ROMA </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Y cerramos sesión y volvemos a iniciarla.</p>
<p>Una vez hecho esto con la consola dentro de la carpeta donde tengamos Roma, le damos permisos de ejecución al fichero roma.sh</p>
<div class="igBar"><span id="lcode-8"><a href="#" onclick="javascript:showPlainTxt('code-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-8">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">chmod <span style="color:#800000;color:#800000;">744</span> ./roma.<span style="">sh</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Y si todo esta bien, hacemos:</p>
<div class="igBar"><span id="lcode-9"><a href="#" onclick="javascript:showPlainTxt('code-9'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-9">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">./roma.<span style="">sh</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Y tendría que salir algo como:</p>
<div class="igBar"><span id="lcode-10"><a href="#" onclick="javascript:showPlainTxt('code-10'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-10">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ROMA Framework CONSOLE v.<span style="color:#800000;color:#800000;">2</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">2</span> <span style="color:#006600; font-weight:bold;">&#91;</span>http:<span style="color:#FF9933; font-style:italic;">//www.romaframework.org]</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Copyrights <span style="color:#006600; font-weight:bold;">&#40;</span>c<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#800000;color:#800000;">2006</span>-<span style="color:#800000;color:#800000;">2009</span> Luca Garulli. <span style="">Apache</span> <span style="color:#800000;color:#800000;">2</span>.<span style="color:#800000;color:#800000;">0</span> license. <span style="">Free</span> to use!</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Please specify the wizard to use between the following wizards discovered in the classpath:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- get <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;variable-name&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- module add &amp;lt;module-name&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>-p&amp;lt;project-name&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- module check <span style="color:#006600; font-weight:bold;">&#91;</span>new<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- module info &amp;lt;module-name&amp;gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- module install &amp;lt;module-name&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;module-version&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- module uninstall &amp;lt;module-name&amp;gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- module upgrade <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;module-name&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;module-version&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project create &amp;lt;project-type&amp;gt; &amp;lt;project-name&amp;gt; &amp;lt;src-root-package&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;project-path&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project crud &amp;lt;domain-class&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;output-class&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&#91;</span>-p&amp;lt;project-name&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project info <span style="color:#006600; font-weight:bold;">&#91;</span>-p&amp;lt;project-name&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project list</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project remove <span style="color:#006600; font-weight:bold;">&#91;</span>-p&amp;lt;project-name&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project switch &amp;lt;project-name&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;project-path&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- project update <span style="color:#006600; font-weight:bold;">&#91;</span>-p&amp;lt;project-name&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;module-name&amp;gt; <span style="color:#006600; font-weight:bold;">&#91;</span>&amp;lt;module-version&amp;gt;<span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">- set &amp;lt;variable-name&amp;gt; <span style="color:#CC0000;">'&amp;lt;variable-value&amp;gt;'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Example: roma project create webready blog org.<span style="">test</span>.<span style="">blog</span> C:/temp</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">No current project setted. <span style="">Use</span> the <span style="color:#CC0000;">'switch'</span> command to set it. </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Esto es todo de momento, ya tenemos ROMA y Eclipse instalados, en una próxima entrega crearemos un twitter sencillo en muy poco tiempo, si quieres cacharrear un poco mas con ROMA, puedes acceder a la <a href="http://www.romaframework.org/documentation.htm">documentación</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cuadernodeapuntes.es/2010/02/roma-framework/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
