<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ale+holman</id>
		<title>Dos Ideas. - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ale+holman"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Especial:Contribuciones/Ale_holman"/>
		<updated>2026-04-17T00:44:29Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:Roo_css_estandar.gif&amp;diff=5396</id>
		<title>Archivo:Roo css estandar.gif</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:Roo_css_estandar.gif&amp;diff=5396"/>
				<updated>2010-07-22T20:45:07Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5395</id>
		<title>Capa de Presentación de Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5395"/>
				<updated>2010-07-22T20:44:46Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] genera la interfaz gráfica de usuario que puede personalizarse, teniendo en cuenta los siguientes componentes:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; align=&amp;quot;top&amp;quot;&lt;br /&gt;
! width=&amp;quot;200 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot; |Directorio&lt;br /&gt;
! width=&amp;quot;500 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot;|Propósito&lt;br /&gt;
|-&lt;br /&gt;
|/styles||para las hojas de estilo del proyecto (*.css), puede haber más de una&lt;br /&gt;
|-&lt;br /&gt;
|/images||para las imágenes del proyecto&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/classes/*.properties||para la configuración de las páginas de estilo&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/Spring/*.xml||para la configuración de los controladores&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/i18n/*.properties||para la internacionalizacion de los mensajes&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/layauts/layouts.xml||para la configuración de las páginas maestras de la aplicación (home, menu, default)&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/tags/*.tagx||para los tags de declaración de paginado, lenguajes y estilos&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/views/**/*||para las vistas&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/web.xml||para configurar el contexto web de la aplicacion&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/urlrewrite.xml||para configurar la re-escritura de urls de la aplicación&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con la generación de una aplicación web con [[Spring Roo]] y algunos de los siguientes cambios podemos lograr una personalización de su apariencia, sin necesidad de modificar cada una de las pantallas.&lt;br /&gt;
&lt;br /&gt;
Tomando el [[Ejemplo de proyecto web ABM con Spring Roo]] el look &amp;amp; feel original es:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:roo_css_estandar.gif | 700px]]&lt;br /&gt;
&lt;br /&gt;
Luego si hacemos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
* el archivo '''/images/banner-graphic.png''' =&amp;gt; el banner de la aplicación tendrá el aspecto que nosotros le demos&lt;br /&gt;
* el archivo '''/styles/alt.css''' =&amp;gt; cambiamos el estilo alternativo de la aplicación. La aplicación generada tiene dos estilos, uno estandar y otro alternativo.&lt;br /&gt;
* en el archivo '''/WEB-INF/layouts/default.jspx''' podemos conservar o no el uso de los estilos y/o lenguajes, para nuestro ejemplo dejamos de utilizar la internacionalización. La utilizaremos solo en español.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/messages-es.properties''' modificamos los mensajes configurados para la pantalla de inicio. En el mismo lugar se pueden modificar el resto de los mensajes de la aplicación.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/application.properties''' corregimos la pluralización de las etiquetas de menú.&lt;br /&gt;
* en el archivo '''/WEB-INF/views/index.jspx''' re-estructuramos los títulos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obtenemos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:roo_css_alternativo.gif | 700px]]&lt;br /&gt;
&lt;br /&gt;
El mayor desafío de esta parte es [[CSS]] en sí, más abajo compartimos algunos tutoriales básicos que encontramos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;br /&gt;
* [http://www.cssya.com.ar Tutorial de css]&lt;br /&gt;
* [http://www.cristalab.com/tutoriales/crear-menus-de-navegacion-en-css-usando-listas-c130l/ Tutorial de creación de menu con css]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5394</id>
		<title>Capa de Presentación de Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5394"/>
				<updated>2010-07-22T20:43:15Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] genera la interfaz gráfica de usuario que puede personalizarse, teniendo en cuenta los siguientes componentes:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; align=&amp;quot;top&amp;quot;&lt;br /&gt;
! width=&amp;quot;200 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot; |Directorio&lt;br /&gt;
! width=&amp;quot;500 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot;|Propósito&lt;br /&gt;
|-&lt;br /&gt;
|/styles||para las hojas de estilo del proyecto (*.css), puede haber más de una&lt;br /&gt;
|-&lt;br /&gt;
|/images||para las imágenes del proyecto&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/classes/*.properties||para la configuración de las páginas de estilo&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/Spring/*.xml||para la configuración de los controladores&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/i18n/*.properties||para la internacionalizacion de los mensajes&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/layauts/layouts.xml||para la configuración de las páginas maestras de la aplicación (home, menu, default)&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/tags/*.tagx||para los tags de declaración de paginado, lenguajes y estilos&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/views/**/*||para las vistas&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/web.xml||para configurar el contexto web de la aplicacion&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/urlrewrite.xml||para configurar la re-escritura de urls de la aplicación&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con la generación de una aplicación web con [[Spring Roo]] y algunos de los siguientes cambios podemos lograr una personalización de su apariencia, sin necesidad de modificar cada una de las pantallas.&lt;br /&gt;
&lt;br /&gt;
Tomando el [[Ejemplo de proyecto web ABM con Spring Roo]] el look &amp;amp; feel original es:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego si hacemos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
* el archivo '''/images/banner-graphic.png''' =&amp;gt; el banner de la aplicación tendrá el aspecto que nosotros le demos&lt;br /&gt;
* el archivo '''/styles/alt.css''' =&amp;gt; cambiamos el estilo alternativo de la aplicación. La aplicación generada tiene dos estilos, uno estandar y otro alternativo.&lt;br /&gt;
* en el archivo '''/WEB-INF/layouts/default.jspx''' podemos conservar o no el uso de los estilos y/o lenguajes, para nuestro ejemplo dejamos de utilizar la internacionalización. La utilizaremos solo en español.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/messages-es.properties''' modificamos los mensajes configurados para la pantalla de inicio. En el mismo lugar se pueden modificar el resto de los mensajes de la aplicación.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/application.properties''' corregimos la pluralización de las etiquetas de menú.&lt;br /&gt;
* en el archivo '''/WEB-INF/views/index.jspx''' re-estructuramos los títulos.&lt;br /&gt;
&lt;br /&gt;
Obtenemos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:roo_css_alternativo.gif | 700px]]&lt;br /&gt;
&lt;br /&gt;
El mayor desafío de esta parte es [[CSS]] en sí, más abajo compartimos algunos tutoriales básicos que encontramos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;br /&gt;
* [http://www.cssya.com.ar Tutorial de css]&lt;br /&gt;
* [http://www.cristalab.com/tutoriales/crear-menus-de-navegacion-en-css-usando-listas-c130l/ Tutorial de creación de menu con css]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5393</id>
		<title>Capa de Presentación de Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5393"/>
				<updated>2010-07-22T20:42:52Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] genera la interfaz gráfica de usuario que puede personalizarse, teniendo en cuenta los siguientes componentes:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; align=&amp;quot;top&amp;quot;&lt;br /&gt;
! width=&amp;quot;200 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot; |Directorio&lt;br /&gt;
! width=&amp;quot;500 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot;|Propósito&lt;br /&gt;
|-&lt;br /&gt;
|/styles||para las hojas de estilo del proyecto (*.css), puede haber más de una&lt;br /&gt;
|-&lt;br /&gt;
|/images||para las imágenes del proyecto&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/classes/*.properties||para la configuración de las páginas de estilo&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/Spring/*.xml||para la configuración de los controladores&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/i18n/*.properties||para la internacionalizacion de los mensajes&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/layauts/layouts.xml||para la configuración de las páginas maestras de la aplicación (home, menu, default)&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/tags/*.tagx||para los tags de declaración de paginado, lenguajes y estilos&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/views/**/*||para las vistas&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/web.xml||para configurar el contexto web de la aplicacion&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/urlrewrite.xml||para configurar la re-escritura de urls de la aplicación&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con la generación de una aplicación web con [[Spring Roo]] y algunos de los siguientes cambios podemos lograr una personalización de su apariencia, sin necesidad de modificar cada una de las pantallas.&lt;br /&gt;
&lt;br /&gt;
Tomando el [[Ejemplo de proyecto web ABM con Spring Roo]] el look &amp;amp; feel original es:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego si hacemos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
* el archivo '''/images/banner-graphic.png''' =&amp;gt; el banner de la aplicación tendrá el aspecto que nosotros le demos&lt;br /&gt;
* el archivo '''/styles/alt.css''' =&amp;gt; cambiamos el estilo alternativo de la aplicación. La aplicación generada tiene dos estilos, uno estandar y otro alternativo.&lt;br /&gt;
* en el archivo '''/WEB-INF/layouts/default.jspx''' podemos conservar o no el uso de los estilos y/o lenguajes, para nuestro ejemplo dejamos de utilizar la internacionalización. La utilizaremos solo en español.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/messages-es.properties''' modificamos los mensajes configurados para la pantalla de inicio. En el mismo lugar se pueden modificar el resto de los mensajes de la aplicación.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/application.properties''' corregimos la pluralización de las etiquetas de menú.&lt;br /&gt;
* en el archivo '''/WEB-INF/views/index.jspx''' re-estructuramos los títulos.&lt;br /&gt;
&lt;br /&gt;
Obtenemos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:roo_css_alternativo.gif | 800px]]&lt;br /&gt;
&lt;br /&gt;
El mayor desafío de esta parte es [[CSS]] en sí, más abajo compartimos algunos tutoriales básicos que encontramos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;br /&gt;
* [http://www.cssya.com.ar Tutorial de css]&lt;br /&gt;
* [http://www.cristalab.com/tutoriales/crear-menus-de-navegacion-en-css-usando-listas-c130l/ Tutorial de creación de menu con css]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5392</id>
		<title>Capa de Presentación de Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5392"/>
				<updated>2010-07-22T20:42:30Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] genera la interfaz gráfica de usuario que puede personalizarse, teniendo en cuenta los siguientes componentes:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; align=&amp;quot;top&amp;quot;&lt;br /&gt;
! width=&amp;quot;200 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot; |Directorio&lt;br /&gt;
! width=&amp;quot;500 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot;|Propósito&lt;br /&gt;
|-&lt;br /&gt;
|/styles||para las hojas de estilo del proyecto (*.css), puede haber más de una&lt;br /&gt;
|-&lt;br /&gt;
|/images||para las imágenes del proyecto&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/classes/*.properties||para la configuración de las páginas de estilo&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/Spring/*.xml||para la configuración de los controladores&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/i18n/*.properties||para la internacionalizacion de los mensajes&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/layauts/layouts.xml||para la configuración de las páginas maestras de la aplicación (home, menu, default)&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/tags/*.tagx||para los tags de declaración de paginado, lenguajes y estilos&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/views/**/*||para las vistas&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/web.xml||para configurar el contexto web de la aplicacion&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/urlrewrite.xml||para configurar la re-escritura de urls de la aplicación&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con la generación de una aplicación web con [[Spring Roo]] y algunos de los siguientes cambios podemos lograr una personalización de su apariencia, sin necesidad de modificar cada una de las pantallas.&lt;br /&gt;
&lt;br /&gt;
Tomando el [[Ejemplo de proyecto web ABM con Spring Roo]] el look &amp;amp; feel original es:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego si hacemos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
* el archivo '''/images/banner-graphic.png''' =&amp;gt; el banner de la aplicación tendrá el aspecto que nosotros le demos&lt;br /&gt;
* el archivo '''/styles/alt.css''' =&amp;gt; cambiamos el estilo alternativo de la aplicación. La aplicación generada tiene dos estilos, uno estandar y otro alternativo.&lt;br /&gt;
* en el archivo '''/WEB-INF/layouts/default.jspx''' podemos conservar o no el uso de los estilos y/o lenguajes, para nuestro ejemplo dejamos de utilizar la internacionalización. La utilizaremos solo en español.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/messages-es.properties''' modificamos los mensajes configurados para la pantalla de inicio. En el mismo lugar se pueden modificar el resto de los mensajes de la aplicación.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/application.properties''' corregimos la pluralización de las etiquetas de menú.&lt;br /&gt;
* en el archivo '''/WEB-INF/views/index.jspx''' re-estructuramos los títulos.&lt;br /&gt;
&lt;br /&gt;
Obtenemos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:roo_css_alternativo.gif | 500px]]&lt;br /&gt;
&lt;br /&gt;
El mayor desafío de esta parte es [[CSS]] en sí, más abajo compartimos algunos tutoriales básicos que encontramos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;br /&gt;
* [http://www.cssya.com.ar Tutorial de css]&lt;br /&gt;
* [http://www.cristalab.com/tutoriales/crear-menus-de-navegacion-en-css-usando-listas-c130l/ Tutorial de creación de menu con css]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:Roo_css_alternativo.gif&amp;diff=5391</id>
		<title>Archivo:Roo css alternativo.gif</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:Roo_css_alternativo.gif&amp;diff=5391"/>
				<updated>2010-07-22T20:41:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5390</id>
		<title>Capa de Presentación de Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5390"/>
				<updated>2010-07-22T20:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] genera la interfaz gráfica de usuario que puede personalizarse, teniendo en cuenta los siguientes componentes:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; align=&amp;quot;top&amp;quot;&lt;br /&gt;
! width=&amp;quot;200 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot; |Directorio&lt;br /&gt;
! width=&amp;quot;500 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot;|Propósito&lt;br /&gt;
|-&lt;br /&gt;
|/styles||para las hojas de estilo del proyecto (*.css), puede haber más de una&lt;br /&gt;
|-&lt;br /&gt;
|/images||para las imágenes del proyecto&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/classes/*.properties||para la configuración de las páginas de estilo&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/Spring/*.xml||para la configuración de los controladores&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/i18n/*.properties||para la internacionalizacion de los mensajes&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/layauts/layouts.xml||para la configuración de las páginas maestras de la aplicación (home, menu, default)&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/tags/*.tagx||para los tags de declaración de paginado, lenguajes y estilos&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/views/**/*||para las vistas&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/web.xml||para configurar el contexto web de la aplicacion&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/urlrewrite.xml||para configurar la re-escritura de urls de la aplicación&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con la generación de una aplicación web con [[Spring Roo]] y algunos de los siguientes cambios podemos lograr una personalización de su apariencia, sin necesidad de modificar cada una de las pantallas.&lt;br /&gt;
&lt;br /&gt;
Tomando el [[Ejemplo de proyecto web ABM con Spring Roo]] el look &amp;amp; feel original es:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego si hacemos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
* el archivo '''/images/banner-graphic.png''' =&amp;gt; el banner de la aplicación tendrá el aspecto que nosotros le demos&lt;br /&gt;
* el archivo '''/styles/alt.css''' =&amp;gt; cambiamos el estilo alternativo de la aplicación. La aplicación generada tiene dos estilos, uno estandar y otro alternativo.&lt;br /&gt;
* en el archivo '''/WEB-INF/layouts/default.jspx''' podemos conservar o no el uso de los estilos y/o lenguajes, para nuestro ejemplo dejamos de utilizar la internacionalización. La utilizaremos solo en español.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/messages-es.properties''' modificamos los mensajes configurados para la pantalla de inicio. En el mismo lugar se pueden modificar el resto de los mensajes de la aplicación.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/application.properties''' corregimos la pluralización de las etiquetas de menú.&lt;br /&gt;
* en el archivo '''/WEB-INF/views/index.jspx''' re-estructuramos los títulos.&lt;br /&gt;
&lt;br /&gt;
Obtenemos:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:roo_css_alternativo.gif]]&lt;br /&gt;
&lt;br /&gt;
El mayor desafío de esta parte es [[CSS]] en sí, más abajo compartimos algunos tutoriales básicos que encontramos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;br /&gt;
* [http://www.cssya.com.ar Tutorial de css]&lt;br /&gt;
* [http://www.cristalab.com/tutoriales/crear-menus-de-navegacion-en-css-usando-listas-c130l/ Tutorial de creación de menu con css]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5389</id>
		<title>Capa de Presentación de Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Capa_de_Presentaci%C3%B3n_de_Spring_Roo&amp;diff=5389"/>
				<updated>2010-07-22T20:40:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] genera la interfaz gráfica de usuario que puede personalizarse, teniendo en cuenta los siguientes componentes:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;background:#ffffff&amp;quot; align=&amp;quot;top&amp;quot;&lt;br /&gt;
! width=&amp;quot;200 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot; |Directorio&lt;br /&gt;
! width=&amp;quot;500 px&amp;quot; style=&amp;quot;background:Lavender; color:Black&amp;quot;|Propósito&lt;br /&gt;
|-&lt;br /&gt;
|/styles||para las hojas de estilo del proyecto (*.css), puede haber más de una&lt;br /&gt;
|-&lt;br /&gt;
|/images||para las imágenes del proyecto&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/classes/*.properties||para la configuración de las páginas de estilo&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/Spring/*.xml||para la configuración de los controladores&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/i18n/*.properties||para la internacionalizacion de los mensajes&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/layauts/layouts.xml||para la configuración de las páginas maestras de la aplicación (home, menu, default)&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/tags/*.tagx||para los tags de declaración de paginado, lenguajes y estilos&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/views/**/*||para las vistas&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/web.xml||para configurar el contexto web de la aplicacion&lt;br /&gt;
|-&lt;br /&gt;
|/WEB-INF/urlrewrite.xml||para configurar la re-escritura de urls de la aplicación&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Con la generación de una aplicación web con [[Spring Roo]] y algunos de los siguientes cambios podemos lograr una personalización de su apariencia, sin necesidad de modificar cada una de las pantallas.&lt;br /&gt;
&lt;br /&gt;
Tomando el [[Ejemplo de proyecto web ABM con Spring Roo]] el look &amp;amp; feel original es:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego si hacemos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
* el archivo '''/images/banner-graphic.png''' =&amp;gt; el banner de la aplicación tendrá el aspecto que nosotros le demos&lt;br /&gt;
* el archivo '''/styles/alt.css''' =&amp;gt; cambiamos el estilo alternativo de la aplicación. La aplicación generada tiene dos estilos, uno estandar y otro alternativo.&lt;br /&gt;
* en el archivo '''/WEB-INF/layouts/default.jspx''' podemos conservar o no el uso de los estilos y/o lenguajes, para nuestro ejemplo dejamos de utilizar la internacionalización. La utilizaremos solo en español.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/messages-es.properties''' modificamos los mensajes configurados para la pantalla de inicio. En el mismo lugar se pueden modificar el resto de los mensajes de la aplicación.&lt;br /&gt;
* en el archivo '''/WEB-INF/i18n/application.properties''' corregimos la pluralización de las etiquetas de menú.&lt;br /&gt;
* en el archivo '''/WEB-INF/views/index.jspx''' re-estructuramos los títulos.&lt;br /&gt;
&lt;br /&gt;
Obtenemos:&lt;br /&gt;
&lt;br /&gt;
[Archivo:roo_css_alternativo.gif]&lt;br /&gt;
&lt;br /&gt;
El mayor desafío de esta parte es [[CSS]] en sí, más abajo compartimos algunos tutoriales básicos que encontramos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;br /&gt;
* [http://www.cssya.com.ar Tutorial de css]&lt;br /&gt;
* [http://www.cristalab.com/tutoriales/crear-menus-de-navegacion-en-css-usando-listas-c130l/ Tutorial de creación de menu con css]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5352</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5352"/>
				<updated>2010-07-19T15:51:38Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Definición del modelo de datos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 650 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definición del modelo de datos ==&lt;br /&gt;
&lt;br /&gt;
Como hicimos anteriormente, creamos las entidades y sus atributos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para probar el funciomiento ejecutar&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
perform package&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
y deployar. En este punto se puede verificar el modelo de datos accediendo a la base de datos. Los nombres de las tablas y columnas se corresponden con los nombres de las entidades y sus atributos, separando los nombres compuestos con &amp;quot;_&amp;quot;. Ejemplo: fecha_entrega.&lt;br /&gt;
&lt;br /&gt;
== Características de la creación del modelo ==&lt;br /&gt;
* En el archivo persistence.xml el valor defecto de la propiedad &amp;quot;hibernate.hbm2ddl.auto&amp;quot; es &amp;quot;create&amp;quot;, por lo cual se generara el esquema de bd al correr la aplicación. Para no perder los datos en el siguiente deploy deberá actualizarse dicho valor a &amp;quot;validate&amp;quot;.&lt;br /&gt;
* El agregado de atributos en la aplicación provoca un alter en la tabla correspondiente.&lt;br /&gt;
* La eliminación de atributos en la aplicación no se refleja en la base de datos.&lt;br /&gt;
* Crea los objetos de base de datos y sus relaciones al ejecutar la aplicación por primera vez.&lt;br /&gt;
* Provee un campo &amp;quot;version&amp;quot; para el control de cambios que autoincrementa con cada update del registro.&lt;br /&gt;
* Provee un campo &amp;quot;id&amp;quot; usando una única secuencia para todo el modelo de datos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5351</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5351"/>
				<updated>2010-07-19T15:41:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Características de la creación del modelo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 650 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definición del modelo de datos ==&lt;br /&gt;
&lt;br /&gt;
Como hicimos anteriormente, creamos las entidades y sus atributos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para probar el funciomiento ejecutar&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
perform package&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
y deployar. En este punto se puede verificar el modelo de datos accediendo a la base de datos.&lt;br /&gt;
&lt;br /&gt;
== Características de la creación del modelo ==&lt;br /&gt;
* En el archivo persistence.xml el valor defecto de la propiedad &amp;quot;hibernate.hbm2ddl.auto&amp;quot; es &amp;quot;create&amp;quot;, por lo cual se generara el esquema de bd al correr la aplicación. Para no perder los datos en el siguiente deploy deberá actualizarse dicho valor a &amp;quot;validate&amp;quot;.&lt;br /&gt;
* El agregado de atributos en la aplicación provoca un alter en la tabla correspondiente.&lt;br /&gt;
* La eliminación de atributos en la aplicación no se refleja en la base de datos.&lt;br /&gt;
* Crea los objetos de base de datos y sus relaciones al ejecutar la aplicación por primera vez.&lt;br /&gt;
* Provee un campo &amp;quot;version&amp;quot; para el control de cambios que autoincrementa con cada update del registro.&lt;br /&gt;
* Provee un campo &amp;quot;id&amp;quot; usando una única secuencia para todo el modelo de datos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Spring_Roo&amp;diff=5350</id>
		<title>Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Spring_Roo&amp;diff=5350"/>
				<updated>2010-07-19T15:36:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] es una herramienta RAD extensible para [[Java]]. Basicamente es un generador de código avanzado, que se utiliza desde la linea de comandos invocando sentencias.&lt;br /&gt;
&lt;br /&gt;
La idea detrás de [[Spring Roo]] es incrementar la productividad del desarrollador [[Java]] sin comprometer la integridad estructural o la flexibilidad de la solución. No contiene un componente Runtime. Esto es muy importante, no solo porque no ata la solución al framework, sino porque no genera overhead. Se puede eliminar facilmente.&lt;br /&gt;
&lt;br /&gt;
Está construido con una serie de plugins (al estilo de [[Maven]]). Fue diseñado pensando en la usabilidad. Los comandos son contextuales; tiene los comandos &amp;quot;hint&amp;quot; y &amp;quot;help&amp;quot; para consultar el uso rápidamente y la tecla TAB para autocompletar. &lt;br /&gt;
&lt;br /&gt;
Está basado en scripts, por lo que en caso que se cometer un error, se puede hacer rollback. Todos los comandos escritos se van guardando automáticamente (log.roo).&lt;br /&gt;
&lt;br /&gt;
== Características ==&lt;br /&gt;
* Permite desarrollar una aplicación Web en minutos. Genera un war. Construye dos capas: la de persistencia y la de presentación. Para agregar la capa de negocio, se pueden agregar las clases manualmente a los controladores generados con Roo.&lt;br /&gt;
* Permite generar un modelo de datos complejo, incluyendo validaciones.&lt;br /&gt;
* La aplicación Web es RESTful y tiene soporte para internacionalización en varios idiomas.&lt;br /&gt;
* Tiene soporte de seguridad out-of-the-box.&lt;br /&gt;
* La presentación usa [[Dojo]] (incorporar otro, por ejemplo [[JQuery]], se hace a mano y es costoso).&lt;br /&gt;
&lt;br /&gt;
=== Generación de código ===&lt;br /&gt;
Es un generador de código ''hibrido'', utilizando generación activa y pasiva.&lt;br /&gt;
&lt;br /&gt;
Utiliza generación pasiva para generación de archivos java y xml. &lt;br /&gt;
Utiliza generación activa para la metadata con la ayuda de los tags @Roo* y modifica gradualmente .aj y los jsp.&lt;br /&gt;
&lt;br /&gt;
Sincroniza los cambios entre Roo y las modificaciones realizadas al código (roundtrip).&lt;br /&gt;
&lt;br /&gt;
[[Spring Roo]] no interviene en runtime, solo lo hace en tiempo de desarrollo. Una vez creado el proyecto con Spring Roo, podría eliminarse y seguir trabajando con un [[IDE]].&lt;br /&gt;
&lt;br /&gt;
=== Librerías/Frameworks que usa ===&lt;br /&gt;
&lt;br /&gt;
* [[Java]]&lt;br /&gt;
* [[AspectJ]]&lt;br /&gt;
* [[Eclipse]]&lt;br /&gt;
* Java Persistence API:  [[Hibernate]], [[OpenJPA]], [[EclipseLink]]&lt;br /&gt;
* [[Java Server Pages]]&lt;br /&gt;
* [[JUnit]]&lt;br /&gt;
* [[Log4J]]&lt;br /&gt;
* [[Maven]]&lt;br /&gt;
* [[Selenium]]&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Security]]&lt;br /&gt;
* [[Spring Web Flow]]&lt;br /&gt;
&lt;br /&gt;
== Requisitos ==&lt;br /&gt;
&lt;br /&gt;
Tener instalado Java y Maven, las últimas versiones estables.&lt;br /&gt;
&lt;br /&gt;
== Configuración ==&lt;br /&gt;
Descargar la última versión de Roo del sitio oficial.&lt;br /&gt;
Descomprimir en una carpeta en el disco local. Ej: c:\roo-1.2&lt;br /&gt;
Incluir la carpeta con los ejecutables dentro de la variable de entorno PATH. Ej.: c:\roo-1.2\bin&lt;br /&gt;
&lt;br /&gt;
== Uso ==&lt;br /&gt;
Para la ejecución de comandos podemos utilizar:&lt;br /&gt;
* el shell de roo mediante linea de comando&lt;br /&gt;
* el shell que viene embebido en el [[SpringSource Tool Suite]] &lt;br /&gt;
* o el [[IDE]] que utilizás habitualmente, por ejemplo [[Eclipse]]. En este caso deberías instalar el plugin para trabajar con aspectos y maven.&lt;br /&gt;
&lt;br /&gt;
Para empezar a usar los comandos Roo mediante el shell, crear una carpeta e invocar a [[Spring Roo]]&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  mkdir helloworld&lt;br /&gt;
  cd helloworld&lt;br /&gt;
  roo&lt;br /&gt;
&lt;br /&gt;
Al hacer eso se iniciará la interfaz y desplegará el siguiente mensaje:&lt;br /&gt;
&lt;br /&gt;
     / __ \/ __ \/ __ \&lt;br /&gt;
    / /_/ / / / / / / /&lt;br /&gt;
   / _, _/ /_/ / /_/ /&lt;br /&gt;
  /_/ |_|\____/\____/    1.0.2.RELEASE [rev 638]&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Welcome to Spring Roo. For assistance press TAB or type &amp;quot;hint&amp;quot; then hit ENTER.&lt;br /&gt;
  roo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La tecla TAB despliega las opciones:&lt;br /&gt;
&lt;br /&gt;
  */            /*            //            ;             addon         date          development   exit          help          hint&lt;br /&gt;
  metadata      poll          project       quit          reference     script        system        version&lt;br /&gt;
  roo&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
La sentencia help lista todos los comandos con descripciones breves.&lt;br /&gt;
&lt;br /&gt;
== Pasos para crear una aplicación mínima ==&lt;br /&gt;
&lt;br /&gt;
En [[Roo: Pasos para crear una aplicación mínima]] vemos como:&lt;br /&gt;
&lt;br /&gt;
*Crear el proyecto&lt;br /&gt;
*Elegir el framework de persistencia&lt;br /&gt;
*Crear el modelo de dominio&lt;br /&gt;
*Generar de la capa de presentación&lt;br /&gt;
&lt;br /&gt;
== Manejo de propiedades ==&lt;br /&gt;
&lt;br /&gt;
Roo genera archivos de propiedades dentro del proyecto, por ejemplo: database.properties. &lt;br /&gt;
Dichos archivos pueden ser modificados automáticamente por los comandos de roo. Se debe tener en cuenta entonces que al ejecutar un comando que impacte valores  configurados manualmente, será necesario volver a configurarlos. &lt;br /&gt;
Las claves definidas manualmente por el usuario no son alteradas por ningún comando de roo.&lt;br /&gt;
&lt;br /&gt;
== Maven ==&lt;br /&gt;
&lt;br /&gt;
Desde Roo se pueden ejecutar varias tareas de Maven sin tener que salir del entorno.&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
* 'perform tests' equivale a 'mvn test'&lt;br /&gt;
* 'perform eclipse' equivale a 'mvn eclipse:eclipse'&lt;br /&gt;
&lt;br /&gt;
== Seguridad ==&lt;br /&gt;
&lt;br /&gt;
El módulo de seguridad que viene predeterminado necesita unos pequeños cambios de configuración. De forma predeterminada viene configurado un path segurizado que no corresponde con la aplicación en desarrollo.&lt;br /&gt;
Se invoca mediante la sentencia:&lt;br /&gt;
&lt;br /&gt;
  security setup&lt;br /&gt;
&lt;br /&gt;
== Ejecutar un script ==&lt;br /&gt;
&lt;br /&gt;
Todo lo que se va ejecutando por consola, se va grabando en un archivo de log (log.roo).&lt;br /&gt;
Es posible re-ejecutar las acciones, copiando el archivo con otro nombre y utilizando la sentencia 'script &amp;lt;nombre de archivo&amp;gt;'&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  roo&amp;gt;script helloworld.roo&lt;br /&gt;
&lt;br /&gt;
== Ejemplos ==&lt;br /&gt;
&lt;br /&gt;
Necesitamos tener correctamente instaladas las siguientes versiones (verificar la configuración de las variables de entorno PATH y JAVA_HOME):&lt;br /&gt;
&lt;br /&gt;
* JDK 1.6 UPDATE 21&lt;br /&gt;
* Spring Roo 1.0.2&lt;br /&gt;
* Apache Maven 2.2.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para poder ejecutar los siguientes ejemplos: &lt;br /&gt;
&lt;br /&gt;
* [[Ejemplo de script con Spring Roo]]&lt;br /&gt;
* [[Ejemplo de proyecto web ABM con Spring Roo]]&lt;br /&gt;
* [[Ejemplo de proyecto web ABM con SpringSource Tool Suite]]&lt;br /&gt;
* [[Ejemplo de integracion Roo y Oracle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas y soluciones ==&lt;br /&gt;
* [[Problemas frecuentes con Spring Roo]]&lt;br /&gt;
&lt;br /&gt;
== Para que es ideal ==&lt;br /&gt;
&lt;br /&gt;
* Hacer backends de Administración (ABMs/CRUDs con interfaz Web)&lt;br /&gt;
&lt;br /&gt;
== Lo que le falta ==&lt;br /&gt;
&lt;br /&gt;
* La posibilidad de importar modelos de datos,ya sea desde la base de datos o bien  de un archivo de configuración Hibernate. (próximamente disponible en la versión 1.1.0)&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[SpringSource Tool Suite]]&lt;br /&gt;
* [http://www.springsource.org/roo/ Web oficial de Spring Roo]&lt;br /&gt;
* [http://static.springsource.org/spring-roo/reference/html-single/index.html#usage-recommendations Reference Spring roo]&lt;br /&gt;
* [https://admin.na3.acrobat.com/_a204547676/p38684494/?launcher=false&amp;amp;fcsContent=true&amp;amp;pbMode=normal Curso de Spring Roo on-line]&lt;br /&gt;
* [http://blog.springsource.com/2009/05/27/roo-part-2/ Ejemplo con buscador dinámico]&lt;br /&gt;
* [http://stsmedia.net/introducing-spring-roo-part-2-security-jms-email-support/ Ejemplo con Jms y envío de mails]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Spring_Roo&amp;diff=5349</id>
		<title>Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Spring_Roo&amp;diff=5349"/>
				<updated>2010-07-19T15:26:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Pasos para crear una aplicación mínima */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Spring Roo]] es una herramienta RAD extensible para [[Java]]. Basicamente es un generador de código avanzado, que se utiliza desde la linea de comandos invocando sentencias.&lt;br /&gt;
&lt;br /&gt;
La idea detrás de [[Spring Roo]] es incrementar la productividad del desarrollador [[Java]] sin comprometer la integridad estructural o la flexibilidad de la solución. No contiene un componente Runtime. Esto es muy importante, no solo porque no ata la solución al framework, sino porque no genera overhead. Se puede eliminar facilmente.&lt;br /&gt;
&lt;br /&gt;
Está construido con una serie de plugins (al estilo de [[Maven]]). Fue diseñado pensando en la usabilidad. Los comandos son contextuales; tiene los comandos &amp;quot;hint&amp;quot; y &amp;quot;help&amp;quot; para consultar el uso rápidamente y la tecla TAB para autocompletar. &lt;br /&gt;
&lt;br /&gt;
Está basado en scripts, por lo que en caso que se cometer un error, se puede hacer rollback. Todos los comandos escritos se van guardando automáticamente (log.roo).&lt;br /&gt;
&lt;br /&gt;
== Características ==&lt;br /&gt;
* Permite desarrollar una aplicación Web en minutos. Genera un war. Construye dos capas: la de persistencia y la de presentación. Para agregar la capa de negocio, se pueden agregar las clases manualmente a los controladores generados con Roo.&lt;br /&gt;
* Permite generar un modelo de datos complejo, incluyendo validaciones.&lt;br /&gt;
* La aplicación Web es RESTful y tiene soporte para internacionalización en varios idiomas.&lt;br /&gt;
* Tiene soporte de seguridad out-of-the-box.&lt;br /&gt;
* La presentación usa [[Dojo]] (incorporar otro, por ejemplo [[JQuery]], se hace a mano y es costoso).&lt;br /&gt;
&lt;br /&gt;
=== Generación de código ===&lt;br /&gt;
Es un generador de código ''hibrido'', utilizando generación activa y pasiva.&lt;br /&gt;
&lt;br /&gt;
Utiliza generación pasiva para generación de archivos java y xml. &lt;br /&gt;
Utiliza generación activa para la metadata con la ayuda de los tags @Roo* y modifica gradualmente .aj y los jsp.&lt;br /&gt;
&lt;br /&gt;
Sincroniza los cambios entre Roo y las modificaciones realizadas al código (roundtrip).&lt;br /&gt;
&lt;br /&gt;
[[Spring Roo]] no interviene en runtime, solo lo hace en tiempo de desarrollo. Una vez creado el proyecto con Spring Roo, podría eliminarse y seguir trabajando con un [[IDE]].&lt;br /&gt;
&lt;br /&gt;
=== Librerías/Frameworks que usa ===&lt;br /&gt;
&lt;br /&gt;
* [[Java]]&lt;br /&gt;
* [[AspectJ]]&lt;br /&gt;
* [[Eclipse]]&lt;br /&gt;
* Java Persistence API:  [[Hibernate]], [[OpenJPA]], [[EclipseLink]]&lt;br /&gt;
* [[Java Server Pages]]&lt;br /&gt;
* [[JUnit]]&lt;br /&gt;
* [[Log4J]]&lt;br /&gt;
* [[Maven]]&lt;br /&gt;
* [[Selenium]]&lt;br /&gt;
* [[Spring Framework]]&lt;br /&gt;
* [[Spring MVC]]&lt;br /&gt;
* [[Spring Security]]&lt;br /&gt;
* [[Spring Web Flow]]&lt;br /&gt;
&lt;br /&gt;
== Requisitos ==&lt;br /&gt;
&lt;br /&gt;
Tener instalado Java y Maven, las últimas versiones estables.&lt;br /&gt;
&lt;br /&gt;
== Configuración ==&lt;br /&gt;
Descargar la última versión de Roo del sitio oficial.&lt;br /&gt;
Descomprimir en una carpeta en el disco local. Ej: c:\roo-1.2&lt;br /&gt;
Incluir la carpeta con los ejecutables dentro de la variable de entorno PATH. Ej.: c:\roo-1.2\bin&lt;br /&gt;
&lt;br /&gt;
== Uso ==&lt;br /&gt;
Para la ejecución de comandos podemos utilizar:&lt;br /&gt;
* el shell de roo mediante linea de comando&lt;br /&gt;
* el shell que viene embebido en el [[SpringSource Tool Suite]] &lt;br /&gt;
* o el [[IDE]] que utilizás habitualmente, por ejemplo [[Eclipse]]. En este caso deberías instalar el plugin para trabajar con aspectos y maven.&lt;br /&gt;
&lt;br /&gt;
Para empezar a usar los comandos Roo mediante el shell, crear una carpeta e invocar a [[Spring Roo]]&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  mkdir helloworld&lt;br /&gt;
  cd helloworld&lt;br /&gt;
  roo&lt;br /&gt;
&lt;br /&gt;
Al hacer eso se iniciará la interfaz y desplegará el siguiente mensaje:&lt;br /&gt;
&lt;br /&gt;
     / __ \/ __ \/ __ \&lt;br /&gt;
    / /_/ / / / / / / /&lt;br /&gt;
   / _, _/ /_/ / /_/ /&lt;br /&gt;
  /_/ |_|\____/\____/    1.0.2.RELEASE [rev 638]&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Welcome to Spring Roo. For assistance press TAB or type &amp;quot;hint&amp;quot; then hit ENTER.&lt;br /&gt;
  roo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La tecla TAB despliega las opciones:&lt;br /&gt;
&lt;br /&gt;
  */            /*            //            ;             addon         date          development   exit          help          hint&lt;br /&gt;
  metadata      poll          project       quit          reference     script        system        version&lt;br /&gt;
  roo&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
La sentencia help lista todos los comandos con descripciones breves.&lt;br /&gt;
&lt;br /&gt;
== Pasos para crear una aplicación mínima ==&lt;br /&gt;
&lt;br /&gt;
En [[Roo: Pasos para crear una aplicación mínima]] vemos como:&lt;br /&gt;
&lt;br /&gt;
*Crear el proyecto&lt;br /&gt;
*Elegir el framework de persistencia&lt;br /&gt;
*Crear el modelo de dominio&lt;br /&gt;
*Generar de la capa de presentación&lt;br /&gt;
&lt;br /&gt;
== Maven ==&lt;br /&gt;
&lt;br /&gt;
Desde Roo se pueden ejecutar varias tareas de Maven sin tener que salir del entorno.&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
* 'perform tests' equivale a 'mvn test'&lt;br /&gt;
* 'perform eclipse' equivale a 'mvn eclipse:eclipse'&lt;br /&gt;
&lt;br /&gt;
== Seguridad ==&lt;br /&gt;
&lt;br /&gt;
El módulo de seguridad que viene predeterminado necesita unos pequeños cambios de configuración. De forma predeterminada viene configurado un path segurizado que no corresponde con la aplicación en desarrollo.&lt;br /&gt;
Se invoca mediante la sentencia:&lt;br /&gt;
&lt;br /&gt;
  security setup&lt;br /&gt;
&lt;br /&gt;
== Ejecutar un script ==&lt;br /&gt;
&lt;br /&gt;
Todo lo que se va ejecutando por consola, se va grabando en un archivo de log (log.roo).&lt;br /&gt;
Es posible re-ejecutar las acciones, copiando el archivo con otro nombre y utilizando la sentencia 'script &amp;lt;nombre de archivo&amp;gt;'&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  roo&amp;gt;script helloworld.roo&lt;br /&gt;
&lt;br /&gt;
== Ejemplos ==&lt;br /&gt;
&lt;br /&gt;
Necesitamos tener correctamente instaladas las siguientes versiones (verificar la configuración de las variables de entorno PATH y JAVA_HOME):&lt;br /&gt;
&lt;br /&gt;
* JDK 1.6 UPDATE 21&lt;br /&gt;
* Spring Roo 1.0.2&lt;br /&gt;
* Apache Maven 2.2.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para poder ejecutar los siguientes ejemplos: &lt;br /&gt;
&lt;br /&gt;
* [[Ejemplo de script con Spring Roo]]&lt;br /&gt;
* [[Ejemplo de proyecto web ABM con Spring Roo]]&lt;br /&gt;
* [[Ejemplo de proyecto web ABM con SpringSource Tool Suite]]&lt;br /&gt;
* [[Ejemplo de integracion Roo y Oracle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problemas y soluciones ==&lt;br /&gt;
* [[Problemas frecuentes con Spring Roo]]&lt;br /&gt;
&lt;br /&gt;
== Para que es ideal ==&lt;br /&gt;
&lt;br /&gt;
* Hacer backends de Administración (ABMs/CRUDs con interfaz Web)&lt;br /&gt;
&lt;br /&gt;
== Lo que le falta ==&lt;br /&gt;
&lt;br /&gt;
* La posibilidad de importar modelos de datos,ya sea desde la base de datos o bien  de un archivo de configuración Hibernate. (próximamente disponible en la versión 1.1.0)&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[SpringSource Tool Suite]]&lt;br /&gt;
* [http://www.springsource.org/roo/ Web oficial de Spring Roo]&lt;br /&gt;
* [http://static.springsource.org/spring-roo/reference/html-single/index.html#usage-recommendations Reference Spring roo]&lt;br /&gt;
* [https://admin.na3.acrobat.com/_a204547676/p38684494/?launcher=false&amp;amp;fcsContent=true&amp;amp;pbMode=normal Curso de Spring Roo on-line]&lt;br /&gt;
* [http://blog.springsource.com/2009/05/27/roo-part-2/ Ejemplo con buscador dinámico]&lt;br /&gt;
* [http://stsmedia.net/introducing-spring-roo-part-2-security-jms-email-support/ Ejemplo con Jms y envío de mails]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5348</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5348"/>
				<updated>2010-07-19T15:24:28Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 650 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Definición del modelo de datos ==&lt;br /&gt;
&lt;br /&gt;
Como hicimos anteriormente, creamos las entidades y sus atributos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para probar el funciomiento ejecutar&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
perform package&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
y deployar. En este punto se puede verificar el modelo de datos accediendo a la base de datos.&lt;br /&gt;
&lt;br /&gt;
== Características de la creación del modelo ==&lt;br /&gt;
* En el archivo persistence.xml el valor defecto de la propiedad &amp;quot;hibernate.hbm2ddl.auto&amp;quot; es &amp;quot;create&amp;quot;, por lo cual se generara el esquema de bd al correr la aplicación. Para no perder los datos en el siguiente deploy deberá actualizarse dicho valor a &amp;quot;validate&amp;quot;.&lt;br /&gt;
* Crea los objetos de base de datos y sus relaciones al ejecutar la aplicación por primera vez.&lt;br /&gt;
* Provee un campo &amp;quot;version&amp;quot; para el control de cambios que autoincrementa con cada update del registro.&lt;br /&gt;
* Provee un campo &amp;quot;id&amp;quot; usando una única secuencia para todo el modelo de datos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5347</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5347"/>
				<updated>2010-07-19T15:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 650 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Características ==&lt;br /&gt;
* En el archivo persistence.xml el valor defecto de la propiedad &amp;quot;hibernate.hbm2ddl.auto&amp;quot; es &amp;quot;create&amp;quot;, por lo cual se generara el esquema de bd al correr la aplicación. Para no perder los datos en el siguiente deploy deberá actualizarse dicho valor a &amp;quot;validate&amp;quot;.&lt;br /&gt;
* Crea los objetos de base de datos y sus relaciones al ejecutar la aplicación por primera vez.&lt;br /&gt;
* Provee un campo &amp;quot;version&amp;quot; para el control de cambios que autoincrementa con cada update del registro.&lt;br /&gt;
* Provee un campo &amp;quot;id&amp;quot; usando una única secuencia para todo el modelo de datos.&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5346</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5346"/>
				<updated>2010-07-19T14:41:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Comando de persistencia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 650 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5345</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5345"/>
				<updated>2010-07-19T14:40:45Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Comando de persistencia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 700 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5344</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5344"/>
				<updated>2010-07-19T14:40:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Comando de persistencia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 500 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5343</id>
		<title>Ejemplo de integracion Roo y Oracle</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Ejemplo_de_integracion_Roo_y_Oracle&amp;diff=5343"/>
				<updated>2010-07-19T14:40:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Comando de persistencia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Haremos el [[Ejemplo de proyecto web ABM con Spring Roo]] accediendo a una base de datos Oracle en lugar de una base en memoria.&lt;br /&gt;
&lt;br /&gt;
== Comando de persistencia ==&lt;br /&gt;
&lt;br /&gt;
Habiendo generado el proyecto, el comando &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
persistence setup --database ORACLE --provider HIBERNATE &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nos permite trabajar con un esquema en una base de datos oracle utilizando Hibernate como ORM.&lt;br /&gt;
&lt;br /&gt;
[[Archivo: roo_database_properties.gif | 300 px]]&lt;br /&gt;
&lt;br /&gt;
Como vemos, genera un archivo database.properties donde está la información de conexión.&lt;br /&gt;
&lt;br /&gt;
Por la versión de  [[Spring Roo]] hay un error en el pom.xml por dependencias. Ver [[Problemas_frecuentes_con_Spring_Roo#Missing_artifact_com.oracle:ojdbc14:jar:10.2.0.2:compile]]&lt;br /&gt;
&lt;br /&gt;
== Configurando las propiedades de acceso a la base de datos ==&lt;br /&gt;
&lt;br /&gt;
Podemos cambiar la configuración editando el archivo database.properties o mediante los comandos que provee roo, lo cual nos permitiría dejar un script listo para correrlo en otra ocasión.&lt;br /&gt;
&lt;br /&gt;
El comando para ver todas las propiedades del archivo es:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties list&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar los valores:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
database properties set --key database.password --value unaPassword&lt;br /&gt;
database properties set --key database.username --value unUsuario&lt;br /&gt;
database properties set --key database.url --value jdbc:oracle:thin:@unHost:unPuerto:unEsquema&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver tambien ==&lt;br /&gt;
* [[Spring Roo]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:Roo_database_properties.gif&amp;diff=5342</id>
		<title>Archivo:Roo database properties.gif</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:Roo_database_properties.gif&amp;diff=5342"/>
				<updated>2010-07-19T14:39:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5260</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5260"/>
				<updated>2010-07-15T00:58:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Desarrollo y sincronizacion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desarrollo y sincronizacion ==&lt;br /&gt;
&lt;br /&gt;
Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de roo corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de roo que se actualizan todos los archivos de aspectos, los controllers y los jsp para agregar el nuevo atributo. Esta sincronización se da automáticamente al guardar los cambios.&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza&lt;br /&gt;
&lt;br /&gt;
== Volver a abrir el shell de roo ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:abrirRooShell.jpg|400px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:AbrirRooShell.jpg&amp;diff=5246</id>
		<title>Archivo:AbrirRooShell.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:AbrirRooShell.jpg&amp;diff=5246"/>
				<updated>2010-07-14T18:37:07Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5245</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5245"/>
				<updated>2010-07-14T18:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Volver a abrir el shell de roo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desarrollo y sincronizacion ==&lt;br /&gt;
&lt;br /&gt;
Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de roo corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de roo que se actualizan todos los archivos de aspectos, los controllers y los jsp para agregar el nuevo atributo. Esta sincronización se da automáticamente al realizar el cambio.&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza&lt;br /&gt;
&lt;br /&gt;
== Volver a abrir el shell de roo ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:abrirRooShell.jpg|400px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5244</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5244"/>
				<updated>2010-07-14T18:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desarrollo y sincronizacion ==&lt;br /&gt;
&lt;br /&gt;
Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de roo corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de roo que se actualizan todos los archivos de aspectos, los controllers y los jsp para agregar el nuevo atributo. Esta sincronización se da automáticamente al realizar el cambio.&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza&lt;br /&gt;
&lt;br /&gt;
== Volver a abrir el shell de roo ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:abrirRooShell.jpg]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5243</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5243"/>
				<updated>2010-07-14T18:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desarrollo y sincronizacion ==&lt;br /&gt;
&lt;br /&gt;
Como vemos, el editor de STS es similar a Eclipse. Si tenemos el shell de roo corriendo y realizamos modificaciones, por ejemplo el agregado de un atributo en una entidad de dominio, veremos que en la consola de roo que se actualizan todos los archivos de aspectos, los controllers y los jsp para agregar el nuevo atributo. Esta sincronización se da automáticamente al realizar el cambio.&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5242</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5242"/>
				<updated>2010-07-14T18:30:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Creacion del proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5241</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5241"/>
				<updated>2010-07-14T18:30:26Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Ejecucion del proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
con eso se levanta el server y se instala la aplicación, que puede verse en: http://localhost:8080/Pizza&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:RunOnServer2.jpg&amp;diff=5240</id>
		<title>Archivo:RunOnServer2.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:RunOnServer2.jpg&amp;diff=5240"/>
				<updated>2010-07-14T18:24:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:RunOnServer.jpg&amp;diff=5239</id>
		<title>Archivo:RunOnServer.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:RunOnServer.jpg&amp;diff=5239"/>
				<updated>2010-07-14T18:24:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5238</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5238"/>
				<updated>2010-07-14T18:23:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Ejecucion del proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:runOnServer2.jpg|500px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5237</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5237"/>
				<updated>2010-07-14T18:22:34Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Ejecucion del proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ruOnServer.jpg|500px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5236</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5236"/>
				<updated>2010-07-14T18:22:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Creacion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingreso de comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ejecucion del proyecto ==&lt;br /&gt;
&lt;br /&gt;
Ahora podemos ejecutar el proyecto en el servidor, que también está embebido en el STS:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:ruOnServer.jpg]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5235</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5235"/>
				<updated>2010-07-14T18:15:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Ingresando comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingresando comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar el war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5234</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5234"/>
				<updated>2010-07-14T18:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Ingresando comandos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingresando comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo y para generar wl war. &lt;br /&gt;
Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
// Tests&lt;br /&gt;
perform tests&lt;br /&gt;
&lt;br /&gt;
// Generacion de interfaz de usuario&lt;br /&gt;
controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
// Genera el war de la aplicacion&lt;br /&gt;
perform package&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5233</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5233"/>
				<updated>2010-07-14T18:13:48Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
== Ingresando comandos ==&lt;br /&gt;
&lt;br /&gt;
Ahora iremos ingresando comandos en el shell embebido de roo.&lt;br /&gt;
Notemos:&lt;br /&gt;
* que podremos usar Ctrl+Space para ir autocompletando tanto los comandos como los packages.&lt;br /&gt;
* &amp;quot;~&amp;quot; es el shortcut para indicar el paquete base.&lt;br /&gt;
&lt;br /&gt;
Ingresaremos en el shell los comandos para definir la persistencia de datos y definir el modelo de dominio tal como hicimos en el ejemplo. Los comandos a ingresar son:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Definir persistencia de datos&lt;br /&gt;
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY&lt;br /&gt;
&lt;br /&gt;
// Definir modelo de datos&lt;br /&gt;
entity --class ~.domain.Cubierta --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Base --testAutomatically &lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
entity --class ~.domain.Pizza --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field number --fieldName precio --type java.lang.Float&lt;br /&gt;
field set --fieldName coberturas --element ~.domain.Cubierta&lt;br /&gt;
field reference --fieldName base --type ~.domain.Base&lt;br /&gt;
entity --class ~.domain.Pedido --testAutomatically&lt;br /&gt;
field string --fieldName nombre --notNull --sizeMin 2&lt;br /&gt;
field string --fieldName direccion --sizeMax 30&lt;br /&gt;
field number --fieldName importe --type java.lang.Float&lt;br /&gt;
field date --fieldName fechaEntrega --type java.util.Date&lt;br /&gt;
field set --fieldName pizzas --element ~.domain.Pizza&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5232</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5232"/>
				<updated>2010-07-14T18:08:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada (sigue las convenciones de maven) y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5231</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5231"/>
				<updated>2010-07-14T18:07:42Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5230</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5230"/>
				<updated>2010-07-14T18:07:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|700px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5229</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5229"/>
				<updated>2010-07-14T18:07:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|500px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5228</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5228"/>
				<updated>2010-07-14T18:06:47Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg|200px]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:RooShell.jpg&amp;diff=5227</id>
		<title>Archivo:RooShell.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:RooShell.jpg&amp;diff=5227"/>
				<updated>2010-07-14T18:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: Shell de roo embebido en STS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shell de roo embebido en STS&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5226</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5226"/>
				<updated>2010-07-14T18:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Como resultado podemos ver la estructura de directorios generada y el shell de roo embebido.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:rooShell.jpg]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5225</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5225"/>
				<updated>2010-07-14T17:30:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a las sentencias &lt;br /&gt;
&lt;br /&gt;
mkdir Pizza&lt;br /&gt;
cd Pizza &lt;br /&gt;
roo&lt;br /&gt;
roo&amp;gt; project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:CrearProyectoRoo2.jpg&amp;diff=5224</id>
		<title>Archivo:CrearProyectoRoo2.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:CrearProyectoRoo2.jpg&amp;diff=5224"/>
				<updated>2010-07-14T17:28:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5223</id>
		<title>Uso de Roo desde SpringSource Tool Suite</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Uso_de_Roo_desde_SpringSource_Tool_Suite&amp;diff=5223"/>
				<updated>2010-07-14T17:27:53Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Crear proyecto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduccion ==&lt;br /&gt;
&lt;br /&gt;
SpringSource Tool Suite (STS) es un IDE basado en Eclipse con algunas características que facilitan trabajar con Roo, como por ejemplo el shell de roo embebido, la posibilidad de autocompletar comandos mediante Ctrl+Space y la posibilidad de acceder mediante links a los recursos que va modificando roo.&lt;br /&gt;
&lt;br /&gt;
Vamos a realizar el [http://www.dosideas.com/wiki/Ejemplo_de_proyecto_web_para_ABMs_creado_con_Roo Ejemplo de proyecto web para ABMs creado con Roo] utilizando STS.&lt;br /&gt;
&lt;br /&gt;
== Instalacion ==&lt;br /&gt;
&lt;br /&gt;
Sólo se debe [http://www.springsource.com/products/springsource-tool-suite-download descargar STS] y descomprimirlo. En esta wiki estaremos utilizando el release 2.3.2.&lt;br /&gt;
La primera vez que se cargue el IDE solicitará se define un directorio workspace donde estarán los proyectos.&lt;br /&gt;
&lt;br /&gt;
== Crear proyecto ==&lt;br /&gt;
&lt;br /&gt;
Creamos un Roo Project y especificamos un nombre y un package base. Esto equivale a la sentencia project &amp;quot;--topLevelPackage com.springsource.roo.pizzaDosIdeas&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Archivo:crearProyectoRoo2.jpg]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Spring_Roo&amp;diff=5220</id>
		<title>Spring Roo</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Spring_Roo&amp;diff=5220"/>
				<updated>2010-07-14T17:16:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Problemas y soluciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Descripción ==&lt;br /&gt;
Spring Roo es una herramienta RAD extensible. &lt;br /&gt;
Basicamente un generador de código avanzado, que se utiliza desde la linea de comandos invocando sentencias.&lt;br /&gt;
La idea detrás de Roo es incrementar la productividad del desarrollador Java sin comprometer la integridad estructural o la flexibilidad de la solución.&lt;br /&gt;
No contiene un componente Runtime. Esto es muy importante, no solo pq no ata la solución al framework, sino porque no genera overhead.&lt;br /&gt;
Se puede eliminar facilmente.&lt;br /&gt;
&lt;br /&gt;
Está construido con una serie de plugins (al estilo de Maven)&lt;br /&gt;
Fue diseñado pensando en la usabilidad. Los comandos son contextuales; tiene los comandos &amp;quot;hint&amp;quot; y &amp;quot;help&amp;quot; para consultar el uso rápidamente y la tecla TAB para autocompletar. &lt;br /&gt;
Está basado en scripts, por lo que en caso que se cometer un error, se puede hacer rollback.&lt;br /&gt;
Todos los comandos escritos se van guardando automáticamente (log.roo)&lt;br /&gt;
&lt;br /&gt;
== Características ==&lt;br /&gt;
* Permite desarrollar una aplicación Web en minutos.&lt;br /&gt;
* Permite generar un modelo de datos complejo, incluyendo validaciones.&lt;br /&gt;
* La aplicación Web es RESTful y tiene soporte para internacionalización en varios idiomas.&lt;br /&gt;
* Tiene soporte de seguridad out-of-the-box.&lt;br /&gt;
&lt;br /&gt;
=== Generación de código ===&lt;br /&gt;
Es un generador de código ''hibrido'', utilizando generación activa y pasiva.&lt;br /&gt;
&lt;br /&gt;
Utiliza generación pasiva para generación de archivos java y xml.&lt;br /&gt;
Utiliza generación activa para la metadata con la ayuda de los tags @Roo* e modifica gradualmente .aj y los jsp.&lt;br /&gt;
&lt;br /&gt;
Sincroniza los cambios entre Roo y las modificaciones realizadas al código (roundtrip)&lt;br /&gt;
&lt;br /&gt;
=== Librerías/Frameworks que usa ===&lt;br /&gt;
&lt;br /&gt;
* Java&lt;br /&gt;
* Spring Framework&lt;br /&gt;
* Java Persistence API (Hibernate)&lt;br /&gt;
* Java Server PAges&lt;br /&gt;
* Spring Security&lt;br /&gt;
* Spring Web Flow&lt;br /&gt;
* Log4j&lt;br /&gt;
* Maven&lt;br /&gt;
* AspectJ&lt;br /&gt;
* Eclipse&lt;br /&gt;
* JUnit&lt;br /&gt;
* Selenium&lt;br /&gt;
&lt;br /&gt;
== Requisitos ==&lt;br /&gt;
&lt;br /&gt;
Tener instalado Java y Maven, las últimas versiones estables.&lt;br /&gt;
&lt;br /&gt;
== Configuración ==&lt;br /&gt;
Descargar la última versión de Roo del sitio oficial.&lt;br /&gt;
Descomprimir en una carpeta en el disco local. Ej: c:\roo-1.2&lt;br /&gt;
Incluir la carpeta con los ejecutables dentro de la variable de entorno PATH. Ej.: c:\roo-1.2\bin&lt;br /&gt;
&lt;br /&gt;
== Uso ==&lt;br /&gt;
Para empezar a Roo, crear una carpeta e invocar a Roo&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  mkdir helloworld&lt;br /&gt;
  cd helloworld&lt;br /&gt;
  roo&lt;br /&gt;
&lt;br /&gt;
Al hacer eso se iniciará la interfaz y desplegará el siguiente mensaje:&lt;br /&gt;
&lt;br /&gt;
     / __ \/ __ \/ __ \&lt;br /&gt;
    / /_/ / / / / / / /&lt;br /&gt;
   / _, _/ /_/ / /_/ /&lt;br /&gt;
  /_/ |_|\____/\____/    1.0.2.RELEASE [rev 638]&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Welcome to Spring Roo. For assistance press TAB or type &amp;quot;hint&amp;quot; then hit ENTER.&lt;br /&gt;
  roo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La tecla TAB despliega las opciones:&lt;br /&gt;
&lt;br /&gt;
  */            /*            //            ;             addon         date          development   exit          help          hint&lt;br /&gt;
  metadata      poll          project       quit          reference     script        system        version&lt;br /&gt;
  roo&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
La sentencia help lista todos los comandos con descripciones breves.&lt;br /&gt;
&lt;br /&gt;
== Ejecutar un script ==&lt;br /&gt;
&lt;br /&gt;
Todo lo que se va ejecutando por consola, se va grabando en un archivo de log (log.roo).&lt;br /&gt;
Es posible re-ejecutar las acciones, copiando el archivo con otro nombre y utilizando la sentencia 'script &amp;lt;nombre de archivo&amp;gt;'&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  roo&amp;gt;script helloworld.roo&lt;br /&gt;
&lt;br /&gt;
== Pasos para crear una aplicación mínima ==&lt;br /&gt;
&lt;br /&gt;
=== Crear un proyecto ===&lt;br /&gt;
&lt;br /&gt;
  project --topLevelPackage  com.dosideas.helloroo&lt;br /&gt;
  &lt;br /&gt;
=== Elegir el framework de persistencia ===&lt;br /&gt;
&lt;br /&gt;
Se puede elegir entre 3 frameworks y 8 bases de datos&lt;br /&gt;
&lt;br /&gt;
Frameworks:&lt;br /&gt;
* ECLIPSELINK&lt;br /&gt;
* HIBERNATE&lt;br /&gt;
* OPENJPA&lt;br /&gt;
&lt;br /&gt;
Bases de datos:&lt;br /&gt;
* DB2&lt;br /&gt;
* H2_IN_MEMORY&lt;br /&gt;
* HYPERSONIC_IN_MEMORY&lt;br /&gt;
* HYPERSONIC_PERSISTENT&lt;br /&gt;
* MSSQL&lt;br /&gt;
* MYSQL&lt;br /&gt;
* ORACLE&lt;br /&gt;
* POSTGRES&lt;br /&gt;
* SYBASE&lt;br /&gt;
&lt;br /&gt;
Ej.:&lt;br /&gt;
&lt;br /&gt;
  persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY &lt;br /&gt;
&lt;br /&gt;
=== Creación del modelo de datos ===&lt;br /&gt;
&lt;br /&gt;
Junto con la creación de la clase se puede elegir de crear los tests de componentes correspondientes.&lt;br /&gt;
&lt;br /&gt;
  entity --class ~.domain.Client --testAutomatically &lt;br /&gt;
&lt;br /&gt;
Por cada campo a agregar a la clase es necesario definir el tipo, el nombre y las restricciones que pueda tener.&lt;br /&gt;
&lt;br /&gt;
  field string --fieldName name --notNull --sizeMax 24 --sizeMin 3&lt;br /&gt;
  field string --fieldName surname --notNull --sizeMin 3 --sizeMax 24&lt;br /&gt;
  field date --fieldName birthDate --type java.util.Date --notNull&lt;br /&gt;
  field boolean --fieldName active&lt;br /&gt;
  field number --fieldName numberOfKids --type java.lang.Integer --notNull  --max 99&lt;br /&gt;
&lt;br /&gt;
==== Expresiones regulares ====&lt;br /&gt;
&lt;br /&gt;
Existe un bug reportado que impide el uso de expresiones regulares, si bien teoricamente son soportadas por Roo.&lt;br /&gt;
&lt;br /&gt;
=== Interfaz gráfica ===&lt;br /&gt;
&lt;br /&gt;
Roo permite la creación de la interfaz gráfica web, que comprende de una alta, baja, modificación y listado.&lt;br /&gt;
Se puede especificar de que objeto de negocio se requiere o bien crearla para todos.&lt;br /&gt;
&lt;br /&gt;
  controller all --package ~.web&lt;br /&gt;
&lt;br /&gt;
=== Maven ===&lt;br /&gt;
&lt;br /&gt;
Desde Roo se pueden ejecutar varias tareas de Maven sin tener que salir del entorno.&lt;br /&gt;
Por ejemplo:&lt;br /&gt;
* 'perform tests' equivale a 'mvn test'&lt;br /&gt;
* 'perform eclipse' equivale a 'mvn eclipse:eclipse'&lt;br /&gt;
&lt;br /&gt;
=== Seguridad ===&lt;br /&gt;
&lt;br /&gt;
El módulo de seguridad que viene out-of-the-box necesita unos pequeños cambios de configuración.&lt;br /&gt;
De forma predeterminada viene configurado un path segurizado que no corresponde con la aplicación en desarrollo.&lt;br /&gt;
Se invoca mediante la sentencia:&lt;br /&gt;
&lt;br /&gt;
  security setup&lt;br /&gt;
&lt;br /&gt;
== Ejemplos ==&lt;br /&gt;
&lt;br /&gt;
Necesitamos tener correctamente instaladas las siguientes versiones (verificar la configuración de las variables de entorno PATH y JAVA_HOME):&lt;br /&gt;
&lt;br /&gt;
* JDK 1.6 UPDATE 21&lt;br /&gt;
* Spring Roo 1.0.2&lt;br /&gt;
* Apache Maven 2.2.1&lt;br /&gt;
&lt;br /&gt;
para poder ejecutar los siguientes ejemplos: &lt;br /&gt;
&lt;br /&gt;
* [[Ejemplo de uso de script de Roo]]&lt;br /&gt;
* [[Ejemplo de proyecto web para ABMs creado con Roo]]&lt;br /&gt;
* [[Uso de Roo desde SpringSource Tool Suite]]&lt;br /&gt;
&lt;br /&gt;
== Problemas y soluciones ==&lt;br /&gt;
* [[Error durante la ejecución de Roo]]&lt;br /&gt;
* [[Error: archivo con una sección asignada a usuario abierta]]&lt;br /&gt;
* [[No se encuentran las clases de la libreria Jaxb ]]&lt;br /&gt;
* [[No logro descargar los jars del repositorio Maven]]&lt;br /&gt;
* [[SurefireExecutionException: Bad version number in .class file]]&lt;br /&gt;
&lt;br /&gt;
== Para que es ideal ==&lt;br /&gt;
&lt;br /&gt;
* Hacer backends de Administración (ABMs/CRUDs con interfaz Web)&lt;br /&gt;
&lt;br /&gt;
== Lo que le falta ==&lt;br /&gt;
&lt;br /&gt;
* La posibilidad de importar modelos de datos,ya sea desde la base de datos o bien  de un archivo de configuración Hibernate. (próximamente disponible en la versión 1.1.0)&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [http://www.springsource.org/roo/ Web oficial de Spring Roo]&lt;br /&gt;
&lt;br /&gt;
[[Category: Spring Framework]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Archivo:CrearProyectoRoo.jpg&amp;diff=5216</id>
		<title>Archivo:CrearProyectoRoo.jpg</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Archivo:CrearProyectoRoo.jpg&amp;diff=5216"/>
				<updated>2010-07-14T14:29:06Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: Creacion de un proyecto roo con STS.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creacion de un proyecto roo con STS.&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Apache_CXF&amp;diff=2850</id>
		<title>Apache CXF</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Apache_CXF&amp;diff=2850"/>
				<updated>2009-07-28T15:04:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: Página creada con '=== Construcción de un servicio y su cliente con cxf === La noticia [http://www.dosideas.com/java/396-servicios-web-con-apache-cxf.html Servicios web con Apache CXF] da una int...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Construcción de un servicio y su cliente con cxf ===&lt;br /&gt;
La noticia [http://www.dosideas.com/java/396-servicios-web-con-apache-cxf.html Servicios web con Apache CXF] da una introducción a cxf, explica cómo crear un servicio web con cxf y también la creación de un cliente que lo consuma.&lt;br /&gt;
&lt;br /&gt;
=== CXF y Weblogic 9.2 ===&lt;br /&gt;
Deployar una aplicación que utiliza cxf en weblogic 9.2 provoca un conflicto de versiones de las librerías de jax-ws. Para solucionarlo, el archivo weblogic-application.xml debe contener lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;weblogic-application xmlns=&amp;quot;http://www.bea.com/ns/weblogic/90&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;!-- Necesario para evitar conflictos de los jar de jax-ws con los que &lt;br /&gt;
   tiene el jar de weblogic --&amp;gt;&lt;br /&gt;
   &amp;lt;prefer-application-packages&amp;gt;&lt;br /&gt;
       &amp;lt;package-name&amp;gt;org.apache.xerces.*&amp;lt;/package-name&amp;gt;&lt;br /&gt;
       &amp;lt;package-name&amp;gt;javax.jws.*&amp;lt;/package-name&amp;gt;&lt;br /&gt;
   &amp;lt;/prefer-application-packages&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;/weblogic-application&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De esta manera indicamos a weblogic que debe dar prioridad a las clases contenidas en el jar de jax-ws provisto por la aplicación, por sobre la versión de esas mismas clases q están contenidas en el weblogic.jar.&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Colas_De_Mensajes_Con_AquaLogic&amp;diff=2844</id>
		<title>Colas De Mensajes Con AquaLogic</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Colas_De_Mensajes_Con_AquaLogic&amp;diff=2844"/>
				<updated>2009-07-21T14:54:27Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Agregamos otras validaciones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vamos a exponer con [[AquaLogic]] un [[Web Service]] que nos permita enviar un mensaje a una cola de mensajería. Partimos de un [[WSDL]] en donde definimos una operación “enviarFactura” que recibe como parámetro un elemento de tipo factura. Los elementos y tipos de dato de una factura se encuentran definidos en el esquema xml asociado al [[WSDL]].&lt;br /&gt;
&lt;br /&gt;
==La definición del servicio==&lt;br /&gt;
===Wsdl===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;definitions name=&amp;quot;facturaWsdl&amp;quot; targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:wsdl=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
    xmlns:tns=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot; &lt;br /&gt;
    xmlns:ns=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot; &lt;br /&gt;
    xmlns:soap=&amp;quot;http://schemas.xmlsoap.org/wsdl/soap/&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;types&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:schema targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:import namespace=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot; &lt;br /&gt;
                        schemaLocation=&amp;quot;../schema/facturaXmlSchema.xsd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
    &amp;lt;/types&amp;gt;&lt;br /&gt;
    &amp;lt;message name=&amp;quot;enviarFacturaRequest&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;part name=&amp;quot;part1&amp;quot; element=&amp;quot;ns:factura&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/message&amp;gt;&lt;br /&gt;
    &amp;lt;message name=&amp;quot;enviarFacturaResponse&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;portType name=&amp;quot;facturaWsdlPortType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;operation name=&amp;quot;enviarFactura&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input name=&amp;quot;input1&amp;quot; message=&amp;quot;tns:enviarFacturaRequest&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;output name=&amp;quot;output1&amp;quot; message=&amp;quot;tns:enviarFacturaResponse&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/operation&amp;gt;&lt;br /&gt;
    &amp;lt;/portType&amp;gt;&lt;br /&gt;
    &amp;lt;binding name=&amp;quot;facturaWsdlBinding&amp;quot; type=&amp;quot;tns:facturaWsdlPortType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;soap:binding style=&amp;quot;document&amp;quot; transport=&amp;quot;http://schemas.xmlsoap.org/soap/http&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;operation name=&amp;quot;enviarFactura&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:operation/&amp;gt;&lt;br /&gt;
            &amp;lt;input name=&amp;quot;input1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/input&amp;gt;&lt;br /&gt;
            &amp;lt;output name=&amp;quot;output1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/output&amp;gt;&lt;br /&gt;
        &amp;lt;/operation&amp;gt;&lt;br /&gt;
    &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;service name=&amp;quot;facturaWsdlService&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;port name=&amp;quot;facturaWsdlPort&amp;quot; binding=&amp;quot;tns:facturaWsdlBinding&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:address &lt;br /&gt;
        location=&amp;quot;http://localhost:${HttpDefaultPort}/facturaWsdlService/facturaWsdlPort&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/definitions&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===El Esquema XML (XSD)===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot;&lt;br /&gt;
    xmlns:tns=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
    &amp;lt;xsd:element name=&amp;quot;factura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;numeroFactura&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;fecha&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;items&amp;quot; type=&amp;quot;tns:listaItemsFactura&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsd:complexType name=&amp;quot;itemFactura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:all&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;codigoArticulo&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;descripcion&amp;quot; minOccurs=&amp;quot;0&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;cantidad&amp;quot; type=&amp;quot;xsd:int&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;precio&amp;quot; type=&amp;quot;xsd:double&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:all&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsd:complexType name=&amp;quot;listaItemsFactura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;item&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; type=&amp;quot;tns:itemFactura&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Creación del proyecto==&lt;br /&gt;
Recordemos que para crear objetos y/o modificarlos en [[AquaLogic]] se debe crear una sesión y luego activar la misma para que los cambios tengan efecto.&lt;br /&gt;
&lt;br /&gt;
Desde la consola de aqualogic, en el Project Explorer creamos un proyecto llamado &lt;br /&gt;
&amp;quot;demoFactura&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_1.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Para ser ordenados, dentro del proyecto demoFactura creamos una carpeta “envío de facturas”, donde crearemos todos los recursos de esta demo.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_2.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Agregamos el Esquema XML (XSD) == &lt;br /&gt;
&lt;br /&gt;
Para subir el esquema XML al AquaLogic, dentro de nuestra carpeta elegimos la opción XML Schema en el combo “Create Resource:”&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_3.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Le ponemos un nombre al recurso que estamos creando y cargamos el archivo de definición de una factura.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_4.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Después de hacer click en Save vemos que tenemos el archivo xsd cargado correctamente:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_5.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Agregamos el WSDL ==&lt;br /&gt;
Para cargar el wsdl seguimos los mismos pasos que en el apartado anterior, eligiendo en el combo “Create Resource:” la opción WSDL.&lt;br /&gt;
&lt;br /&gt;
Después de dar un nombre al recurso, cargar el archivo .wsdl y guardar los cambios tendremos:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_6.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Creamos un Business Service ==&lt;br /&gt;
El business service será el responsable de enviar el mensaje a la queue. Si elegimos la opción “Business Service” del combo “Create Resource” ingresamos al wizard para configurar este servicio.&lt;br /&gt;
En el primer paso damos un nombre al servicio e indicamos que es de tipo “Messaging Service”.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_7.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Seteamos request y response como texto: &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_8.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Marcamos que se utilizará el protocolo jms y agregamos con el botón Add los destinos del mensaje. El formato de las uri es jms://&amp;lt;host&amp;gt;:&amp;lt;puerto&amp;gt;/&amp;lt;jndi-connection-factory&amp;gt;/&amp;lt;jndi-queue&amp;gt; (Si nuestros jndi contienen “/”, las escapeamos con “.”)&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_9.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Indicamos que el destinatario es una queue y que se enviará un text message.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_10.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
En el último paso del wizard verificamos toda la información ingresada y guardamos los cambios. Entonces ya podemos probar el bussinessService mediante el ícono de “Launch Test Console”:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_11.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Escribimos el texto que viajará en el mensaje y presionamos el botón Execute:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_12.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
El servicio termina correctamente y podemos ver que nuestra queue ha recibido un mensaje con el texto ingresado.&lt;br /&gt;
&lt;br /&gt;
== Creamos un Proxy Service ==&lt;br /&gt;
El Proxy service nos permitirá exponer el servicio para ser invocado vía http. Ingresamos al wizard de configuración eligiendo la opción “Proxy Service” en el combo “Create Resource”.&lt;br /&gt;
Ponemos un nombre al servicio e indicamos que lo vamos a crear a partir de nuestro wsdl, el cual elegimos mediante el botón Browse:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_13.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Marcamos que podrá ser consumido mediante el protocolo http y definimos la url de invocación:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_14.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Dejamos todas las opciones por defecto hasta que termina el wizard y activamos los cambios.&lt;br /&gt;
&lt;br /&gt;
Ahora hay que asociar el Proxy a nuestro business service. Para eso editamos el flujo del mensaje:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_15.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Y definimos un ruteo:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_16.jpg | 750px ]]&lt;br /&gt;
[[Image:Aqualogic_demoFactura_17.jpg | 750px ]]&lt;br /&gt;
[[Image:Aqualogic_demoFactura_18.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Click en el link &amp;lt;service&amp;gt; para buscar nuestro business service y que nos quede así:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_19.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Guardamos los cambios y probamos nuestro Proxy con el ícono de “Launch Test Console”, como hicimos antes con el business service.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_20.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Ejecutado ese request podemos ver que el mensaje completo llegó a la queue correctamente.&lt;br /&gt;
&lt;br /&gt;
== Agregamos el JMSType al mensaje ==&lt;br /&gt;
&lt;br /&gt;
Vamos a editar el routeo entre el proxy y el business service para agregar el JMSType del mensaje que se encola:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_21.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Presionamos Add header y seleccionamos en el combo la opción JMSType:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_22.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Editamos el link &amp;lt;Expression&amp;gt; con el jmsType deseado, en este caso ‘facturaType’. Activamos los cambios y si probamos de nuevo el Proxy vemos que el mensaje se encola con el type indicado.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_23.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Validamos el mensaje contra el esquema xml ==&lt;br /&gt;
&lt;br /&gt;
Si probamos sacando del request el tag numeroFactura, que es requerido según el .xsd,  vemos que la petición no falla. Esto se debe a que debemos indicar a aqualogic explícitamente que valide la petición contra el esquema XML. &lt;br /&gt;
Para eso editamos el routeo de nuevo y en primer lugar, creamos una variable: &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_24.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
A la variable le ponemos como nombre facturaSoapRequest. En la edición del link &amp;lt;expression&amp;gt; podemos navegar en “Variable Structures” buscando la parte del mensaje que se quiere asignar a la variable, en este caso la factura dentro del apartado body del request. &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_25.JPG | 550px ]]&lt;br /&gt;
&lt;br /&gt;
Y (como no se puede hacer drag and drop) copiamos la expresión desde el property inspector:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_26.JPG | 550px ]]&lt;br /&gt;
&lt;br /&gt;
Ahora agregamos la acción de validación propiamente dicha. Lo que hacemos es indicar que verifique el contenido de la variable que definimos recién contra el esquema xml.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_27.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
En variable ponemos la que definimos recién, facturaSoapRequest, y en &amp;lt;resource&amp;gt; buscamos nuestro xsd.&lt;br /&gt;
Además, elegimos la opción de que lance un fault en caso de que el mensaje no se corresponda con el esquema y nos queda así:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_28.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Guardamos los cambios y probando el Proxy verificamos que si no le pasamos el tag numeroFactura la respuesta es:&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;
      &amp;lt;soapenv:Fault&amp;gt;&lt;br /&gt;
         &amp;lt;faultcode&amp;gt;soapenv:Server&amp;lt;/faultcode&amp;gt; &lt;br /&gt;
         &amp;lt;faultstring&amp;gt;&lt;br /&gt;
            BEA-382505: ALSB Validate action failed validation&lt;br /&gt;
        &amp;lt;/faultstring&amp;gt;&lt;br /&gt;
        &amp;lt;detail&amp;gt;&lt;br /&gt;
           &amp;lt;con:fault xmlns:con=&amp;quot;http://www.bea.com/wli/sb/context&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;con:errorCode&amp;gt;BEA-382505&amp;lt;/con:errorCode&amp;gt;&lt;br /&gt;
           &amp;lt;con:reason&amp;gt;ALSB Validate action failed validation&amp;lt;/con:reason&amp;gt;&lt;br /&gt;
           &amp;lt;con:details&amp;gt;&lt;br /&gt;
              &amp;lt;con1:ValidationFailureDetail &lt;br /&gt;
                    xmlns:con1=&amp;quot;http://www.bea.com/wli/sb/stages/transform/config&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;con1:message&amp;gt;&lt;br /&gt;
                 Expected element &lt;br /&gt;
                     'numeroFactura@http://xml.netbeans.org/schema/facturaXmlSchema' &lt;br /&gt;
                 instead of                         &lt;br /&gt;
                     'fecha@http://xml.netbeans.org/schema/facturaXmlSchema' &lt;br /&gt;
                 here in element factura@http://xml.netbeans.org/schema/facturaXmlSchema&lt;br /&gt;
              &amp;lt;/con1:message&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
…&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agregamos otras validaciones ==&lt;br /&gt;
&lt;br /&gt;
Vamos a agregar como ejemplo, que el Proxy verifique que el número de la factura no supere los 8 caracteres. Para ello editamos el ruteo nuevamente y si creamos una acción&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_29.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Nos agrega:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_30.JPG | 250px ]]&lt;br /&gt;
&lt;br /&gt;
Editamos el link &amp;lt;condition&amp;gt; buscando variables y funciones de x-query (y siempre copiando del property inspector) hasta que tengamos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_31.JPG | 550px ]]&lt;br /&gt;
&lt;br /&gt;
Y en Add action agregamos un fault:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_32.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Completamos el código y mensaje para el error:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_33.JPG | 550px ]]&lt;br /&gt;
&lt;br /&gt;
Activamos los cambios y verificamos el fault cuando invocamos al servicio con un número de factura mayor a 8 caracteres:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_34.JPG | 550px ]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Colas_De_Mensajes_Con_AquaLogic&amp;diff=2843</id>
		<title>Colas De Mensajes Con AquaLogic</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Colas_De_Mensajes_Con_AquaLogic&amp;diff=2843"/>
				<updated>2009-07-21T14:52:45Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Validamos el mensaje contra el esquema xml */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vamos a exponer con [[AquaLogic]] un [[Web Service]] que nos permita enviar un mensaje a una cola de mensajería. Partimos de un [[WSDL]] en donde definimos una operación “enviarFactura” que recibe como parámetro un elemento de tipo factura. Los elementos y tipos de dato de una factura se encuentran definidos en el esquema xml asociado al [[WSDL]].&lt;br /&gt;
&lt;br /&gt;
==La definición del servicio==&lt;br /&gt;
===Wsdl===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;definitions name=&amp;quot;facturaWsdl&amp;quot; targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:wsdl=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
    xmlns:tns=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot; &lt;br /&gt;
    xmlns:ns=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot; &lt;br /&gt;
    xmlns:soap=&amp;quot;http://schemas.xmlsoap.org/wsdl/soap/&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;types&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:schema targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:import namespace=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot; &lt;br /&gt;
                        schemaLocation=&amp;quot;../schema/facturaXmlSchema.xsd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
    &amp;lt;/types&amp;gt;&lt;br /&gt;
    &amp;lt;message name=&amp;quot;enviarFacturaRequest&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;part name=&amp;quot;part1&amp;quot; element=&amp;quot;ns:factura&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/message&amp;gt;&lt;br /&gt;
    &amp;lt;message name=&amp;quot;enviarFacturaResponse&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;portType name=&amp;quot;facturaWsdlPortType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;operation name=&amp;quot;enviarFactura&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input name=&amp;quot;input1&amp;quot; message=&amp;quot;tns:enviarFacturaRequest&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;output name=&amp;quot;output1&amp;quot; message=&amp;quot;tns:enviarFacturaResponse&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/operation&amp;gt;&lt;br /&gt;
    &amp;lt;/portType&amp;gt;&lt;br /&gt;
    &amp;lt;binding name=&amp;quot;facturaWsdlBinding&amp;quot; type=&amp;quot;tns:facturaWsdlPortType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;soap:binding style=&amp;quot;document&amp;quot; transport=&amp;quot;http://schemas.xmlsoap.org/soap/http&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;operation name=&amp;quot;enviarFactura&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:operation/&amp;gt;&lt;br /&gt;
            &amp;lt;input name=&amp;quot;input1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/input&amp;gt;&lt;br /&gt;
            &amp;lt;output name=&amp;quot;output1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/output&amp;gt;&lt;br /&gt;
        &amp;lt;/operation&amp;gt;&lt;br /&gt;
    &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;service name=&amp;quot;facturaWsdlService&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;port name=&amp;quot;facturaWsdlPort&amp;quot; binding=&amp;quot;tns:facturaWsdlBinding&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:address &lt;br /&gt;
        location=&amp;quot;http://localhost:${HttpDefaultPort}/facturaWsdlService/facturaWsdlPort&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/definitions&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===El Esquema XML (XSD)===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot;&lt;br /&gt;
    xmlns:tns=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
    &amp;lt;xsd:element name=&amp;quot;factura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;numeroFactura&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;fecha&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;items&amp;quot; type=&amp;quot;tns:listaItemsFactura&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsd:complexType name=&amp;quot;itemFactura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:all&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;codigoArticulo&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;descripcion&amp;quot; minOccurs=&amp;quot;0&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;cantidad&amp;quot; type=&amp;quot;xsd:int&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;precio&amp;quot; type=&amp;quot;xsd:double&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:all&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsd:complexType name=&amp;quot;listaItemsFactura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;item&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; type=&amp;quot;tns:itemFactura&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Creación del proyecto==&lt;br /&gt;
Recordemos que para crear objetos y/o modificarlos en [[AquaLogic]] se debe crear una sesión y luego activar la misma para que los cambios tengan efecto.&lt;br /&gt;
&lt;br /&gt;
Desde la consola de aqualogic, en el Project Explorer creamos un proyecto llamado &lt;br /&gt;
&amp;quot;demoFactura&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_1.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Para ser ordenados, dentro del proyecto demoFactura creamos una carpeta “envío de facturas”, donde crearemos todos los recursos de esta demo.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_2.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Agregamos el Esquema XML (XSD) == &lt;br /&gt;
&lt;br /&gt;
Para subir el esquema XML al AquaLogic, dentro de nuestra carpeta elegimos la opción XML Schema en el combo “Create Resource:”&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_3.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Le ponemos un nombre al recurso que estamos creando y cargamos el archivo de definición de una factura.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_4.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Después de hacer click en Save vemos que tenemos el archivo xsd cargado correctamente:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_5.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Agregamos el WSDL ==&lt;br /&gt;
Para cargar el wsdl seguimos los mismos pasos que en el apartado anterior, eligiendo en el combo “Create Resource:” la opción WSDL.&lt;br /&gt;
&lt;br /&gt;
Después de dar un nombre al recurso, cargar el archivo .wsdl y guardar los cambios tendremos:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_6.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Creamos un Business Service ==&lt;br /&gt;
El business service será el responsable de enviar el mensaje a la queue. Si elegimos la opción “Business Service” del combo “Create Resource” ingresamos al wizard para configurar este servicio.&lt;br /&gt;
En el primer paso damos un nombre al servicio e indicamos que es de tipo “Messaging Service”.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_7.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Seteamos request y response como texto: &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_8.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Marcamos que se utilizará el protocolo jms y agregamos con el botón Add los destinos del mensaje. El formato de las uri es jms://&amp;lt;host&amp;gt;:&amp;lt;puerto&amp;gt;/&amp;lt;jndi-connection-factory&amp;gt;/&amp;lt;jndi-queue&amp;gt; (Si nuestros jndi contienen “/”, las escapeamos con “.”)&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_9.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Indicamos que el destinatario es una queue y que se enviará un text message.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_10.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
En el último paso del wizard verificamos toda la información ingresada y guardamos los cambios. Entonces ya podemos probar el bussinessService mediante el ícono de “Launch Test Console”:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_11.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Escribimos el texto que viajará en el mensaje y presionamos el botón Execute:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_12.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
El servicio termina correctamente y podemos ver que nuestra queue ha recibido un mensaje con el texto ingresado.&lt;br /&gt;
&lt;br /&gt;
== Creamos un Proxy Service ==&lt;br /&gt;
El Proxy service nos permitirá exponer el servicio para ser invocado vía http. Ingresamos al wizard de configuración eligiendo la opción “Proxy Service” en el combo “Create Resource”.&lt;br /&gt;
Ponemos un nombre al servicio e indicamos que lo vamos a crear a partir de nuestro wsdl, el cual elegimos mediante el botón Browse:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_13.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Marcamos que podrá ser consumido mediante el protocolo http y definimos la url de invocación:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_14.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Dejamos todas las opciones por defecto hasta que termina el wizard y activamos los cambios.&lt;br /&gt;
&lt;br /&gt;
Ahora hay que asociar el Proxy a nuestro business service. Para eso editamos el flujo del mensaje:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_15.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Y definimos un ruteo:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_16.jpg | 750px ]]&lt;br /&gt;
[[Image:Aqualogic_demoFactura_17.jpg | 750px ]]&lt;br /&gt;
[[Image:Aqualogic_demoFactura_18.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Click en el link &amp;lt;service&amp;gt; para buscar nuestro business service y que nos quede así:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_19.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Guardamos los cambios y probamos nuestro Proxy con el ícono de “Launch Test Console”, como hicimos antes con el business service.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_20.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Ejecutado ese request podemos ver que el mensaje completo llegó a la queue correctamente.&lt;br /&gt;
&lt;br /&gt;
== Agregamos el JMSType al mensaje ==&lt;br /&gt;
&lt;br /&gt;
Vamos a editar el routeo entre el proxy y el business service para agregar el JMSType del mensaje que se encola:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_21.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Presionamos Add header y seleccionamos en el combo la opción JMSType:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_22.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Editamos el link &amp;lt;Expression&amp;gt; con el jmsType deseado, en este caso ‘facturaType’. Activamos los cambios y si probamos de nuevo el Proxy vemos que el mensaje se encola con el type indicado.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_23.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Validamos el mensaje contra el esquema xml ==&lt;br /&gt;
&lt;br /&gt;
Si probamos sacando del request el tag numeroFactura, que es requerido según el .xsd,  vemos que la petición no falla. Esto se debe a que debemos indicar a aqualogic explícitamente que valide la petición contra el esquema XML. &lt;br /&gt;
Para eso editamos el routeo de nuevo y en primer lugar, creamos una variable: &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_24.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
A la variable le ponemos como nombre facturaSoapRequest. En la edición del link &amp;lt;expression&amp;gt; podemos navegar en “Variable Structures” buscando la parte del mensaje que se quiere asignar a la variable, en este caso la factura dentro del apartado body del request. &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_25.JPG | 550px ]]&lt;br /&gt;
&lt;br /&gt;
Y (como no se puede hacer drag and drop) copiamos la expresión desde el property inspector:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_26.JPG | 550px ]]&lt;br /&gt;
&lt;br /&gt;
Ahora agregamos la acción de validación propiamente dicha. Lo que hacemos es indicar que verifique el contenido de la variable que definimos recién contra el esquema xml.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_27.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
En variable ponemos la que definimos recién, facturaSoapRequest, y en &amp;lt;resource&amp;gt; buscamos nuestro xsd.&lt;br /&gt;
Además, elegimos la opción de que lance un fault en caso de que el mensaje no se corresponda con el esquema y nos queda así:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_28.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Guardamos los cambios y probando el Proxy verificamos que si no le pasamos el tag numeroFactura la respuesta es:&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;
      &amp;lt;soapenv:Fault&amp;gt;&lt;br /&gt;
         &amp;lt;faultcode&amp;gt;soapenv:Server&amp;lt;/faultcode&amp;gt; &lt;br /&gt;
         &amp;lt;faultstring&amp;gt;&lt;br /&gt;
            BEA-382505: ALSB Validate action failed validation&lt;br /&gt;
        &amp;lt;/faultstring&amp;gt;&lt;br /&gt;
        &amp;lt;detail&amp;gt;&lt;br /&gt;
           &amp;lt;con:fault xmlns:con=&amp;quot;http://www.bea.com/wli/sb/context&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;con:errorCode&amp;gt;BEA-382505&amp;lt;/con:errorCode&amp;gt;&lt;br /&gt;
           &amp;lt;con:reason&amp;gt;ALSB Validate action failed validation&amp;lt;/con:reason&amp;gt;&lt;br /&gt;
           &amp;lt;con:details&amp;gt;&lt;br /&gt;
              &amp;lt;con1:ValidationFailureDetail &lt;br /&gt;
                    xmlns:con1=&amp;quot;http://www.bea.com/wli/sb/stages/transform/config&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;con1:message&amp;gt;&lt;br /&gt;
                 Expected element &lt;br /&gt;
                     'numeroFactura@http://xml.netbeans.org/schema/facturaXmlSchema' &lt;br /&gt;
                 instead of                         &lt;br /&gt;
                     'fecha@http://xml.netbeans.org/schema/facturaXmlSchema' &lt;br /&gt;
                 here in element factura@http://xml.netbeans.org/schema/facturaXmlSchema&lt;br /&gt;
              &amp;lt;/con1:message&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
…&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agregamos otras validaciones ==&lt;br /&gt;
&lt;br /&gt;
Vamos a agregar como ejemplo, que el Proxy verifique que el número de la factura no supere los 8 caracteres. Para ello editamos el ruteo nuevamente y si creamos una acción&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_29.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Nos agrega:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_30.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Editamos el link &amp;lt;condition&amp;gt; buscando variables y funciones de x-query (y siempre copiando del property inspector) hasta que tengamos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_31.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Y en Add action agregamos un fault:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_32.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Completamos el código y mensaje para el error:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_33.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Activamos los cambios y verificamos el fault cuando invocamos al servicio con un número de factura mayor a 8 caracteres:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_34.JPG | 750px ]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Colas_De_Mensajes_Con_AquaLogic&amp;diff=2842</id>
		<title>Colas De Mensajes Con AquaLogic</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Colas_De_Mensajes_Con_AquaLogic&amp;diff=2842"/>
				<updated>2009-07-21T14:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;Ale holman: /* Validamos el mensaje contra el esquema xml */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vamos a exponer con [[AquaLogic]] un [[Web Service]] que nos permita enviar un mensaje a una cola de mensajería. Partimos de un [[WSDL]] en donde definimos una operación “enviarFactura” que recibe como parámetro un elemento de tipo factura. Los elementos y tipos de dato de una factura se encuentran definidos en el esquema xml asociado al [[WSDL]].&lt;br /&gt;
&lt;br /&gt;
==La definición del servicio==&lt;br /&gt;
===Wsdl===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;definitions name=&amp;quot;facturaWsdl&amp;quot; targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot;&lt;br /&gt;
    xmlns=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:wsdl=&amp;quot;http://schemas.xmlsoap.org/wsdl/&amp;quot;&lt;br /&gt;
    xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; &lt;br /&gt;
    xmlns:tns=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot; &lt;br /&gt;
    xmlns:ns=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot; &lt;br /&gt;
    xmlns:soap=&amp;quot;http://schemas.xmlsoap.org/wsdl/soap/&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;types&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:schema targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/facturaWsdl&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:import namespace=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot; &lt;br /&gt;
                        schemaLocation=&amp;quot;../schema/facturaXmlSchema.xsd&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
    &amp;lt;/types&amp;gt;&lt;br /&gt;
    &amp;lt;message name=&amp;quot;enviarFacturaRequest&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;part name=&amp;quot;part1&amp;quot; element=&amp;quot;ns:factura&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/message&amp;gt;&lt;br /&gt;
    &amp;lt;message name=&amp;quot;enviarFacturaResponse&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;portType name=&amp;quot;facturaWsdlPortType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;operation name=&amp;quot;enviarFactura&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;input name=&amp;quot;input1&amp;quot; message=&amp;quot;tns:enviarFacturaRequest&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;output name=&amp;quot;output1&amp;quot; message=&amp;quot;tns:enviarFacturaResponse&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/operation&amp;gt;&lt;br /&gt;
    &amp;lt;/portType&amp;gt;&lt;br /&gt;
    &amp;lt;binding name=&amp;quot;facturaWsdlBinding&amp;quot; type=&amp;quot;tns:facturaWsdlPortType&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;soap:binding style=&amp;quot;document&amp;quot; transport=&amp;quot;http://schemas.xmlsoap.org/soap/http&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;operation name=&amp;quot;enviarFactura&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:operation/&amp;gt;&lt;br /&gt;
            &amp;lt;input name=&amp;quot;input1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/input&amp;gt;&lt;br /&gt;
            &amp;lt;output name=&amp;quot;output1&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;soap:body use=&amp;quot;literal&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/output&amp;gt;&lt;br /&gt;
        &amp;lt;/operation&amp;gt;&lt;br /&gt;
    &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;service name=&amp;quot;facturaWsdlService&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;port name=&amp;quot;facturaWsdlPort&amp;quot; binding=&amp;quot;tns:facturaWsdlBinding&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;soap:address &lt;br /&gt;
        location=&amp;quot;http://localhost:${HttpDefaultPort}/facturaWsdlService/facturaWsdlPort&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/port&amp;gt;&lt;br /&gt;
    &amp;lt;/service&amp;gt;&lt;br /&gt;
&amp;lt;/definitions&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===El Esquema XML (XSD)===&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsd:schema xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;br /&gt;
    targetNamespace=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot;&lt;br /&gt;
    xmlns:tns=&amp;quot;http://xml.netbeans.org/schema/facturaXmlSchema&amp;quot;&lt;br /&gt;
    elementFormDefault=&amp;quot;qualified&amp;quot;&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
    &amp;lt;xsd:element name=&amp;quot;factura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;numeroFactura&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;fecha&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;xsd:element name=&amp;quot;items&amp;quot; type=&amp;quot;tns:listaItemsFactura&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsd:complexType name=&amp;quot;itemFactura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:all&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;codigoArticulo&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;descripcion&amp;quot; minOccurs=&amp;quot;0&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;cantidad&amp;quot; type=&amp;quot;xsd:int&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;precio&amp;quot; type=&amp;quot;xsd:double&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:all&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;xsd:complexType name=&amp;quot;listaItemsFactura&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xsd:element name=&amp;quot;item&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; type=&amp;quot;tns:itemFactura&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Creación del proyecto==&lt;br /&gt;
Recordemos que para crear objetos y/o modificarlos en [[AquaLogic]] se debe crear una sesión y luego activar la misma para que los cambios tengan efecto.&lt;br /&gt;
&lt;br /&gt;
Desde la consola de aqualogic, en el Project Explorer creamos un proyecto llamado &lt;br /&gt;
&amp;quot;demoFactura&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_1.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Para ser ordenados, dentro del proyecto demoFactura creamos una carpeta “envío de facturas”, donde crearemos todos los recursos de esta demo.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_2.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Agregamos el Esquema XML (XSD) == &lt;br /&gt;
&lt;br /&gt;
Para subir el esquema XML al AquaLogic, dentro de nuestra carpeta elegimos la opción XML Schema en el combo “Create Resource:”&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_3.jpg ]]&lt;br /&gt;
&lt;br /&gt;
Le ponemos un nombre al recurso que estamos creando y cargamos el archivo de definición de una factura.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_4.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Después de hacer click en Save vemos que tenemos el archivo xsd cargado correctamente:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_5.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Agregamos el WSDL ==&lt;br /&gt;
Para cargar el wsdl seguimos los mismos pasos que en el apartado anterior, eligiendo en el combo “Create Resource:” la opción WSDL.&lt;br /&gt;
&lt;br /&gt;
Después de dar un nombre al recurso, cargar el archivo .wsdl y guardar los cambios tendremos:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_6.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Creamos un Business Service ==&lt;br /&gt;
El business service será el responsable de enviar el mensaje a la queue. Si elegimos la opción “Business Service” del combo “Create Resource” ingresamos al wizard para configurar este servicio.&lt;br /&gt;
En el primer paso damos un nombre al servicio e indicamos que es de tipo “Messaging Service”.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_7.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Seteamos request y response como texto: &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_8.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Marcamos que se utilizará el protocolo jms y agregamos con el botón Add los destinos del mensaje. El formato de las uri es jms://&amp;lt;host&amp;gt;:&amp;lt;puerto&amp;gt;/&amp;lt;jndi-connection-factory&amp;gt;/&amp;lt;jndi-queue&amp;gt; (Si nuestros jndi contienen “/”, las escapeamos con “.”)&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_9.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Indicamos que el destinatario es una queue y que se enviará un text message.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_10.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
En el último paso del wizard verificamos toda la información ingresada y guardamos los cambios. Entonces ya podemos probar el bussinessService mediante el ícono de “Launch Test Console”:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_11.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Escribimos el texto que viajará en el mensaje y presionamos el botón Execute:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_12.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
El servicio termina correctamente y podemos ver que nuestra queue ha recibido un mensaje con el texto ingresado.&lt;br /&gt;
&lt;br /&gt;
== Creamos un Proxy Service ==&lt;br /&gt;
El Proxy service nos permitirá exponer el servicio para ser invocado vía http. Ingresamos al wizard de configuración eligiendo la opción “Proxy Service” en el combo “Create Resource”.&lt;br /&gt;
Ponemos un nombre al servicio e indicamos que lo vamos a crear a partir de nuestro wsdl, el cual elegimos mediante el botón Browse:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_13.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Marcamos que podrá ser consumido mediante el protocolo http y definimos la url de invocación:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_14.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Dejamos todas las opciones por defecto hasta que termina el wizard y activamos los cambios.&lt;br /&gt;
&lt;br /&gt;
Ahora hay que asociar el Proxy a nuestro business service. Para eso editamos el flujo del mensaje:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_15.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Y definimos un ruteo:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_16.jpg | 750px ]]&lt;br /&gt;
[[Image:Aqualogic_demoFactura_17.jpg | 750px ]]&lt;br /&gt;
[[Image:Aqualogic_demoFactura_18.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Click en el link &amp;lt;service&amp;gt; para buscar nuestro business service y que nos quede así:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_19.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Guardamos los cambios y probamos nuestro Proxy con el ícono de “Launch Test Console”, como hicimos antes con el business service.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_20.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Ejecutado ese request podemos ver que el mensaje completo llegó a la queue correctamente.&lt;br /&gt;
&lt;br /&gt;
== Agregamos el JMSType al mensaje ==&lt;br /&gt;
&lt;br /&gt;
Vamos a editar el routeo entre el proxy y el business service para agregar el JMSType del mensaje que se encola:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_21.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Presionamos Add header y seleccionamos en el combo la opción JMSType:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_22.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Editamos el link &amp;lt;Expression&amp;gt; con el jmsType deseado, en este caso ‘facturaType’. Activamos los cambios y si probamos de nuevo el Proxy vemos que el mensaje se encola con el type indicado.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_23.jpg | 750px ]]&lt;br /&gt;
&lt;br /&gt;
== Validamos el mensaje contra el esquema xml ==&lt;br /&gt;
&lt;br /&gt;
Si probamos sacando del request el tag numeroFactura, que es requerido según el .xsd,  vemos que la petición no falla. Esto se debe a que debemos indicar a aqualogic explícitamente que valide la petición contra el esquema XML. &lt;br /&gt;
Para eso editamos el routeo de nuevo y en primer lugar, creamos una variable: &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_24.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
A la variable le ponemos como nombre facturaSoapRequest. En la edición del link &amp;lt;expression&amp;gt; podemos navegar en “Variable Structures” buscando la parte del mensaje que se quiere asignar a la variable, en este caso la factura dentro del apartado body del request. &lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_25.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Y (como no se puede hacer drag and drop) copiamos la expresión desde el property inspector:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_26.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Ahora agregamos la acción de validación propiamente dicha. Lo que hacemos es indicar que verifique el contenido de la variable que definimos recién contra el esquema xml.&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_27.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
En variable ponemos la que definimos recién, facturaSoapRequest, y en &amp;lt;resource&amp;gt; buscamos nuestro xsd.&lt;br /&gt;
Además, elegimos la opción de que lance un fault en caso de que el mensaje no se corresponda con el esquema y nos queda así:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_28.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Guardamos los cambios y probando el Proxy verificamos que si no le pasamos el tag numeroFactura la respuesta es:&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;
      &amp;lt;soapenv:Fault&amp;gt;&lt;br /&gt;
         &amp;lt;faultcode&amp;gt;soapenv:Server&amp;lt;/faultcode&amp;gt; &lt;br /&gt;
         &amp;lt;faultstring&amp;gt;&lt;br /&gt;
            BEA-382505: ALSB Validate action failed validation&lt;br /&gt;
        &amp;lt;/faultstring&amp;gt;&lt;br /&gt;
        &amp;lt;detail&amp;gt;&lt;br /&gt;
           &amp;lt;con:fault xmlns:con=&amp;quot;http://www.bea.com/wli/sb/context&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;con:errorCode&amp;gt;BEA-382505&amp;lt;/con:errorCode&amp;gt;&lt;br /&gt;
           &amp;lt;con:reason&amp;gt;ALSB Validate action failed validation&amp;lt;/con:reason&amp;gt;&lt;br /&gt;
           &amp;lt;con:details&amp;gt;&lt;br /&gt;
              &amp;lt;con1:ValidationFailureDetail &lt;br /&gt;
                    xmlns:con1=&amp;quot;http://www.bea.com/wli/sb/stages/transform/config&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;con1:message&amp;gt;&lt;br /&gt;
                 Expected element &lt;br /&gt;
                     'numeroFactura@http://xml.netbeans.org/schema/facturaXmlSchema' &lt;br /&gt;
                 instead of                         &lt;br /&gt;
                     'fecha@http://xml.netbeans.org/schema/facturaXmlSchema' &lt;br /&gt;
                 here in element factura@http://xml.netbeans.org/schema/facturaXmlSchema&lt;br /&gt;
              &amp;lt;/con1:message&amp;gt;&lt;br /&gt;
…&lt;br /&gt;
…&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agregamos otras validaciones ==&lt;br /&gt;
&lt;br /&gt;
Vamos a agregar como ejemplo, que el Proxy verifique que el número de la factura no supere los 8 caracteres. Para ello editamos el ruteo nuevamente y si creamos una acción&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_29.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Nos agrega:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_30.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Editamos el link &amp;lt;condition&amp;gt; buscando variables y funciones de x-query (y siempre copiando del property inspector) hasta que tengamos la siguiente expresión:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_31.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Y en Add action agregamos un fault:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_32.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Completamos el código y mensaje para el error:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_33.JPG | 750px ]]&lt;br /&gt;
&lt;br /&gt;
Activamos los cambios y verificamos el fault cuando invocamos al servicio con un número de factura mayor a 8 caracteres:&lt;br /&gt;
&lt;br /&gt;
[[Image:Aqualogic_demoFactura_34.JPG | 750px ]]&lt;/div&gt;</summary>
		<author><name>Ale holman</name></author>	</entry>

	</feed>