<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5898698085431038245</id><updated>2012-01-27T21:31:08.508+01:00</updated><category term='jrockit'/><category term='portlets'/><category term='javascript'/><category term='hooks'/><category term='ESB'/><category term='manuales'/><category term='VirtualBox'/><category term='junit'/><category term='webcenter'/><category term='glassfish'/><category term='maven'/><category term='selenium'/><category term='tomcat'/><category term='OSGI'/><category term='open source'/><category term='linkedin'/><category term='Kenai'/><category term='SOA'/><category term='RIA'/><category term='hsql'/><category term='Certificaciones Java'/><category term='arquitectura'/><category term='jdeveloper'/><category term='liferay'/><category term='jrebel'/><category term='TDD'/><category term='portales'/><category term='spring'/><category term='mime-types'/><category term='eclipse'/><category term='mashup'/><category term='errores'/><category term='JSON'/><category term='conferencias'/><category term='JEE'/><category term='reporting'/><category term='facebook'/><category term='metodologías ágiles'/><category term='hibernate'/><category term='97 Things Every Software Architect Should Know'/><category term='i18n'/><category term='iis'/><category term='ant'/><category term='jsf'/><category term='gestión de proyectos'/><category term='mysql'/><category term='REST'/><category term='ajax'/><category term='webservices'/><category term='Webinar'/><category term='Gestores documentales'/><category term='BPM'/><category term='beehive'/><category term='bash'/><category term='TOGAF'/><category term='Google App Engine'/><category term='fábulas'/><category term='case'/><category term='oracle'/><category term='ADF'/><category term='netbeans'/><category term='mensajeria'/><category term='SCRUM'/><category term='análisis'/><category term='ehcache'/><category term='Agile'/><category term='twitter'/><category term='html'/><category term='weblogic'/><category term='patrones'/><category term='persistencia'/><category term='ubuntu'/><category term='hrds'/><category term='CMMI'/><category term='svn'/><title type='text'>Desarrollo JAVA</title><subtitle type='html'>Pequeños apuntes de referencia</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default?start-index=101&amp;max-results=100'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>214</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2302758662312300899</id><published>2012-01-26T23:53:00.000+01:00</published><updated>2012-01-26T23:53:48.895+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Cambiar puerto HTTP de Oracle XE</title><content type='html'>Por defecto cuando se instala Oracle XE, este suele ocupar el puerto http 8080(curiosamente el que ocupa por defecto Tomcat), para ofrecer una consola administrativa via web. Pero hay ocasiones en las que este puerto es necesario para realizar alguna otra prueba.&lt;br /&gt;&lt;br /&gt;Para cambiarlo hay que realizar los siguientes pasos:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Conectar con el sqlplus usando el usuario system&lt;/li&gt;&lt;li&gt;Una vez conectado usar el comando EXEC DBMS_XDB.SETHTTPPORT&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-TSPKzqEGsXw/TyHYd_nv2eI/AAAAAAAAAbM/0K6Xhi18hD0/s1600/xe_http_port.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://2.bp.blogspot.com/-TSPKzqEGsXw/TyHYd_nv2eI/AAAAAAAAAbM/0K6Xhi18hD0/s320/xe_http_port.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2302758662312300899?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2302758662312300899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2302758662312300899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2302758662312300899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2302758662312300899'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2012/01/cambiar-puerto-http-de-oracle-xe.html' title='Cambiar puerto HTTP de Oracle XE'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-TSPKzqEGsXw/TyHYd_nv2eI/AAAAAAAAAbM/0K6Xhi18hD0/s72-c/xe_http_port.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7451238215931322115</id><published>2012-01-23T21:36:00.000+01:00</published><updated>2012-01-23T21:36:50.759+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='jdeveloper'/><title type='text'>Ocultando Bounded Task Flows en adfLibs</title><content type='html'>Por definición las librerias ADF, estan compuestas de un conjunto de Task Flows que interactuan unos con otros, pero hay ocasiones en que ciertos BTF son de uso interno y no interesa que se puedan utilizar directamente desde las aplicaciones que las referencian; es decir ocultarlos.&lt;br /&gt;&lt;br /&gt;Para ocultar un task flow, en el  hay que hacer los siguientes pasos:&lt;ol&gt;&lt;li&gt;Añadir un fichero &lt;b&gt;manifest&lt;/b&gt; al perfil de despliegue &lt;b&gt;adflib&lt;/b&gt; del proyecto.&lt;/li&gt;&lt;li&gt;En la entrada &lt;b&gt;Bundle-Classes&lt;/b&gt; se apunta a un fichero &lt;b&gt;properties&lt;/b&gt; que debe estar en la raiz de la carpeta src del proyecto.&lt;/li&gt;&lt;li&gt;En el fichero &lt;b&gt;properties&lt;/b&gt; hay que registrar el TF interno con la propiedad &lt;b&gt;visible&lt;/b&gt; a &lt;b&gt;false&lt;/b&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;blockquote&gt;ADF_TaskFlow|WEB-INF/TFInterno.xml#TFInterno.visible=false&lt;/blockquote&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7451238215931322115?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7451238215931322115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7451238215931322115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7451238215931322115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7451238215931322115'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2012/01/ocultando-bounded-task-flows-en-adflibs.html' title='Ocultando Bounded Task Flows en adfLibs'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6132072808074348432</id><published>2012-01-13T15:21:00.002+01:00</published><updated>2012-01-13T15:22:34.572+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jdeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><title type='text'>Weblogic ClassCastException EmbeddedLDAP.start</title><content type='html'>&lt;b&gt;Entorno&lt;/b&gt;: JDeveloper sobre Ubuntu&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Traza del error&lt;/b&gt;:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;...7:43:58 PM CET&gt; &amp;lt;Critical&gt; &amp;lt;WebLogicServer&gt; &amp;lt;BEA-000362&gt; &amp;lt;Server failed. Reason: &lt;br /&gt;&lt;br /&gt;There are 1 nested errors:&lt;br /&gt;&lt;br /&gt;java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard&lt;br /&gt;at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:303)&lt;br /&gt;at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)&lt;br /&gt;at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)&lt;br /&gt;at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)&lt;br /&gt;&lt;br /&gt;&gt; &lt;br /&gt;&amp;lt;... 7:44:08 PM CET&gt; &amp;lt;Notice&gt; &amp;lt;WebLogicServer&gt; &amp;lt;BEA-000365&gt; &amp;lt;Server state changed to FAILED&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Solución&lt;/b&gt;: En los foros de oracle se habla sobre borrar una carpeta llamada ldap dentro del dominio, entre otras, la mía fue borrar el directorio "&lt;b&gt;.jdeveloper&lt;/b&gt;" de mi perfil de usuario y se acabo el problema :-)&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6132072808074348432?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6132072808074348432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6132072808074348432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6132072808074348432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6132072808074348432'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2012/01/weblogic-classcastexception.html' title='Weblogic ClassCastException EmbeddedLDAP.start'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2050097706972955185</id><published>2012-01-01T11:44:00.001+01:00</published><updated>2012-01-01T11:48:20.398+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Desplegar automáticamente el detailStamp de una af:table después de un insert</title><content type='html'>Asumiendo que estamos mostrando los datos de la tabla &lt;b&gt;Country &lt;/b&gt;en una tabla de ADF Faces, y que cada registro tiene un detalle donde por ejemplo se administran sus provincias, que se debe desplegar automáticamente cada vez que se inserta un nuevo país, la vista quedaría de la siguiente forma:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;&amp;lt;af:table value="#{bindings.CountryView2.collectionModel}"&lt;br /&gt;var="row" rows="#{bindings.CountryView2.rangeSize}"&lt;br /&gt;selectedRowKeys="#{bindings.CountryView2.collectionModel.selectedRow}"&lt;br /&gt;selectionListener="#{bindings.CountryView2.collectionModel.makeCurrent}"&lt;br /&gt;partialTriggers="::ctbAddCountry ::ctbDelCountry"&lt;br /&gt;rowSelection="single" id="t5"&lt;br /&gt;rowDisclosureListener="#{CrudsBean.disclosureListenerCountry}"&lt;br /&gt;binding="&lt;i&gt;#{CrudsBean.CountryTable}&lt;/i&gt;"&lt;br /&gt;&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;En el backing bean deberíamos tener una propiedad del tipo RichTable el cual es enlazado desde la vista(&lt;i&gt;#{CrudsBean.CountryTable}&lt;/i&gt;) y la acción que se invoca para añadir un registro en la colección que muestra la tabla(&lt;i&gt;ctbAddCountryAction&lt;/i&gt;), el código final sería algo como por ejemplo:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;RichTable CountryTable;&lt;br /&gt;&lt;br /&gt;public void setCountryTable(RichTable empTable) {&lt;br /&gt;this.CountryTable = empTable;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public RichTable getCountryTable() {&lt;br /&gt;return CountryTable;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String ctbAddCountryAction() {&lt;br /&gt;String ret = ejecutaBinding("CreateInsert", false);&lt;br /&gt;Row selectedRow = (Row)EL.get("#{bindings.CountryView2Iterator.currentRow}");&lt;br /&gt;RowKeySet rks = getCountryTable().getDisclosedRowKeys();&lt;br /&gt;List keyList = Collections.singletonList(selectedRow.getKey());&lt;br /&gt;rks.add(keyList);&lt;br /&gt;&lt;br /&gt;return ret;&lt;br /&gt;}&lt;br /&gt;..&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Después de esto cada vez que añada un registro en la colección que muestra la tabla (Countries), esta desplegará el detailStamp del registro activo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://blogs.oracle.com/adf/2010/12/getting_all_selected_rows_in_adf_table_with_multiple_rows_selection_enabled.html"&gt;Getting all selected rows in ADF Table with multiple rows selection enabled&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://www.adftips.com/2010/11/adf-ui-selectionlistener-example-for.html"&gt;ADF UI - selectionListener example for single-select af:table&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2050097706972955185?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2050097706972955185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2050097706972955185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2050097706972955185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2050097706972955185'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2012/01/desplegar-automaticamente-el.html' title='Desplegar automáticamente el detailStamp de una af:table después de un insert'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8033896158533330797</id><published>2011-12-27T23:15:00.000+01:00</published><updated>2011-12-27T23:15:51.863+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fábulas'/><title type='text'>Nasrudin y el huevo</title><content type='html'>Cierta mañana, Nasrudin envolvió un huevo en un pañuelo, se fue al centro de la plaza de su ciudad y llamó a los que pasaban por allí:&lt;br /&gt;Sonrisa&lt;br /&gt;&lt;br /&gt;- “¡Hoy tendremos un importante concurso!”, dijo. “Quien descubra lo que está envuelto en este pañuelo recibirá de regalo el huevo que está dentro”.&lt;br /&gt;&lt;br /&gt;Las personas se miraron, intrigadas. Nasrudin insistió:&lt;br /&gt;&lt;br /&gt;- “Lo que está en este pañuelo tiene un centro que es amarillo como una yema, rodeado de un líquido del color de la clara, que a su vez está contenido dentro de una cáscara que se rompe fácilmente. Es un símbolo de fertilidad y nos recuerda a los pájaros que vuelan hacia sus nidos. Entonces, ¿quién puede decirme lo que está escondido?”&lt;br /&gt;&lt;br /&gt;Todos los habitantes pensaban que Nasrudin tenía en sus manos un huevo, pero la respuesta era tan obvia que nadie quiso pasar vergüenza delante de los otros. ¿Y si no fuese un huevo, sino algo muy importante, producto de la fértil imaginación mística de los sufís? Un centro amarillo podía significar algo del sol, el líquido a su alrededor tal vez fuese algún preparado de alquimia. No, no, aquel loco estaba queriendo que alguien hiciera el ridículo.&lt;br /&gt;&lt;br /&gt;Nasrudin preguntó dos veces más y nadie se arriesgó a decir algo impropio. Entonces, abrió el pañuelo y mostró a todos el huevo.&lt;br /&gt;&lt;br /&gt;- “Todos vosotros sabíais la respuesta”, afirmó, “y nadie osó traducirla en palabras. Así es la vida de aquellos que no tienen el valor de arriesgarse: las soluciones nos son dadas generosamente, pero estas personas siempre buscan explicaciones más complicadas, y terminan no haciendo nada. Sólo una cosa convierte en imposible un sueño: el miedo a fracasar.&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a target="visor" href="http://www.nueva-acropolis.es/filosofia/humor/nasrudin.htm"&gt;nasrudin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8033896158533330797?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8033896158533330797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8033896158533330797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8033896158533330797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8033896158533330797'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/12/nasrudin-y-el-huevo.html' title='Nasrudin y el huevo'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8030160016864896232</id><published>2011-12-21T23:29:00.000+01:00</published><updated>2011-12-21T23:29:19.717+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>Eclipse Maven : Did you package/install active project artifact</title><content type='html'>[INFO] Copying artifact[ejb:com.cliente.proyecto.ejb:ejbNegocio:1.5-SNAPSHOT] to[EJBNegocio.jar]&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[ERROR] BUILD ERROR&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Cannot copy a directory: D:\desarrollo\proyectos\proyecto\branch\testweb\target\classes; Did you package/install active project artifact:&lt;br /&gt;artifact = active project artifact:&lt;br /&gt;artifact = com.cliente.proyecto:testweb:war:1.5-SNAPSHOT:compile;&lt;br /&gt;project: MavenProject: com.cliente.proyecto:testweb:1.5-SNAPSHOT @ D:\desarrollo\proyectos\proyecto\branch\testweb\pom.xml;&lt;br /&gt;project: MavenProject: com.cliente.proyecto:testweb:1.5-SNAPSHOT @ D:\desarrollo\proyectos\proyecto\branch\testweb\pom.xml?&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] For more information, run Maven with the -e switch&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;b&gt;El problema:&lt;/b&gt; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oslSmq1dKhU/TvHAy0hufcI/AAAAAAAAAa8/azXB0P3ZVWc/s1600/eclipse-maven-resolve.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="282" width="320" src="http://1.bp.blogspot.com/-oslSmq1dKhU/TvHAy0hufcI/AAAAAAAAAa8/azXB0P3ZVWc/s320/eclipse-maven-resolve.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;La solución:&lt;/b&gt; Desactivar la casilla marcada.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8030160016864896232?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8030160016864896232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8030160016864896232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8030160016864896232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8030160016864896232'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/12/eclipse-maven-did-you-packageinstall.html' title='Eclipse Maven : Did you package/install active project artifact'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-oslSmq1dKhU/TvHAy0hufcI/AAAAAAAAAa8/azXB0P3ZVWc/s72-c/eclipse-maven-resolve.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8782465372535281278</id><published>2011-12-17T00:54:00.000+01:00</published><updated>2011-12-17T00:54:51.265+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fábulas'/><title type='text'>Historias Zen (cuestion de enfoque)</title><content type='html'>En otros tiempos, un joven monje presa de dudas no podía comprender qué había que hacer para creer, para tener fe. Fue a  ver a su maestro y le  preguntó si podía esperar que en el futuro comprendería, aunque lo fuera un poco.&lt;br /&gt;&lt;br /&gt;-No es necesario comprender -respondió el anciano  maestro.&lt;br /&gt;-Si no comprendo, ¿cómo tener fe?&lt;br /&gt;-Inútil tener fe - dijo el Maestro.&lt;br /&gt;-Entonces, no entiendo nada - dijo el monje.&lt;br /&gt;-Lo único que necesitas es una fuerte certeza -  replicó el Maestro.&lt;br /&gt;&lt;br /&gt;Anochecía, y el anciano maestro salió  del templo  con su discípulo. Apuntando hacia el cielo con el dedo, le  preguntó:&lt;br /&gt;&lt;br /&gt;-¿Ves la estrella que brilla allí  arriba?&lt;br /&gt;El joven miró en la dirección indicada y  respondió:&lt;br /&gt;-Sí, la veo.&lt;br /&gt;-¿Ves ahora esa otra que está justo al lado?&lt;br /&gt;-No hay ninguna al lado - dijo el discípulo.&lt;br /&gt;-Mira bien - agregó el Maestro.&lt;br /&gt;&lt;br /&gt;Y  efectivamente, el discípulo percibió  una  estrella casi invisible. Si  trataba de mirarla directamente, no la  veía; en cambio, si la miraba  ligeramente de soslayo, la  estrella se volvía perceptible. El Maestro  le dijo entonces:&lt;br /&gt;&lt;br /&gt;-Es lo mismo que la certeza. Comprender es ver la estrella que brilla; tener fe, es estar seguro de que existe una estrella aunque uno no la vea; la certeza interna es saber que existe aunque no se le perciba  claramente. He utilizado esta metáfora  para educarte, ahora  debes comprender por tí mismo.&lt;br /&gt;&lt;br /&gt;Al joven monje le impresionó muchísimo la sabiduría de su maestro, pero se  preguntaba cómo podía éste saber que había una estrella invisible justo en ese sitio.&lt;br /&gt;&lt;br /&gt;El Maestro le dijo entonces:&lt;br /&gt;&lt;br /&gt;-Las estrellas son innumerables; creo que tú y yo no mirábamos la misma. El número de estrellas es tan grande, que siempre existe una invisible, en cualquier lugar, que solo se puede ver si se mira sin mirar.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor:&lt;/b&gt; Taisen Deshimaru&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8782465372535281278?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8782465372535281278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8782465372535281278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8782465372535281278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8782465372535281278'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/12/historias-zen-cuestion-de-enfoque.html' title='Historias Zen (cuestion de enfoque)'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7376945728116970368</id><published>2011-11-28T20:13:00.001+01:00</published><updated>2011-11-28T20:13:00.092+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Project configuration is not up-to-date with pom.xml</title><content type='html'>&lt;b&gt;Problema:&lt;/b&gt;&lt;br /&gt;Project configuration is not up-to-date with pom.xml. Run project configuration update.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solución:&lt;/b&gt;&lt;br /&gt;Teniendo el plugin de maven instalado en eclipse, boton derecho sobre el proyecto en cuestión y:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-WPU6QDSrdf0/TtPB1vN-wCI/AAAAAAAAAas/EjoTl8Hr-eI/s1600/maven_update_project.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="127" src="http://2.bp.blogspot.com/-WPU6QDSrdf0/TtPB1vN-wCI/AAAAAAAAAas/EjoTl8Hr-eI/s400/maven_update_project.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7376945728116970368?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7376945728116970368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7376945728116970368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7376945728116970368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7376945728116970368'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/11/project-configuration-is-not-up-to-date.html' title='Project configuration is not up-to-date with pom.xml'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-WPU6QDSrdf0/TtPB1vN-wCI/AAAAAAAAAas/EjoTl8Hr-eI/s72-c/maven_update_project.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8073100510386312323</id><published>2011-11-15T23:35:00.000+01:00</published><updated>2011-11-15T23:35:44.155+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><title type='text'>Documenting Software Architectures</title><content type='html'>A principios de mes decidí comprar el libro "Documenting Software Architectures", el cual forma parte de los libros de Ingeniería de Software del &lt;a href="http://www.sei.cmu.edu/" target="visor"&gt;SEI&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;La compra la realize por amazon.es, y el libro me ha llegado con 8 días de retraso de la fecha inicial de entrega, lo malo de esto es que amazon, una vez que te cobra la pasta se desentiende de hacer un seguimiento de entrega y hay que estar encima de ellos para que te envien el libro; lo bueno que puedo decir, es que ayer llame para reclamar el libro y me dijeron que habían perdido el&amp;nbsp; pedido, pero que si quería me lo podián enviar de forma urgente; y así fue, en menos de 24 horas después de la llamada tengo el libro en casa.&lt;br /&gt;&lt;br /&gt;Hoy por fin a llegado, es un libro de cubierta dura, con un excelente contenido didáctico bien estructurado y por mi repaso inicial bien explicado.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-i9H0ADjS6wo/TsLkx7RwCLI/AAAAAAAAAaY/VHOUrhzGmos/s1600/SNC00072.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-i9H0ADjS6wo/TsLkx7RwCLI/AAAAAAAAAaY/VHOUrhzGmos/s400/SNC00072.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.infoq.com/articles/merson-documenting-software-architectures-second-edition" target="visor"&gt;Interview and Book Review: Documenting Software Architectures: Views and Beyond, 2nd Edition&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8073100510386312323?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8073100510386312323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8073100510386312323' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8073100510386312323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8073100510386312323'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/11/documenting-software-architectures.html' title='Documenting Software Architectures'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-i9H0ADjS6wo/TsLkx7RwCLI/AAAAAAAAAaY/VHOUrhzGmos/s72-c/SNC00072.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6872181294347453507</id><published>2011-11-01T01:44:00.001+01:00</published><updated>2011-11-01T01:45:33.077+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Listando licencias Open source de un proyecto</title><content type='html'>Antelink tiene un producto (que se integra con Eclipse) que nos permite ver todas las licencias que estamos utilizando en las librerias de nuestros proyectos Java, esto por ejemplo nos puede ayudar a verificar o prevenir las incompatibilidades de licenciamiento en nuestro proyecto(s) o saber las restricciones a los cuales estamos expuestos al elegir un componente u otro.&lt;br /&gt;&lt;br /&gt;La siguiente imagen, muestra entre otras cosas, las licencias de las librerias "&lt;b&gt;Maven Dependencies&lt;/b&gt;" del proyecto de ejemplo &lt;b&gt;jpetstore &lt;/b&gt;de &lt;b&gt;Spring&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ee-iCXy9XBc/Tq8u8g0G3qI/AAAAAAAAAaM/C70egqMfsb8/s1600/licenciasProyectos.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="215" src="http://2.bp.blogspot.com/-ee-iCXy9XBc/Tq8u8g0G3qI/AAAAAAAAAaM/C70egqMfsb8/s400/licenciasProyectos.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;Enlaces relacionados&lt;/b&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.antelink.com/blog/announcing-antepedia-developer-eclipse.html" target="visor"&gt;Antelink Announcing Antepedia Developer for Eclipse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.antepedia.com/" target="visor"&gt;Antepedia (Looking for your file's license? version? project?)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linuxfoundation.org/programs/legal/compliance/tools" target="visor"&gt;Open source compliance tools&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6872181294347453507?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6872181294347453507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6872181294347453507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6872181294347453507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6872181294347453507'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/11/listando-licencias-open-source-de-un.html' title='Listando licencias Open source de un proyecto'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ee-iCXy9XBc/Tq8u8g0G3qI/AAAAAAAAAaM/C70egqMfsb8/s72-c/licenciasProyectos.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2689649682110379692</id><published>2011-10-16T14:30:00.005+02:00</published><updated>2011-10-16T14:57:13.932+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='97 Things Every Software Architect Should Know'/><title type='text'>Diseño para cubrir necesidades, no lo que uno quiere</title><content type='html'>A menudo diseñamos aplicaciones con sobre-ingeniería, como resultado, en gran medida, de intentar complacer a ciegas, a los clientes. Estamos tan distraídos por los detalles de las soluciones que ofrecemos, que a veces cometemos fallos, solventando en primer lugar los problemas incorrectos.&lt;br /&gt;&lt;br /&gt;Así que aquí va un pequeño consejo: &lt;b&gt;No convierta simplemente los requisitos del cliente en código&lt;/b&gt;, ponga esfuerzo en ser un buen intérprete. Es decir: Diseñe en base a sus necesidades, no simplemente en lo que uno quiere ofrecer.&lt;br /&gt;&lt;br /&gt;Usted debe cuestionarse la definición de los requisitos, tomando como base que muchos clientes, definen mal sus necesidades reales que tienen.&lt;br /&gt;&lt;br /&gt;Frecuentemente ellos dicen que necesitan &lt;i&gt;una antena más grande&lt;/i&gt;, cuando de realmente, quieren decir que &lt;i&gt;necesitan una mejor recepción de la señal&lt;/i&gt;. Entonces, usted debe plantear &lt;i&gt;preguntas sencillas del tipo&lt;/i&gt; “&lt;b&gt;Por quieres esta función?&lt;/b&gt;” y “&lt;b&gt;Que beneficio esperas de esta?&lt;/b&gt;” y necesita investigar hasta recibir una respuesta adecuada. Una vez identificadas las necesidades subyacentes, se tiene la visión de poder ofrecer soluciones alternativas. No se detenga en la primera buena idea y no confié ciegamente en sus primeros instintos. Como el filósofo francés Alain (Émile Chartier) una vez dijo: “Nada es más peligroso que una idea cuando es la única que usted tiene”. Hágase preguntas deliberadamente del tipo “&lt;b&gt;esta es la forma de hacer que?&lt;/b&gt;” y “&lt;b&gt;de que otra forma puede lograrse?&lt;/b&gt;”.&lt;br /&gt;&lt;br /&gt;De paso, esta es la mejor forma de reducir complejidad en sus aplicaciones: directamente de la fuente, que es donde más interesa. Soluciones simples y elegantes con frecuencia son difíciles de encontrar, y no suelen serlo en absoluto. Pero no hay que renunciar a ellas demasiado rápido, ya que se pueden perder grandes oportunidades.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor Claudio Perrone.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Versión original: &lt;a href="http://97things.oreilly.com/wiki/index.php/Design_for_needs,_not_wants" target="visor"&gt;Design for needs, not wants&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;Diseñe en base a sus necesidades, no simplemente en lo que uno quiere ofrecer.Ya que la solución propuesta puede ser muy potente, pero poco aplicable a su contexto final, lo cual puede forzar, a veces a realizar adaptaciones realmente dolorosas.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_l5nHvlmf1l8/SKq5_Jvs0wI/AAAAAAAAAaw/5lwaaUdbHbM/s1600/CORAZ%C3%93N_Lope+de+Vega_JPG.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="133" src="http://1.bp.blogspot.com/_l5nHvlmf1l8/SKq5_Jvs0wI/AAAAAAAAAaw/5lwaaUdbHbM/s200/CORAZ%C3%93N_Lope+de+Vega_JPG.JPG" width="200" /&gt;&lt;/a&gt;Mi profesor de programación en C siempre decía, una cosa es los que el usuario ve, y otra como la aplicación se comporta por dentro; extrapolando esta frase siempre digo, una cosa es lo que el usuario “dice que quiere” y otra lo que “realmente necesita” (&lt;a href="http://www.blogger.com/2010/03/la-comunicacion-gran-desafio.html"&gt;los problemas de la comunicación&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Emmerson&lt;br /&gt;&lt;hr /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2689649682110379692?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2689649682110379692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2689649682110379692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2689649682110379692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2689649682110379692'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/10/diseno-para-cubrir-necesidades-no-lo.html' title='Diseño para cubrir necesidades, no lo que uno quiere'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_l5nHvlmf1l8/SKq5_Jvs0wI/AAAAAAAAAaw/5lwaaUdbHbM/s72-c/CORAZ%C3%93N_Lope+de+Vega_JPG.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-3070025324728237864</id><published>2011-10-09T23:06:00.000+02:00</published><updated>2011-10-09T23:06:08.304+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conferencias'/><title type='text'>Optimización de Grandes bases de datos</title><content type='html'>Me acabo de animar a participar en la "Barcelona Developer Conference" proponiendo un call4paper sobre "&lt;b&gt;Optimización de Grandes bases de datos&lt;/b&gt;", en principio mi inscripción es un tanto justa ya que las votaciones se cierran el 21 de Octubre; si alguien se anima a ir a este evento y esta interesado en mi propuesta, aquí dejo el enlace para que pueda votar :-)&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://bcndevcon.org/en/node/337"&gt;http://bcndevcon.org/en/node/337&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-3070025324728237864?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/3070025324728237864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=3070025324728237864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3070025324728237864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3070025324728237864'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/10/optimizacion-de-grandes-bases-de-datos.html' title='Optimización de Grandes bases de datos'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1432139291506401708</id><published>2011-10-02T00:14:00.001+02:00</published><updated>2011-10-02T01:48:28.129+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='97 Things Every Software Architect Should Know'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><title type='text'>Una rosa con otro nombre puede terminar como un repollo</title><content type='html'>Tiempo atrás escuche algunas personas decidir que necesitan más capas en su arquitectura. Estaban en lo correcto, como es el caso; pero mirando  un poco más atrás. Ellos intentaban crear un framework que contenía lógica de negocio. Pero en lugar de centrarse en resolver los problemas concretos empezaron con la idea de que querían un framework que envolviera la DB y produjera objetos. Y que se debe usar un ORM, y mensajes, y webservices y todo tipo de cosas interesantes.&lt;br /&gt;&lt;br /&gt;Desafortunadamente, el no tener claro exactamente qué tipo de cosas interesantes podría hacer,  llevo hacia una pequeña competición para sugerir un nombre. Y este es el punto, en el cual puede empezar a reconocer que usted tiene un problema: Si no sabe qué nombre poner, usted no sabe lo que es,  si usted no sabe lo que es, no debería empezar a escribir código.&lt;br /&gt;&lt;br /&gt;En este caso en particular, un vistazo rápido por el historial del control de versiones del código, puso en manifiesto la gravedad del problema. Por su puesto, había muchas implementaciones vacías de interfaces! Y lo realmente divertido es que habían cambiado de nombre tres veces sin haber escrito código real. Cuando empezaron le llamaron ClientAPI – el “client” se refiere a los clientes de la empresa, no cliente como en “client-server” – la versión final fue llamada ClientBusinessObjects. Un gran nombre: Vago, amplio y engañoso.&lt;br /&gt;&lt;br /&gt;Está claro, un nombre es solo un puntero. Una vez que todos los involucrados saben que el nombre es solo un nombre y no una metáfora de diseño, entonces todo puede pasar. Sin embargo, si no hay acuerdo en un nombre lo suficientemente específico para saber cuando está mal, entonces podrá tener alguna dificultad, incluso para empezar. El diseño de un producto tiene que intentar cumplir con las intenciones – Ej.: Rápido, barato, flexible – y los nombres deben transmitir o reflejar las intenciones.&lt;br /&gt;&lt;br /&gt;Si no se puede poner un nombre, no se puede escribir. Si se cambia de nombre tres veces, entonces se debe parar hasta que tenga claro que es lo que va a construir.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Autor Sam Gardiner&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Versión original : &lt;a target="visor" href="http://97things.oreilly.com/wiki/index.php/A_rose_by_any_other_name_will_end_up_as_a_cabbage"&gt;A rose by any other name will end up as a cabbage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr/&gt;Algunas veces, en alguna que otra organización, grupo de personas o comunidad, se suelen identificar a la misma cosa (idea, concepto, aplicación, programa...) con distintos nombres, que, dependiendo de su audiencia se le puede identificar con un significado o proposito distinto, y en ese punto es donde pueden empezar muchos problemas.&lt;br /&gt;&lt;br /&gt;Lo ideal en estos casos es identificar a todas las personas relacionadas, juntarlas y alinearlas (esclarecer los objetivos de la aplicación, sus usos, normalizar los términos a utilizar...) para que, entre otras cosas, &lt;b&gt;todos hablen el mismo idioma&lt;/b&gt;, ese, es un buen punto de inicio para el éxito de cada aplicación.&lt;br /&gt;&lt;br /&gt;Emmerson&lt;br /&gt;&lt;hr/&gt;-FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1432139291506401708?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1432139291506401708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1432139291506401708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1432139291506401708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1432139291506401708'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/10/una-rosa-con-otro-nombre-puede-terminar.html' title='Una rosa con otro nombre puede terminar como un repollo'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4157243769753449456</id><published>2011-09-27T00:48:00.004+02:00</published><updated>2011-09-27T13:48:41.406+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGI'/><category scheme='http://www.blogger.com/atom/ns#' term='ESB'/><category scheme='http://www.blogger.com/atom/ns#' term='webservices'/><title type='text'>Como instalar FuseIDE</title><content type='html'>&lt;a target="visor" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR2/eclipse-java-helios-SR2-win32-x86_64.zip"&gt;Descargar Eclipse Helios SR2 (Importante que sea Eclipse IDE for Java Developers - 64 bits)&lt;/a&gt;&lt;br /&gt;O&lt;br /&gt;&lt;a target="visor" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR2/eclipse-java-helios-SR2-win32.zip"&gt;Descargar Eclipse Helios SR2 (Importante que sea Eclipse IDE for Java Developers - 32 bits)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Help-&gt;Install New Software -&gt; Add -&gt; http://repo.fusesource.com/ide/ &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-mzbr_Ybfyao/ToD4cpN9lPI/AAAAAAAAAZ4/jwnYPRuKsXc/s1600/FuseIDE-Install.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="320" width="318" src="http://2.bp.blogspot.com/-mzbr_Ybfyao/ToD4cpN9lPI/AAAAAAAAAZ4/jwnYPRuKsXc/s320/FuseIDE-Install.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Help-&gt;Install New Software -&gt; Helios - http://download.eclipse.org/releases/helios&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Actualizar "Modeling" y reiniciar.&lt;/li&gt;&lt;li&gt;Actualizar "SOA Development" (Desactivar Java Workflow Tooling) y reiniciar.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CDphM4u4Bqc/ToD94qJhFxI/AAAAAAAAAaA/aqxjWwBOa-E/s1600/FuseIDE-SOA%2BInstall.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="285" width="320" src="http://2.bp.blogspot.com/-CDphM4u4Bqc/ToD94qJhFxI/AAAAAAAAAaA/aqxjWwBOa-E/s320/FuseIDE-SOA%2BInstall.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Actualizar "Web, XML, and Java EE Development" y reiniciar&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://fusesource.com/products/fuse-ide/"&gt;http://fusesource.com/products/fuse-ide/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4157243769753449456?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4157243769753449456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4157243769753449456' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4157243769753449456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4157243769753449456'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/09/instalando-fuseide.html' title='Como instalar FuseIDE'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-mzbr_Ybfyao/ToD4cpN9lPI/AAAAAAAAAZ4/jwnYPRuKsXc/s72-c/FuseIDE-Install.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8351316711274888768</id><published>2011-09-22T19:41:00.001+02:00</published><updated>2011-10-25T00:34:46.787+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='persistencia'/><category scheme='http://www.blogger.com/atom/ns#' term='manuales'/><title type='text'>Manual de Hibernate 3.2</title><content type='html'>Una parte importante de toda aplicación es decidir la forma como se acceden a los datos, bien puede ser por conexiones directas por JDBC o por un ORM, como por ejemplo Hibernate. En este manual además hago refencia brevemente a sistemas de cache y a las trazas que puede dejar Hibernate para enlazarlo con LogBack o Log4j.&lt;br /&gt;&lt;br /&gt;Intentando seguir con la serie de manuales cortos, este también lo realize "en la intimidad" :D hace algún tiempo, asi que ahi van las diapositivas.&lt;br /&gt;&lt;br /&gt;Esta orientado hacia Java, pero los conceptos y elementos son los mismos que para NHibernate (al menos los elementales).&lt;br /&gt;&lt;br /&gt;&lt;div id="__ss_9367150" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/Emmerson_Miranda/hibernate-32-short-manual-9367150" target="_blank" title="Hibernate 3.2 short manual"&gt;Hibernate 3.2 short manual&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/9367150" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/Emmerson_Miranda" target="_blank"&gt;Emmerson Miranda&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2009/09/manual-de-log4j-1215.html"&gt;Manual de Log4j 1.2.15 &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8351316711274888768?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8351316711274888768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8351316711274888768' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8351316711274888768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8351316711274888768'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/09/manual-de-hibernate-32.html' title='Manual de Hibernate 3.2'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5162492404848311189</id><published>2011-09-14T23:35:00.000+02:00</published><updated>2011-09-14T23:35:07.434+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Ejecutar un ViewCriteria desde código</title><content type='html'>En ADF, los View Objects se pueden definir múltiples criterios de búsqueda, cada una filtrando por diferentes campos con distintos valores fijos, calculados o recibidos por parámetros.&lt;br /&gt;&lt;br /&gt;Existen ocasiones en las que, desde código Java, puede interesarnos ejecutar un VO, utilizando un criterio de búsqueda previamente definido, el siguiente código permite hacer eso.&lt;br /&gt;&lt;br /&gt;En el siguiente código, se recupera el "application model" del proyecto llamado "&lt;b&gt;AppModule&lt;/b&gt;", para luego recuperar el VO llamado "&lt;b&gt;PaisView1&lt;/b&gt;" y ejecutarlo utilizando el ViewCriteria "&lt;b&gt;findByFundacion&lt;/b&gt;" con sus parámetros que tiene definido.&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;AppModuleImpl module;&lt;br /&gt;module = (AppModuleImpl)getDBTransaction()&lt;br /&gt;         .getRootApplicationModule()&lt;br /&gt;         .findApplicationModule("AppModule");&lt;br /&gt;&lt;br /&gt;PaisViewImpl vo = (PaisViewImpl)module.getPaisView1();&lt;br /&gt;       &lt;br /&gt;ViewCriteria vc = vo.getViewCriteria("findByFundacion");&lt;br /&gt;VariableValueManager vvm = vc.ensureVariableManager();&lt;br /&gt;vvm.setVariableValue("pFecDesde", this.getFecIni());&lt;br /&gt;vvm.setVariableValue("pFecHasta", this.getFecFin());&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;RowSet rs = (RowSet)vo.findByViewCriteria(vc,-1,&lt;br /&gt;            ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);&lt;br /&gt;..&lt;/pre&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5162492404848311189?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5162492404848311189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5162492404848311189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5162492404848311189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5162492404848311189'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/09/ejecutar-un-viewcriteria-desde-codigo.html' title='Ejecutar un ViewCriteria desde código'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4956220561306864968</id><published>2011-09-11T01:32:00.001+02:00</published><updated>2011-09-11T01:33:53.806+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Insersiones múltiples desde un Entity Object</title><content type='html'>Hay ocasiones en las que se hace necesario que al insertar un registro en una tabla, también se tenga que insertar un registro en otra (como un libro de movimientos), en ciertas ocasiones esto se puede solucionar con trigger en la base de datos, pero hay algunas en las que, por determinadas restricciones esto no es posible.&lt;br /&gt;&lt;br /&gt;Para lograr dicho comportamiento, los &lt;b&gt;Entity Objects (EO)&lt;/b&gt; disponen de un método llamado &lt;b&gt;doDML&lt;/b&gt; (&lt;b&gt;D&lt;/b&gt;ata &lt;b&gt;M&lt;/b&gt;anipulation &lt;b&gt;L&lt;/b&gt;anguage), el cual se invoca cada vez que se realiza un insert, delete y update; el cual es accesible desde el código Java. &lt;br /&gt;&lt;br /&gt;Pero ADF se basa en un modelo declarativo por preferencia, es decir si navegamos por el árbol del proyecto solo veremos un fichero XML con el nombre de la tabla; pero cuando necesitamos algún tipo de comportamiento especial, siempre podemos generar una clase con código Java asociado a la tabla e implementar dicho comportamiento.&lt;br /&gt;&lt;br /&gt;Para generar el código Java, debemos abrir la entidad y en la pestaña llamada Java debemos crear la implementación, activando la casilla "Data Manipulation Methods".&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-638ysGq9X1A/TmvIwQ-6uRI/AAAAAAAAAZs/Bv1fz2S-WtI/s1600/entity-dmm.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="283" width="320" src="http://1.bp.blogspot.com/-638ysGq9X1A/TmvIwQ-6uRI/AAAAAAAAAZs/Bv1fz2S-WtI/s320/entity-dmm.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;El secreto para insertar un registro en otra tabla, básicamente reside en obtener la definición(&lt;b&gt;getDefinitionObject&lt;/b&gt;) del EO en cuestión, crear una instancia(&lt;b&gt;createInstance2&lt;/b&gt;) de este e informar los datos utilizando los setters.&lt;br /&gt;&lt;br /&gt;Asi que sabiendo esto, el código para insertar un registro en una tabla adicional, después de haber insertado un registro en nuestro EO, sería algo así como el siguiente:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;    /**&lt;br /&gt;     * Custom DML update/insert/delete logic here.&lt;br /&gt;     * @param operation the operation type&lt;br /&gt;     * @param e the transaction event&lt;br /&gt;     */&lt;br /&gt;    protected void doDML(int operation, TransactionEvent e) {&lt;br /&gt;      super.doDML(operation, e);&lt;br /&gt;     &lt;br /&gt;      //insert&lt;br /&gt;      if(operation == DML_INSERT){&lt;br /&gt;       &lt;br /&gt;        EntityDefImpl asientoDef = AsientoImpl.getDefinitionObject();&lt;br /&gt;        AsientoImpl asientoNuevo = (AsientoImpl)asientoDef.createInstance2(getDBTransaction(), null);&lt;br /&gt;       &lt;br /&gt;        asientoNuevo.setId(this.getId());&lt;br /&gt;        ...&lt;br /&gt;        ...&lt;br /&gt;        asientoNuevo.setFecha(this.getFecha());&lt;br /&gt;      }&lt;br /&gt;           &lt;br /&gt;    }&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4956220561306864968?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4956220561306864968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4956220561306864968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4956220561306864968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4956220561306864968'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/09/insersiones-multiples-desde-un-entity.html' title='Insersiones múltiples desde un Entity Object'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-638ysGq9X1A/TmvIwQ-6uRI/AAAAAAAAAZs/Bv1fz2S-WtI/s72-c/entity-dmm.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8902884508228321595</id><published>2011-08-30T12:14:00.000+02:00</published><updated>2011-08-30T12:14:35.815+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>Excel SQL0206N SQLSTATE 42703 contra DB2</title><content type='html'>Creando una consulta de base de datos desde Excel, contra una vista en DB2 me daba un error &lt;b&gt;SQL0206N SQLSTATE=42703&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Resulta que DB2 como cualquier otra base de datos, cuando se le da a una columna un nombre con caracteres especiales (Ejemplo el espacio), hay que entrecomillarlo para que lo sepa interpretar, si se toma por norma esto, al hacerlo sobre nombres simples, parece que las comillas las interpreta como parte del nombre, aunque desde el toad no se vean. Entonces, la solución es sencilla pero poco evidente. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solución (Nota mental):&lt;/b&gt;&lt;br /&gt;Los nombres sencillos de los campos de las vistas, NO HAY que entrecomillarlos.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8902884508228321595?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8902884508228321595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8902884508228321595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8902884508228321595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8902884508228321595'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/08/excel-sql0206n-sqlstate-42703-contra.html' title='Excel SQL0206N SQLSTATE 42703 contra DB2'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1635151494310758383</id><published>2011-07-29T14:17:00.000+02:00</published><updated>2011-07-29T14:17:18.169+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>Can not execute Sonar PicoLifecycleException NonUniqueResultException</title><content type='html'>&lt;blockquote&gt;-------------------------------------------------------&lt;br /&gt; T E S T S&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;Running edu.emmerson.test.sonar.comunicacion.comun.basicos.ElementoTest&lt;br /&gt;Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.097 sec&lt;br /&gt;&lt;br /&gt;Results :&lt;br /&gt;&lt;br /&gt;Tests run: 9, Failures: 0, Errors: 0, Skipped: 0&lt;br /&gt;&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Building MultiModulo - Comun&lt;br /&gt;[INFO]    task-segment: [sonar:sonar, es.klicap.sonar:pdf-report:1.1:generate] (aggregator-style)&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] [sonar:sonar {execution: default-cli}]&lt;br /&gt;[INFO] Sonar host: http://localhost/sonar&lt;br /&gt;[INFO] Sonar version: 2.8&lt;br /&gt;[INFO] Execute: org.codehaus.sonar:sonar-maven-plugin:2.8:sonar&lt;br /&gt;[INFO] [sonar:sonar {execution: default-sonar}]&lt;br /&gt;[INFO]  Database dialect class org.sonar.jpa.dialect.MySql&lt;br /&gt;[INFO]  Initializing Hibernate&lt;br /&gt;[INFO]  Execution environment: Maven 2.2.1&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[ERROR] BUILD ERROR&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] &lt;b&gt;Can not execute Sonar&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Embedded error: PicoLifecycleException&lt;/b&gt;: method 'public void org.sonar.batch.ProjectTree.start() throws java.io.IOException', instance 'org.sonar.batch.ProjectTree@42304230, &lt;b&gt;javax.persistence.NonUniqueResultException&lt;/b&gt;: Expected single result, but got : [Snapshot[resourceId=3810,createdAt=...&lt;br /&gt;...&lt;br /&gt;......&lt;br /&gt;20:08:32.0,period4Date=&amp;lt;null&gt;,period5Date=&amp;lt;null&gt;,id=40302]]&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] For more information, run Maven with the -e switch&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Total time: 10 seconds&lt;br /&gt;[INFO] Finished at: Thu Jul 28 20:10:13 CEST 2011&lt;br /&gt;[INFO] Final Memory: 22M/92M&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;Sending e-mails to: miMailPersonal@servidor.es&lt;br /&gt;Finished: FAILURE&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Solución aplicada (no siempre recomendable):&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ir al sonar y borrar el proyecto desde la consola de administración.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;http://comments.gmane.org/gmane.comp.java.sonar.general/9398&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1635151494310758383?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1635151494310758383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1635151494310758383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1635151494310758383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1635151494310758383'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/07/can-not-execute-sonar.html' title='Can not execute Sonar PicoLifecycleException NonUniqueResultException'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7421122980620544005</id><published>2011-07-24T01:08:00.000+02:00</published><updated>2011-07-24T01:08:59.444+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='jdeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>JBO-33005: Configuration AppModuleLocal is not found.</title><content type='html'>Lo primero, este tipo de fallos sale cuando se desarrolla con ADF + JDeveloper, en este caso 11g.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Wo4xsq8xPks/TitNFgf8beI/AAAAAAAAAZU/wZRE9W-W30Y/s1600/appmodule-configurations.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="170" width="320" src="http://4.bp.blogspot.com/-Wo4xsq8xPks/TitNFgf8beI/AAAAAAAAAZU/wZRE9W-W30Y/s320/appmodule-configurations.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Después de cambiar los nombres de las configuraciones de un módulo de aplicación en el proyecto model, al volver a ejecutar la aplicación dió el siguiente mensaje de error:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-sDXHsh4_KAw/TitTwbs03mI/AAAAAAAAAZc/_2zJhdte94o/s1600/popup.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="162" width="320" src="http://3.bp.blogspot.com/-sDXHsh4_KAw/TitTwbs03mI/AAAAAAAAAZc/_2zJhdte94o/s320/popup.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;Utils&gt;&amp;lt;buildFacesMessage&gt; ADF: Adding the following JSF error message: Configuration AppModuleLocal is not found.&lt;br /&gt;oracle.jbo.ConfigException: &lt;b&gt;JBO-33005: Configuration AppModuleLocal is not found.&lt;/b&gt;&lt;br /&gt; at oracle.jbo.client.Configuration.getConfiguration(Configuration.java:570)&lt;br /&gt; at oracle.jbo.common.ampool.PoolMgr.createPool(PoolMgr.java:328)&lt;br /&gt; at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:587)&lt;/blockquote&gt;&lt;br /&gt;Es decir, que después de renombrar las configuraciones, JDeveloper no actualizo las dependencias asociadas.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Solución:&lt;/b&gt;&lt;br /&gt;En el fichero &lt;i&gt;proyecto&lt;/i&gt;-&gt;ViewController-&gt;adfmsrc-&gt;view-&gt;&lt;b&gt;DataBindings.cpx&lt;/b&gt; hay que actualizar el nombre de la configuración a la que se hace referencia, por defecto llamada &lt;b&gt;AppModuleLocal&lt;/b&gt; por el nombre de la configuración que se desea utilizar, en mi caso &lt;b&gt;AppModule-DataSource&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-S5mDe4Dsa4M/TitNFd3_IqI/AAAAAAAAAZM/5NBQb7Ogg2U/s1600/DataBindings_cpx.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="92" width="320" src="http://2.bp.blogspot.com/-S5mDe4Dsa4M/TitNFd3_IqI/AAAAAAAAAZM/5NBQb7Ogg2U/s320/DataBindings_cpx.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7421122980620544005?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7421122980620544005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7421122980620544005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7421122980620544005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7421122980620544005'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/07/jbo-33005-configuration-appmodulelocal.html' title='JBO-33005: Configuration AppModuleLocal is not found.'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Wo4xsq8xPks/TitNFgf8beI/AAAAAAAAAZU/wZRE9W-W30Y/s72-c/appmodule-configurations.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6056874479613207252</id><published>2011-07-21T02:00:00.001+02:00</published><updated>2011-07-21T02:00:01.397+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Cambiar idioma a RAD</title><content type='html'>Supongo que queda claro que "my default language is" castellano; pero a lo largo del tiempo que llevo desarrollando, lo he hecho siempre con el IDE en inglés (este es el caso de eclipse, netbeans, jdeveloper, flash builder...); pero hace poco herede un entorno de desarrollo con "IBM Rational Application Developer", RAD para los amigos, el cual, al igual que muchos otros IDEs esta basado en eclipse. &lt;br /&gt;&lt;br /&gt;Pues bien, no se si para bien o para mal, me lo encontre en castellano, y pobre de mí, estaba [&lt;i&gt;"más perdido que huevo frito en ceviche"&lt;/i&gt; | &lt;i&gt;"Más perdido que la mamá de Marcos"&lt;/i&gt;] ;-)&amp;nbsp; así que me vi obligado a modificar el acceso directo, para este se iniciara en inglés.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;eclipse.exe&lt;/b&gt; -product com.ibm.rational.rad.product.v75.ide&lt;b&gt; -nl en_US&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6056874479613207252?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6056874479613207252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6056874479613207252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6056874479613207252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6056874479613207252'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/07/cambiar-idioma-rad.html' title='Cambiar idioma a RAD'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7888531279250589190</id><published>2011-07-20T12:00:00.001+02:00</published><updated>2011-07-20T12:04:48.020+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>warning: unmappable character for encoding UTF8</title><content type='html'>Compilando con ant (javac task) me da un mensaje de warning y el compilador se me queda como ejecutandose (cuadradito rojo del eclipse), pero trabado.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Mensaje de ant: &lt;/b&gt;"warning: unmappable character for encoding UTF8"&lt;/blockquote&gt;&lt;br /&gt;Esto se debe a que el el compilador no reconoce el juego de caracteres del fichero de código fuente.&lt;br /&gt;&lt;br /&gt;Soluciones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cambiar el juego de caracteres del fichero&lt;/li&gt;&lt;li&gt;Ejecutar la tarea javac con el argumento encoding="ISO-8859-1" o el juego de caracteres en que se sospeche esta el fichero. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7888531279250589190?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7888531279250589190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7888531279250589190' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7888531279250589190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7888531279250589190'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/07/warning-unmappable-character-for.html' title='warning: unmappable character for encoding UTF8'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-525401899526541825</id><published>2011-07-12T01:20:00.003+02:00</published><updated>2011-07-12T01:21:43.317+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><title type='text'>Que es Business Driver ?</title><content type='html'>He aqui otra de las frases que traducidas literalmente provoca dolores de cabeza al intentar comprender un texto escrito en Inglés, en este caso "&lt;b&gt;Business driver&lt;/b&gt;".&lt;br /&gt;&lt;br /&gt;Buscando por internet he encontrado las siguientes aproximaciones de su significado:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Son las personas, la información, las condiciones, las tareas y actividades que apoyan o impulsan el cumplimiento de un(os) objetivo(s) de negocio. &lt;br /&gt;&lt;br /&gt;En el caso de las personas asesoran a la empresa tratando de evitar las trampas y convertir los errores imprevistos en buenas lecciones para el futuro éxito y la sostenibilidad.&lt;br /&gt;&lt;br /&gt;También se puede decir que es cualquier factor que impulsa y aumenta las ventas de la empresa, su participación en el mercado, etc.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Toda solución que construimos se basa en un modelo de negocio, y también solemos decir que una aplicación nunca se termina, pues esta en constante cambio debido a que el negocio cambia.&lt;br /&gt;&lt;br /&gt;Un negocio tiene que ser constantemente actualizado y conducido a estar a la par con sus competidores y estar en sintonía con las últimas tendencias en tecnología del negocio y del mercado que cambian a veces inesperadamente. &lt;br /&gt;&lt;br /&gt;No esta demás recalcar que los "&lt;b&gt;Business drivers&lt;/b&gt;" son parte de los elementos que tenemos que tener en cuenta, algunos como &lt;b&gt;atributos de calidad&lt;/b&gt;, otros como &lt;b&gt;factores de riesgo&lt;/b&gt; ... etc; al momento de elegir la tecnología con la cual se implementaran las soluciones de nuestros clientes, así como también para el diseño de las aplicaciones/soluciones a construir y su ecosistema.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-525401899526541825?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/525401899526541825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=525401899526541825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/525401899526541825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/525401899526541825'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/07/que-es-business-driver.html' title='Que es Business Driver ?'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5384299141338267806</id><published>2011-06-22T01:11:00.000+02:00</published><updated>2011-06-22T01:11:25.149+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='CMMI'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><title type='text'>Como se puede usar CMMI-DEV con otros frameworks como TOGAF ?</title><content type='html'>En InfoQ se acaba de publicar una interesante entrevista a Mike Konrad, miembro de SEI; de la cual me ha llamado la atención la pregunta de la cual he puesto como título en este post, ya que llevo una temporada relacionado con CMMI y TOGAF; así que a quien no le interese la mejora de los procesos en la construcción de software y el alineamento entre los recursos IT con la visión de negocio de una empresa ya puede dejar de lado este post ;-)&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Frameworks como TOGAF son usados para definir una arquitectura que alinie los activos/recursos de una TI para dar soporte a las necesidades y procesos clave del negocio a todos los implicados, pero las aplicaciones individuales, las capacidades/habilidades/facultades, servicios, redes y otros activos TI, asi como su infraestructura aún tienen que ser adquiridos, desarrollados o sostenidos. Los tres modelos de CMMI como son CMMI-ACQ, CMMIDEV y CMMI-SVC dan covertura respectivamente a la adquisición, el desarrollo  y los servicios; proporcionando un gran abanico de prácticas que pueden ayudar a abordar estas necesidades.&lt;br /&gt;&lt;br /&gt;Por supuesto los modelos CMMI tienen un rol adicional: ayudar a madurar los procesos y capacidades/habilidades/facultades que una organización usa para desarrollar productos y servicios que satisfagan a sus clientes externos. Estos procesos y habilidades pueden, a su vez, ser algunos de los procesos claves de negocio, a los que la arquitectura empresarial, intenta dar soporte. En estas organizaciones, tanto CMMI, como TOGAF pueden tener una función dual y de gran apoyo.&lt;br /&gt;&lt;br /&gt;Y existe una tercera vía, en la cual TOGAF y CMMI estan relacionadas: la versión 1.3 de CMMI-DEV contiene material de ingeniería y otras áreas de proceso (por ejemplo, Desarrollo de requisitos y Soluciones técnicas) que se ocupan de las arquitecturas modernas y la práctica de lineas de producto. Algunos de los métodos mencionados en el ejemplo como el ATAM (Architecture Tradeoff Analysis Method) pueden llegar a ser de valor en la arquitectura empresarial.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a href="http://www.infoq.com/articles/cmmi-development-interview" target="visor"&gt;Interview and Book Excerpt: CMMI for Development&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5384299141338267806?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5384299141338267806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5384299141338267806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5384299141338267806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5384299141338267806'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/06/como-se-puede-usar-cmmi-dev-con-otros.html' title='Como se puede usar CMMI-DEV con otros frameworks como TOGAF ?'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-875742132386022344</id><published>2011-06-13T00:21:00.000+02:00</published><updated>2011-06-13T00:21:45.409+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='gestión de proyectos'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><title type='text'>Que es Governance ?</title><content type='html'>Recientemente leyendo las especificaciones de TOGAF me he encontrado con un término que está siendo usado desde hace ya algún tiempo en el sector, supongo que a todos les suenan las expresiones “&lt;b&gt;SOA Governance&lt;/b&gt;”, “&lt;b&gt;Data Governance&lt;/b&gt;”, “&lt;b&gt;Architecture Governance&lt;/b&gt;” o “&lt;b&gt;IT Governance&lt;/b&gt;”, pero ...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jFPodle8hCA/TfU65LE8ALI/AAAAAAAAAXo/i6cXv6n6EBM/s1600/soa+governance.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-jFPodle8hCA/TfU65LE8ALI/AAAAAAAAAXo/i6cXv6n6EBM/s1600/soa+governance.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;¿ Que es Governance ? o ¿De que trata?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Su traducción directa es “&lt;b&gt;gobernabilidad&lt;/b&gt;” y en términos primarios se trata de dirigir y controlar los elementos del contexto en el que se aplica (SOA, IT …) con el fin de lograr buenos resultados, mediante la descripción de procesos que se deben aplicar para la coordinación de acciones individuales.&lt;br /&gt;&lt;br /&gt;Governance describe la transformación sistemática de un sistema, utilizando un conjunto de reglas para ir en la dirección adecuada, juntando personas, procesos y tecnología para cambiar la forma en la que la información: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;se recoge, &lt;/li&gt;&lt;li&gt;se  gestiona, &lt;/li&gt;&lt;li&gt;se mantiene, &lt;/li&gt;&lt;li&gt;se convierte en información empresarial,&lt;/li&gt;&lt;li&gt;se comparte en el contexto de la organización como conocimiento común. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Su intensión es:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Centrarse en la conexión entre el negocio y la gestión IT.&lt;/li&gt;&lt;li&gt;Mitigar el riesgo que la tecnología informática podría generarle al negocio.&lt;/li&gt;&lt;li&gt;Asegurar que una organización produce un patrón/procedimiento para asegurar la obtención de buenos resultados y evitar situaciones de malas prácticas.&lt;/li&gt;&lt;li&gt;Generar información que pueda ser explotada por la empresa para mejorar su rentabilidad.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-d5CuXOnmNJY/TfU7JDxaCyI/AAAAAAAAAXs/vFmKvo9ymp4/s1600/it-governance2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://4.bp.blogspot.com/-d5CuXOnmNJY/TfU7JDxaCyI/AAAAAAAAAXs/vFmKvo9ymp4/s320/it-governance2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;En governance convergen conceptos como calidad, gestión de procesos de negocio y de riesgos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-875742132386022344?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/875742132386022344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=875742132386022344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/875742132386022344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/875742132386022344'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/06/que-es-governance.html' title='Que es Governance ?'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jFPodle8hCA/TfU65LE8ALI/AAAAAAAAAXo/i6cXv6n6EBM/s72-c/soa+governance.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2806486237180313925</id><published>2011-05-19T02:30:00.001+02:00</published><updated>2011-06-22T01:24:19.665+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='SCRUM'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologías ágiles'/><category scheme='http://www.blogger.com/atom/ns#' term='análisis'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>La toma de decisiones (reflexiones en voz alta)</title><content type='html'>Normalmente tomamos decisiones a diario sobre cosas tan comunes como levantarse de la cama o no, desayunar o no, en fin ... son decisiones que se toman en un ambiente de certeza, ya que se conoce el problema y las posibles soluciones; pero también las hay en entornos de incertidumbre.&lt;br /&gt;&lt;br /&gt;En un entorno de incertidumbre, no se posee información suficiente para tomar la decisión, ya que no se tiene control o información sobre una situación o contexto, pese a que se puede sugerir diferentes tipos de soluciones, estas raramente pueden ser medidas (de allí que se le llama "incertidumbre, sin  probabilidad"); en otras palabras, lo que viene a ser el desarrollo software.&lt;br /&gt;&lt;br /&gt;Pero para tomar una decisión se vuelve básico el poder conocer la naturaleza de un problema, comprenderlo, analizarlo y finalmente, elegir un camino de entre los posibles, en contextos tan variados como el familiar, sentimental, laboral... en este caso durante el diseño de una aplicación o la dirección de un equipo de trabajo. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Los pasos, a grandes rasgos, para la toma de decisiones son:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Identificar y analizar el problema&lt;/li&gt;&lt;li&gt;Identificar las alternativas y ponderarlas&lt;/li&gt;&lt;li&gt;Definir la prioridad para atender el problema&lt;/li&gt;&lt;li&gt;Generar alternativas de solución&lt;/li&gt;&lt;li&gt;Evaluar las alternativas&lt;/li&gt;&lt;li&gt;Elección de la mejor alternativa "bajo el contexto final deseado"&lt;/li&gt;&lt;li&gt;Aplicación de la decisión&lt;/li&gt;&lt;li&gt;Evaluación de los resultados&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Metodologías como TOGAF utilizan análisis GAP para saber el punto actual (contexto del problema) y saber hacia donde se quiere ir (solución deseada). De esta manera, al saber lo que tenemos, y lo queremos, podemos iniciar un plan de acción para implementar la solución.&lt;br /&gt;&lt;br /&gt;Para la implementación (entiéndase forma de trabajo y sus resultados) existen otras metodologías complementarias como SCRUM o TDD/BDD que ayudan a detectar fallos de implementación desde los inicios para poder reaccionar a tiempo en caso de problemas técnicos y de recursos.&lt;br /&gt;&lt;br /&gt;Lo que mayormente marca la diferencia y la similaridad, es la forma como afrontamos y asumimos los resultados de las decisiones, los cuales cuando son correctos nos provocan satisfacción, pero cuando son fallidos, solo nos queda reconocerlos y aprender de ello.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2806486237180313925?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2806486237180313925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2806486237180313925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2806486237180313925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2806486237180313925'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/05/la-toma-de-decisiones-reflexiones-en.html' title='La toma de decisiones (reflexiones en voz alta)'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1674803538126207710</id><published>2011-05-14T01:29:00.000+02:00</published><updated>2011-05-14T01:29:38.471+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Http 404 en el workspace de Oracle BPM 11gR1 (11.1.1.4.0)</title><content type='html'>Partiendo de una instalación desde cero de Oracle BPM, cree un proceso y después de mapear los roles, intente crear una instancia obteniendo un error que no me esperaba; se trataba de un http 404 contra el servidor &lt;b&gt;localhost.localdomain&lt;/b&gt;, acto seguido modifique manualmente la URL generada con la ip del servidor y pude crear el proceso, luego quise acceder a sus datos, pero el 404 persistía.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0lqtePvf1Lk/Tc25OGNerHI/AAAAAAAAAXY/hH4fI_V0igY/s1600/bpm-error-localhost.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="153" width="320" src="http://2.bp.blogspot.com/-0lqtePvf1Lk/Tc25OGNerHI/AAAAAAAAAXY/hH4fI_V0igY/s320/bpm-error-localhost.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Resulta que durante el proceso de instalación no se había cambiado el fichero &lt;b&gt;/etc/hosts&lt;/b&gt; por el nombre/ip de la maquina, así que toco cambiar la propiedad &lt;b&gt;host&lt;/b&gt; de cada HumanTask desplegada desde el EM (en la carpeta SOA), cambiando el valor &lt;b&gt;localhost.localdomain&lt;/b&gt; por la ip/nombre de la maquina.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-0pcxA6QqZ7U/Tc25ORW65BI/AAAAAAAAAXg/Y0sSOVEtvCA/s1600/BPM%2Blocalhost-localdomain-2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="168" width="320" src="http://3.bp.blogspot.com/-0pcxA6QqZ7U/Tc25ORW65BI/AAAAAAAAAXg/Y0sSOVEtvCA/s320/BPM%2Blocalhost-localdomain-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... y voilá, problema solucionado.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1674803538126207710?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1674803538126207710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1674803538126207710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1674803538126207710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1674803538126207710'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/05/http-404-en-el-workspace-de-oracle-bpm.html' title='Http 404 en el workspace de Oracle BPM 11gR1 (11.1.1.4.0)'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-0lqtePvf1Lk/Tc25OGNerHI/AAAAAAAAAXY/hH4fI_V0igY/s72-c/bpm-error-localhost.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7387680406553890586</id><published>2011-05-06T00:21:00.001+02:00</published><updated>2011-05-06T01:42:16.568+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Como recoger el atributo value de un control af:selectOneChoice</title><content type='html'>Normalmente cuando se utiliza un comboBox, se suele necesitar recoger el valor seleccionado. &lt;br /&gt;&lt;br /&gt;En el caso del componente &lt;b&gt;af:selectOneChoice&lt;/b&gt; de ADF, devuelve el índice del item seleccionado aunque el atributo &lt;b&gt;valuePassThru&lt;/b&gt; este activado. En este caso los items del control se cargan con los datos de una vista; esto se logra arrastrando la "view" desde la sección de "Data Controls" en la página.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-_EPsWjcj010/TcMgdvoUlDI/AAAAAAAAAXI/PNFcuKqvrv8/s1600/singleChoise2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="231" width="320" src="http://4.bp.blogspot.com/-_EPsWjcj010/TcMgdvoUlDI/AAAAAAAAAXI/PNFcuKqvrv8/s320/singleChoise2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;El código que genera es similar al siguiente:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;&amp;lt;af:selectOneChoice &lt;br /&gt;   value="#{bindings.SmpTtipoProductoView1.inputValue}"&lt;br /&gt;   label="#{bindings.SmpTtipoProductoView1.label}"&lt;br /&gt;   required="#{bindings.SmpTtipoProductoView1.hints.mandatory}"&lt;br /&gt;   shortDesc="#{bindings.SmpTtipoProductoView1.hints.tooltip}"&lt;br /&gt;   id="soc1" valuePassThru="true"&lt;br /&gt;   valueChangeListener="#{backingBeanScope.TaskflowSelectorBean&lt;br /&gt;                                        .tipoProductChangeListener}"&lt;br /&gt;   autoSubmit="true" immediate="true"&gt;&lt;br /&gt;                                  &lt;br /&gt;   &amp;lt;f:selectItems &lt;br /&gt;           value="#{bindings.SmpTtipoProductoView1.items}" id="si1"/&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/af:selectOneChoice&gt;&lt;br /&gt;..&lt;/pre&gt;La diferencia esta en que al código generado original le he activado las propiedades &lt;b&gt;autoSubmit&lt;/b&gt; e &lt;b&gt;inmediate&lt;/b&gt; y le he puesto un listener que se ejecuta cada vez que cambia el valor del combo; en este listener es donde recojo el valor del item seleccionado en base al índice que me pasa el evento "change value" del componente.&lt;br /&gt;&lt;br /&gt;&lt;pre class="java" name="code"&gt;...&lt;br /&gt;public void tipoProductChangeListener(ValueChangeEvent valueChangeEvent) {&lt;br /&gt;        &lt;br /&gt;   String index = valueChangeEvent.getNewValue().toString().trim();&lt;br /&gt;   index = index.length() == 0 ? "0":index;&lt;br /&gt;   loadTipoProducto(index);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void loadTipoProducto(String index) {&lt;br /&gt;&lt;br /&gt;   String iteratorName = "SmpTtipoProductoView1Iterator";&lt;br /&gt;   String propertyToGetValue = "IdTipoProd";&lt;br /&gt;      &lt;br /&gt;   BindingContext bindingctx = BindingContext.getCurrent();&lt;br /&gt;   BindingContainer bindings = null;&lt;br /&gt;   bindings = bindingctx.getCurrentBindingsEntry();&lt;br /&gt;   DCBindingContainer bindingsImpl = &lt;br /&gt;        (DCBindingContainer)bindings;&lt;br /&gt;&lt;br /&gt;   // your lookup iterator&lt;br /&gt;   DCIteratorBinding dciter = null;&lt;br /&gt;   dciter =&lt;br /&gt;        bindingsImpl.findIteratorBinding(iteratorName); &lt;br /&gt;   Row temp =&lt;br /&gt;        dciter.getRowAtRangeIndex((Integer.parseInt(index)));&lt;br /&gt;&lt;br /&gt;   //your attribute value&lt;br /&gt;   String value = temp.getAttribute(propertyToGetValue).toString();&lt;br /&gt;&lt;br /&gt;   setIdTipoProd(value);&lt;br /&gt;}&lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7387680406553890586?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7387680406553890586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7387680406553890586' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7387680406553890586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7387680406553890586'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/05/como-recoger-el-atributo-value-de-un.html' title='Como recoger el atributo value de un control af:selectOneChoice'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-_EPsWjcj010/TcMgdvoUlDI/AAAAAAAAAXI/PNFcuKqvrv8/s72-c/singleChoise2.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5360426201609455548</id><published>2011-04-16T12:32:00.000+02:00</published><updated>2011-04-16T12:32:19.679+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Compartiendo carpetas Ubuntu 10.10  con una máquina virtual de VirtualBox</title><content type='html'>Últimamente suelo utilizar maquinas virtuales para montar entornos de desarrollo para no ensuciar mi máquina física, pero digamos que el común denominador de todo es que tengo que compartir documentos entre mi máquina física y las maquinas virtuales que tengo, así que la única forma de lograr esto es compartiendo una carpeta entre mi máquina física y las máquinas virtuales (valga la redundancia).&lt;br /&gt;&lt;br /&gt;Actualmente estoy utilizando Ubuntu 10.10 como sistema host y VirtualBox 4.0.4, y este post trata de como compartir carpetas entre maquinas virtuales Ubuntu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Todo esto se puede resumir en 4 grandes pasos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Preparar ubuntu&lt;/li&gt;&lt;li&gt;Instalar las Guest Additions de VirtualBox&lt;/li&gt;&lt;li&gt;Compartir carpetas locales con la máquina virtual&lt;/li&gt;&lt;li&gt;Montar la unidad compartida dentro de la máquina virtual&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Preparando Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;sudo apt-get update [para recargar y actualizar los repositorios]&lt;/li&gt;&lt;li&gt;sudo apt-get dselect-upgrade [descarga de los paquetes seleccionados]&lt;/li&gt;&lt;li&gt;sudo apt-get install gcc gcc+ linux-kernel-headers&lt;/li&gt;&lt;li&gt;Reiniciar ubuntu&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size: large;"&gt;Instalando las Guest Additions de VirtualBox &lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-6MpWUFVIv5g/Taljeic1ZTI/AAAAAAAAAW8/vxAUwb7J39c/s1600/InstalaccionVBadditions.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://1.bp.blogspot.com/-6MpWUFVIv5g/Taljeic1ZTI/AAAAAAAAAW8/vxAUwb7J39c/s320/InstalaccionVBadditions.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;sudo apt-get autoremove [elimina los ficheros antiguos del kernel]&lt;/li&gt;&lt;li&gt;Desde virtualbox que contiene la MV en la que estamos trabajando -&amp;gt;“Devices” -&amp;gt; “Install Guest Additions…”&lt;/li&gt;&lt;li&gt;Después de esto en el escritorio de la MV de ubuntu veremos un CD.&lt;/li&gt;&lt;li&gt;Botón derecho sobre el CD, seleccionamos “Open with Autorun Prompt” y continuamos con su proceso de instalación.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Apagar Ubuntu&lt;/b&gt; &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Compartiendo carpetas locales con la MV&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-V7D0nStCcf8/TaljxlyL2cI/AAAAAAAAAXA/lp-hxAHmXfY/s1600/InstalacionVBcarpetaCompartida.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="89" src="http://4.bp.blogspot.com/-V7D0nStCcf8/TaljxlyL2cI/AAAAAAAAAXA/lp-hxAHmXfY/s320/InstalacionVBcarpetaCompartida.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Con la MV apagada, vamos a su configuración -&amp;gt; "Carpetas compartidas"&amp;nbsp;&lt;/li&gt;&lt;li&gt;Añadir una carpeta local, en mi caso la publico con el nombre de "&lt;b&gt;Shared&lt;/b&gt;" &lt;/li&gt;&lt;li&gt;Reiniciar Ubuntu&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Montando la unidad compartida dentro de la MV&lt;/span&gt;&lt;br /&gt;Se debe crear una carpeta dentro de la maquina virtual que actué como carpeta compartida.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;sudo mkdir /mnt/shared&lt;/li&gt;&lt;li&gt;sudo chmod 777 /mnt/shared&lt;/li&gt;&lt;li&gt;sudo mount -t vboxsf &lt;b&gt;Shared&lt;/b&gt; /mnt/shared&lt;/li&gt;&lt;/ol&gt;Finalmente para hacer este registro persistente, es recomendable montar automáticamente la unidad en el fichero&lt;b&gt; /etc/rc.local&lt;/b&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;sudo gedit /etc/rc.local &lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oKnI3MIXkPY/TalsUnC-7ZI/AAAAAAAAAXE/v6o2ppCJGO0/s1600/montarUnidadCompartida.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="173" src="http://1.bp.blogspot.com/-oKnI3MIXkPY/TalsUnC-7ZI/AAAAAAAAAXE/v6o2ppCJGO0/s320/montarUnidadCompartida.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5360426201609455548?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5360426201609455548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5360426201609455548' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5360426201609455548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5360426201609455548'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/04/compartiendo-carpetas-ubuntu-1010-con.html' title='Compartiendo carpetas Ubuntu 10.10  con una máquina virtual de VirtualBox'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-6MpWUFVIv5g/Taljeic1ZTI/AAAAAAAAAW8/vxAUwb7J39c/s72-c/InstalaccionVBadditions.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1321668123297723023</id><published>2011-04-13T00:59:00.000+02:00</published><updated>2011-04-13T00:59:46.208+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>The host I/O cache for at least one controller is disabled</title><content type='html'>Últimamente cuando levanto máquinas virtuales de Oracle VirtualBox me sale un error referente al filesystem.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Either enable the host I/O cache permanently in the VM settings or put the disk image and the snapshot folder onto a different file system.&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-tNbIful-Sjc/TaTWGARN5aI/AAAAAAAAAWw/0_aq2ra_7H4/s1600/error+cache+vb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="157" src="http://1.bp.blogspot.com/-tNbIful-Sjc/TaTWGARN5aI/AAAAAAAAAWw/0_aq2ra_7H4/s320/error+cache+vb.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Buscando, en los foros de ubuntu encontré las soluciones; o bien activo la cache del host o bien pongo el disco en una partición que no sea ext4.&lt;br /&gt;&lt;br /&gt;Pues bien para activar la cache del host, con la máquina virtual apagada hay que ir a su configuración y activar la casilla de "usar la cache anfitrión de E/S".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Ob0ZDQFhRgg/TaTV6epBaHI/AAAAAAAAAWs/fJljIYooGV8/s1600/vbHabilitarCacheAnfitrion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="91" src="http://1.bp.blogspot.com/-Ob0ZDQFhRgg/TaTV6epBaHI/AAAAAAAAAWs/fJljIYooGV8/s320/vbHabilitarCacheAnfitrion.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ubuntu-es.org/node/141015" target="visor"&gt;Hola tengo un problema con Virtualbox&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1321668123297723023?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1321668123297723023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1321668123297723023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1321668123297723023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1321668123297723023'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/04/host-io-cache-for-at-least-one.html' title='The host I/O cache for at least one controller is disabled'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-tNbIful-Sjc/TaTWGARN5aI/AAAAAAAAAWw/0_aq2ra_7H4/s72-c/error+cache+vb.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6277746859971563830</id><published>2011-04-03T02:36:00.001+02:00</published><updated>2011-04-13T01:00:01.950+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SOA'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>VERR_VMX_MSR_LOCKED_OR_DISABLED7 en Oracle VirtualBox 4.0.4</title><content type='html'>Intentando levantar la máquina virtual de oracle para SOA y BPM, me salió un mensaje muy feo que decía algo así como: &lt;b&gt;VERR_VMX_MSR_LOCKED_OR_DISABLED7&lt;/b&gt;; es decir, que tendré yo, que todos los mensajes raros me salen a mí :-) &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-f_yXEWigAXc/TZe_OtMttkI/AAAAAAAAAWY/xFpbx3-FyjQ/s1600/obmp_0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://1.bp.blogspot.com/-f_yXEWigAXc/TZe_OtMttkI/AAAAAAAAAWY/xFpbx3-FyjQ/s320/obmp_0.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Bueno, sin extenderme en una explicación estrambótica, la solución pasa por desmarcar la aceleración hardware de la máquina virtual.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-tWSvPP_ys8A/TZe_PUM5c2I/AAAAAAAAAWg/gjpvRCrqfTo/s1600/obpm_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="82" src="http://4.bp.blogspot.com/-tWSvPP_ys8A/TZe_PUM5c2I/AAAAAAAAAWg/gjpvRCrqfTo/s320/obpm_1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html" target="visor"&gt;Pre-built Virtual Machine for SOA Suite and BPM Suite 11g&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6277746859971563830?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6277746859971563830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6277746859971563830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6277746859971563830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6277746859971563830'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/04/verrvmxmsrlockedordisabled7-en-oracle.html' title='VERR_VMX_MSR_LOCKED_OR_DISABLED7 en Oracle VirtualBox 4.0.4'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-f_yXEWigAXc/TZe_OtMttkI/AAAAAAAAAWY/xFpbx3-FyjQ/s72-c/obmp_0.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7751642062289082805</id><published>2011-03-28T14:52:00.000+02:00</published><updated>2011-03-28T14:52:35.655+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Error instalando Oracle XE en una maquina virtual con Ubuntu 10.10</title><content type='html'>Una de las virtudes que tiene la instalación de Ubuntu Desktop, es que en unos pocos clicks se puede instalar, ya sea en una máquina física, como en una maquina virtual (este es mi caso).&lt;br /&gt;&lt;br /&gt;En este caso al ser una maquina virtual, no reparé en configurar la memoria swap ("&lt;b&gt;craso error&lt;/b&gt;"), el problema surgió poco después al intentar instalar una Oracle XE en dicha MV.&lt;br /&gt;&lt;br /&gt;La primera intentona fue haciendo doble click sobre el fichero oracle-xe_10.2.0.1-1.0_i386.deb tras el cual se abre la ventana de "Ubuntu Software Center" y se inicia el proceso de instalación, pero a mitad de camino da el siguiente mensaje de error:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;There seems to be a programming error in aptdaemon, the software that allows you to install/remove software and to perform other package management related tasks. &lt;/blockquote&gt;&lt;br /&gt;Desde luego este mensaje no es "friendly" y por el contrario desvia la atención al verdadero problema, así que decidí hacerlo desde línea de comandos y voilá, seguía fallando pero me daba un mensaje de error mas coherente, aquí la traza:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;desarrollo@desarrollo-VirtualBox:~/Downloads$ &lt;b&gt;sudo dpkg -i oracle-xe_10.2.0.1-1.0_i386.deb&lt;/b&gt; &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;i&gt;(Reading database ... 144430 files and directories currently installed.)&lt;br /&gt;Unpacking oracle-xe (from oracle-xe_10.2.0.1-1.0_i386.deb) ...&lt;br /&gt;This system does not meet the minimum requirements for swap space.  Based on &lt;br /&gt;the amount of physical memory available on the system,&lt;b&gt; Oracle Database 10g &lt;br /&gt;Express Edition requires 1024 MB of swap space.&lt;/b&gt; This system has 894 MB &lt;br /&gt;of swap space.  Configure more swap space on the system and retry the installation.&lt;br /&gt;dpkg: error processing oracle-xe_10.2.0.1-1.0_i386.deb (--install):&lt;br /&gt;subprocess new pre-installation script returned error exit status 1&lt;br /&gt;Errors were encountered while processing:&lt;br /&gt;oracle-xe_10.2.0.1-1.0_i386.deb&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;Bueno, el mensaje es claro, me falta memoria swap, así nada, procedí a añadir 1024 MB más de swap, siguiendo los siguientes pasos:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;creando un fichero del tamaño deseado y dando permisos de lectura a los usuarios &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo dd if=/dev/zero of=/mnt/1024Mb.swap bs=1M count=1024 &lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo chmod 600 /mnt/1024Mb.swap&lt;/span&gt;&lt;/li&gt;&lt;li&gt;preparando el fichero para que sea una unidad de swapping &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo mkswap /mnt/1024Mb.swap&lt;/span&gt;&lt;/li&gt;&lt;li&gt;añadiendo el fichero al sistema &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sudo swapon /mnt/1024Mb.swap&lt;/span&gt;&lt;/li&gt;&lt;li&gt;haciendo permanente el cambio editando el fichero /etc/fstab &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;gksudo gedit /etc/fstab&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Añadiendo como última linea al fichero fstab el texto &lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/mnt/1024Mb.swap  none  swap  sw  0 0&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Bueno, solo decir que después de esto hubo un final feliz :-)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/--hkTzaDoudE/TYeF0C_1i6I/AAAAAAAAAWU/gT2-3OVK87M/s1600/InstalacionOracleXE.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="https://lh5.googleusercontent.com/--hkTzaDoudE/TYeF0C_1i6I/AAAAAAAAAWU/gT2-3OVK87M/s320/InstalacionOracleXE.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://lordamit.blogspot.com/2010/08/how-to-setup-oracle-10g-xe-in-ubuntu.html" target="visor"&gt;How to Setup Oracle 10G XE in Ubuntu &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://help.ubuntu.com/community/SwapFaq" target="visor"&gt;How do I add more swap&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7751642062289082805?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7751642062289082805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7751642062289082805' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7751642062289082805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7751642062289082805'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/03/error-instalando-oracle-xe-en-una.html' title='Error instalando Oracle XE en una maquina virtual con Ubuntu 10.10'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/--hkTzaDoudE/TYeF0C_1i6I/AAAAAAAAAWU/gT2-3OVK87M/s72-c/InstalacionOracleXE.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4756617891278203702</id><published>2011-03-24T22:48:00.000+01:00</published><updated>2011-03-24T22:48:01.173+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Desplegando con diferentes ficheros de configuración usando profiles y resources</title><content type='html'>Hace poco puse unos apuntes a cerca de como desplegar usando diferentes ficheros de configuración, dependiendo del entorno de despliegue; digamos que ahora explicaré lo mismo pero de otra forma, para complacer a aquellos puristas de maven :-)&lt;br /&gt;&lt;br /&gt;A continuación se expondrán tres grandes secciones de como hacer esto:&lt;ol&gt;&lt;li&gt;La definición de que archivos copiar y excluir&lt;/li&gt;&lt;li&gt;La configuración del plugin Maven Resources&lt;/li&gt;&lt;li&gt;La definición de profiles&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;La definición de que archivos copiar y excluir&lt;br /&gt;&lt;/b&gt;La escencia básicamente es copiar unos determinados recursos y excluir otros; y la forma de indicar esto es utilizando el tag &lt;b&gt;resources &lt;/b&gt;dentro del tag &lt;b&gt;build&lt;/b&gt;, donde en la invocación se utilice una &lt;b&gt;propiedad&lt;/b&gt; que indique que recursos incluir.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;build&gt;&lt;br /&gt;  ...&lt;br /&gt;  &amp;lt;resources&gt;&lt;br /&gt;    &amp;lt;resource&gt;&lt;br /&gt;        &amp;lt;directory&gt;src/main/resources&amp;lt;/directory&gt;&lt;br /&gt;          &amp;lt;includes&gt;&lt;br /&gt;              &amp;lt;include&gt;**.*&amp;lt;/include&gt;&lt;br /&gt;              &amp;lt;include&gt;custom/${deploy.target.folder}/**.*&amp;lt;/include&gt;&lt;br /&gt;          &amp;lt;/includes&gt;&lt;br /&gt;        &amp;lt;excludes&gt;&lt;br /&gt;            &amp;lt;exclude&gt;custom/**.*&amp;lt;/exclude&gt;&lt;br /&gt;        &amp;lt;/excludes&gt;&lt;br /&gt;    &amp;lt;/resource&gt;&lt;br /&gt;  &amp;lt;/resources&gt;&lt;br /&gt;  ...&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;En el snippet anterior, por defecto se excluyen todos los ficheros dentro del directorio &lt;b&gt;src/main/resources/custom&lt;/b&gt;, pero se incluyen todos los ficheros de la carpeta &lt;b&gt;src/main/resources&lt;/b&gt; y &lt;b&gt;src/main/resources/custom/${deploy.target.folder}&lt;/b&gt;, donde la propiedad &lt;b&gt;deploy.target.folder&lt;/b&gt; indica la subcarpeta, de cuyo contenido si que hay que incluir; los posibles valores para esta propiedad se informarán desde los perfiles maven creados para cada entorno destino.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;La configuración del plugin Maven Resources&lt;/b&gt;&lt;br /&gt;Ahora queda controlar la copia de los recursos del proyecto al directorio destino de la generación del ejecutable; para ello disponemos del goal &lt;b&gt;resources:copy-resources&lt;/b&gt; perteneciente al plugin &lt;b&gt;Maven Resources&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;build&gt;&lt;br /&gt;  ...&lt;br /&gt;  ...resources...&lt;br /&gt;  ...&lt;br /&gt;   &amp;lt;plugins&gt;&lt;br /&gt;      &amp;lt;plugin&gt;&lt;br /&gt;        &amp;lt;artifactId&gt;maven-resources-plugin&amp;lt;/artifactId&gt;&lt;br /&gt;        &amp;lt;version&gt;2.4.3&amp;lt;/version&gt;&lt;br /&gt;        &amp;lt;executions&gt;&lt;br /&gt;          &amp;lt;execution&gt;&lt;br /&gt;            &amp;lt;id&gt;copy-resources&amp;lt;/id&gt;&lt;br /&gt;            &amp;lt;phase&gt;validate&amp;lt;/phase&gt;&lt;br /&gt;            &amp;lt;goals&gt;&lt;br /&gt;              &amp;lt;goal&gt;copy-resources&amp;lt;/goal&gt;&lt;br /&gt;            &amp;lt;/goals&gt;&lt;br /&gt;            &amp;lt;configuration&gt;&lt;br /&gt;              &amp;lt;outputDirectory&gt;${project.build.directory}/${project.build.finalName}/images&amp;lt;/outputDirectory&gt;&lt;br /&gt;              &amp;lt;resources&gt;&lt;br /&gt;                &amp;lt;resource&gt;&lt;br /&gt;                  &amp;lt;directory&gt;src/main/resources/custom/${deploy.target.folder}/images&amp;lt;/directory&gt;&lt;br /&gt;                &amp;lt;/resource&gt;&lt;br /&gt;              &amp;lt;/resources&gt;&lt;br /&gt;            &amp;lt;/configuration&gt;&lt;br /&gt;          &amp;lt;/execution&gt;&lt;br /&gt;        &amp;lt;/executions&gt;&lt;br /&gt;      &amp;lt;/plugin&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;/plugins&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;La definición de profiles&lt;/b&gt;&lt;br /&gt;Ahora solo queda definir los perfiles, uno para cada entorno de despliegue.&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;  &amp;lt;profiles&gt;&lt;br /&gt;    &amp;lt;profile&gt;&lt;br /&gt;      &amp;lt;id&gt;integracion&amp;lt;/id&gt;&lt;br /&gt;      &amp;lt;properties&gt;&lt;br /&gt;        &amp;lt;deploy.target.folder&gt;int&amp;lt;/deploy.target.folder&gt;&lt;br /&gt;      &amp;lt;/properties&gt;&lt;br /&gt;    &amp;lt;/profile&gt;&lt;br /&gt;    &amp;lt;profile&gt;&lt;br /&gt;      &amp;lt;id&gt;pre-produccion&amp;lt;/id&gt;&lt;br /&gt;      &amp;lt;properties&gt;&lt;br /&gt;        &amp;lt;deploy.target.folder&gt;pre&amp;lt;/deploy.target.folder&gt;&lt;br /&gt;      &amp;lt;/properties&gt;&lt;br /&gt;    &amp;lt;/profile&gt;&lt;br /&gt;    &amp;lt;profile&gt;&lt;br /&gt;      &amp;lt;id&gt;produccion&amp;lt;/id&gt;&lt;br /&gt;      &amp;lt;properties&gt;&lt;br /&gt;        &amp;lt;deploy.target.folder&gt;pro&amp;lt;/deploy.target.folder&gt;&lt;br /&gt;      &amp;lt;/properties&gt;&lt;br /&gt;    &amp;lt;/profile&gt;    &lt;br /&gt;  &amp;lt;/profiles&gt;&lt;br /&gt;  ...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;No esta demás decir que en nuestro proyecto tendremos que disponer de los directorios:&lt;ul&gt;&lt;li&gt;src/main/resources/custom/&lt;b&gt;int&lt;/b&gt;&lt;/li&gt;&lt;li&gt;src/main/resources/custom/&lt;b&gt;pre&lt;/b&gt;&lt;/li&gt;&lt;li&gt;src/main/resources/custom/&lt;b&gt;pro&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Y que en cada uno de estos directorios existen los mismos recursos ;-).&lt;br /&gt;&lt;br /&gt;Bueno este artículo a sido fruto de la colaboración de Jordi Carbonell.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados&lt;/b&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2010/09/desplegando-con-diferentes-ficheros-de.html"&gt;Desplegando con diferentes ficheros de configuración&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html" target="visor"&gt;Introduction to the POM&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html" target="visor"&gt;Introduction to the Build Lifecycle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html" target="visor"&gt;Including and excluding files and directories&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://maven.apache.org/plugins/maven-resources-plugin/" target="visor"&gt;Maven Resources Plugin&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4756617891278203702?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4756617891278203702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4756617891278203702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4756617891278203702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4756617891278203702'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/03/desplegando-con-diferentes-ficheros-de.html' title='Desplegando con diferentes ficheros de configuración usando profiles y resources'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4902545289992719653</id><published>2011-03-23T10:12:00.009+01:00</published><updated>2011-03-23T12:52:04.142+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='jdeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='webservices'/><title type='text'>Consumir WebServices sobre HTTPS con ADF</title><content type='html'>A grandes rasgos, lo primero, para poder hacer esto, es obtener e instalar el certificado del servidor del cual se consumiran los servicios, luego hay que registrar dicho certificado en el keystore de la JVM que esta usando JDeveloper y en&amp;nbsp; el keystore del servidor weblogic de desarrollo que viene con JDeveloper.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para saber la ubicación de la JVM que usa JDev lo podemos ver en el fichero de configuración jdev.conf:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/usr/Oracle/Middleware/jdeveloper/jdev/bin$ &lt;b&gt;gedit jdev.conf&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Es la linea =&amp;gt; &lt;b&gt;SetJavaHome&lt;/b&gt; /usr/java/jrockit-jdk1.6.0_20-R28.1.0-4.0.1&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sabiendo ahora la ubicación de la JDK, en su keystore hay que instalar el certificado del servidor https al cual nos conectaremos ("svn.servidor.es.cert" sera el nombre del fichero físico con el certificado)&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;emmerson@emmerson-laptop:/usr/java/jrockit-jdk1.6.0_20-R28.1.0-4.0.1/jre/lib/security$ &lt;b&gt;sudo keytool -importcert&lt;/b&gt; -file svn.servidor.es.cert -alias myAliasRoot -keystore cacerts -trustcacerts&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora solo queda instalar el certificado en el keystore del servidor weblogic; la ubicación del keystore se puede obtener desde la consola de administración del mismo (en el caso del servidor integrado de JDev http://localhosto:7101/console) DefaultDomain &amp;gt;Resumen de Servidores &amp;gt;DefaultServer -&amp;gt; Almacén de claves &lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;emmerson@emmerson-laptop:/usr/java/jrockit-jdk1.6.0_20-R28.1.0-4.0.1/jre/lib/security$ &lt;b&gt;sudo keytool -importcert&lt;/b&gt; -file svn.servidor.es.cert -alias myAliasRoot -keystore /usr/Oracle/Middleware/wlserver_10.3/server/lib/DemoTrust.jks -trustcacerts&lt;/div&gt;&lt;br /&gt;La contraseña por defecto para esta keystore es "&lt;b&gt;DemoTrustKeyStorePassPhrase&lt;/b&gt;".&lt;br /&gt;&lt;br /&gt;Ahora ya se pueden generar y probar los stubs del ws que queremos utilizar.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4902545289992719653?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4902545289992719653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4902545289992719653' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4902545289992719653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4902545289992719653'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/consumir-webservices-sobre-https-con.html' title='Consumir WebServices sobre HTTPS con ADF'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1425854018304669085</id><published>2011-03-20T21:30:00.001+01:00</published><updated>2011-03-20T22:03:12.387+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Problemas con los acentos en ADF</title><content type='html'>A veces cuando en un input(af:inputText) de un formulario ADF, se introduce un carácter con acento, y se hace el post de este, cuando vuelve, dicho caracter se algo así como  � &lt;br /&gt;&lt;br /&gt;Buscando el los foros de oracle, encontre la siguiente solución:&lt;br /&gt;&lt;br /&gt;Hay que añadir en el fichero web.xml, la codificación por defecto para las páginas jspx a utf-8&lt;br /&gt;&lt;pre class="html" name="code"&gt;...&lt;br /&gt;&amp;lt;jsp-property-group&amp;gt;&lt;br /&gt;&amp;lt;url-pattern&amp;gt;*.jspx&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;page-encoding&amp;gt;utf-8&amp;lt;/page-encoding&amp;gt;&lt;br /&gt;&amp;lt;/jsp-property-group&amp;gt; &lt;br /&gt;...&lt;/pre&gt;&lt;br /&gt;Luego en cada página jspx&lt;br /&gt;&lt;pre class="html" name="code"&gt;...&lt;br /&gt;&amp;lt;jsp:directive.page contentType="text/html;charset=utf-8"/&amp;gt;&lt;br /&gt;...&lt;/pre&gt;Con esto el problema queda resuelto.&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a target="visor" href="http://forums.oracle.com/forums/thread.jspa?messageID=3151892"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=3151892&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1425854018304669085?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1425854018304669085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1425854018304669085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1425854018304669085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1425854018304669085'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/03/problemas-con-los-acentos-en-adf.html' title='Problemas con los acentos en ADF'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6045734385067529663</id><published>2011-03-09T00:48:00.000+01:00</published><updated>2011-03-09T00:48:40.891+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linkedin'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Mi primera experiencia con twitter</title><content type='html'>Por curiosidad me acabo de inscribir al famoso twitter y al principio andaba algo perdido, pero pronto he empezado a ubicarme, no parece complicado, incluso con su lenguaje de etiquetas; por lo pronto lo he visto bien integrado con linkedin y con las cuentas google.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/emmersonmiranda"&gt;http://twitter.com/emmersonmiranda&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6045734385067529663?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6045734385067529663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6045734385067529663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6045734385067529663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6045734385067529663'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/03/mi-primera-experiencia-con-twitter.html' title='Mi primera experiencia con twitter'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7374188898724745418</id><published>2011-03-04T00:07:00.001+01:00</published><updated>2011-03-04T00:07:00.761+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Resumen</title><content type='html'>Hace unos días inicie una serie de posts, donde comparaba los pros y contras de dos alternativas de desarrollo sobre Oracle WebCenter, he aquí una recopilación de todos los enlaces.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets.html"&gt;Introducción&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets-standards.html"&gt;Standards&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets-seguridad.html"&gt;Seguridad&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets_14.html"&gt;Renderización&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets_16.html"&gt;Despliegues y Re-despliegues&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets-custom.html"&gt;Custom WebCenter Applications&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets-look-and.html"&gt;Look and Feel&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/02/adf-taskflows-vs-adf-portlets_23.html"&gt;Preferences&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2011/03/adf-taskflows-vs-adf-portlets.html"&gt;Reutilización&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Críticas&lt;/b&gt;&lt;br /&gt;Finalmente como crítica al modelo de desarrollo en WebCenter, los portlets desplegados en el mismo servidor que las custom webcenter aplications no deberian ser accedidos por WSRP (al menos por temas de rendimiento), siguiendo, por ejemplo, el modelo de los EJBs locales.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://georgemaggessy.blogspot.com/2009/08/task-flow-or-portlet-what-to-choose.html" target="visor"&gt;Task Flow or Portlet: what to choose?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.yonaweb.be/difference_between_portlet_taskflow" target="visor"&gt;Difference between ADF portlets and taskflows&lt;/a&gt;&amp;nbsp; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/adfmds-128339.pdf" target="visor"&gt;Building Customizable Oracle ADF Business Applications with Oracle Metadata Services (MDS)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://secureandgo.blogspot.com/2010/09/hands-on-wsrp-security-in-oracle-fusion.html" target="visor"&gt;Hands-on WSRP Security in Oracle Fusion Middleware &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.delicious.com/jaimecid/taskflow" target="visor"&gt;Colección de enlaces sobre taskflows de Jaime Cid&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.oracle.com/fusionecm/2011/01/officially_official_-_webcente.html" target="visor"&gt;Officially Official - WebCenter PS3 is here!&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7374188898724745418?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7374188898724745418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7374188898724745418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7374188898724745418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7374188898724745418'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/03/adf-taskflows-vs-adf-portlets-resumen.html' title='ADF Taskflows vs ADF Portlets - Resumen'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7975455113824805740</id><published>2011-03-03T01:01:00.000+01:00</published><updated>2011-03-03T01:01:11.804+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Reutilización</title><content type='html'>Por su naturaleza un portlet se puede utilizar entre múltiples aplicaciones y no necesita residir en el mismo servidor JEE de la aplicación que lo consume, mientras que un taskflow debe residir dentro de la aplicación o al menos en el mismo servidor JEE y no es de naturaleza compartida, a menos que este desplegado dentro de una “shared library”.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7975455113824805740?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7975455113824805740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7975455113824805740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7975455113824805740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7975455113824805740'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/03/adf-taskflows-vs-adf-portlets.html' title='ADF Taskflows vs ADF Portlets - Reutilización'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7524941587970519203</id><published>2011-02-23T08:31:00.001+01:00</published><updated>2011-02-23T08:31:00.485+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Preferences</title><content type='html'>Los portlets pueden almacenar las preferencias del usuario para personalizar su comportamiento o características. &lt;br /&gt;&lt;br /&gt;Esto no se puede con los taskflows (cuando estan dentro de una aplicación JEE), ya que abría que implementarlo teniendo en cuenta la gestión de instancias o utilizando algún otro mecanismo.&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://jaimecid-oracle.blogspot.com/"&gt;Jaime Cid&lt;/a&gt; :&lt;br /&gt;&lt;blockquote&gt;Cuando los taskflows corren en WebCenter, el contenedor de WebCenter si que es capaz de admitir personalizacion y preferencias, guardadas en el MDS (digamos que los taskflows pueden correr dentro de WebCenter o correr aislados dentro de una aplicacion J2EE)&lt;/blockquote&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7524941587970519203?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7524941587970519203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7524941587970519203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7524941587970519203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7524941587970519203'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets_23.html' title='ADF Taskflows vs ADF Portlets - Preferences'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5729785979423465460</id><published>2011-02-22T15:29:00.000+01:00</published><updated>2011-02-22T15:29:49.555+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Look and Feel</title><content type='html'>Es complicado mantener un estilo coherente con distintos  productores de portlets; como mínimo se han de duplicar las hojas de estilo en todos los portlets que consuma nuestra aplicación, con el consiguiente problema de mantenimiento. &lt;br /&gt;&lt;br /&gt;Sin embargo los taskflows heredan los de la aplicación que los utiliza.&lt;br /&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5729785979423465460?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5729785979423465460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5729785979423465460' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5729785979423465460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5729785979423465460'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets-look-and.html' title='ADF Taskflows vs ADF Portlets - Look and Feel'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2087286929478991425</id><published>2011-02-20T01:44:00.001+01:00</published><updated>2011-02-20T01:44:00.138+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>Assertion failed: Incorrect use of AdfRichUIPeer.GetDomNodeForCommentComponent</title><content type='html'>Este error me salia cuando abría un popup por segunda vez con una tabla en su interior, aquí encontré un workaround.&lt;br /&gt;&lt;pre class="html" name="code"&gt;...&lt;br /&gt;Assertion failed: Incorrect use of AdfRichUIPeer.GetDomNodeForCommentComponent.AdfRichCommandToolbarButton [oracle.adf.RichCommandToolbarButton] id=pc3:btnAddRespReco&lt;br /&gt;StackTrace:&lt;br /&gt;anonymous(x217)&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://adfbugs.blogspot.com/2010/05/choise-list-in-popup-turn-to-null-after.html"&gt;Choise list in popup turn to null after submit (Fixed in 11.1.1.4) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2087286929478991425?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2087286929478991425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2087286929478991425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2087286929478991425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2087286929478991425'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/assertion-failed-incorrect-use-of.html' title='Assertion failed: Incorrect use of AdfRichUIPeer.GetDomNodeForCommentComponent'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-118055719299006478</id><published>2011-02-17T08:33:00.001+01:00</published><updated>2011-02-17T08:33:00.921+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Custom WebCenter Applications</title><content type='html'>Actualmente, al contrario de otros modelos de desarrollo de portales, como por ejemplo Liferay, dentro de webcenter no residen los portlets desplegados, webcenter actúa como portlet consumer, es decir que todo portlet referenciado se consume remotamente usando el protocolo WSRP lo cual tiene cierto coste ya que se hace una llamada remota inclusive estando dentro del mismo servidor, la solución para simular "portlets locales" es usar "ADF taskflows".&lt;br /&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-118055719299006478?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/118055719299006478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=118055719299006478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/118055719299006478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/118055719299006478'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets-custom.html' title='ADF Taskflows vs ADF Portlets - Custom WebCenter Applications'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-214293035901654566</id><published>2011-02-16T01:32:00.000+01:00</published><updated>2011-02-16T01:32:23.937+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Despliegues y Re-despliegues</title><content type='html'>En el caso de los portlets, solo se necesita registrar el productor WSRP con el EM en el servidor weblogic, por tanto no es necesario re-desplegar la aplicación para consumir la nueva funcionalidad. El catalogo de recursos se actualizará automáticamente con los productores registrados con el EM.&lt;br /&gt;&lt;br /&gt;Cuando se usan ADF taskflows, el proceso de despliegue da un poco mas de trabajo que los portlets. Si se elige desarrollar con taskflows, estos se han de añadir como una libreria a la aplicación que los consuma, editar el catalogo de recursos y redesplegar la aplicación, aunque existe la opción de crear las librerias ADF taskflows como shared libraries (al menos para evitar los redespliegues en el caso de las actualizaciones).&lt;br /&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-214293035901654566?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/214293035901654566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=214293035901654566' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/214293035901654566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/214293035901654566'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets_16.html' title='ADF Taskflows vs ADF Portlets - Despliegues y Re-despliegues'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4776813365644951502</id><published>2011-02-14T08:13:00.002+01:00</published><updated>2011-02-14T08:13:01.006+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Renderización</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Rendering ADF portlets&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Existe una gran diferencia entre la renderización de portlets y los taskflows. &lt;br /&gt;Los taskflows se renderizan dentro de la página, mientras que los ADF portlets usan iframes.&lt;br /&gt;&lt;br /&gt;En el caso de los portlets, la desventaja mas característica es que cuando estos lanzan un popup, este se renderiza dentro del iframe, mientras que con los taskflows no, ya que forman parte de la página.&lt;br /&gt;&lt;br /&gt;Cada vez que se pone un portlet en una página, sus dimensiones no cambian, por ejemplo si se usa un acordeón y se despliega un panel, el portlet no se adapta a su contenido (no crece / no se redimensiona), pudiendose ver las scrollbars para mostrar el contenido, y esto desde luego no es usable. Por esta razón hay que tener cuidado al diseñar un portlet ADF.&lt;br /&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4776813365644951502?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4776813365644951502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4776813365644951502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4776813365644951502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4776813365644951502'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets_14.html' title='ADF Taskflows vs ADF Portlets - Renderización'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5757311187209222718</id><published>2011-02-11T13:20:00.015+01:00</published><updated>2011-02-11T13:20:00.091+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certificaciones Java'/><title type='text'>¿Que va a pasar con mis certificaciones Java de SUN?</title><content type='html'>Es la pregunta que, desde la compra de Sun por parte de Oracle me he hecho, supongo que al igual que mucha gente.&lt;br /&gt;&lt;br /&gt;Pues tenemos buenas noticias, Oracle las reconoce, además sin fecha de caducidad. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Your current Sun certification title will continue to be recognized under the Oracle certification program and will be valid without expiration&lt;/blockquote&gt;&lt;br /&gt;Y ahora aqui empieza mi duda, con todos los fregaos que llevo encima, hasta que punto me conviene actualizar mi certificación SCEA 5 a la certificación "Oracle Certified Master, Java EE 5 Enterprise Architect"?&lt;br /&gt;&lt;br /&gt;Ciertamente, la primera razón que se me ocurre es repasar y revisar esos conceptos que doy por asumidos. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Y aquí va una proposición indecente : &lt;/b&gt;&lt;br /&gt;A quien lea este post, tenga el SCEA y piense que la preparación en solitario será una tarea ardua, le propongo que desarrollemos los puntos del upgrade conjuntamente, en equipo, así de pasada nos vamos conociendo :-)&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a target="visor" href="http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=433"&gt;Important News Related to Sun Certification&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5757311187209222718?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5757311187209222718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5757311187209222718' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5757311187209222718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5757311187209222718'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/que-va-pasar-con-mis-certificaciones.html' title='¿Que va a pasar con mis certificaciones Java de SUN?'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6794753004657768731</id><published>2011-02-11T08:08:00.002+01:00</published><updated>2011-02-11T08:08:00.132+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Seguridad</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;br /&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0in;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Seguridad&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;Los portlets son pequeñas aplicaciones en que se ponen en un portal y por su naturaleza no es posible pasarles el securityContext desde un portal personalizado (Custom WebCenter application) que los consume, sin embargo usando taskflows, el securityContext de la aplicación esta disponible, siendo posible verificar fácilmente si un usuario tiene un rol específico o no (con ADF Security).&lt;/div&gt;&lt;br style="background-color: white;" /&gt; &lt;br /&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt;Este es un aspecto importantísimo a tener en cuenta si nuestros portlets se han de comportar de una manera, u otra, en base al usuario logado en el portal, y este requerimiento precisamente puede afectar al diseño de la aplicación a construir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La JSR 168 describe que se pueden pasar roles J2EE desde una aplicación personalizada al portlet, pero las aplicaciones ADF y webcenter no usan los roles J2EE en el modelo de seguridad, así que cuando se intentan pasar los roles según la JSR, no es posible utilizarlos.&lt;br /&gt;&lt;br /&gt;Continuará ... &lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6794753004657768731?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6794753004657768731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6794753004657768731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6794753004657768731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6794753004657768731'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets-seguridad.html' title='ADF Taskflows vs ADF Portlets - Seguridad'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6396629014111297490</id><published>2011-02-10T08:01:00.012+01:00</published><updated>2011-02-10T08:01:01.053+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Standards</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.08in; }&lt;/style&gt;  &lt;br /&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif; margin-bottom: 0in;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Standards&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;br /&gt;Los portlets se basan en standards (JSR 168/286) y se despliegan en portales JEE, lo cual &lt;b&gt;"teóricamente"&lt;/b&gt; nos aísla de un servidor de aplicaciones concreto.&lt;/div&gt;&lt;br /&gt;Los taskflows de ADF son (trivializando) agrupaciones de páginas y funciones que trabajan como una unidad, pero que residen dentro de una webapp.&lt;br /&gt;&lt;br /&gt;En todo caso los ADF Taskflows se pueden publicar como portlets de forma sencilla (mediante&lt;span style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt; Portlet Bridge el cual permite transformarlos en Portlets, dando la opción que los taskflows puedan ser consumidos por WSRP&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6396629014111297490?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6396629014111297490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6396629014111297490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6396629014111297490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6396629014111297490'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets-standards.html' title='ADF Taskflows vs ADF Portlets - Standards'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8711026834282449856</id><published>2011-02-09T14:22:00.001+01:00</published><updated>2011-02-09T14:23:41.150+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>ADF Taskflows vs ADF Portlets - Introducción</title><content type='html'>Este post se centra en el desarrollo de portales con WebCenter y las dos principales alternativas de desarrollo que existen, por tanto las consideraciones aqui mencionadas se basan en este contexto.&lt;br /&gt;&lt;br /&gt;Una de las nuevas características de ADF 11g son los taskflows, estos permiten encapsular determina funcionalidad como una unidad auto contenida, que contiene sus propias páginas, su propia navegación, control de transacciones, parámetros de entrada y de salida, se pueden invocar métodos directamente; es decir nos permite diseñar aplicaciones mucho mas modulares (a manera de componentes). Concepto bastante similar a los "page flows" de beehive.&lt;br /&gt;&lt;br /&gt;Los portlets, se basan en standards(JSR 168 y JSR 286) y son diseñados para residir en portales JEE. &lt;br /&gt;&lt;br /&gt;Oracle WebCenter ofrece soporte para la JSR 286 a partir de Patch Set 3; aunque para dar soporte a la IPC en la JSR 168 tiene una implementación propia. &lt;br /&gt;&lt;br /&gt;Cuando se edita una página en WebCenter y se usa "Oracle Composer" es necesario saber que existe un catalogo de recursos, el cual contiene todos los recursos que se pueden añadir a la página, en este catalogo figuran tanto "portlets" como "taskflows". &lt;br /&gt;&lt;br /&gt;Entonces para construir páginas en tiempo de ejecución se pueden usar tanto "portlets" como "taskflows", pero aquí es donde empieza la gran pregunta:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;¿Cuando usar ADF taskflows o cuando usar ADF portlets?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Básicamente es una decisión que se basa en el contexto de la aplicación a desarrollar (requisitos), pero es importante tener en cuenta sus diferencias en el momento de la elección, en los siguientes post haré referencia a:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Estándares soportados&lt;/li&gt;&lt;li&gt;Preferencias de usuario&lt;/li&gt;&lt;li&gt;Seguridad&lt;/li&gt;&lt;li&gt;Look and Feel (estilos)&lt;/li&gt;&lt;li&gt;Renderización&lt;/li&gt;&lt;li&gt;Despliegues y re-despliegues&lt;/li&gt;&lt;li&gt;Custom Webcenter applications&lt;/li&gt;&lt;li&gt;Re-utilización&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Continuará ...&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8711026834282449856?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8711026834282449856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8711026834282449856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8711026834282449856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8711026834282449856'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/adf-taskflows-vs-adf-portlets.html' title='ADF Taskflows vs ADF Portlets - Introducción'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-3104983098549581502</id><published>2011-02-07T00:57:00.002+01:00</published><updated>2011-02-07T01:07:43.186+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><title type='text'>Video de presentación de Oracle WebCenter 11g PS3</title><content type='html'>Este el vídeo de presentación de Oracle WebCenter 11g Patch Set 3.&lt;br /&gt;&lt;br /&gt;El vídeo esta en inglés y dura aproximadamente 55 min (45 de presentación y 10 de preguntas), en el se repasan las grandes características que incorpora, como son las integraciones con otras aplicaciones, con redes sociales, blogs, wikis, gestión de contenidos, desarrollo (ADF, JDeveloper)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://event.on24.com/view/presentation/flash/EventConsoleMVC.html?titlecolor=ffff00&amp;amp;simulive=y&amp;amp;eventid=280581&amp;amp;sessionid=1&amp;amp;username=&amp;amp;partnerref=launch&amp;amp;format=fhvideo1&amp;amp;key=BB0C3DB63AEDBA0114D43B21EB4D9EFE&amp;amp;text_language_id=en&amp;amp;playerwidth=1000&amp;amp;playerheight=650&amp;amp;eventuserid=45191162&amp;amp;contenttype=A&amp;amp;mediametricsessionid=39212151&amp;amp;mediametricid=673204&amp;amp;usercd=45191162&amp;amp;mode=launch#" target="visor"&gt;Ver la presentación&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mG-olUabbUE/TU83s7QDOZI/AAAAAAAAAVQ/NJGnoZtFYOI/s1600/Oracle_WebCenterSuite_xs.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="303" src="http://4.bp.blogspot.com/_mG-olUabbUE/TU83s7QDOZI/AAAAAAAAAVQ/NJGnoZtFYOI/s320/Oracle_WebCenterSuite_xs.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-3104983098549581502?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/3104983098549581502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=3104983098549581502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3104983098549581502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3104983098549581502'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/video-de-presentacion-de-oracle.html' title='Video de presentación de Oracle WebCenter 11g PS3'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mG-olUabbUE/TU83s7QDOZI/AAAAAAAAAVQ/NJGnoZtFYOI/s72-c/Oracle_WebCenterSuite_xs.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8502978134965827698</id><published>2011-02-06T17:47:00.000+01:00</published><updated>2011-02-06T17:47:00.534+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Grabar video flash en ubuntu</title><content type='html'>Wink es un producto que uso normalmente en windows, que graba videos en formato flash, de las acciones que vamos realizando en nuestra máquina, incluyendo el sonido si así lo vemos conveniente.&lt;br /&gt;&lt;br /&gt;Actualmente esta en la versión 2 para windows y en la 1.5 para linux, por tanto como ahora tengo ubuntu, se me ocurrió instalarlo, pero el proceso es algo más elaborado, así que nada, decidí probar la combinación &lt;b&gt;wine+wink&lt;/b&gt; y el resultado a sido satisfactorio.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8502978134965827698?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8502978134965827698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8502978134965827698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8502978134965827698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8502978134965827698'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/grabar-video-flash-en-ubuntu.html' title='Grabar video flash en ubuntu'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6375070685136064061</id><published>2011-02-03T18:02:00.000+01:00</published><updated>2011-02-03T18:02:58.457+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Oracle WebCenter Portal Framework 11gR1 PS3 sobre VirtualBox</title><content type='html'>Para aquellos a los que les guste los portales, hace un par de días Oracle ha publicado una maquina virtual VirtualBox, que contiene instalada la última versión de WebCenter con algunas herramientas de desarrollador; una magnífica contribución, la pega es que se necesita una máquina potente para poder utilizarla sin inconvenientes.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/121090.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="61" width="126" src="http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/121090.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://www.oracle.com/technetwork/middleware/webcenter/downloads/owcs-portalfw-vbox-284132.html"&gt;Pre-built Virtual Machine for Oracle WebCenter Portal Framework 11gR1 PS3 (11.1.1.4.0)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6375070685136064061?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6375070685136064061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6375070685136064061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6375070685136064061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6375070685136064061'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/02/oracle-webcenter-portal-framework-11gr1.html' title='Oracle WebCenter Portal Framework 11gR1 PS3 sobre VirtualBox'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4534350002831306856</id><published>2011-01-26T00:10:00.003+01:00</published><updated>2011-01-26T00:10:00.791+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOGAF'/><category scheme='http://www.blogger.com/atom/ns#' term='Certificaciones Java'/><title type='text'>Preparación SCEA - Gestión de riesgos</title><content type='html'>Uno de los puntos a tener en cuenta durante la fase 3 del proceso de certificación como arquitecto Java, es la gestión de riesgos, pero dado que las especificaciones de la asignación son vagas, un buen punto de referencia de como hacer las cosas puede ser la gestión de riesgos que se especifica en TOGAF 9; en mi caso aplique una elaboración más sencilla.&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;br /&gt;&lt;a target="visor" href="http://www.opengroup.org/architecture/togaf9-doc/arch/chap31.html"&gt;Risk Management (TOGAF 9)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4534350002831306856?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4534350002831306856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4534350002831306856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4534350002831306856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4534350002831306856'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/preparacion-scea-gestion-de-riesgos.html' title='Preparación SCEA - Gestión de riesgos'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4005570361202155886</id><published>2011-01-25T00:31:00.000+01:00</published><updated>2011-01-25T00:31:05.207+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SCRUM'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologías ágiles'/><title type='text'>¿Que forma de trabajo aplicas en tus equipos?</title><content type='html'>Existen diferentes formas en las que un equipo puede desarrollar un producto, por ejemplo utilizando SCRUM, o cualquier variante de los procesos ágiles, o RUP, o KANBAN o cualquier otra que se considere adecuada para las circunstancias de un proyecto (recordemos que no todos son iguales y no siempre lo que sirve para uno, tiene la misma eficacia en otro).&lt;br /&gt;&lt;br /&gt;Después de todo, el objetivo que se persigue en una metodología de desarrollo, es:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Convertir el trabajo en unidades fácilmente manejables y permitir un seguimiento de todo el proceso.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Dar soporte en la gestión y evaluación de riesgos, así como a la detección de aquellos que pueden ser un gran problema,&amp;nbsp;&lt;/li&gt;&lt;li&gt;Detección de aquellas partes que pueden ser un cuello de botella en un proyecto. Siendo dos puntos los anteriormente citados aquellos que se abordan en primer lugar.&lt;/li&gt;&lt;li&gt;Facilitar y dinamizar la  comunicación entre los miembros del equipo, pudiendo abordar los problemas y  discutir sus soluciones utilizando una base formal y aceptada.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Las alternativas que actualmente están en boga son SCRUM y/o KANBAN. Hoy en día casi todo el mundo está de acuerdo en que su proceso de desarrollo debe ser un proceso iterativo iteraciones de hasta 4 semanas, donde al final de cada iteración debe haber un resultado presentable que cumpla los requisitos del&amp;nbsp; proyecto desarrollado.&lt;br /&gt;&lt;br /&gt;A todo esto, normalmente el proceso de implantación o implementación de alguna de estas metodologías, suelen estar sujetos a criterios personales de quienes las implementan, y suele ser un proceso de aceptación lenta entre las personas que sufren dicha implantación :-) , ánimo.&lt;br /&gt;&lt;br /&gt;Otro de los principios de una metodología como SCRUM, es que todos aprendan de todo, ya que todos somos capaces de hacer aportaciones que ayuden al equipo, cada vez mas eficientes según el número de participaciones en una determinada tipología de tarea.&amp;nbsp; Como anécdota a este principio, recuerdo la frase de un colega (propia de la escuela del cinismo): "Pues darle a un gerente una escoba".&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4005570361202155886?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4005570361202155886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4005570361202155886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4005570361202155886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4005570361202155886'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/que-forma-de-trabajo-aplicas-en-tus.html' title='¿Que forma de trabajo aplicas en tus equipos?'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-3326965278173862447</id><published>2011-01-24T13:18:00.000+01:00</published><updated>2011-01-24T13:18:23.917+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Video sobre ADF Security</title><content type='html'>Aquí os dejo un video bastante interesante sobre ADF Security que me paso &lt;a href="http://jaimecid-oracle.blogspot.com/" target="visor"&gt;Jaime Cid&lt;/a&gt; (muy recomendable para gente que esta empezando con esto).&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="300" id="csSWF" width="500"&gt;                 &lt;param name="movie" value="http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfinsidersecurity/adfinsidersecurity_controller.swf" /&gt;                &lt;param name="quality" value="best" /&gt;                &lt;param name="bgcolor" value="#1a1a1a" /&gt;                &lt;param name="allowfullscreen" value="true" /&gt;                &lt;param name="scale" value="showall" /&gt;                 &lt;param name="allowscriptaccess" value="always" /&gt;                &lt;param name="flashvars" value="autostart=false&amp;thumb=http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfinsidersecurity/FirstFrame.png&amp;thumbscale=45&amp;color=0x1A1A1A,0x1A1A1A" /&gt;                &lt;!--[if !IE]&gt;--&gt;                 &lt;object type="application/x-shockwave-flash" data="http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfinsidersecurity/adfinsidersecurity_controller.swf" width="500" height="300"&gt;                     &lt;param name="quality" value="best" /&gt;                    &lt;param name="bgcolor" value="#1a1a1a" /&gt;                    &lt;param name="allowfullscreen" value="true" /&gt;                    &lt;param name="scale" value="showall" /&gt;                    &lt;param name="allowscriptaccess" value="always" /&gt;                     &lt;param name="flashvars" value="autostart=false&amp;thumb=http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfinsidersecurity/FirstFrame.png&amp;thumbscale=45&amp;color=0x1A1A1A,0x1A1A1A" /&gt;                &lt;!--&lt;![endif]--&gt;                     &lt;div id="noUpdate"&gt;                        &lt;p&gt;The Camtasia Studio video content presented here requires a more recent version of the Adobe Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by &lt;a href="http://www.adobe.com/go/getflashplayer"&gt;downloading here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;!--[if !IE]&gt;--&gt;                 &lt;/object&gt;                  &lt;!--&lt;![endif]--&gt;             &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://community.oraclepressbooks.com/downloads/emg2010_security.pdf" target="visor"&gt;http://community.oraclepressbooks.com/downloads/emg2010_security.pdf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfinsidersecurity/adfinsidersecurity.html" target="visor"&gt;http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/adfinsidersecurity/adfinsidersecurity.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-3326965278173862447?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/3326965278173862447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=3326965278173862447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3326965278173862447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3326965278173862447'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/video-sobre-adf-security.html' title='Video sobre ADF Security'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-657282568681236722</id><published>2011-01-22T19:43:00.000+01:00</published><updated>2011-01-22T19:43:29.323+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='selenium'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Webinar sobre selenium</title><content type='html'>Interesante vídeo sobre Selenium que cubre los siguientes puntos:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Como usar Selenium en aplicaciones RIA&lt;/li&gt;&lt;li&gt;Como alimentar con datos de pruebas a Selenium con TestMaker&lt;/li&gt;&lt;li&gt;Probando entornos flash/flex usando protocolos AMF&lt;/li&gt;&lt;li&gt;Integrando pruebas TestMaker en nuestros entornos de integración continua&lt;/li&gt;&lt;li&gt;Como analizar los resultados de las prueba&lt;/li&gt;&lt;/ul&gt;El video dura poco más de 1 hora y esta en ingles.&lt;br /&gt;&lt;br /&gt;&lt;div mce_style="border-style: border-top: 3px solid black; border-bottom: 3px solid black; padding: 10px;" style="border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="525" id="csSWF" width="640"&gt;                  &lt;param name="movie" value="http://pttdownloads.s3.amazonaws.com/seleniumworkshop/media/player.swf"&gt;&lt;param name="quality" value="best"&gt;&lt;param name="bgcolor" value="#1a1a1a"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="scale" value="showall"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="thumb=http://pttdownloads.s3.amazonaws.com/seleniumworkshop/media/FirstFrame.png&amp;amp;containerwidth=640&amp;amp;containerheight=525&amp;amp;content=SeleniumWorkshop.mp4&amp;amp;autostart=false&amp;amp;blurover=false&amp;amp;autohide=false&amp;amp;smoothing=true&amp;amp;showbranding=false&amp;amp;showstartscreen=true&amp;amp;color=0x1A1A1A,0x1A1A1A"&gt;&lt;!--[if !IE]&gt;--&gt;                 &lt;object type="application/x-shockwave-flash" data="http://pttdownloads.s3.amazonaws.com/seleniumworkshop/media/player.swf" height="400" width="500"&gt;                     &lt;param name="quality" value="best"&gt;&lt;param name="bgcolor" value="#1a1a1a"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="scale" value="showall"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="flashvars" value="thumb=http://pttdownloads.s3.amazonaws.com/seleniumworkshop/media/FirstFrame.png&amp;amp;containerwidth=640&amp;amp;containerheight=525&amp;amp;content=SeleniumWorkshop.mp4&amp;amp;autostart=false&amp;amp;blurover=false&amp;amp;autohide=false&amp;amp;smoothing=true&amp;amp;showbranding=false&amp;amp;showstartscreen=true&amp;amp;color=0x1A1A1A,0x1A1A1A"&gt;&lt;!--&lt;![endif]--&gt;                     &lt;div id="noUpdate"&gt;&lt;p&gt;The Camtasia video content presented here requires a more recent version of the Adobe Flash Player. If you are using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by &lt;a href="http://www.adobe.com/go/getflashplayer" mce_href="http://www.adobe.com/go/getflashplayer"&gt;downloading here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;!--[if !IE]&gt;--&gt;                 &lt;/object&gt;                 &lt;!--&lt;![endif]--&gt;              &lt;/object&gt;&lt;/div&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-657282568681236722?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/657282568681236722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=657282568681236722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/657282568681236722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/657282568681236722'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/webinar-sobre-selenium.html' title='Webinar sobre selenium'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6272396975210632021</id><published>2011-01-20T00:29:00.000+01:00</published><updated>2011-01-20T00:29:31.225+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='jdeveloper'/><title type='text'>Personalizando la generación de ADF BC en JDeveloper</title><content type='html'>Con la configuración por defecto de JDeveloper al generar los "Business Components from tables", mete todos los artefactos generados en la misma carpeta (entities, views, associations....), y ciertamente si vas a trabajar con tres tablas no incomoda mucho;&amp;nbsp; pero si vas a trabajar con varias (la mayoría de veces) incomoda muchísimo ver todos los artefactos al momento de buscar una entidad o una vista.&lt;br /&gt;&lt;br /&gt;JDeveloper brinda la posibilidad de personalizar determinados aspectos de la generación de los "Business Components", entre ellos los paquetes específicos para cada tipo de artefacto generado.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Tools -&amp;gt; Preferences -&amp;gt; Business Components -&amp;gt; Packages&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mG-olUabbUE/TTdzbIuaynI/AAAAAAAAAVA/J9woD5e9Gdc/s1600/packages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="173" src="http://4.bp.blogspot.com/_mG-olUabbUE/TTdzbIuaynI/AAAAAAAAAVA/J9woD5e9Gdc/s320/packages.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6272396975210632021?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6272396975210632021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6272396975210632021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6272396975210632021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6272396975210632021'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/personalizando-la-generacion-de-adf-bc.html' title='Personalizando la generación de ADF BC en JDeveloper'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mG-olUabbUE/TTdzbIuaynI/AAAAAAAAAVA/J9woD5e9Gdc/s72-c/packages.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-251807855174280539</id><published>2011-01-19T01:23:00.001+01:00</published><updated>2011-01-19T01:25:32.871+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><title type='text'>Diseño y arquitectura</title><content type='html'>El paso lógico después de tener los requerimientos iniciales para un proyecto es diseñar la arquitectura inicial. &lt;br /&gt;&lt;br /&gt;Pero normalmente al inicio de muchos proyectos es imposible recoger todos los requisitos; pero tampoco es necesario, tener la arquitectura al completo, describiendo cada detalle y aspecto del sistema antes de empezar a codificar.&lt;br /&gt;&lt;br /&gt;A pesar de eso siempre es importante tener resueltas algunas cuestiones, como por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cuales son los principales componentes del sistema y la dependencia que hay entre ellos (los artefactos de alto nivel)&lt;/li&gt;&lt;li&gt;Como organizar el código&lt;/li&gt;&lt;li&gt;Como se construirá el sistema&lt;/li&gt;&lt;li&gt;Que artefactos se crearán en la construcción del sistema&lt;/li&gt;&lt;li&gt;Como se organizarán las funcionalidades generales y las trasversales (persistencia, loggin, autentificación, control de errores...)&lt;/li&gt;&lt;li&gt;Tener claro lo que irá en cada capa y como será la comunicación entre capas (donde se pondrá la lógica de negocio, como interactuan los objetos del modelo, ...)&lt;/li&gt;&lt;li&gt;Como y cuando se validarán las entradas de datos en el sistema&lt;/li&gt;&lt;li&gt;Opciones de escalabilidad&lt;/li&gt;&lt;li&gt;Como puedo mantener mi sistema seguro&lt;/li&gt;&lt;li&gt;Opciones de despliegue&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Aunque estos dos últimos puntos, no son necesarios resolver al inicio con detalle, pero son cosas a tener en cuenta ya que pueden influir en como se organiza el código.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-251807855174280539?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/251807855174280539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=251807855174280539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/251807855174280539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/251807855174280539'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/diseno-y-arquitectura.html' title='Diseño y arquitectura'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7086270188078340204</id><published>2011-01-17T18:45:00.001+01:00</published><updated>2011-02-10T00:08:26.182+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>ADF task flow - 403 Forbidden</title><content type='html'>En este caso el mensaje de error es bastante claro :-)&lt;br /&gt;&lt;br /&gt;Tengo un task flow, cuya "default activity" es una llamada a un método que prepara unos determinados datos, para que la página siguiente me muestre los datos calculados por este.&lt;br /&gt;&lt;br /&gt;Al ejecutar directamente el task flow da un error HTTP 403, y esto es, por que por defecto la propiedad "URL invoke" del "task flow" tiene el valor "(default)", la solución es cambiar su valor a "url-invoke-allowed".&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a target="visor" href="http://blogs.oracle.com/DavidGiammona/2010/03/why_do_i_get_this_error_403_--.html"&gt;Why Do I Get "Error 403 -- Forbidden" When Running My ADF Task Flow?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7086270188078340204?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7086270188078340204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7086270188078340204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7086270188078340204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7086270188078340204'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/adf-task-flow-403-forbidden.html' title='ADF task flow - 403 Forbidden'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8578007007653546591</id><published>2011-01-14T11:36:00.000+01:00</published><updated>2011-01-14T11:36:24.253+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Borrando las carpetas locales de subversion</title><content type='html'>Bueno, hace poco me he visto en la necesidad de borrar todas las carpetas locales que genera SVN dentro del sistema local de ficheros, así que investigando y preguntado he llegado al comando que me permite hacer esto (find).&lt;br /&gt;&lt;br /&gt;find . -type d -name ".svn" -exec rm -rf {} \;&lt;br /&gt;&lt;br /&gt;Este comando buscan dentro del directorio actual todos los directorios (-type d) que llamen .svn y por cada resultado procede a borrarlo sin pedir confirmación.&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a target="visor" href="http://www.linux.ie/newusers/beginners-linux-guide/find.php"&gt;comando find&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="visor" href="http://loquefaltaba.com/documentacion/Manual_Awk_castellano.pdf"&gt;Manual awk en castellano&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8578007007653546591?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8578007007653546591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8578007007653546591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8578007007653546591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8578007007653546591'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/borrando-las-carpetas-locales-de.html' title='Borrando las carpetas locales de subversion'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6735973264476382334</id><published>2011-01-10T13:58:00.002+01:00</published><updated>2011-02-10T00:09:17.528+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>Attribute Id in view object cannot be set</title><content type='html'>Como decía "tres patines", cosa mas rara en la vida chico!&lt;br /&gt;&lt;br /&gt;Resulta que haciendo un listado con ADF, donde al seleccionar una fila se pasa a una página para editar el detalle de los datos (botón editar), me salta un error, cuyo mensaje, entra en la categoría de mensajes extraños/raros/cripticos...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_mG-olUabbUE/TSr_TVdoXFI/AAAAAAAAAUk/Dhp2gD3mHvU/s1600/error_falta_deAction.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="158" width="320" src="http://2.bp.blogspot.com/_mG-olUabbUE/TSr_TVdoXFI/AAAAAAAAAUk/Dhp2gD3mHvU/s320/error_falta_deAction.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Bueno la solución fue mas trivial de lo esperado, resulta que por descuido había borrado el atributo action del botón, con su navegación correspondiente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6735973264476382334?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6735973264476382334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6735973264476382334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6735973264476382334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6735973264476382334'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/attribute-id-in-view-object-connot-be.html' title='Attribute Id in view object cannot be set'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_mG-olUabbUE/TSr_TVdoXFI/AAAAAAAAAUk/Dhp2gD3mHvU/s72-c/error_falta_deAction.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2358243774896978608</id><published>2011-01-05T16:31:00.000+01:00</published><updated>2011-01-05T16:31:57.454+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologías ágiles'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Reflexiones sobre el diseño incremental con TDD</title><content type='html'>&lt;iframe width="480" height="295" src="http://www.youtube.com/embed/hcut9GJ5eCw?fs=1" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a target="visor" href="http://agile.dzone.com/news/lets-play-tdd-70-reflections"&gt;Let's Play TDD #70: Reflections on Incremental Design&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2358243774896978608?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2358243774896978608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2358243774896978608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2358243774896978608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2358243774896978608'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/reflexiones-sobre-el-diseno-incremental.html' title='Reflexiones sobre el diseño incremental con TDD'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/hcut9GJ5eCw/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2729447915112657366</id><published>2011-01-04T00:53:00.001+01:00</published><updated>2011-01-04T00:59:39.366+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hrds'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Esquemas de datos oracle para ejemplos</title><content type='html'>Normalmente dentro de la instalación de la base de datos, vienen los scripts para crear los esquemas de ejemplo con datos, normalmente esta sería su ubicación:&lt;br /&gt;&lt;br /&gt;/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/demo/schema/human_resources&lt;br /&gt;&lt;br /&gt;Estos esquemas de ejemplo normalmente se suelen utilizar en diversas fusion web applications de ejemplo (valga la redundancia).&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;ul&gt;&lt;li&gt;&lt;a target="visor" href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14198/scripts.htm"&gt;(Oracle 10.2)Sample Schema Scripts and Object Descriptions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="visor" href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28328/scripts.htm"&gt;(Oracle 11.1)Sample Schema Scripts and Object Descriptions&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2729447915112657366?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2729447915112657366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2729447915112657366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2729447915112657366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2729447915112657366'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2011/01/esquemas-de-datos-oracle-para-ejemplos.html' title='Esquemas de datos oracle para ejemplos'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2100492490420505047</id><published>2010-12-30T00:44:00.001+01:00</published><updated>2010-12-30T00:47:52.259+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Cliente SVN para Ubuntu 10</title><content type='html'>Existen diversos clientes SVN para Ubuntu, quizas el más usado es &lt;a href="http://rapidsvn.tigris.org/" target="visor"&gt;rapidsvn&lt;/a&gt;, de hecho fue el primero que conocí.&lt;br /&gt;&lt;br /&gt;Pero yo estoy acostumbrado a utilizar &lt;a href="http://rapidsvn.tigris.org/" target="visor"&gt;tortoisesvn&lt;/a&gt; en windows ya que me da mayor potencia que los clientes svn integrados en eclipse, netbeans o jdeveloper.&lt;br /&gt;&lt;br /&gt;Pues bien digamos que me canse de rapidsvn y decidí buscar una alternativa similar a &lt;a href="http://rapidsvn.tigris.org/" target="visor"&gt;tortoise&lt;/a&gt;, para grata sorpresa existe, su nombre es &lt;a href="http://wiki.rabbitvcs.org/" target="visor"&gt;RabbitVCS&lt;/a&gt;, y al igual que tortoise se integra con el navegador de ubuntu (nautilus).&lt;br /&gt;&lt;br /&gt;Seguí sus &lt;a href="http://wiki.rabbitvcs.org/wiki/install/ubuntu" target="visor"&gt;instrucciones&lt;/a&gt; de instalación (From the Tarball) y las del cliente client/plugin/nautilus/README  y ahora tengo un cliente integrado con el navegador.&lt;br /&gt;&lt;br /&gt;La interfaz y el uso es similar a tortoise, la única pega que le veo (por comodidad) que aunque le diga que guarde las credenciales de mi repositorio, no lo hace, pero bueno, es un mal menor.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://wiki.rabbitvcs.org/wiki/_media/about/context_menu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://wiki.rabbitvcs.org/wiki/_media/about/context_menu.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2100492490420505047?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2100492490420505047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2100492490420505047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2100492490420505047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2100492490420505047'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/12/cliente-svn-para-ubuntu-10.html' title='Cliente SVN para Ubuntu 10'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-3134357389162841052</id><published>2010-12-28T16:42:00.000+01:00</published><updated>2010-12-28T16:42:38.382+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>ORA-27101: shared memory realm does not exist</title><content type='html'>Como siempre los mensajes de error de algunas aplicaciones son indecifrables, en este caso durante la inicialización de mi servidor weblogic; pero la traducción de este, fue en mi caso simple, básicamente si el datasource del servidor falla es por que el usuario y la cadena de conexión han cambiado o no son válidos.&lt;br /&gt;&lt;pre class="html" name="code"&gt;...&lt;br /&gt;&amp;lt;Dec 26, 2010 10:02:56 PM CST&gt; &amp;lt;Warning&gt; &amp;lt;JDBC&gt; &amp;lt;BEA-001129&gt; &amp;lt;Received exception while creating connection for pool "PortletDS": ORA-01034: ORACLE not available&lt;br /&gt;ORA-27101: shared memory realm does not exist&lt;br /&gt;Linux Error: 2: No such file or directory&lt;br /&gt;&gt; &lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Una forma rápdida de determinar si los datos del usuario no son válidos es utilizando el sqlplus para conectarnos, utilizando las mismas credenciales del datasource, primero sin utilizar el nombre de la instancia &lt;pre class="html" name="code"&gt;...&lt;br /&gt;oracle@wc:~$ sqlplus usuario/password&lt;br /&gt;&lt;/pre&gt;y luego utilizando el nombre de esta, si esta última falla, esta claro, la instancia no esta iniciada.&lt;pre class="html" name="code"&gt;...&lt;br /&gt;oracle@wc:~$ sqlplus usuario/password@xe&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;SOLUCIÓN 1: Iniciar manualmente el servicio&lt;pre class="html" name="code"&gt;...&lt;br /&gt;oracle@wc:~$ sqlplus sys/wc as sysdba&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.2.0.1.0 Production on Sun Dec 26 22:02:55 2010&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to an idle instance.&lt;br /&gt;&lt;br /&gt;SQL&gt; startup;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;...&lt;br /&gt;SQL&gt; exit&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;SOLUCIÓN 2: Configurar el inicio automáticamente cambiando el valor &lt;b&gt;N&lt;/b&gt; por &lt;b&gt;Y&lt;/b&gt; e reiniciar el sistema o aplicar la solución 1.&lt;pre class="html" name="code"&gt;...&lt;br /&gt;oracle@wc:~$ vi /etc/oratab &lt;br /&gt;xe:/opt/oracle/db/11g/server:Y&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ahora solo queda comprobar que la instancia esta activa con lsnrctl STATUS.&lt;br /&gt;&lt;br /&gt;&lt;pre class="html" name="code"&gt;...&lt;br /&gt;oracle@wc:~$ lsnrctl STATUS&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-DEC-2010 22:05:01&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2009, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))&lt;br /&gt;STATUS of the LISTENER&lt;br /&gt;------------------------&lt;br /&gt;Alias                     LISTENER&lt;br /&gt;Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;Services Summary...&lt;br /&gt;...&lt;br /&gt;  Instance "xe", status READY, has 1 handler(s) for this service...&lt;br /&gt;...&lt;br /&gt;oracle@wc:~$ &lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-3134357389162841052?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/3134357389162841052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=3134357389162841052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3134357389162841052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3134357389162841052'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/12/ora-27101-shared-memory-realm-does-not.html' title='ORA-27101: shared memory realm does not exist'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5250189937046494503</id><published>2010-12-27T14:14:00.000+01:00</published><updated>2010-12-27T14:14:34.323+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>BEA-001129 "The Network Adapter could not establish the connection"</title><content type='html'>Existen ocasiones en la que el servidor de weblogic no acaba de iniciarse por que no se cargan adecuadamente los recursos JDBC, Oracle en este caso (a continuación pongo un extracto de la traza)&lt;br /&gt;&lt;br /&gt;&lt;pre class="html" name="code"&gt;...&lt;br /&gt;&amp;lt;Dec 26, 2010 10:29:24 AM CST&gt; &amp;lt;Warning&gt; &amp;lt;JDBC&gt; &amp;lt;BEA-001129&gt; &amp;lt;Received exception while creating connection for pool "PortletDS": The Network Adapter could not establish the connection&gt;&lt;br /&gt;&amp;lt;Dec 26, 2010 10:29:25 AM CST&gt; &amp;lt;Warning&gt; &amp;lt;JDBC&gt; &amp;lt;BEA-001129&gt; &amp;lt;Received exception while creating connection for pool "PortletDS": The Network Adapter could not establish the connection&gt; &lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Cuando suceden estos errores normalmente no se puede cambiar los parámetros de estos recursos desde la consola ya que el servidor no se inicializa bien.&lt;br /&gt;&lt;br /&gt;Para el caso de los recursos JDBC, normalmente existe un fichero de configuración por cada uno dentro del directorio /opt/oracle/middleware/user_projects/domains/&lt;i&gt;tu-dominio&lt;/i&gt;/config/jdbc/&lt;i&gt;conexión&lt;/i&gt;-jdbc.xml; pues bien, dentro de cada fichero debemos cerciorarnos que la cadena de conexión coincida exactamente con el &lt;b&gt;HOST&lt;/b&gt;, &lt;b&gt;PORT&lt;/b&gt; y &lt;b&gt;SID_NAME&lt;/b&gt; del fichero &lt;b&gt;listener.ora&lt;/b&gt; de la base de datos.&lt;br /&gt;&lt;br /&gt;Para saber cual es la ubicación del fichero listener.ora, con el usuario oracle logado hay que ejecutar el comando&amp;nbsp; &lt;b&gt;lsnrctl STATUS&lt;/b&gt; desde consola.&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5250189937046494503?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5250189937046494503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5250189937046494503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5250189937046494503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5250189937046494503'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/12/bea-001129-network-adapter-could-not.html' title='BEA-001129 &quot;The Network Adapter could not establish the connection&quot;'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7705642095719024718</id><published>2010-12-22T15:19:00.000+01:00</published><updated>2010-12-22T15:19:30.355+01:00</updated><title type='text'>Testamento de miércoles</title><content type='html'>&lt;div class="p_autor" style="color: #666666;"&gt;&lt;br /&gt;&lt;hr /&gt;Como todo en el mundo depende del punto de vista, aqui esta la versión original y luego una que se le puede pasar a cualquier persona en un trayecto de metro&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Mario Benedetti&amp;nbsp;&lt;/div&gt;&lt;div class="p_autor"&gt;&lt;/div&gt;&lt;div class="p_texto" style="text-align: left;"&gt;&lt;span style="font-size: x-small;"&gt;Aclaro que éste no es un testamento&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;de esos que se usan como colofón de vida&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;es un testamento mucho más sencillo   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;tan solo para el fin de la jornada&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;o sea que lego para mañana jueves&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;las preocupaciones que me legara el martes   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;levemente alteradas por dos digestiones &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;las usuales noticias del cono sur&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y la nube de mosquitos casi vampiros&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego mis catorce estornudos del mediodía&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;una carta a mi mujer en la que falta la posdata&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;el final de una novela que a duras penas leo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;las siete sonrisas de cinco muchachas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;ya que hubo una que me brindó tres&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y el ceño fruncido de un señor&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;que no conozco ni aspiro a conocer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego un colorido ajedrez moscovita&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;una computadora japonesa sin pilas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y la buena radio en que está sonando&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;el español grisáceo de la bibicí   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;ah la olivetti y el cepillo de dientes &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;no los lego porsiaca&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego tropos y metáforas de uso privado   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;que modestamente acuñe en la tarde&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;por ejemplo el astillero en que reparo mis sueños&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;el pájaro aleatorio que surge del crepúsculo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;la cortina de lluvia que miro y no descorro&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego un remordimiento porque es aleccionante&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y un poco de tristeza por que es inevitable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;también mi soledad con la ilusión   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;de que el jueves resuelva no admitirla&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y me sancione con presencias varias&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego los crujidos de mis viejas bisagras&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;también una tajada de mi sombra&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;no toda por que un hombre sin su sombra&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;no merece el respeto de la gente&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego el pescuezo recién lavado&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;como para un jueves de guillotina   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;una maceta con hierbabuena &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y otra con un bionato que me hastía   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;ya que esta cargante convolvulácea&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;me está invadiendo el cuarto con sus hojas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;lego los suburbios de una idea&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;un tríptico de espejos que me agrade   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;el mar allá al alcance de la mano&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;mis cóleras por orden alfabético&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;y un breve y curioso estado de ánimo   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;que todavía no se si es inocencia &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;o estupidez malsana&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;o alegría&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;sólo ahora lo advierto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;en paredes y anaqueles y venas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;en glándulas y techos y optimismos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;me quedan tantas cosas por legar   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;que mejor las incluyo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;en otro testamento&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;digamos el del viernes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;Ahora la versión que puede pasar a cualquier persona en un trayecto de metro&lt;br /&gt;&lt;hr /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Aclaro que ésta no es una entrega&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;de esas que se usan como colofón de proyecto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;es una entrega mucho más sencilla   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;tan solo para el fin de la jornada. &lt;/span&gt;&lt;/div&gt;&lt;div class="p_texto" style="text-align: left;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="p_texto" style="text-align: left;"&gt;&lt;span style="font-size: small;"&gt;lego mis catorce tareas del mediodía&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;una carta a mi "product owner" en la que falta la posdata&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;el final de una "iteración" que a duras penas llego&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;las siete sonrisas de cinco proyectos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;ya que hubo una que me brindó tres veces mas trabajo del previsto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;y el ceño fruncido de un señor &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;que no conozco ni aspiro a conocer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;o sea que lego para mañana jueves&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;los pollos que me legara el martes   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;levemente alterados por los avances y sucesos de hoy &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;las usuales noticias de las incidencias de los proveedores&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;y la nube de correos casi vampiros&lt;/span&gt;&lt;br /&gt;&lt;div class="p_texto" style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;lego los crujidos de mis viejas vertebrás con forma de silla&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;también una tajada de mi responsabilidad (empowerment)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;no toda por que un hombre sin la suya&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;no merece el respeto del equipo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;lego el pescuezo recién lavado&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;como para un jueves de guillotina   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;una maceta con hierba de la buena &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;y otra con un tareas que me hastía   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;ya que esta cargante entrega&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;me está invadiendo el cuarto con sus proyects&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;lego los suburbios de un compromiso &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;un tríptico de espejos que me agrade   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;el salir corriendo al alcance de la mano&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;mis frustaciones por orden alfabético&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;y un breve y curioso estado de ánimo   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;que todavía no se si es inocencia &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;o estupidez malsana&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;o alegría&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;sólo ahora lo advierto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;en paredes y desarrollos y maquinas virtuales&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;en viajes y plannings y optimismos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;me quedan tantos pollos por legar   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;que mejor los incluyo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;en otro planning&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;digamos el del viernes. &lt;/span&gt;&lt;/div&gt;&lt;div class="p_texto" style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="p_texto" style="text-align: left;"&gt;- FIN - &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7705642095719024718?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7705642095719024718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7705642095719024718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7705642095719024718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7705642095719024718'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/12/testamento-de-miercoles.html' title='Testamento de miércoles'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6573962772668402542</id><published>2010-12-20T00:10:00.000+01:00</published><updated>2010-12-20T00:10:19.370+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gestión de proyectos'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='análisis'/><title type='text'>Instalando Enterprise Architect 8.0 en Ubuntu 10</title><content type='html'>Desde algunos años soy usuario, defensor (y evangelizador :-p) de Enterprise Architect como herramienta para modelar aplicaciones y para controlar ALM (Application Lifecycle Management).&lt;br /&gt;&lt;br /&gt;Pues, por primera vez me he propuesto utilizarlo directamente desde Ubuntu con Wine (las veces anteriores fue usando una maquina virtual con XP) y aunque al principio he estado des-ubicado, he dado con la página de como instalarlo y no ha sido tan complicado como me lo esperaba o leia en algún que otro blog.&lt;br /&gt;&lt;br /&gt;Dejo el enlace con las intrucciones (del fabricante), el único matiz sobre este artículo, es que he tenido que descargar un script de wine llamado "winetricks" y darle permisos de ejecución (aunque claro esto parece evidente :-) en el texto ).&lt;br /&gt;&lt;br /&gt;En mi caso he instalado mas componentes de los recomendados (por salir de norma), los listo a continuación:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="codeDisplay"&gt;$ winetricks allfonts   # install windows fonts&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="codeDisplay"&gt;$ winetricks dotnet20&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="codeDisplay"&gt;$ winetricks vb6run   # install Visual Basic Runtimes&lt;br /&gt;$ winetricks mdac28              # install data access components&lt;/code&gt;&lt;code class="codeDisplay"&gt;&amp;nbsp;&lt;/code&gt;&lt;code class="codeDisplay"&gt;&amp;nbsp;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;code class="codeDisplay"&gt;$ wine easetupfull.exe&lt;/code&gt;&lt;/span&gt;&lt;code class="codeDisplay"&gt;&amp;nbsp;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sparxsystems.com/support/faq/enterprise-architect-WINE.html" target="visor"&gt;Installing Enterprise Architect inside WINE&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6573962772668402542?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6573962772668402542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6573962772668402542' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6573962772668402542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6573962772668402542'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/12/instalando-enterprise-architect-80-en.html' title='Instalando Enterprise Architect 8.0 en Ubuntu 10'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7551671274616028961</id><published>2010-12-14T01:39:00.000+01:00</published><updated>2010-12-14T01:39:46.186+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jrockit'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Instalando jrockit 1.6 en Ubuntu 10</title><content type='html'>Bueno acabo de cambiar de SO y me he vuelto a poner Ubuntu 64bits después de un par de años :-)&lt;br /&gt;&lt;br /&gt;Pero el tiempo pasa factura y cuesta volver a recordar determinadas cosas, en este caso, como instalo la JDK Jrockit.&lt;br /&gt;&lt;br /&gt;Esto se resume en dos pasos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Darle permisos de ejecución al fichero bin de la jrockit&lt;/li&gt;&lt;li&gt;Iniciar la instalación con el terminal desde la carpeta donde esta el instalable (sudo ./jrockit-jdk1.6.0_20-R28.1.0-4.0.1-linux-x64.bin)&lt;/li&gt;&lt;li&gt;Lo siguiente es modificar el fichero bash.bashrc para que incluya el path donde se ha instalado la JDK &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7551671274616028961?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7551671274616028961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7551671274616028961' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7551671274616028961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7551671274616028961'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/12/instalando-jrockit-16-en-ubuntu-10.html' title='Instalando jrockit 1.6 en Ubuntu 10'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4335929941212351730</id><published>2010-11-19T01:01:00.000+01:00</published><updated>2010-11-19T01:01:39.167+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><title type='text'>Botón "Me gusta" de Facebook</title><content type='html'>Bueno el otro día se me ocurrio habilitar el famoso boton "Me gusta" de facebook dentro del blog, pero no le había dedicado tiempo hasta hoy.&lt;br /&gt;&lt;br /&gt;Pues resulta que esta opción esta disponible como parte de "Facebook social plugins", lo que pasa que la url que genera su herramienta es estática, pero Yo quería que fuera dinámica en función del post, así que después de indagar un poco en las plantillas de blogger lo logré.&lt;br /&gt;&lt;br /&gt;Aquí comparto la forma como agregar el botón "Me gusta" de Facebook en nuestros post:&lt;br /&gt;&lt;br /&gt;&lt;pre class="html" name="code"&gt;&amp;lt;script src='http://connect.facebook.net/es_ES/all.js#xfbml=1'/&amp;gt;&amp;lt;fb:like expr:href='data:post.url + "#links"' font='arial'/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;No esta demás recordar que estas líneas hay que colocarlas dentro de la plantilla de nuestro portal.&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://developers.facebook.com/docs/reference/plugins/like"&gt;http://developers.facebook.com/docs/reference/plugins/like&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;P.D: Si os gusta este post, ya sabeis :-)&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4335929941212351730?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4335929941212351730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4335929941212351730' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4335929941212351730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4335929941212351730'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/11/boton-me-gusta-de-facebook.html' title='Botón &quot;Me gusta&quot; de Facebook'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5331496528268209760</id><published>2010-11-18T00:37:00.002+01:00</published><updated>2010-11-18T00:48:18.180+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BPM'/><title type='text'>Impresiones sobre la presentación de Oracle BPM 11g</title><content type='html'>&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;La semana pasada asistí a la presentación de Oracle BMP 11g en Barcelona, he de reconocer que aparte del BPM de Bea, es el único en el cual me he interesado; aunque los conceptos sobre BPM, BPMN y demás asociados en el fondo son lo mismo, es decir tampoco descarto otros productos que estan en el mercado.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Pues solo decir que todo el ecosistema montado al rededor de BMP Suite, es el stack más completo e integrado (con sus productos claro) que he visto hasta ahora. Entre las cosas que se dijeron, lo que más me gusto fue el próximo soporte a JBoss y WebSphere.&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Bueno en lugar de seguir escribiendo, haber si lo resumo con un mapa mental :-)&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_mG-olUabbUE/TORmEXo13mI/AAAAAAAAATU/lCsx7GAqWpM/s1600/mapaMentalBPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" px="true" src="http://2.bp.blogspot.com/_mG-olUabbUE/TORmEXo13mI/AAAAAAAAATU/lCsx7GAqWpM/s1600/mapaMentalBPM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;&lt;strong&gt;Enlaces relacionados:&lt;/strong&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;&lt;a href="http://www.oracle.com/technetwork/middleware/bpm/overview/index.html"&gt;Oracle BPM Suite&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;- FIN -&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5331496528268209760?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5331496528268209760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5331496528268209760' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5331496528268209760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5331496528268209760'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/11/impresiones-sobre-la-presentacion-de.html' title='Impresiones sobre la presentación de Oracle BPM 11g'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_mG-olUabbUE/TORmEXo13mI/AAAAAAAAATU/lCsx7GAqWpM/s72-c/mapaMentalBPM.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5889113097220462103</id><published>2010-11-17T00:25:00.001+01:00</published><updated>2010-11-17T19:11:59.139+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><category scheme='http://www.blogger.com/atom/ns#' term='jdeveloper'/><title type='text'>Video JDeveloper 11g</title><content type='html'>Interesante video que muestra como crear una aplicación simple con JDeveloper 11g, pasa desde el acceso a base de datos, creacion de EJBs de session y de páginas con ADF.&lt;br /&gt;&lt;br /&gt;&lt;object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0"&gt;                 &lt;param name="src" value="http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/JDev11gExperience/JDev11gExperience.swf"/&gt;&lt;param name="bgcolor" value="#1a1a1a"/&gt;&lt;param name="quality" value="best"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="scale" value="showall"/&gt;&lt;param name="flashVars" value="autostart=false"/&gt;&lt;embed name="csSWF" src="http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/JDev11gExperience/JDev11gExperience.swf" width="500" height="400" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false&amp;color=0x1A1A1A,0x1A1A1A" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/embed&gt;             &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5889113097220462103?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5889113097220462103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5889113097220462103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5889113097220462103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5889113097220462103'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/11/video-jdeveloper-11g.html' title='Video JDeveloper 11g'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7082911594745577451</id><published>2010-11-15T01:21:00.000+01:00</published><updated>2010-11-15T01:21:45.747+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='beehive'/><category scheme='http://www.blogger.com/atom/ns#' term='ADF'/><title type='text'>Desde Apache Beehive hacia Oracle ADF</title><content type='html'>Nota mental:&lt;br /&gt;&lt;br /&gt;Beehive Controls = ADF Model Layer&lt;br /&gt;NetUI = ADF Controller&lt;br /&gt;NetUI JSP Tags = ADF Faces Components&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7082911594745577451?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7082911594745577451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7082911594745577451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7082911594745577451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7082911594745577451'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/11/desde-apache-beehive-hacia-oracle-adf.html' title='Desde Apache Beehive hacia Oracle ADF'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4873057481247971003</id><published>2010-11-11T01:26:00.003+01:00</published><updated>2010-11-11T15:40:59.352+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='manuales'/><title type='text'>Manual de JSON</title><content type='html'>JSON es una tecnología que lleva bastante tiempo en el sector y existen diferentes frameworks de diferentes plataformas de desarrollo que le dan soporte.&lt;br /&gt;&lt;br /&gt;Últimamente he visto que la corriente NoSQL esta almacenando información con esta notación, debido a ello se me ha ocurrido publicar un extracto de un manual que realice "en la intimidad" aplicando Java/.Net; el extracto se centra únicamente en esta tecnología y en mencionar su ecosistema (parcialmente ya que faltan los frameworks de lado servidor), para tener una vista global de su alcance.&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_5732305"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/Emmerson_Miranda/json-short-manual-5732305" title="Json short manual"&gt;Json short manual&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse5732305" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=json-shortmanual-101110175649-phpapp01&amp;stripped_title=json-short-manual-5732305&amp;userName=Emmerson_Miranda" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse5732305" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=json-shortmanual-101110175649-phpapp01&amp;stripped_title=json-short-manual-5732305&amp;userName=Emmerson_Miranda" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/Emmerson_Miranda"&gt;Emmerson Miranda&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4873057481247971003?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4873057481247971003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4873057481247971003' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4873057481247971003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4873057481247971003'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/11/manual-de-json.html' title='Manual de JSON'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1792256278465395786</id><published>2010-10-27T01:46:00.001+02:00</published><updated>2010-11-07T00:13:09.215+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile'/><title type='text'>Manifiesto de artesanía de software</title><content type='html'>Para aquellos que desarrollamos software a medida.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Not only working software,but also well-crafted software &lt;br /&gt;(No hacer simplemente software, sino también hacerlo bien diseñado)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Not only responding to change,but also steadily adding value &lt;br /&gt;(No solo dar respuesta al cambio, sino también dar valor añadido continuamente)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Not only individuals and interactions,but also a community of professionals&lt;br /&gt;(No solo individuos e iteraciones, sino también una comunidad de profesionales)&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Not only customer collaboration,but also productive partnerships &lt;br /&gt;(No solo colaboración con los clientes, sino también asociaciones productivas.)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Fuente : &lt;a href="http://scmanifesto.heroku.com/" target="visor"&gt;Manifesto for software craftsmanship &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a target="visor" href="http://apprenticeship-patterns.labs.oreilly.com/"&gt;Apprenticeship Patterns (Guidance for the Aspiring Software Craftsman)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1792256278465395786?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1792256278465395786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1792256278465395786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1792256278465395786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1792256278465395786'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/10/manifiesto-de-artesania-de-software.html' title='Manifiesto de artesanía de software'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1700833774484982338</id><published>2010-10-17T01:45:00.001+02:00</published><updated>2011-02-10T00:09:59.556+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='errores'/><title type='text'>m2eclipse unable to resolve parent pom</title><content type='html'>El plugin m2eclipse de eclipse a veces suele dar un mensaje de error en la primera linea del fichero pom.xml, con el mensaje "... unable to resolve parent pom ...".&lt;br /&gt;&lt;br /&gt;En mi caso sucede cada vez que apunto un proyecto a una nueva versión de su parent POM, que aún no ha sido instalado en mi respositorio local, pero si existe en el repositorio nexus del que dispongo, y que por tanto se descarga en la siguiente compilación del artefacto.&lt;br /&gt;&lt;br /&gt;La explicación según figura en el JIRA de Sonatype es que este plugin no re-indexa correctamente los índices de los artefactos descargados al vuelo, por tanto si el mensaje molesta, la solución, es simplemente reiniciar eclipse para que se actualicen los índices; y puedo dar fe que funciona :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1700833774484982338?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1700833774484982338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1700833774484982338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1700833774484982338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1700833774484982338'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/10/m2eclipse-unable-to-resolve-parent-pom.html' title='m2eclipse unable to resolve parent pom'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7009115880717995336</id><published>2010-10-15T01:22:00.000+02:00</published><updated>2010-10-15T01:22:50.456+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='análisis'/><title type='text'>¿ Hay que compartir el conocimiento ?</title><content type='html'>Compartir "&lt;b&gt;Es lo que permite relacionarnos con los otros&lt;/b&gt;" y en este ámbito, devolver a la comunidad, lo que esta nos ha regalado.&lt;br /&gt;&lt;br /&gt;Evidentemente mi respuesta es sí; y es lo que repito mentalmente cada vez que veo una "isla de poder", más adelante explicaré a lo que denomino una isla de poder.&lt;br /&gt;&lt;br /&gt;Compartir el conocimiento nos permite relacionarnos con los otros, exponer nuestra forma de pensar, de expresarnos, y de aprender, ya que nos exponernos públicamente a comentarios buenos, constructivos, malos, destructivos, mordaces.. pero lo más importante es que nos da la oportunidad de equivocarnos y de retroalimentarnos en base al conocimiento de otros.&lt;br /&gt;&lt;br /&gt;Pero considero que hay que ser conscientes, que al saltar a la palestra pública, seremos suceptibles de ser criticados; y por tanto debemos ponernos una coraza y mirar desde fuera lo bueno dentro de lo bueno, y lo bueno dentro de lo que nos parece desagradable y ofensivo.&lt;br /&gt;&lt;br /&gt;En la batalla de la dialéctica, existen personas capaces de tomar nuestras frases y retorcerlas ... por tanto insisto, debemos ser capaces de ver tomar lo bueno dentro lo malo, y de ser humildes cuando todo sale bien, cosa loable, y poco frecuente en este sector, dado al gran ego que rebosa por todas partes.&lt;br /&gt;&lt;br /&gt;Volviendo al tema, algunos no tienen claro lo de compartir conocimiento! Forman sus pequeñas islas de poder en base a no compartir conocimiento y a convertir en enrebesado lo sencillo, ...y para ellos es mi queja.&lt;br /&gt;&lt;br /&gt;Para mí, una "isla de poder", es algo así como un pequeño nicho de mercado, donde alguien intenta posicionarse de forma errónea, para convertirse en indispensable, lástima que a algunos esta jugada les de resultado.&lt;br /&gt;&lt;br /&gt;Y digo esto pensando, por ejemplo, a manera de reflexión (o tal vez de crítica), en algunas aplicaciones que me ha tocado rescatar, aplicaciones sin ejercimiento de roles, sin documentación, sin estructura, sin guía, sin control, caóticas!&lt;br /&gt;&lt;br /&gt;Muchos saben del tipo de aplicaciones que hablo, a mas de uno de nosotros le ha costado, al menos las primeras veces, leer cantidades ingentes de documentos y mucha, mucha imaginación para comprender e intentar arreglar el entuerto.&lt;br /&gt;&lt;br /&gt;Pero por muy ofuscado que este algo, solo retarda lo inevitable, hay otros que vienen por detrás y tarde o temprano sabrán desifrar aquello que con tanto sigilo se guarda, por tanto este tipo de actitudes no tiene razón de ser. &lt;br /&gt;&lt;br /&gt;Ocultar el conocimiento, no posibilita estrechar los lazos sociales, ni incrementar nuestro capital intelectual. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Guardar información sin haberla pasado por la interrogación, por la opinión, por la justificación, o abolición del otro, no es conocimiento. Es tener una base de datos de "saberes muertos", sin vida, algo que no representa nada porque está inherte, sin conexión con los demás o con el medio que le da vida.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Por suerte hay mucha gente en internet que practica la divulgación de conocimiento, a todos ellos MUCHAS GRACIAS&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;embed id=VideoPlayback src=http://video.google.com/googleplayer.swf?docid=6062846100490041287&amp;hl=es&amp;fs=true style=width:400px;height:326px allowFullScreen=true allowScriptAccess=always type=application/x-shockwave-flash&gt; &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enlaces relacionados&lt;/b&gt;:&lt;br /&gt;&lt;a target="visor"  href="http://www.arearh.com/km/compartir_conocimiento.htm"&gt;¿Compartir el conocimiento?&lt;br /&gt;&lt;/a&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7009115880717995336?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7009115880717995336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7009115880717995336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7009115880717995336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7009115880717995336'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/10/hay-que-compartir-el-conocimiento.html' title='¿ Hay que compartir el conocimiento ?'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-7711717099599736568</id><published>2010-10-11T00:58:00.004+02:00</published><updated>2010-10-11T01:10:33.775+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Llegó Maven 3.0</title><content type='html'>El pasado 8 de Octubre se libero Maven 3.0, al parecer con grandes cambios y algunas novedades, como por ejemplo Tycho, los planes para m2eclipse, maven shell, polyglot maven y los planes sobre que hacer al rededor del servidor de integración continua Hudson.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Para aquellos que esten preocupados en la compatibilidad con maven 2, los chicos de apache también han publicado una &lt;a href="https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html" target="visor"&gt;matriz de compatibilidad&lt;/a&gt;, entre los cuales se ven afectados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El uso de profiles&lt;/li&gt;&lt;li&gt;El uso del plugin site y de reporting&lt;/li&gt;&lt;li&gt;Mejoras en el uso de red&lt;/li&gt;&lt;li&gt;Validación estricta del fichero POM&lt;/li&gt;&lt;/ul&gt;He aquí también la &lt;a href="https://cwiki.apache.org/MAVEN/maven-3x-plugin-compatibility-matrix.html" target="visor"&gt;matriz de compatibilidad de plugins con maven 3.x&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;strong&gt;Enlaces relacionados:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sonatype.com/people/2010/10/maven-3-0-has-landed/" target="visor"&gt;maven 3.0 has landed&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0-bin.zip" target="visor"&gt;Download apache-maven-3.0-bin.zip&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-7711717099599736568?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/7711717099599736568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=7711717099599736568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7711717099599736568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/7711717099599736568'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/10/llego-maven-30.html' title='Llegó Maven 3.0'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2762102844791438623</id><published>2010-09-28T13:37:00.004+02:00</published><updated>2010-09-28T13:44:35.236+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Desplegando con diferentes ficheros de configuración</title><content type='html'>Continuando con la cruzada maven + liferay.... &lt;br /&gt;&lt;br /&gt;Bueno, muchas veces, cuando desarrollamos, atacamos nuestra propia base de datos y utilizamos ficheros de propiedades para almacenar algunos de los parametros variables de la aplicación, evidentemente con las rutas y puertos de nuestra máquina; ahora bien, cuando desplegamos nuestra aplicación, en otro entorno que no sea el de desarrollo local, se nos presenta el problema de tener que modificar el paquete (jar, war, ear), con el fin de actualizar los valores de las propiedades, con aquellos correspondientes al entorno de destino.&lt;br /&gt;&lt;br /&gt;Esto es algo que se puede controlar fácilmente, si utilizamos ANT o MAVEN.&amp;nbsp; En el caso de MAVEN, este dispone de un elemento llamado &lt;strong&gt;PROFILE&lt;/strong&gt; y de un plugin llamado &lt;strong&gt;maven-antrun-plugin&lt;/strong&gt;, cuya combinación nos permite generar los desplegables adecuados al entorno de destino de una forma fácil.&lt;br /&gt;&lt;br /&gt;Pues bien el secreto de la receta se basa en:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tener tantos ficheros de propiedades como entornos de destino vayamos a tener ( &lt;strong&gt;config.properties&lt;/strong&gt;, &lt;strong&gt;config.&lt;/strong&gt;int.&lt;strong&gt;properties&lt;/strong&gt;, &lt;strong&gt;config.&lt;/strong&gt;pre.&lt;strong&gt;properties&lt;/strong&gt;, &lt;strong&gt;config.&lt;/strong&gt;pro.&lt;strong&gt;properties&lt;/strong&gt;)&lt;/li&gt;&lt;li&gt;Crear un perfil, por cada entorno de destino previsto,&amp;nbsp;dentro de nuestro &lt;strong&gt;pom.xml&lt;/strong&gt;, de preferencia con un nombre descritptivo, referente a su destino.&lt;/li&gt;&lt;li&gt;Añadir el plugin &lt;strong&gt;maven-antrun-plugin&lt;/strong&gt; en cada perfil para que borre los ficheros redundantes de configuración, y copie y renombre&amp;nbsp;los necesarios.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;He aquí un pequeño snippet de ejemplo, con "dos ficheros y un destino":&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;profiles&gt;&lt;br /&gt; ...&lt;br /&gt; &amp;lt;profile&gt;&lt;br /&gt;  &amp;lt;id&gt;integracion&amp;lt;/id&gt;&lt;br /&gt;  &amp;lt;build&gt;&lt;br /&gt;    &amp;lt;plugins&gt;&lt;br /&gt;       ...&lt;br /&gt; &amp;lt;plugin&gt;&lt;br /&gt;  &amp;lt;artifactId&gt;maven-antrun-plugin&amp;lt;/artifactId&gt;&lt;br /&gt;  &amp;lt;executions&gt;&lt;br /&gt;   &amp;lt;execution&gt;&lt;br /&gt;    &amp;lt;phase&gt;compile&amp;lt;/phase&gt;&lt;br /&gt;    &amp;lt;goals&gt;&amp;lt;goal&gt;run&amp;lt;/goal&gt;&amp;lt;/goals&gt;&lt;br /&gt; &lt;br /&gt;    &amp;lt;configuration&gt;&lt;br /&gt;     &amp;lt;tasks&gt;&lt;br /&gt;      &amp;lt;echo&gt;------------------------------------------------&amp;lt;/echo&gt;&lt;br /&gt;      &amp;lt;echo&gt;COPIANDO LOS FICHEROS DEL ENTORNO DE INTEGRACION&amp;lt;/echo&gt;&lt;br /&gt;      &amp;lt;echo&gt;------------------------------------------------&amp;lt;/echo&gt;&lt;br /&gt;      &amp;lt;delete&lt;br /&gt;       file="${project.build.outputDirectory}/config.int.properties" /&gt;&lt;br /&gt;      &amp;lt;delete&lt;br /&gt;       file="${project.build.outputDirectory}/config.properties" /&gt;&lt;br /&gt;      &amp;lt;copy&lt;br /&gt;       file="src/main/resources/config.int.properties"&lt;br /&gt;       tofile="${project.build.outputDirectory}/config.properties" /&gt;&lt;br /&gt;     &amp;lt;/tasks&gt;&lt;br /&gt;    &amp;lt;/configuration&gt;&lt;br /&gt;    &lt;br /&gt;   &amp;lt;/execution&gt;&lt;br /&gt;  &amp;lt;/executions&gt;&lt;br /&gt; &amp;lt;/plugin&gt;&lt;br /&gt;       ...&lt;br /&gt;    &amp;lt;/plugins&gt;&lt;br /&gt;  &amp;lt;/build&gt;&lt;br /&gt; &amp;lt;/profile&gt;&lt;br /&gt; ...&lt;br /&gt;&amp;lt;/profiles&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;En este ejemplo, en un entorno normal se utilizará el fichero config.properties por defecto, y cuando invocamos la compilación y la generación del war no se hará nada especial. &lt;br /&gt;Sin embargo, si, al compilar y generar el war indicamos que se debe ejecutar el perfil llamado "&lt;b&gt;integracion&lt;/b&gt;", este borrará todos los ficheros de configuración de los entornos innecesarios y copiará únicamente aquel que necesita, renombrandolo a fin que pueda ser accedido por el código, en tiempo de ejecución,&amp;nbsp;sin más complicaciones.&lt;br /&gt;&lt;br /&gt;&lt;pre class="java" name="code"&gt;InputStream is = Configuracion.class.getResourceAsStream("config.properties");&lt;br /&gt;Properties tmp = new Properties();&lt;br /&gt;tmp.load(is);&lt;br /&gt;&lt;/pre&gt;Evidentemente a este último código le falta algún que otro try/catch.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a target="visor" href="http://maven.apache.org/guides/mini/guide-building-for-different-environments.html"&gt;Building For Different Environments with Maven 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2762102844791438623?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2762102844791438623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2762102844791438623' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2762102844791438623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2762102844791438623'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/09/desplegando-con-diferentes-ficheros-de.html' title='Desplegando con diferentes ficheros de configuración'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2349687202205609345</id><published>2010-09-22T18:03:00.000+02:00</published><updated>2010-09-22T18:03:39.615+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='i18n'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Utilidad para transformar ficheros de internacionalización</title><content type='html'>native2ascii es una instrucción de linea de comandos que trae java, ubicado en el directorio bin, nos permite escribir ficheros de propiedades en el idioma nativo al cual se esta internacionalizando la aplicación y convertirlo en el formato de destino deseado, transformando los caracteres especiales, como por ejemplo los acentos a la codificación deseada sin necesidad de conocerla.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Utilizando esta herramienta evitaremos que nuestros textos se vean mal cuando se presentan, por ejemplo, en entornos web.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;pre class="xml" name="code"&gt;C:\jdk\bin&amp;gt;native2ascii -encoding UTF-8 Language_es.properties.native Language_es.properties&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/native2ascii.html"&gt;native2ascii - Native-to-ASCII Converter&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://download.oracle.com/javase/1.5.0/docs/guide/intl/encoding.doc.html"&gt;Supported Encodings&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;- FIN&amp;nbsp;-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2349687202205609345?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2349687202205609345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2349687202205609345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2349687202205609345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2349687202205609345'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/09/utilidad-para-transformar-ficheros-de.html' title='Utilidad para transformar ficheros de internacionalización'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-3979987787854276681</id><published>2010-09-17T01:20:00.002+02:00</published><updated>2010-09-17T01:30:09.550+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fábulas'/><title type='text'>ante el cansansio mental</title><content type='html'>A veces, durante la ejecución de alguna tarea, nos obcecamos, nos obsesionamos y durante la mitad del tiempo que consumimos para realizar una tarea, la pasamos cansados.&lt;br /&gt;&lt;br /&gt;En los momentos que me doy cuenta de esta situación, para recobrar energía, ¿quien sabe? ¿utilizando mal? el pensamiento lateral, el cinismo es un buen remedio.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;hr /&gt;&amp;nbsp;Hay dos sistemas de conseguir la felicidad: Uno, hacerse el idiota, el otro, serlo&lt;br /&gt;&lt;i&gt;Enrique Jardiel Poncela &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Sólo hay dos cosas infinitas: el universo y la estupidez humana. Y no estoy seguro de la primera&lt;br /&gt;&lt;i&gt;Albert Einstein&lt;/i&gt;&lt;br /&gt;&lt;hr /&gt;Más citas&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Reír es como cambiar los pañales del bebé: no resuelve permanentemente el problema, pero hace las cosas más agradables por un momento&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;No soy un completo inútil... por lo menos sirvo de mal ejemplo&lt;/li&gt;&lt;li&gt;La inteligencia me persigue pero yo soy más rápido&lt;/li&gt;&lt;li&gt;La verdad absoluta no existe y esto es absolutamente cierto&lt;/li&gt;&lt;li&gt;No te tomes la vida en serio, al fin y al cabo no saldrás vivo de ella&lt;/li&gt;&lt;li&gt;El tiempo es el mejor maestro, desgraciadamente mata a todos sus estudiantes&lt;/li&gt;&lt;li&gt;El que ríe último piensa más lento&lt;/li&gt;&lt;li&gt;A veces pienso que la prueba más fehaciente de que hay vida inteligente en el universo es que nadie ha intentado contactar con nosotros. Bill Waterson, humorista&lt;/li&gt;&lt;li&gt;Lo importante no es saber, sino tener el teléfono del que sabe&lt;/li&gt;&lt;li&gt;Ningún tonto se queja de serlo. No les debe ir tan mal&lt;/li&gt;&lt;li&gt;La verdadera felicidad está en las pequeñas cosas: una pequeña mansión, un pequeño yate, una pequeña fortuna&lt;/li&gt;&lt;li&gt;El que es capaz de sonreír cuando todo le está saliendo mal, es porque tiene pensado a quién echarle la culpa&lt;/li&gt;&lt;li&gt;Todo tiempo pasado fue anterior&lt;/li&gt;&lt;li&gt;Si la montaña viene hacia ti....¡corre: es un derrumbe!&lt;/li&gt;&lt;li&gt;Decía que por todo equipaje se debería llevar solo el que en el caso de naufragio, pudiera nadar con él&lt;/li&gt;&lt;li&gt;La psicología es el único negocio donde el cliente nunca tiene la razón&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Fuente : http://www.nueva-acropolis.es/filosofia/humor/filosofia-humor.htm&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-3979987787854276681?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/3979987787854276681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=3979987787854276681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3979987787854276681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/3979987787854276681'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/09/ante-el-cansansio-mental.html' title='ante el cansansio mental'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8372597129065099294</id><published>2010-09-15T12:05:00.000+02:00</published><updated>2010-09-15T12:05:26.102+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>java.sql.SQLException: Listener refused the connection</title><content type='html'>Cambiando la base de datos a Liferay de HSQL a Oracle, hace un tiempo me surgio un fallo referente al pool de conexiones. La traza del error es la siguiente.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;WARN  [BasicResourcePool:1841] com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1bcf3d -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: &lt;br /&gt;java.sql.SQLException: Listener refused the connection with the following error:&lt;br /&gt;ORA-12519, TNS:no appropriate service handler found&lt;br /&gt;The Connection descriptor used by the client was:&lt;br /&gt;localhost:1521:xe&lt;br /&gt;&lt;br /&gt;at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)&lt;br /&gt;at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)&lt;br /&gt;at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)&lt;br /&gt;at oracle.jdbc.driver.PhysicalConnection.&lt;init&gt;(PhysicalConnection.java:439)&lt;br /&gt;at oracle.jdbc.driver.T4CConnection.&lt;init&gt;(T4CConnection.java:165)&lt;br /&gt;at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)&lt;br /&gt;at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)&lt;br /&gt;at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;La solución pasa por configurar el pool en el fichero portal-ext.properties:&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;hibernate.dialect=org.hibernate.dialect.Oracle10gDialect&lt;br /&gt;jdbc.default.acquireIncrement=1&lt;br /&gt;jdbc.default.maxPoolSize=5&lt;br /&gt;jdbc.default.minPoolSize=1&lt;br /&gt;jdbc.default.numHelperThreads=1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8372597129065099294?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8372597129065099294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8372597129065099294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8372597129065099294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8372597129065099294'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/09/javasqlsqlexception-listener-refused.html' title='java.sql.SQLException: Listener refused the connection'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-9215424440044722579</id><published>2010-09-12T00:27:00.000+02:00</published><updated>2010-09-12T00:27:34.376+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hsql'/><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><title type='text'>apuntes hsql</title><content type='html'>HSQL es un SGBD escrito en java que liferay trae por defecto. &lt;br /&gt;&lt;br /&gt;Si por algún motivo nos interesara acceder a los datos de las tablas; en el propio jar de HSQL viene un administrador visual que nos permite acceder a dicha información, este administrador esta en la clase &lt;strong&gt;org.hsqldb.util.DatabaseManager&lt;/strong&gt; y para ejecutarlo basta con ejecutar la siguiente línea de comandos.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;java -cp "C:\desarrollo\hsql\hsql.jar" org.hsqldb.util.DatabaseManager&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mG-olUabbUE/TIZWCJMbPhI/AAAAAAAAAS8/O0sj9xD-ZNg/s1600/DatabaseManager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://4.bp.blogspot.com/_mG-olUabbUE/TIZWCJMbPhI/AAAAAAAAAS8/O0sj9xD-ZNg/s320/DatabaseManager.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Aunque si se desea utilizar otra herramienta visual, se puede usar por ejemplo &lt;strong&gt;SQuirreL&lt;/strong&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mG-olUabbUE/TIwBmLmVrnI/AAAAAAAAATM/PSMn-01kyLU/s1600/squirrel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://4.bp.blogspot.com/_mG-olUabbUE/TIwBmLmVrnI/AAAAAAAAATM/PSMn-01kyLU/s320/squirrel.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-echsql/index.html" target="visor"&gt;http://www.ibm.com/developerworks/opensource/library/os-echsql/index.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hsqldb.org/doc/guide/ch01.html" target="visor"&gt;http://www.hsqldb.org/doc/guide/ch01.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.squirrelsql.org/" target="visor"&gt;SQuirreL&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN&amp;nbsp;-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-9215424440044722579?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/9215424440044722579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=9215424440044722579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/9215424440044722579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/9215424440044722579'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/09/apuntes-hsql.html' title='apuntes hsql'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mG-olUabbUE/TIZWCJMbPhI/AAAAAAAAAS8/O0sj9xD-ZNg/s72-c/DatabaseManager.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-8570766397094902852</id><published>2010-09-09T13:03:00.001+02:00</published><updated>2010-09-09T13:04:38.109+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='junit'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Provider com.bea.xml.stream.MXParserFactory not found</title><content type='html'>Probando la creación de usuarios en liferay, utilizando su API, con test unitarios utilizando junit, me ha salido el mensaje de error:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;javax.xml.stream.FactoryConfigurationError: Provider com.bea.xml.stream.MXParserFactory not found&lt;br /&gt;&lt;/pre&gt;Esto se soluciona añadiendo la dependencia a la libreria &lt;b&gt;stax 1.1.2-dev&lt;/b&gt;, la cual se encuentra en los repositorios públicos de maven; curiosamente al incluir la dependencia, al compilar me pide el artefacto xmlbeans-jsr173-api, el cual no logre encontrar en los repositorios :-((&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;[INFO] -----------------------------------&lt;br /&gt;[ERROR] BUILD ERROR&lt;br /&gt;[INFO] -----------------------------------&lt;br /&gt;[INFO] Failed to resolve artifact.&lt;br /&gt;&lt;br /&gt;Missing:&lt;br /&gt;----------&lt;br /&gt;1) xmlbeans:xmlbeans-jsr173-api:jar:2.0-dev&lt;br /&gt;&lt;/pre&gt;Dado este problema la solución es utilizar las exclusiones de dependencias que proporciona maven, quedando la inclusión de la dependencia de la siguiente manera.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;dependency&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&gt;stax&amp;lt;/groupId&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&gt;stax&amp;lt;/artifactId&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&gt;1.1.2-dev&amp;lt;/version&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;scope&gt;test&amp;lt;/scope&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;exclusions&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;exclusion&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&gt;xmlbeans-jsr173-api&amp;lt;/artifactId&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;groupId&gt;xmlbeans&amp;lt;/groupId&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;exclusion&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;exclusions&gt;  &lt;br /&gt;&amp;lt;dependency&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-8570766397094902852?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/8570766397094902852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=8570766397094902852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8570766397094902852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/8570766397094902852'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/09/provider-combeaxmlstreammxparserfactory.html' title='Provider com.bea.xml.stream.MXParserFactory not found'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2999551896843936526</id><published>2010-07-30T00:03:00.000+02:00</published><updated>2010-07-30T00:03:26.844+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Creación de portlets con Struts2, Maven y Eclipse</title><content type='html'>Struts2 nos provee de una serie de arquetipos maven que aceleran nuestro proceso de desarrollo, algunos de ellos nos permiten crear portlets JSR 168.&lt;br /&gt;&lt;br /&gt;Los arquetipos para crear portlets JSR 168 son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;struts2-archetype-portlet&lt;/b&gt;.- Para crear un portlets vacios.&lt;/li&gt;&lt;li&gt;&lt;b&gt;struts2-archetype-dbportlet&lt;/b&gt;.- Para crear portlets que muestran el contenido de una tabla de base de datos (Consultas, Spring, HSQL, preferencias).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Para tener disponibles estos arquetipos en el repositorio maven al que esta conectado eclipse hay que añadir un arquetipo nuevo; esta opción sale cuando creamos un proyecto maven y nos pide que seleccionemos el arquetipo que deseamos utilizar.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mG-olUabbUE/TEy6Iua2r6I/AAAAAAAAASk/3FIydGfhRqc/s1600/addArchetype.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_mG-olUabbUE/TEy6Iua2r6I/AAAAAAAAASk/3FIydGfhRqc/s320/addArchetype.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Una vez que se levanta el popup del nuevo arquetipo, hay que introducir sus opciones de registro del arquetipo que deseamos utilizar.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mG-olUabbUE/TEy6KHf0hsI/AAAAAAAAASs/phg6fA2Ep1c/s1600/dbportlet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_mG-olUabbUE/TEy6KHf0hsI/AAAAAAAAASs/phg6fA2Ep1c/s320/dbportlet.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Si estamos creando portlets para Liferay, después de crear el proyecto, simplemente hay que añadir los ficheros propios de configuración de este (liferay-display.xml, liferay-plugin-package.properties y liferay-portlet.xml).&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://struts.apache.org/2.1.8.1/docs/struts-2-maven-archetypes.html" target="visor"&gt;Struts 2 Maven Archetypes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2999551896843936526?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2999551896843936526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2999551896843936526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2999551896843936526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2999551896843936526'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/07/creacion-de-portlets-con-struts2-maven.html' title='Creación de portlets con Struts2, Maven y Eclipse'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_mG-olUabbUE/TEy6Iua2r6I/AAAAAAAAASk/3FIydGfhRqc/s72-c/addArchetype.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1440408923546070786</id><published>2010-07-23T16:49:00.005+02:00</published><updated>2010-07-23T23:48:37.593+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Certificaciones Java'/><category scheme='http://www.blogger.com/atom/ns#' term='gestión de proyectos'/><category scheme='http://www.blogger.com/atom/ns#' term='SCRUM'/><title type='text'>Scrum Manager Certified</title><content type='html'>Bueno poca cosa que decir, sólo que acabo de obtener el &lt;strong&gt;Scrum Manager Certified&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mG-olUabbUE/TEmD-4w0fPI/AAAAAAAAASU/rltoOk7NFBA/s1600/2010-07-21_18.20.30.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" hw="true" src="http://3.bp.blogspot.com/_mG-olUabbUE/TEmD-4w0fPI/AAAAAAAAASU/rltoOk7NFBA/s320/2010-07-21_18.20.30.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Poco antes del examen de certificación estuvimos haciendo unas charlas donde revisabamos conceptos y la forma como aplicar eficientemente las metodologías ágiles. Como parte de un ejemplo hablabamos sobre la creación de un &lt;strong&gt;elefante&lt;/strong&gt;, del como podiamos dividirlo por partes funcionales&amp;nbsp;(historias) para generar nuestro "product backlog" y luego crearlo en cada sprint ... .&lt;br /&gt;&lt;br /&gt;Curiosamente el bar donde desayunábamos tenia la imagen de nuestro ejemplo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mG-olUabbUE/TEmOh6ycZqI/AAAAAAAAASc/HUF1ubQtE9o/s1600/SNC00268.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" hw="true" src="http://3.bp.blogspot.com/_mG-olUabbUE/TEmOh6ycZqI/AAAAAAAAASc/HUF1ubQtE9o/s320/SNC00268.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a target="visor"  href="http://www.scrummanager.net/files/sm_proyecto.pdf"&gt;http://www.scrummanager.net/files/sm_proyecto.pdf&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="visor"  href="http://www.proyectalis.com/2008/02/26/scrum-y-xp-desde-las-trincheras/"&gt;http://www.proyectalis.com/2008/02/26/scrum-y-xp-desde-las-trincheras/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="visor"  href="http://www.proyectalis.com/2010/01/28/scrum-vs-kanban-en-castellano/"&gt;http://www.proyectalis.com/2010/01/28/scrum-vs-kanban-en-castellano/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="visor"  href="http://www.slideshare.net/proyectalis"&gt;http://www.slideshare.net/proyectalis&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a target="visor"  href="http://www.scrummanager.net/perfil-de-usuario/userprofile/emmerson"&gt;http://www.scrummanager.net/perfil-de-usuario/userprofile/emmerson&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1440408923546070786?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1440408923546070786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1440408923546070786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1440408923546070786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1440408923546070786'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/07/scrum-manager-certified.html' title='Scrum Manager Certified'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_mG-olUabbUE/TEmD-4w0fPI/AAAAAAAAASU/rltoOk7NFBA/s72-c/2010-07-21_18.20.30.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4576962346136798760</id><published>2010-06-28T12:08:00.001+02:00</published><updated>2010-09-12T00:33:03.404+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>Cambio de contexto en liferay</title><content type='html'>Normalmente cuando se desarrolla con liferay se opta por descargar el bundle tomcat+liferay, en esta tupla liferay viene por defecto en el contexto raiz de tomcat; pero hay ocasiones donde es necesario utilizar un contexto distinto al raiz, ya sea por que la raiz esta ocupada por otra aplicación, como por requerimientos de negocio...etc, etc.&lt;br /&gt;&lt;br /&gt;Los siguientes son los pasos para cambiar el contexto de un portal liferay, se asume que el servidor en el cual corre, es un tomcat.&lt;br /&gt;&lt;br /&gt;Esto ha sido probado en un bundle liferay 5.2.3 con un tomcat 5.5&lt;br /&gt;&lt;ul&gt;&lt;li&gt;renombrar el fichero TOMCAT_HOME\conf\Catalina\localhost\&lt;span style="color: red;"&gt;ROOT.xml&lt;/span&gt; por &lt;span style="color: #274e13;"&gt;micontexto.xml&lt;/span&gt; &lt;/li&gt;&lt;li&gt;modificar TOMCAT_HOME\conf\Catalina\localhost\&lt;span style="color: #274e13;"&gt;micontexto.xml&lt;/span&gt; para que figure el nombre del contexto&amp;nbsp; : &amp;lt;context crosscontext="true" path="&lt;span style="color: #274e13;"&gt;/micontexto&lt;/span&gt;"&amp;gt;&lt;/li&gt;&lt;li&gt;renombrar la carpeta TOMCAT_HOME\webapps\&lt;span style="background-color: white; color: red;"&gt;ROOT&lt;/span&gt; por webapps\&lt;span style="color: #274e13;"&gt;micontexto&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;añadir la propiedad portal.ctx=&lt;span style="color: #274e13;"&gt;/micontexto&lt;/span&gt; al fichero de configuración TOMCAT_HOME\webapps\&lt;span style="color: #274e13;"&gt;micontexto&lt;/span&gt;\WEB-INF\classes\portal-ext.properties (sin olvidar la "/")&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a href="http://www.liferay.com/community/forums/-/message_boards/message/3018241" target="visor"&gt;Installing Liferay 5.2.2 on Tomcat 6.0 under non ROOT context&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4576962346136798760?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4576962346136798760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4576962346136798760' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4576962346136798760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4576962346136798760'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/06/cambio-de-contexto-en-liferay.html' title='Cambio de contexto en liferay'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-87762261230835781</id><published>2010-06-23T01:10:00.000+02:00</published><updated>2010-06-23T01:10:16.385+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>IIS con Tomcat</title><content type='html'>Me ha llegado un post por un grupo de Linkedin al que estoy suscrito, de como integrar IIS con Apache Tomcat, este explica paso a paso con imagenes como configurar ambos para que se comuniquen.&lt;br /&gt;&lt;br /&gt;Sin mas preámbulo dejo el enlace:&lt;br /&gt;&lt;a href="http://makdns.blogspot.com/2010/06/installtion-configuring-internet.html" target="visor"&gt;Installtion, Configuring Internet Information Server (IIS) with Apache Tomcat &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-87762261230835781?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/87762261230835781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=87762261230835781' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/87762261230835781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/87762261230835781'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/06/iis-con-tomcat.html' title='IIS con Tomcat'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-120781583319509987</id><published>2010-06-21T11:41:00.001+02:00</published><updated>2010-06-21T11:44:07.639+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Error creando un tema (theme) liferay con maven</title><content type='html'>Hoy me he puesto a crear un tema(theme) de liferay con &lt;br /&gt;&lt;b&gt;azzazzel-liferay-maven-sdk&lt;/b&gt;, y al contrario que, cuando, se crean portlets y hooks da el siguiente fallo.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;[INFO] Scanning for projects...&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;[INFO] Building Maven Liferay Theme Archetype&lt;br /&gt;[INFO]    task-segment: [package]&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;[ERROR] BUILD ERROR&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;[INFO] Failed to resolve artifact.&lt;br /&gt;&lt;br /&gt;Missing:&lt;br /&gt;----------&lt;br /&gt;1) com.sun:tools:jar:1.4.2&lt;br /&gt;&lt;br /&gt;  Try downloading the file manually from the project website.&lt;br /&gt;&lt;br /&gt;  Then, install it using the command: &lt;br /&gt;      mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file&lt;br /&gt;&lt;br /&gt;  Alternatively, if you host your own repository you can deploy the file there: &lt;br /&gt;      mvn deploy:deploy-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]&lt;br /&gt;&lt;br /&gt;  Path to dependency: &lt;br /&gt;   1) com.commsen.liferay:liferay-maven-plugin:maven-plugin:5.2.3-r2&lt;br /&gt;   2) com.sun:tools:jar:1.4.2&lt;br /&gt;&lt;br /&gt;----------&lt;br /&gt;1 required artifact is missing.&lt;br /&gt;&lt;br /&gt;for artifact: &lt;br /&gt;  com.commsen.liferay:liferay-maven-plugin:maven-plugin:5.2.3-r2&lt;br /&gt;&lt;br /&gt;from the specified remote repositories:&lt;br /&gt;  central (http://repo1.maven.org/maven2)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;[INFO] For more information, run Maven with the -e switch&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;[INFO] Total time: 5 seconds&lt;br /&gt;[INFO] Finished at: Mon Jun 21 10:24:38 CEST 2010&lt;br /&gt;[INFO] Final Memory: 9M/17M&lt;br /&gt;[INFO] ------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Un colega se encontro el otro día este mismo problema; y este consiste en que el artefacto &lt;b&gt;liferay-maven-plugin-5.2.3-r2&lt;/b&gt; tiene una dependencia al fichero &lt;b&gt;tools.jar&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;Inspeccionando el &lt;b&gt;pom&lt;/b&gt; de este artefacto en el &lt;b&gt;repositorio local&lt;/b&gt; de maven, cai en que este apuntaba a la dependencia de la versión &lt;b&gt;1.4.2&lt;/b&gt; de java, y que mi &lt;b&gt;JAVA_HOME&lt;/b&gt; apunta a la versión &lt;b&gt;1.5.0_06&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SOLUCIÓN:&lt;/b&gt;&lt;br /&gt;Cambiar el &lt;b&gt;pom.xml&lt;/b&gt; de &lt;b&gt;liferay-maven-plugin&lt;/b&gt; para que el &lt;b&gt;tools.jar&lt;/b&gt; sea la de la versión 5.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;dependency&gt;&lt;br /&gt; &amp;lt;groupId&gt;com.sun&amp;lt;/groupId&gt;&lt;br /&gt; &amp;lt;artifactId&gt;tools&amp;lt;/artifactId&gt;&lt;br /&gt; &amp;lt;version&gt;1.5.0_06&amp;lt;/version&gt;&lt;br /&gt; &amp;lt;scope&gt;system&amp;lt;/scope&gt;&lt;br /&gt; &amp;lt;systemPath&gt;&lt;br /&gt;         ${java.home}/../lib/tools.jar&lt;br /&gt; &amp;lt;/systemPath&gt;&lt;br /&gt;&amp;lt;/dependency&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a href="http://wiki.github.com/azzazzel/liferay-maven-sdk/creating-liferay-themes" target="visor"&gt;Creating Liferay Themes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-120781583319509987?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/120781583319509987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=120781583319509987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/120781583319509987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/120781583319509987'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/06/error-creando-un-tema-theme-liferay-con.html' title='Error creando un tema (theme) liferay con maven'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2922422246988580606</id><published>2010-06-16T13:31:00.000+02:00</published><updated>2010-06-16T13:31:14.133+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='portales'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Desplegar un "portlet maven" en la carpeta deploy de liferay</title><content type='html'>Desde luego desarrollar &lt;b&gt;portlets&lt;/b&gt; o &lt;b&gt;hooks&lt;/b&gt; &lt;b&gt;liferay&lt;/b&gt;, utilizando &lt;b&gt;eclipse&lt;/b&gt; con &lt;b&gt;maven&lt;/b&gt; tiene sus ventajas (hay material para muchos post), pero uno de los contratiempos que encuentro es tener que copiar el war resultante del empaquetado, en la carpeta &lt;b&gt;deploy&lt;/b&gt; de &lt;b&gt;liferay&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Pero a grandes males, grandes remedios; así que solo tenemos que configurar el &lt;b&gt;pom.xml&lt;/b&gt; para indicarle a maven que el directorio de salida donde se depositará el war sea la carpeta &lt;b&gt;deploy&lt;/b&gt; de &lt;b&gt;liferay&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;He aquí el extracto del &lt;b&gt;pom.xml&lt;/b&gt; que hace esto.&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;...&lt;br /&gt;&amp;lt;packaging&amp;gt;war&amp;lt;/packaging&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;build&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;nbsp;&amp;lt;plugin&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;!-- http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html  --&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;maven-war-plugin&amp;lt;/artifactid&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;outputDirectory&amp;gt;C:/dev/liferay/deploy&amp;lt;/outputdirectory&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/plugin&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/build&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Buen provecho!&lt;br /&gt;&lt;br /&gt;Enlaces relacionados:&lt;br /&gt;&lt;a href="http://milen.commsen.com/2009/10/creating-liferay-portlet-with-liferay-maven-sdk.html" target="visor"&gt;Creating Liferay portlet with liferay-maven-sdk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2922422246988580606?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2922422246988580606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2922422246988580606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2922422246988580606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2922422246988580606'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/06/desplegar-un-portlet-maven-en-la.html' title='Desplegar un &quot;portlet maven&quot; en la carpeta deploy de liferay'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-1520134762768726429</id><published>2010-05-29T00:14:00.001+02:00</published><updated>2010-05-29T00:15:11.527+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gestión de proyectos'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='análisis'/><title type='text'>Workshop sobre modelado de aplicaciones con UML</title><content type='html'>Hoy Viernes 28, he realizado un workshop de poco más de dos horas, dentro de la empresa, para hablar sobre "Enterprise Architect" como herramienta, la idea principal era el "modelado de aplicaciones empresariales con UML", pero sin querer se desvió hacia la parte de gestión de requisitos, asociaciones de requisitos con casos de uso, matrices de trazabilidad, releases ... y de UML2 se vio realmente poco.&lt;br /&gt;&lt;br /&gt;Después de dos horas no quise finalizarlo sin hacer un pequeño repaso muy rápidamente con ejemplos de otras implementaciones UML2 que he realizado, utilizando esta herramienta.&lt;br /&gt;&lt;br /&gt;Al principio del workshop la atmósfera era de formalidad, pero después de 15 minutos se torno jovial gracias a los asistentes, de tal forma que las otras dos horas se pasaron sin darme cuenta.&lt;br /&gt;&lt;br /&gt;Desde aquí doy gracias a todos los que participaron, y por qué no, a todos aquellos que vean el video que grabamos más adelante.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-1520134762768726429?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/1520134762768726429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=1520134762768726429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1520134762768726429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/1520134762768726429'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/05/workshop-sobre-enterprise-architect.html' title='Workshop sobre modelado de aplicaciones con UML'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4771881371352587160</id><published>2010-05-27T21:50:00.001+02:00</published><updated>2010-05-27T21:50:59.486+02:00</updated><title type='text'>Buscando la inteligencia emocional</title><content type='html'>Los especialistas recomiendan esta técnica, cuando el cerebro esta sobrecargado, para una buena relajación. &lt;br /&gt;&lt;br /&gt;Basta hacer lo siguiente: Con la ayuda del Mouse, arrastre la letra A hacia la letra M&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: white;"&gt;ande todo a la mierda &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="color: white;"&gt;y vaya a tomarse una CERVEZ&lt;/span&gt;&lt;strong&gt;&lt;span style="color: red;"&gt;A&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;Gracias Sergio :-D &lt;br /&gt;&amp;nbsp; &lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4771881371352587160?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4771881371352587160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4771881371352587160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4771881371352587160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4771881371352587160'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/05/buscando-la-inteligencia-emocional.html' title='Buscando la inteligencia emocional'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-5391029240751643721</id><published>2010-05-17T01:24:00.000+02:00</published><updated>2010-05-17T01:24:04.885+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webinar'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Buenas prácticas con subversion : Merging and Merge Tracking</title><content type='html'>En CollabNet se ha publicado un webcast, sobre mejores prácticas de la utilización de la característica &lt;b&gt;merge &lt;/b&gt;que trae subversión; si! esa gran desconocida sobre todo en combinación con &lt;b&gt;branch&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;No esta demás decir que para acceder al webcast hay que registrarse.&lt;br /&gt;&lt;br /&gt;He aquí un extracto de los objetivos.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The webinar will dig deeper looking at:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The different types of mergeinfo&lt;/li&gt;&lt;li&gt;When is mergeinfo not considered or recorded&lt;/li&gt;&lt;li&gt;Why you should be using 1.6.9 clients today&lt;/li&gt;&lt;li&gt;What’s coming with 1.7.0 for merge and mergeinfo&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Enlace relacionado:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.open.collab.net/webinar/55/?mkt_tok=3RkMMJWWfF9wsRoku6rNZKXonjHpfsX76%2BwrXqGxlMI%2F0ER3fOvrPUfGjI4ATcdm" target="visor"&gt;Subversion Best Practices: Merging and Merge Tracking&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-5391029240751643721?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/5391029240751643721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=5391029240751643721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5391029240751643721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/5391029240751643721'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/05/buenas-practicas-con-subversion-merging.html' title='Buenas prácticas con subversion : Merging and Merge Tracking'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6985503789606146895</id><published>2010-05-07T12:14:00.002+02:00</published><updated>2010-05-10T00:34:37.975+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><title type='text'>Variables disponibles en las JSP de portlets</title><content type='html'>Las siguientes son las variables disponibles dentro de las JSP de los portlets según su JSR.&lt;br /&gt;&lt;br /&gt;Para la JSR 168 (Portlet 1.0) &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;RenderRequest&lt;/span&gt; renderRequest&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;RenderResponse&lt;/span&gt; renderResponse&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;PortletConfig&lt;/span&gt; portletConfig&lt;/li&gt;&lt;/ul&gt;Para la&amp;nbsp;JSR 268 (Portlet 2.0)&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si la JSP se&amp;nbsp;ha incluido desde el metodo render&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;RenderRequest&lt;/span&gt; renderRequest &lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;RenderResponse&lt;/span&gt; renderResponse&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&amp;nbsp;Si la JSP se ha incluido desde el método serveResource&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;ResourceRequest&lt;/span&gt; resourceRequest &lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;ResourceResponse&lt;/span&gt; resourceResponse&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Si la JSP se ha incluido desde el método processAction &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;ActionRequest&lt;/span&gt; actionRequest&lt;/li&gt;&lt;li&gt;&lt;span style="background-color: white; color: blue;"&gt;ActionResponse&lt;/span&gt; actionResponse &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Si la JSP se ha incluido desde el método processEvent &lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;EventRequest&lt;/span&gt; eventRequest &lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;EventResponse&lt;/span&gt; eventResponse&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;PortletConfig&lt;/span&gt; portletConfig&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;PortletSession&lt;/span&gt; portletSession &lt;span style="color: #999999;"&gt;(es nula si no existe la session)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;Map&lt;string, object=""&gt;&lt;/span&gt; portletSessionScope&lt;span style="background-color: white; color: #999999;"&gt; (permite acceder a los atributos del portletSession)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;PortletPreferences&lt;/span&gt; portletPreferences &lt;span style="color: #999999;"&gt;(da acceso a las preferencias del portlet)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: blue;"&gt;Map&lt;string, string[]=""&gt;&lt;/span&gt; portletPreferencesValues&lt;span style="color: #999999;"&gt; (devuelve un Map con las preferencias del portlet)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Pero(evidentemente) para tener acceso a todos estos atributos es necesario incluir los taglibs correspodientes dentro de cada JSP donde se desee utilizarlas.&lt;br /&gt;&lt;br /&gt;Para la JSR 168 (Portlet 1.0) &lt;pre class="java" name="code"&gt;&amp;lt;%@ taglib uri=”http://java.sun.com/portlet” prefix=”portlet”%&gt;&lt;br /&gt;&amp;lt;portlet:defineObjects/&gt;&lt;/pre&gt;&lt;br /&gt;Para la JSR 268 (Portlet 2.0) &lt;pre class="java" name="code"&gt;&amp;lt;%@ taglib uri=”http://java.sun.com/portlet_2_0” prefix=”portlet”%&gt;&lt;br /&gt;&amp;lt;portlet:defineObjects/&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6985503789606146895?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6985503789606146895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6985503789606146895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6985503789606146895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6985503789606146895'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/05/variables-disponibles-en-las-jsp-de.html' title='Variables disponibles en las JSP de portlets'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-6013805471159258734</id><published>2010-05-04T13:17:00.000+02:00</published><updated>2010-05-04T13:17:53.219+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mensajeria'/><title type='text'>Windows 7 y OpenFire</title><content type='html'>Hace muy poco me instale W7, y una de las características que tiene es que para poder ejecutar determinados programas que hagan uso de ficheros y otro tipo de recursos es que hay que ejecutar los programas "como administrador".&lt;br /&gt;&lt;br /&gt;Estos días estoy trasteando con OpenFire, después de configurarlo al intentar logarme como administrador me daba el siguiente error:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;Login failed: make sure your username and password are correct and that you're an admin or moderator&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mG-olUabbUE/S-ABQXDzQuI/AAAAAAAAASI/NjLp4wp1Nms/s1600/openFireInvalidCredentials.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_mG-olUabbUE/S-ABQXDzQuI/AAAAAAAAASI/NjLp4wp1Nms/s320/openFireInvalidCredentials.png" tt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Naturalmente estoy utilizando el usuario y password correctos, e incluso&amp;nbsp;las trazas no me indican que no se puede conectar al servidor de base de datos. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solución :&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ejecutar el ejecutable de OpenFire como administrador, y como una imagen vale más que mil palabras, aquí la dejo.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_mG-olUabbUE/S-ABNNOQNgI/AAAAAAAAASA/c1PVJxLbihM/s1600/openFireIncidencia.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_mG-olUabbUE/S-ABNNOQNgI/AAAAAAAAASA/c1PVJxLbihM/s320/openFireIncidencia.png" tt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-6013805471159258734?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/6013805471159258734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=6013805471159258734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6013805471159258734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/6013805471159258734'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/05/windows-7-y-openfire.html' title='Windows 7 y OpenFire'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_mG-olUabbUE/S-ABQXDzQuI/AAAAAAAAASI/NjLp4wp1Nms/s72-c/openFireInvalidCredentials.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-4496519559609969399</id><published>2010-04-28T13:00:00.003+02:00</published><updated>2010-05-07T12:17:45.312+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Importar y exportar bases de datos Oracle</title><content type='html'>Cuando trabajamos con un lenguaje de programación, ineludiblemente trabajamos con algún tipo de fuente de datos, ya sea ficheros, sockets, ... o bases de datos.&lt;br /&gt;&lt;br /&gt;He aqui un par de comandos que nos permiten exportar e importar una base de datos oracle.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Exportar una base de datos:&lt;/b&gt;&lt;br /&gt;&lt;pre class="java" name="code"&gt;exp userid=miUsuario/miPwd FILE=miSchema.dmp LOG=miSchemaExport.log statistics=none&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Importar la base de datos exportada:&lt;/b&gt;&lt;br /&gt;&lt;pre class="java" name="code"&gt;imp userid=miUsuarioDestino/miPwdDestino file=miSchema.dmp log=miSchemaImport.log&lt;br /&gt;o&lt;br /&gt;imp userid=system file=miSchema.dmp log=miSchemaImport.log fromuser=miUserSource touser=miUserTarget&lt;br /&gt;&lt;/pre&gt;Supongo que no esta demás decir, que para importar, deben existir los TABLESPACE de las tablas, el usuario ha de tener los privilegios suficientes para poder crearlas ,.....&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-4496519559609969399?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/4496519559609969399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=4496519559609969399' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4496519559609969399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/4496519559609969399'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/04/importar-y-exportar-bases-de-datos.html' title='Importar y exportar bases de datos Oracle'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-799116277978537808</id><published>2010-04-27T15:53:00.000+02:00</published><updated>2010-04-27T15:53:11.974+02:00</updated><title type='text'>Un lugar para ir de vacaciones</title><content type='html'>Un buen lugar para ir de vacaciones, bonito, tranquilo....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://static.panoramio.com/photos/original/34167648.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://static.panoramio.com/photos/original/34167648.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.panoramio.com/photo/34167648" target="visor"&gt;http://www.panoramio.com/photo/34167648&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-799116277978537808?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/799116277978537808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=799116277978537808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/799116277978537808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/799116277978537808'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/04/un-lugar-para-ir-de-vacaciones.html' title='Un lugar para ir de vacaciones'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2962769093451025270</id><published>2010-03-11T00:47:00.000+01:00</published><updated>2010-03-11T00:47:30.044+01:00</updated><title type='text'>Jonathan Schwartz y las patentes</title><content type='html'>Hace poco Jonathan Schwartz en su blog (lo que no podia decir), publico un artículo llamado &lt;a href="http://jonathanischwartz.wordpress.com/2010/03/09/good-artists-copy-great-artists-steal/" target="visor"&gt;Good Artists Copy, Great Artists Steal&lt;/a&gt; (algo así como: "Los buenos artistas copian, los grandes urtan") y trata sobre "el uso de las patentes" y sus teje manejes en las altas esferas.&lt;br /&gt;&lt;br /&gt;Tal vez, la frase que más me ha gustado es:&lt;br /&gt;&lt;br /&gt;"I understand the value of patents – offensively and, more importantly, for defensive purposes" / "Entiendo el valor de las patentes, ofensivamente, y lo más importante, para defenderse"&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2962769093451025270?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2962769093451025270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2962769093451025270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2962769093451025270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2962769093451025270'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/03/jonathan-schwartz-y-las-patentes.html' title='Jonathan Schwartz y las patentes'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2435316900224358371</id><published>2010-03-05T00:00:00.001+01:00</published><updated>2010-03-05T01:47:26.831+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gestión de proyectos'/><category scheme='http://www.blogger.com/atom/ns#' term='arquitectura'/><category scheme='http://www.blogger.com/atom/ns#' term='análisis'/><title type='text'>La comunicación, gran desafio</title><content type='html'>Hoy en día saber comunicar es la clave para lograr transmitir ideas, pensamientos, actitudes, ... catalizar situaciones e incluso gestionar conflictos.&lt;br /&gt;&lt;br /&gt;Ante la eterna pregunta ¿Por que fracasan los proyectos de Software?, una de las principales razones (no la única), simplemente es, la comunicación incorrecta.&lt;br /&gt;&lt;br /&gt;Pero un tema, no menos importante que saber comunicar, es conocer los problemas que existen en la comunicación entre un emisor y un receptor.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;El emisor pensó (cliente)&lt;/li&gt;&lt;li&gt;El emisor dijo&amp;nbsp; - solo aquello que considero oportuno -&lt;/li&gt;&lt;li&gt;El emisor creyó que estaba diciendo &lt;/li&gt;&lt;li&gt;El receptor escucho (persona que toma los requisitos)&lt;/li&gt;&lt;li&gt;El receptor creyó escuchar - a veces precipitadamente -&lt;/li&gt;&lt;li&gt;El receptor interpretó&amp;nbsp; - a veces usando ideas preconcebidas -&lt;/li&gt;&lt;li&gt;El receptor se quedó con&lt;/li&gt;&lt;li&gt;El receptor transmitió&lt;/li&gt;&lt;li&gt;Finalmente el receptor realizó algo.&lt;/li&gt;&lt;/ol&gt;Al menos siendo conscientes de estos problemas, podemos iniciar un punto de cambio, en la forma como nos comunicamos o trasmitimos, y evitar desarrollar productos como en la siguiente viñeta.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_mG-olUabbUE/S5BQLBTfaHI/AAAAAAAAARc/7bpeGP4l_qI/s1600-h/proyectos01102007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="visor"&gt;&lt;img border="0" kt="true" src="http://2.bp.blogspot.com/_mG-olUabbUE/S5BQLBTfaHI/AAAAAAAAARc/7bpeGP4l_qI/s320/proyectos01102007.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Enlaces relacionados:&amp;nbsp;&lt;/div&gt;&lt;a href="http://emmersonmiranda.blogspot.com/2009/03/por-que-fracasan-los-proyectos-de.html"&gt;Por que fracasan los proyectos de desarrollo software.&lt;/a&gt; &lt;br /&gt;&lt;div&gt;&lt;/div&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2435316900224358371?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2435316900224358371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2435316900224358371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2435316900224358371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2435316900224358371'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/03/la-comunicacion-gran-desafio.html' title='La comunicación, gran desafio'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_mG-olUabbUE/S5BQLBTfaHI/AAAAAAAAARc/7bpeGP4l_qI/s72-c/proyectos01102007.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-27063910336255774</id><published>2010-03-03T09:46:00.004+01:00</published><updated>2010-03-03T09:47:38.796+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kenai'/><title type='text'>Kenai y Java.net</title><content type='html'>Ayer recibi un mail de Kenai, que ha enviado a todos los administradores de proyectos que tiene registrados.&lt;br /&gt;&lt;br /&gt;Básicamente aunque este desaparezca, realmente no es así, recordando la fras "la materia no se crea ni se destruye, solo se transforma".&lt;br /&gt;&lt;br /&gt;El futuro es migrar Java.net sobre la estructura que posee Kenai, y mover los proyectos de Kenai a Java.net&lt;br /&gt;&lt;br /&gt;Asi es que podemos seguir con nuestros proyectos de Kenai, para quienes tengan alguno, que luego según dice el mail serán migrados a Java.net&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-27063910336255774?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/27063910336255774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=27063910336255774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/27063910336255774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/27063910336255774'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/03/kenai-y-javanet.html' title='Kenai y Java.net'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5898698085431038245.post-2880268294570231010</id><published>2010-02-22T20:12:00.009+01:00</published><updated>2010-02-22T23:18:14.238+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jrebel'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='glassfish'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Probando JRebel con Maven, Spring, Netbeans y Glassfish</title><content type='html'>La combinación de Maven, Spring, Netbeans y Glassfish nos permite crear aplicaciones potentes en cuanto a buenas prácticas, gestión y construcción del proyecto, con un IDE ampliamente utilizado y conocido, sobre un servidor de aplicaciones decente... hasta aquí todo esta muy bien.&lt;br /&gt;&lt;br /&gt;Lo malo, son los cambios que se experimentan durante la fase de desarrollo. &lt;br /&gt;&lt;br /&gt;Lo normal en la construcción de una aplicación JEE es que este compuesta por distintos componentes, como por ejemplo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1 jar con los componentes comunes&lt;/li&gt;&lt;li&gt;1 jar con los objetos del dominio&lt;/li&gt;&lt;li&gt;1 jar con los DAO&lt;/li&gt;&lt;li&gt;1 jar con el negocio de pepito :-)&lt;/li&gt;&lt;li&gt;1 jar con el negocio de juanito ;-)&lt;/li&gt;&lt;li&gt;1 jar con los clientes de WS de ...&lt;/li&gt;&lt;li&gt;1 jar con ....&lt;/li&gt;&lt;li&gt;y finalmente un WAR/EAR&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Cualquier cambio que se realize en cualquiera de esos componentes requiere que se compile y despliegue la aplicación al completo en el servidor de aplicaciones, esto incluye el famoso undeploy/deploy de nuestro WAR/EAR, algo que suele ser muy ... pero que muy lento.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;JRebel permite evitarnos todo este proceso "traumático", pasando de actualizar el servidor de unos minutos eternos a unos pocos segundos.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;El proceso de implantación es el siguiente:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Descargar e instalar&amp;nbsp;JRebel ( 2.2.1 (21st December 2009) )&lt;/li&gt;&lt;li&gt;Configurar Glassfish&lt;/li&gt;&lt;li&gt;Que la aplicacion principal(WAR/EAR) tenga un fichero denominado &lt;br /&gt;rebel.xml&lt;/li&gt;&lt;li&gt;Probar que funciona&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;strong&gt;1.- Descargar e instalar JRebel&lt;/strong&gt;&lt;br /&gt;Obviamente el título lo dice todo : &lt;a href="http://www.zeroturnaround.com/jrebel/current/" target="visor"&gt;Descarga&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.- Configurar Glassfish v2.1&lt;/strong&gt;&lt;br /&gt;Se deben añadir dos opciones de arranque a la máquina virtual del servidor de aplicaciones.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_mG-olUabbUE/S4KYvYfSMbI/AAAAAAAAARU/QI6dLtSywOg/s1600-h/jrebel221-glassfish21.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="visor"&gt;&lt;img border="0" ct="true" src="http://4.bp.blogspot.com/_mG-olUabbUE/S4KYvYfSMbI/AAAAAAAAARU/QI6dLtSywOg/s320/jrebel221-glassfish21.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;"Cuidado con la documentación por que utilizar la barra (&lt;strong&gt;\&lt;/strong&gt;)&amp;nbsp;os puede originar que vuestro Glassfish no arranque (en windows), por ello es mejor utilizar la contra barra (&lt;strong&gt;/&lt;/strong&gt;)"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.- Configuracion de la aplicacion principal (WAR)&lt;/strong&gt;&lt;br /&gt;Supiendo que nuestra aplicacion esta ubicada en la carpeta "c:/application", que la aplicacion web se llama "&lt;b&gt;webapp&lt;/b&gt;" y que sus compomentes se llamanan "&lt;b&gt;un-componente-jar&lt;/b&gt;" y "&lt;b&gt;otro-componente-jar&lt;/b&gt;" el fichero de configuración &lt;b&gt;rebel.xml&lt;/b&gt; tendría que estar en el directorio &lt;b&gt;classes&lt;/b&gt;(en su defecto la raiz del código fuente) de la "webapp"; y quedaría de la siguiente forma:&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt; &lt;br /&gt;&amp;lt;application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;classpath&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dir name="C:/application/webapp/src/main/java"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;include name="**/*.*"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dir&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dir name="C:/application/webapp/target/classes"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;include name="**/*.*"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dir&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dir name="C:/application/webapp/target/classes"&gt;&amp;lt;/dir&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dir name="C:/application/un-componente-jar/target/classes"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;include name="**/*.*"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dir&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dir name="C:/application/otro-componente-jar/target/classes"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;include name="**/*.*"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dir&gt;&lt;br /&gt;&amp;lt;/classpath&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;web&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;link target="/"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dir name="C:/application/webapp/src/main/webapp"&gt;&amp;lt;/dir&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/link&gt;&lt;br /&gt;&amp;lt;/web&gt;&lt;br /&gt;&amp;lt;/application&gt;&lt;br /&gt;&lt;/pre&gt;&lt;strong&gt;4.- Probar que funciona&lt;/strong&gt;&lt;br /&gt;Si arrancamos Glassfish en modo debug, podemos cambiar el código de cualquier clase de los jars y simplemente guardandola, JRebel se encarga de actualizarla en el servidor de aplicaciones sin tener que volver a desplegar la webapp. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Enlaces relacionados:&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.zeroturnaround.com/jrebel/configuration/maven/" target="visor"&gt;Configuración del plugin de Maven&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.netbeans.org/MavenBestPractices" target="visor"&gt;Buenas prácticas con Maven y Netbeans&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zeroturnaround.com/blog/reloading_java_classes_401_hotswap_jrebel/" target="visor"&gt;Reloading Java Classes 401: HotSwap and JRebel — Behind the Scenes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Solo decir que desarrollar asi ya es una delicia por la cantidad de tiempo que uno puede llegar a ahorrar, ahora me queda paciencia para mas cosas :-)&lt;br /&gt;&lt;br /&gt;- FIN -&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5898698085431038245-2880268294570231010?l=www.emmersonmiranda.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.emmersonmiranda.net/feeds/2880268294570231010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5898698085431038245&amp;postID=2880268294570231010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2880268294570231010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5898698085431038245/posts/default/2880268294570231010'/><link rel='alternate' type='text/html' href='http://www.emmersonmiranda.net/2010/02/probando-jrebel-con-maven-spring.html' title='Probando JRebel con Maven, Spring, Netbeans y Glassfish'/><author><name>Emmerson Miranda</name><uri>http://www.blogger.com/profile/13993363355538813309</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-0t7c3m_QUcA/TXa9LuU0IXI/AAAAAAAAAV0/i7GPLrXViU0/s220/P1030494.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_mG-olUabbUE/S4KYvYfSMbI/AAAAAAAAARU/QI6dLtSywOg/s72-c/jrebel221-glassfish21.PNG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
