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

<channel>
	<title>Blog de Programación y Diseño Web</title>
	<atom:link href="http://blog.pontt.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pontt.com</link>
	<description>Bitácora de un programador en constante aprendizaje.</description>
	<lastBuildDate>Fri, 30 Oct 2009 13:39:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>BPMN</title>
		<link>http://blog.pontt.com/general/bpmn/</link>
		<comments>http://blog.pontt.com/general/bpmn/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 13:33:43 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=306</guid>
		<description><![CDATA[Estoy aprendiendo de una vez por todas a modelar en BPMN, asi que quiero compartir una gran herramienta llamada BizAgi para modelar. Tiene un versión free y otra pagada. En la parte superior derecha de la aplicación, no olviden colocar el mode &#8220;Extended&#8221;, esto es para tener mas elementos en el panel  (gracias Edgard por [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-307" title="BizAgi" src="http://blog.pontt.com/wp-content/uploads/2009/10/BizAgi.gif" alt="BizAgi" width="120" height="133" /></p>
<p>Estoy aprendiendo de una vez por todas a modelar en BPMN, asi que quiero compartir una gran herramienta llamada <a title="BPMN" href="http://www.bizagi.com/">BizAgi</a> para modelar. Tiene un versión free y otra pagada.</p>
<p>En la parte superior derecha de la aplicación, no olviden colocar el mode &#8220;Extended&#8221;, esto es para tener mas elementos en el panel  (gracias Edgard por el dato).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/general/bpmn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Video para entender SCRUM en menos de 10 minutos</title>
		<link>http://blog.pontt.com/scrum/video-para-entender-scrum-en-menos-de-10-minutos/</link>
		<comments>http://blog.pontt.com/scrum/video-para-entender-scrum-en-menos-de-10-minutos/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 14:27:06 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=291</guid>
		<description><![CDATA[Este es mi primer post (espero que el primero de muchos) relacionado con metodologías ágiles. Les dejo un video bastante bueno para entender en que consiste SCRUM.]]></description>
			<content:encoded><![CDATA[<p>Este es mi primer post (espero que el primero de muchos) relacionado con metodologías ágiles. Les dejo un video bastante bueno para entender en que consiste <a href="http://es.wikipedia.org/wiki/Scrum" target="_blank">SCRUM</a>.</p>
<a href="http://blog.pontt.com/scrum/video-para-entender-scrum-en-menos-de-10-minutos/"><p><em>Click here to view the embedded video.</em></p></a>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/scrum/video-para-entender-scrum-en-menos-de-10-minutos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crear Procedimiento Almacenado en DB2 con parametros de salida y resultset, luego consumirlo desde Java.</title>
		<link>http://blog.pontt.com/general/crear-procedimiento-almacenado-en-db2-con-parametros-de-salida-y-resultset-luego-consumirlo-desde-java/</link>
		<comments>http://blog.pontt.com/general/crear-procedimiento-almacenado-en-db2-con-parametros-de-salida-y-resultset-luego-consumirlo-desde-java/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 17:33:56 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=277</guid>
		<description><![CDATA[No soy un partidario de utilizar Procedimientos Almacenados (Stored Procedures), pero cuando se trabaja con empresas externas, aunque duela, hay que aprender. Actualmente en el proyecto que estoy trabajando debia crear un procedimiento almacenado &#8220;dummy&#8221; en DB2 que retornara un parametro de salida y adicionalmente un resultset, esto me pareció bastante curioso ya que los [...]]]></description>
			<content:encoded><![CDATA[<p>No soy un partidario de utilizar Procedimientos Almacenados (Stored Procedures), pero cuando se trabaja con empresas externas, aunque duela, hay que aprender.</p>
<p>Actualmente en el proyecto que estoy trabajando debia crear un procedimiento almacenado &#8220;dummy&#8221; en DB2 que retornara un parametro de salida y adicionalmente un resultset, esto me pareció bastante curioso ya que los SP no estan concebidos para eso. De todas maneras esto se puede hacer y leyendo la documentación de IBM DB2 encontré la respuesta.</p>
<h2>Crear el procedimiento</h2>
<p>Para poder retornar un resultset, primero debemos tener una tabla y en este caso le llamaremos &#8220;MITABLA&#8221;. Luego crearemos un procedimiento almacenado que devuelva un parametro de salida y el resultset.</p>
<p>El código del procedimiento</p>
<p>Aquí la clave es declarar el cursor con <strong>&#8220;with return&#8221;</strong></p>
<pre class="brush: sql;">
CREATE PROCEDURE &quot;MIESQUEMA&quot;.SP_CON_RESULTSET(
    OUT CODIGO varchar(20))
  LANGUAGE SQL
  DYNAMIC RESULT SETS 1
BEGIN
    --DECLARAMOS EL CURSOR PARA EL RESULTSET
    DECLARE C1 CURSOR WITH RETURN FOR SELECT * FROM MITABLA;
    --SETEAMOS EL PARAMETRO DE SALIDA
    SET CODIGO = '1313';
    OPEN C1;
    RETURN;
END
</pre>
<h2>Consumir SP desde Java</h2>
<p>Hay dos formas de obtener el resultset, la primera es utilizar el método executeQuery() que retorna el resultset y la segunda es la mencionada a continuación, utilizar execute() y luego getResultSet()</p>
<pre class="brush: java;">public void callSP(){
    ResultSet result = null;
    CallableStatement cstmt = null;
    try {
        String procName = &quot;MIESQUEMA.SP_CON_RESULTSET&quot;;
        //concatenamos
        String sql_ = &quot;CALL &quot; + procName + &quot;(?)&quot;;
        cstmt = con.prepareCall(sql_);
        //Registramos el parametro de salida y el tipo de dato
        cstmt.registerOutParameter( 1, Types.CHAR);
        //Realizando la llamada
        cstmt.execute();
        //Obtenemos el parametro de salida
        String codigoSalida = cstmt.getString(1);
        //Obtenemos el resultset
        result = (ResultSet) cstmt.getResultSet();

        while (result.next()) {
            //Aquí iteramos sobre el resultset
        }
    } catch (SQLException e) {
    //En caso de un excepción
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/general/crear-procedimiento-almacenado-en-db2-con-parametros-de-salida-y-resultset-luego-consumirlo-desde-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Syntax Highlighter pérdida de los tabs o indentación (Solución)</title>
		<link>http://blog.pontt.com/wordpress/wordpress-syntax-highlighter-perdida-de-los-tabs-o-indentacion-solucion/</link>
		<comments>http://blog.pontt.com/wordpress/wordpress-syntax-highlighter-perdida-de-los-tabs-o-indentacion-solucion/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 16:05:44 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=275</guid>
		<description><![CDATA[Hay un problema bastante molestoso al pegar código de muestra en wodpress y es la perdida de las tabulaciones al copiar y pegar código a wordpress. La solución Es simple,  basta con reemplazar cada tab (tabulación) por 4 espacios, estéticamente quedará igual y no se perderá al pegar a wordpress. Si utilizas eclipse puedes transformar [...]]]></description>
			<content:encoded><![CDATA[<p>Hay un problema bastante molestoso al pegar código de muestra en wodpress y es la perdida de las tabulaciones al copiar y pegar código a wordpress.</p>
<h2>La solución</h2>
<p>Es simple,  basta con reemplazar cada tab (tabulación) por 4 espacios, estéticamente quedará igual y no se perderá al pegar a wordpress.</p>
<p>Si utilizas eclipse puedes transformar tu tab a 4 espacios de la siguiente manera:</p>
<p><strong>Preferences&gt;Java&gt;formatter&gt;Edit</strong></p>
<p><strong>En tab policy dejamos solo en &#8220;Spaces Only&#8221; y en indent size en &#8220;4&#8243;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/wordpress/wordpress-syntax-highlighter-perdida-de-los-tabs-o-indentacion-solucion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Empezar con Google App Engine (JAVA)</title>
		<link>http://blog.pontt.com/java/empezar-con-google-app-engine-java-parte-i/</link>
		<comments>http://blog.pontt.com/java/empezar-con-google-app-engine-java-parte-i/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 20:40:51 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=225</guid>
		<description><![CDATA[Mucha gente huye de Java y no precisamente por la inherente dificultad de aprender este lenguaje, la mayoría lo hace simplemente porque les complica configurar un ambiente de desarrollo y ademas no existen muchas alternativas de alojamiento como en PHP, pero todo esto puede cambiar si aprendemos a utilizar Google App Engine. Google App Engine [...]]]></description>
			<content:encoded><![CDATA[<p>Mucha gente huye de Java y no precisamente por la inherente dificultad de aprender este lenguaje, la mayoría lo hace simplemente porque les complica configurar un ambiente de desarrollo y ademas no existen muchas alternativas de alojamiento como en PHP, pero todo esto puede cambiar si aprendemos a utilizar Google App Engine.</p>
<p><img class="alignnone size-full wp-image-226" title="google_appengine[1]_2" src="http://blog.pontt.com/wp-content/uploads/2009/08/google_appengine1_2.png" alt="google_appengine[1]_2" width="250" height="250" /><br />
Google App Engine es un servicio de Google bajo el concepto de <a href="http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube" target="_blank">cloud computing</a> en el cual no nos preocupamos del servidor de aplicaciones ni tampoco de donde alojaremos nuestra data. Lo único que necesitamos para empezar es bajar el SDK, escribir código, compilar y luego realizar el anhelado deploy.</p>
<p><span id="more-225"></span></p>
<h2>Empezando con Google App Engine</h2>
<p>Para comenzar debes registrarte en el siguiente link:<br />
<a href="http://code.google.com/intl/es-ES/appengine/">http://code.google.com/intl/es-ES/appengine/</a></p>
<p>Debes crear una nueva aplicación, asi obtendras un subdominio en appspot.com y una application-id que nos servirá para hacer el deploy.</p>
<p><img class="alignnone size-full wp-image-250" style="border: 1px solid black;" title="Apps" src="http://blog.pontt.com/wp-content/uploads/2009/08/install62.JPG" alt="Apps" width="500" height="180" /></p>
<p>Inventamos un nombre que será el ID de la aplicación y nombre del subdominio.</p>
<p><img class="alignnone size-full wp-image-235" style="border: 1px solid black;" title="Create an Application IMG" src="http://blog.pontt.com/wp-content/uploads/2009/08/install7.JPG" alt="install7" width="693" height="397" /></p>
<p>Una vez que este creada la aplicación en la cuenta de App engine, configuraremos el entorno de desarrollo.</p>
<h2>Configurando el entorno de desarrollo</h2>
<p>Descargamos Eclipse, en este caso particular elegimos la versión Europa.</p>
<p><a href="http://www.eclipse.org/downloads/moreinfo/jee.php">http://www.eclipse.org/downloads/moreinfo/jee.php</a></p>
<p>Una vez descargado, procederemos a instalar el SDK de Google App Engine desde Eclipse.</p>
<p>Seleccionamos  <strong>Help -&gt; Software Updates -&gt; Find/Install</strong></p>
<p><img class="alignnone size-full wp-image-228" title="Appengine" src="http://blog.pontt.com/wp-content/uploads/2009/08/install11.JPG" alt="Appengine" width="571" height="279" /></p>
<p>Luego seleccionamos <strong>Search for new features</strong></p>
<p><img class="alignnone size-full wp-image-252" title="Nuevas Caracteristicas" src="http://blog.pontt.com/wp-content/uploads/2009/08/install21.JPG" alt="Nuevas Caracteristicas" width="596" height="563" /></p>
<p>Pinchamos New Remote Site, ahora debemos colocar una URL de instalación, para el caso de Google App Engine se obtiene de :<br />
<a href="http://code.google.com/intl/es/appengine/docs/java/gettingstarted/installing.html">http://code.google.com/intl/es/appengine/docs/java/gettingstarted/installing.html</a></p>
<p>Agregamos la url correspondiente a Eclipse Europa.</p>
<pre>http://dl.google.com/eclipse/plugin/3.3</pre>
<p>(En el listado ya tengo el sitio agregado, por eso aparece en el listado antes de agregar la URL).</p>
<p><img class="alignnone size-full wp-image-230" title="appengine3" src="http://blog.pontt.com/wp-content/uploads/2009/08/install3.JPG" alt="appengine3" width="599" height="511" /></p>
<p>Listo, ya podemos crear nuestro primer proyecto.</p>
<p><img class="alignnone size-full wp-image-231" title="install4" src="http://blog.pontt.com/wp-content/uploads/2009/08/install4.JPG" alt="install4" width="501" height="496" /></p>
<p>Elegimos el nombre del proyecto y el package correspondiente, no es necesario que el proyecto lleve integrado GWT.</p>
<p><img class="alignnone size-full wp-image-232" title="appengine454" src="http://blog.pontt.com/wp-content/uploads/2009/08/install5.JPG" alt="appengine454" width="497" height="558" /></p>
<p>En la vista de package explorer debieramos tener la siguiente estructura.</p>
<p><img class="alignnone size-full wp-image-236" title="install10" src="http://blog.pontt.com/wp-content/uploads/2009/08/install10.JPG" alt="install10" width="243" height="120" /></p>
<p>Compilamos el proyecto (Ctrl+B) y haremos nuestro primer deploy a la nube, antes de eso configuramos la ID del proyecto.</p>
<p><img class="alignnone size-full wp-image-237" title="install8" src="http://blog.pontt.com/wp-content/uploads/2009/08/install8.JPG" alt="install8" width="679" height="536" /></p>
<p>Ahora si estamos listos para hacer deploy, hacemos click en el boton deploy en la barra superior.</p>
<h2>Efectuando el deploy</h2>
<p><img class="alignnone size-full wp-image-238" title="install13" src="http://blog.pontt.com/wp-content/uploads/2009/08/install13.JPG" alt="install13" width="499" height="101" /></p>
<p>Colcamos el e-mail y password de nuestra cuenta google y presionamos en deploy.</p>
<p><img class="alignnone size-full wp-image-239" title="install11" src="http://blog.pontt.com/wp-content/uploads/2009/08/install111.JPG" alt="install11" width="436" height="269" /></p>
<p>La consola de eclipse arrojará mensajes relacionados con el deploy y debiera quedar así (Deployment completed successfully).</p>
<p><img class="alignnone size-full wp-image-240" title="install12" src="http://blog.pontt.com/wp-content/uploads/2009/08/install12.JPG" alt="install12" width="504" height="203" /></p>
<p>Luego visitamos nuestra dirección para ver como quedó.</p>
<p><a href="http://proyectogap1.appspot.com/">http://proyectogap1.appspot.com/</a></p>
<p><img class="alignnone size-full wp-image-241" title="listo" src="http://blog.pontt.com/wp-content/uploads/2009/08/listo.JPG" alt="listo" width="562" height="349" /></p>
<p>Hemos concluido esta primera parte, ya podemos hacer nuestros deploys a la nube.</p>
<p>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/java/empezar-con-google-app-engine-java-parte-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Utilizar getJSON(jQuery) con Java(Struts) crossdomain.</title>
		<link>http://blog.pontt.com/json-con-java/generar-respuesta-en-java-struts-para-getjson-de-jquery/</link>
		<comments>http://blog.pontt.com/json-con-java/generar-respuesta-en-java-struts-para-getjson-de-jquery/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 21:50:05 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[Json con Java]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=203</guid>
		<description><![CDATA[Hace poco en un proyecto tuve que integrar información entre un html y un servlet (struts), tenia que ser con AJAX mediante un html generado con un javascript incrustado en cualquier dominio, claramente no es posible utilizar AJAX si el html esta en un dominio distinto al servidor que envía la respuesta, pero se puede [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-213 alignnone" title="jquery" src="http://blog.pontt.com/wp-content/uploads/2009/08/jquery.jpg" alt="getJSON" width="246" height="174" /></p>
<p>Hace poco en un proyecto tuve que integrar información entre un html y un servlet (struts), tenia que ser con AJAX mediante un html generado con un javascript incrustado en cualquier dominio, claramente no es posible utilizar AJAX si el html esta en un dominio distinto al servidor que envía la respuesta, pero se puede hacer algo similiar.</p>
<p><strong>¿Que hacer?</strong><br />
Existe una libreria llamada JSONP que permite incrustar archivos javascript despues de haber cargado la página y justamente es lo que utiliza la función $.getJSON() de jQuery.</p>
<p><strong>¿Como generar un JSON &#8220;leible&#8221; por $.getJSON()?</strong></p>
<p>Primero que nada, para consumir un JSON remoto debemos enviar el parametro jsoncallback y con valor &#8220;?&#8221;, despues en struts lo concatenamos a la respuesta que generemos. <strong>Es importante hacer esto ya que de otra forma no funcionará.</strong></p>
<p>Por ejemplo si el JSON generado es:</p>
<pre class="brush: plain;">

{&quot;nombre&quot;:&quot;andres&quot;,&quot;edad&quot;:24}
</pre>
<p>La respuesta en struts debe quedar así.</p>
<pre class="brush: plain;">

?({&quot;nombre&quot;:&quot;andres&quot;,&quot;edad&quot;:24})
</pre>
<p>Por lo tanto, desde el lado del cliente debemos llamar de la siguiente manera al action de struts.</p>
<pre class="brush: jscript;">
$.getJSON(&quot;http://10.10.20.101:8080/proyecto/controller.do?action=obtenerJson&amp;jsoncallback=?&quot;,
    function(data){}
    //Imprimimos nombre
    alert(data.nombre);
);
</pre>
<p>Del lado del servidor generamos así la respuesta</p>
<pre class="brush: java;">
public ActionForward obtenerJson(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        //Guardamos en una variable el JSON
        String json = &quot;{\&quot;nombre\&quot;:\&quot;Andres\&quot;,\&quot;edad\&quot;:\&quot;24\&quot;}&quot;;

        //Capturamos el parametro
        String callback = request.getParameter(&quot;jsoncallback&quot;);

        //Concatenamos la respuesta y dejamos entre parentesis la respuesta
        String jsonOutput = callback + &quot;(&quot; + json + &quot;)&quot;;

        //Enviamos al jsp
        request.setAttribute(&quot;variable&quot;,jsonOutput);

        return mapping.findForward(forward);
    }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/json-con-java/generar-respuesta-en-java-struts-para-getjson-de-jquery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Servicios PSD a HTML / XHTML</title>
		<link>http://blog.pontt.com/general/servicios-psd-a-html-xhtml/</link>
		<comments>http://blog.pontt.com/general/servicios-psd-a-html-xhtml/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 21:23:54 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=175</guid>
		<description><![CDATA[Aprovecho de poner este aviso, yo con un amigo realizamos maquetas PSD a HTML, es decir mediante una gráfica realizada en photoshop la transformarmos en un sitio web HTML/XHTML strict o transitional validado con los estandares W3C, totalmente crossbrowser (se ve igual en todos los navegadores mas utilizados). Cualquier consulta escribir un mail a ponttdotcom [...]]]></description>
			<content:encoded><![CDATA[<img class="size-full wp-image-177" title="psd_to_xhtml_css" src="http://blog.pontt.com/wp-content/uploads/2009/06/psd_to_xhtml_css.png" alt="PSD to XHTML" width="273" height="176" />
<p>Aprovecho de poner este aviso, yo con un amigo realizamos maquetas PSD a HTML, es decir mediante una gráfica realizada en photoshop la transformarmos en un sitio web HTML/XHTML strict o transitional validado con los estandares W3C, totalmente crossbrowser (se ve igual en todos los navegadores mas utilizados).</p>
<p>Cualquier consulta escribir un mail a</p>
<p>ponttdotcom [@] gmail . com</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/general/servicios-psd-a-html-xhtml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Se buscan Web Developers (Desarrolladores Web) para trabajo.</title>
		<link>http://blog.pontt.com/general/se-buscan-web-developers-desarrolladores-web-para-trabajo/</link>
		<comments>http://blog.pontt.com/general/se-buscan-web-developers-desarrolladores-web-para-trabajo/#comments</comments>
		<pubDate>Wed, 13 May 2009 14:39:01 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=168</guid>
		<description><![CDATA[En el lugar donde trabajo estan buscando Web Developers con las siguientes caracteristicas: Manejo semántico del XHTML &#8211; (Maquetación sin tablas).  Conocimientos de Javascript (Libreria de preferencia jQuery) CSS El flujo de trabajo es el siguiente, mediante un PSD (Imagen compuesta hecha en Photoshop) se cortan las imagenes, fondos, íconos y se maqueta una página [...]]]></description>
			<content:encoded><![CDATA[<p>En el lugar donde trabajo estan buscando Web Developers con las siguientes caracteristicas:</p>
<p>Manejo semántico del XHTML &#8211; (Maquetación sin tablas). <br />
Conocimientos de Javascript (Libreria de preferencia jQuery)<br />
CSS</p>
<p>El flujo de trabajo es el siguiente, mediante un PSD (Imagen compuesta hecha en Photoshop) se cortan las imagenes, fondos, íconos y se maqueta una página web.</p>
<p>Obviamente acá piden expertos pero siendo realista tengo muy claro que nadie nace sabiendo por lo que realmente interesa son las ganas de aprender.</p>
<p>Si estan interesados envien un e-mail a</p>
<p>ponttdotcom [arroba] gmail punto com</p>
<p>Ah, se me olvidaba.. el lugar físico del trabajo es en Santiago de Chile comuna Providencia.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/general/se-buscan-web-developers-desarrolladores-web-para-trabajo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Como JSON ayuda a la separación efectiva de capas y/o roles en J2EE. Parte II</title>
		<link>http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-ii/</link>
		<comments>http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-ii/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 17:33:34 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[Json con Java]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=145</guid>
		<description><![CDATA[En el post anterior, prometí argumentar como solucionar el &#8220;punto ciego&#8221; entre el area de programación y web con JSON. Antes que nada, quiero mencionar 2 casos de exito de uso cotidiano. 1.- GMAIL: Este es mi ejemplo favorito de como la precarga de objetos JSON ayuda al rendimiento, Gmail carga todos los mails, labels, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-i/">En el post anterior</a>, prometí argumentar como solucionar el &#8220;punto ciego&#8221; entre el area de programación y web con JSON.</p>
<p>Antes que nada, quiero mencionar 2 casos de exito de uso cotidiano.</p>
<p><strong>1.- GMAIL:</strong><br />
Este es mi ejemplo favorito de como la precarga de objetos JSON ayuda al rendimiento, Gmail carga todos los mails, labels, carpetas con JSON (arreglos javascript) y los renderea obviamente con javascript.<br />
<strong>2.-Netvibes:</strong></p>
<p>Este es un caso extremo, practicamente todo el sitio se renderea con javascript utilizando objetos JSON, si no me creen solo vean el código fuente,  casi nada de XHTML.</p>
<p><span id="more-145"></span></p>
<p>¿Por que expongo estos ejemplos?, para derribar el mito de que utilizar JSON para el despliegue de data es poco serio, poco seguro y poco mantenible.</p>
<p>El origen de estos mitos tiene como causal el desconcimiento hacia esta tecnología, el menosprecio por el Javascript como herramienta de rendereo.</p>
<p>Lo del código mantenible, puede que algo de cierto tenga ya que no existen blueprints, ni patrones, ni manual de buenas practicas que se le compare a J2EE y al mundo Java en general.</p>
<p>Ahora, todo depende del cristal con que se mire. Para un programador RIA puede ser tan oscuro el mundo Java como para el programador de Java el Javascript, por eso JSON puede utilizarse como la idioma común entre ambos mundos, el anhelado esperanto de la programación.</p>
<p>Muchos dirán,<strong> ¿acaso no existe XML para eso?.</strong><br />
Claro que sirve el XML como intercambio de datos, pero la gracia de JSON es que es la idioma nativa para declarar objetos en Javascript por lo que no necesitamos ninguna herramienta de parseo para la capa web.</p>
<p>Dirigiendome hacia lo concreto, hacia el objetivo de este post: <strong>La dificil misión de la separación efectiva de capas y como podemos lograr esto sin morir en el intento.</strong></p>
<p>Existe una libreria Java de google, llamada <a title="Gson" href="http://code.google.com/p/google-gson/">GSON </a>que nos permite transformar objetos, arrays, collections de JAVA a un String de JSON y tambien podemos transformar un String de JSON a objetos JAVA, es decir podemos ocupar esto en ambos sentidos.</p>
<p><strong>¿Que nos permite esto?</strong></p>
<p>Que el web developer pueda trabajar a partir de un objeto JSON para darle lógica a un sitio sin estar conectado a una base de datos, sin preocuparse por lo que esta en el back-end. Todo esto mientras que el programador no se preocupa que es lo que sucede en el front, solamente le interesa recibir un objeto en JSON que pueda ser deserializado a JAVA.</p>
<p>Para las tercera parte, colocaré ejemplos prácticos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como JSON ayuda a la separación efectiva de capas y/o roles en J2EE. Parte I</title>
		<link>http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-i/</link>
		<comments>http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-i/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 16:10:17 +0000</pubDate>
		<dc:creator>Andres</dc:creator>
				<category><![CDATA[Json con Java]]></category>

		<guid isPermaLink="false">http://blog.pontt.com/?p=137</guid>
		<description><![CDATA[Mis comienzos en la informática parten con el mundo WEB, esto debido a una necesidad imperante de ganar dinero (pagarme la universidad), me fue mucho mas sencillo hacer páginas web. Por lo que gané bastante experiencia en el desarrollo de front-end, aprendiendo la diferencia entre XHTML Transitional y Strict o HTML, desarrollo de sitios lidiando [...]]]></description>
			<content:encoded><![CDATA[<p>Mis comienzos en la informática parten con el mundo WEB, esto debido a una necesidad imperante de ganar dinero (pagarme la universidad), me fue mucho mas sencillo hacer páginas web. Por lo que gané bastante experiencia en el desarrollo de front-end, aprendiendo la diferencia entre XHTML Transitional y Strict o HTML, desarrollo de sitios lidiando con el  infame Internet Explorer 6.</p>
<p><span id="more-137"></span></p>
<p>Las maquetas web iban directamente a las manos de programadores PHP o JAVA que le daban vida al sitio, algo que me pareció adecuado hasta que fui testigo de los conflictos entre programadores y webdevelopers, aunque yo tenia experiencia trabajando con LAMP habia cosas que no entendia bien de Java &amp; J2EE.</p>
<p>Luego de varios meses maquetando ingrese al área Java, por lo que me tocó ver la otra cara de la moneda y pude comprender la razón de los conflictos a la hora de desarrollar sitios RIA. Yo lo llamo el &#8220;PUNTO CIEGO&#8221;.</p>
<p>¿Por que punto ciego?, yo lo llamo asi por que existe una zona entre el area web y la programación que es casi imposible mirar si no se dominan ambas areas, es por esto que es indispensable que existan profesionales que puedan coordinar ambas areas, los denominados Ingenieros WEB, (es mi objetivo convertirme en uno).</p>
<p>El  programador Java (según mi experiencia) tiene una visión totalmente pragmática de la web, donde la funcionalidad tiene prioridad y no le quita el sueño el asincronismo (ajax &amp; dhtml) o que se respete los estandares WEB o que el css sea válido.</p>
<p>En los diseños exigentes, donde existen sombras PNG que deben ser compatibles con IE6, donde existen efectos DHTML o llamadas AJAX, lo que llamé &#8220;Punto Ciego&#8221; causa los temidos cuellos de botellas y atrasa la Gantt.</p>
<p>Lo que escribiré a continuación puede tomarse como herejía pero me atrevo a decir que JSON es la solución.</p>
<p>En la parte II, vendrán los argumentos.</p>
<p><a href="http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-ii/">Click aquí para la parte II.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.pontt.com/json-con-java/como-json-ayuda-a-la-separacion-efectiva-de-capas-yo-roles-parte-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

