tag:blogger.com,1999:blog-167851702024-03-14T04:56:16.393-03:00Eugenio GarcíaAquí encontraras contenidos sobre experiencias y conocimientos que se van sumando en mi vida como profesional informático sobre todo asociadas a GeneXus, desarrollo de portales y sistemas de Workflow.Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.comBlogger93125tag:blogger.com,1999:blog-16785170.post-7188736057920542932017-11-30T15:20:00.000-03:002017-11-30T15:41:06.716-03:00Inteligencia Artificial aplicada al desarrollo de aplicaciones.Generalmente cuando pensamos en el término <b>Inteligencia Artificial</b> (IA) lo asociamos a películas de ciencia ficción donde máquinas inteligentes superan al hombre. La realidad actual en la industria del software dista mucho de esta imagen. Si clasificamos los diferentes tipos de IA podemos encontrar ejemplos concretos en los cuales se ha avanzado. Por ejemplo, en el año 1997, una computadora llamada Deep Blue creada por IBM, le ganó al campeón de ajedrez Garry Kasparov.
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<b id="docs-internal-guid-72299d10-0e0f-9a14-112c-31e7bc5f3bb2" style="font-weight: normal;"></b>
Esta computadora cae dentro de la categoría de <b>Inteligencia Reactiva</b>, básicamente era una máquina<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-223X-nzmlmA/WiBGKCaYzdI/AAAAAAACMRQ/7sSlSFcetEwUL3jti_04OJiqHZ225GU-wCEwYBhgL/s1600/garry%2Bkasparov.webp" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="397" data-original-width="660" height="192" src="https://3.bp.blogspot.com/-223X-nzmlmA/WiBGKCaYzdI/AAAAAAACMRQ/7sSlSFcetEwUL3jti_04OJiqHZ225GU-wCEwYBhgL/s320/garry%2Bkasparov.webp" width="320" /></a></div>
especializada en jugar ajedrez que usa la información contextual de cómo está el juego en ese momento y en base a esto calcula las mejores opciones de jugadas posibles para tomar una decisión. En este caso no es una máquina que aprenda de experiencias anteriores o la cual se la pueda entrenar previamente.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Hoy nos encontramos en otro nivel de evolución de <b>Inteligencia Artificial</b>. Han surgido técnicas de <b>Machine Learning</b> que nos permiten crear modelos que representan determinados escenarios. Con suficiente información podemos entrenar estos modelos y lograr que ellos efectivamente aprendan cómo resolver las situaciones y hagan uso de las experiencias previas. Con esto se han logrado muchos avances en el desarrollo de los vehículos autónomos o en el procesamiento del lenguaje natural, lo cual ha llevado a que contemos con <b>asistentes virtuales</b> en nuestros smartphones con la capacidad de entender órdenes de voz y ejecutar las tareas que les pedimos.
<b style="font-weight: normal;"><br /></b>
<br />
<br />
En los últimos años dentro del área de <b>Machine Learning</b> se han consolidado las técnicas de <b>Deep Learning</b> que, a través del uso de redes neuronales, le dan la capacidad a las computadoras de procesar grandes cantidades de datos y aprender por sí mismas.
Generalmente podemos dividir los problemas de <b>Machine Learning</b> en dos tipos, los que necesitan de un <b>aprendizaje supervisado</b> y otros donde nos enfrentamos a un <b>aprendizaje no supervisado</b>. Un ejemplo claro de aprendizaje supervisado es lo que hacemos en Facebook. Cuando confirmamos que en determinada foto se encuentra determinada persona, le estamos indicando a Facebook si la persona es o no es quien nos sugiere. Otro ejemplo de esto es el algoritmo de filtro de SPAM de Gmail, al cual le vamos indicando cuáles emails son SPAM para nosotros. De esta forma, gracias al entrenamiento que millones de usuarios realizan, este filtro se vuelve cada vez más preciso en detectar el SPAM. Un ejemplo de aprendizaje no supervisado, donde la máquina se entrenó a sí misma es el caso de AlphaGo Zero, que aprendió y mejoró su juego en base a partidas de Go reales, jugadas por profesionales y amateurs. Con ese aprendizaje, en 2016 AlphaGo <a href="https://elpais.com/elpais/2016/03/15/ciencia/1458034897_194344.html" style="text-decoration: none;">derrotó al campeón de Go, Lee Sedol</a> por 4 partidas a 1. <br />
<br />
<br />
Como si eso no fuera suficiente, en 2017 Google creó una versión mejorada, AlphaGo Zero, que
<br />
<div style="text-align: right;">
<a href="https://2.bp.blogspot.com/-U_hIomMQGZ0/WiBGusohc8I/AAAAAAACMRY/bQKps4PrdqICf-WgCquAu-mx3arVBwH0QCEwYBhgL/s1600/AlphaGoZero.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="662" data-original-width="1000" height="211" src="https://2.bp.blogspot.com/-U_hIomMQGZ0/WiBGusohc8I/AAAAAAACMRY/bQKps4PrdqICf-WgCquAu-mx3arVBwH0QCEwYBhgL/s320/AlphaGoZero.jpg" width="320" /></a></div>
tuvo la particularidad de entrenarse jugando consigo misma, con la única información de las reglas del juego. Le llevó tres días entrenarse por sí sola -el tiempo que le lleva jugar unas 4,9 millones de partidas- sin las limitaciones del conocimiento humano previo. Cuando la pusieron a competir con su predecesora, el resultado fue una aplastante victoria de 100 partidos a cero de AlphaGo Zero sobre AlphaGo. Puedes ver más detalles de esta historia aquí <a href="https://gizmodo.com/stunning-ai-breakthrough-takes-us-one-step-closer-to-th-1819650084" style="text-decoration: none;">"Stunning AI Breakthrough Takes Us One Step Closer to the Singularity"</a>.
<b style="font-weight: normal;"><br /></b>
<br />
<br />
Nos falta mucho aún para llegar a máquinas que tengan la capacidad de crear sus propias abstracciones y la capacidad de entender que en el mundo existen personas cuyos pensamientos y sentimientos determinan su conducta, lo que en sicología se llama “<b>teoría de la mente</b>”. Mientras tanto seguiremos entrenando modelos de IA que nos ayuden a hacer tareas repetitivas, pero a su vez cada vez más complejas, como conducir un automóvil, reconocer tumores en tomografías o identificar personas u objetos en una foto.
<b style="font-weight: normal;"><br /></b>
<br />
<br />
¿Y GeneXus, cómo juega en este mundo?
<b style="font-weight: normal;"><br /></b>
<br />
<br />
GeneXus fue concebido como un <b>sistema experto</b>, el cual a partir de una Base de Conocimiento, y con la inteligencia de un <b>motor de inferencia</b> puede generar automáticamente una solución de software, con su base de datos, el código ejecutable y la interfaz de usuario. Esto es lo que venimos haciendo desde que GeneXus fue concebido, hacer real la visión de automatizar las tareas de desarrollo y cambiar el paradigma con el cual desarrollamos software. Entonces, en vez de preocuparse por la solución técnica (cómo programar algo), los usuarios pueden concentrarse en <b>la solución al problema de negocio</b> (qué es lo que se necesita programar), a partir del conocimiento que ya tienen los usuarios del negocio. Es a partir de este conocimiento que se construyen los modelos en GeneXus, para que luego el propio GeneXus -utilizando técnicas de IA- pueda generar automáticamente el mejor código posible para la plataforma en la cual se haya definido que se necesita correr el sistema.
<b style="font-weight: normal;"><br /></b>
<br />
<br />
Hoy nos encontramos en una era donde podemos acceder a las distintas plataformas que ofrecen servicios de IA en la nube. Estas plataformas están posibilitando el acceso a modelos de IA que nos permiten integrar en nuestras aplicaciones capacidades de <b>procesamiento de lenguaje natural</b> o <b>procesamiento de imágenes y videos</b>, que de otra forma sería muy complicado y costoso de desarrollar. Nuevamente, nos encontramos con una variedad interesante de opciones, lo cual nos obliga a aprender cómo interactuar con cada una de ellas. GeneXus, siguiendo su visión de simplificar el desarrollo de aplicaciones, está construyendo un generador de <b>Chatbots</b> que utiliza estas plataformas pero simplifica las tareas para crear un modelo y entrenarlo, para que estos <b>Chatbots</b> queden integrados a las aplicaciones creadas en GeneXus. Además, hemos creado SDKs para integrar los servicios de <b>Machine Learning</b> de <b>SAP Leonardo</b> e <b>IBM Watson</b> y lo mismo iremos haciendo para otras plataformas como <b>Microsoft Azure, Amazon Web Services</b>, etc.
<b style="font-weight: normal;"><br /></b>
<br />
<br />
En conclusión, creemos que nos encontramos en un estado avanzado en el desarrollo y madurez de la Inteligencia Artificial, en particular de Machine Learning, y que debemos buscar las formas de integrar estas capacidades a nuestras aplicaciones. GeneXus busca simplificar esta tarea y sobre todo integrarse con las plataformas más relevantes del mercado, para que los usuarios puedan generar las aplicaciones más sofisticadas con el menor esfuerzo posible.
<b style="font-weight: normal;"><br /></b>
<br />
<br />
Todas las industrias han sido revolucionadas a partir de la introducción de software, pero -paradójicamente- la propia industria de software sigue construyendo aplicaciones de forma “manual”, artesanal, utilizando técnicas de hace más de 30 ó 40 años. Con GeneXus queremos revolucionar y cambiar el paradigma de cómo se construyen las aplicaciones y por esto buscamos simplificar y automatizar el desarrollo de software basándonos en algoritmos de IA.
<br />
Estamos en una era donde el acceso al conocimiento y a la tecnología está disponible fácilmente para cualquier persona que lo quiera emplear.
<br />
<br />
Albert Einstein dijo una vez <b>“La imaginación es más importante que el conocimiento. Porque el conocimiento está limitado a todo lo que conocemos y comprendemos, mientras que la imaginación abarca todo el mundo, y todo lo que habrá para conocer y comprender”</b>, así que los invito a imaginar. Imaginemos y creemos aplicaciones realmente innovadoras que aprovechen las nuevas tecnologías como IA.
<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com1tag:blogger.com,1999:blog-16785170.post-36623423111386429852016-07-14T16:28:00.000-03:002017-11-30T15:41:26.828-03:00Un poco de mi historia y el porqué disfruto trabajando para crear GeneXusEn 1997 me encontraba en mi penúltimo año de la carrera de ingeniría en computación en la Facultad de Ingeniría de la UDELAR. Hacía poco menos de 4 años había llegado a estudiar a Montevideo desde Rocha y había comenzado a descubrir el mundo del desarrollo de software en un momento donde no existía la Web como la conocemos y la vivimos en cada cosa que hacemos en nuestra vida cotidiana de hoy. Aprendí a programar en Pascal y esos fueron mis primeros pasos, para luego aprender a programar en C y C++ y pasar luego por Visual Basic 4.0 y con esas herramientas salir a conocer el mundo laboral de las empresas que desarrollan software.<br />
<br />
Hasta mediados del 97 no había escuchado mencionar un lenguaje llamado GeneXus y mucho menos la existencia de la empresa Artech Consultores (hoy en día se llama GeneXus) y gracias a un gran amigo que me aviso de la posibilidad de aprender este lenguaje y luego hacer una pasantía en la empresa me interesó el tema y fui con la única carta de presentación que tenía en ese momento que era mi escolaridad.<br />
<br />
Cuando hice el curso GeneXus me pareció un abismo la velocidad con la cual podía hacer aplicaciones (en aquel momento generadas para Visual Fox Pro ) para que las mismas ejecutarán en un PC con Windows 95, me enfrentaba a un paradigma de crear aplicaciones diferente a lo que yo venía aprendiendo en la Universidad y me resultó realmente una forma muchos mas intuitiva que lo que había aprendido hacer con C++ o el propio Visual Basic.<br />
<br />
Poco tiempo después tuve una entrevista con Breogán Gonda y Nicolas Jodal, fundadores de GeneXus, para conocerme y ver donde me gustaría trabajar dentro de la empresa y fue ahí donde comencé a conocer el próposito de lo que querían hacer con GeneXus, me hablaron de un paradigma diferente de desarrollar software, que la forma de desarrollar software que se viene aplicando no escala y que con GeneXus buscaban cambiar esto. A mis 21 años, que tenía en ese momento, realmente no me fue clara esa visión pero la ilusión de trabajar en un lugar donde se notaba que le ponían mucha pasión a lo que hacían y donde había un propósito claro de querer cambiar algo del mundo en que vivíamos me sedujo y así lo hice.<br />
<br />
Hoy casi 20 años después veo hacia atrás y repaso todo el camino recorrido y siento que seguimos con la misma pasión de querer cambiar el mundo, donde todos quienes compartimos este paso por el mundo dentro de GeneXus, buscamos cambiar la forma en la cual desarrollamos software y para eso decimos que nosotros hacemos "Software para crear Software".<br />
<br />
Por eso disfruto de crear GeneXus y todos los productos que hemos construido a su alrededor porque cada cosa que hacemos contribuye a que la tarea de desarrollar aplicaciones sea algo cada vez más automático y siga ampliando la brecha entre hacer algo de la forma tradicional que nos enseñan en las universidades en cuanto al desarrollo de software y hacerlo de la forma que proponemos con GeneXus. <br />
<br />
Tener un próposito claro, una visión a futuro es lo que siempre ha movido mi motivación interna en todos los aspectos de mi vida y lo que hago hoy junto a todo el equipo de GeneXus es intentar cumplir este sueño que sabemos que algún día será el motor de cambio en el área de la tecnología para las generaciones futuras de desarrolladores.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-37605461435175702222014-12-10T11:43:00.001-02:002014-12-11T11:11:00.407-02:00Cómo hacer mirror de la pantalla de un smartphone Android hacia un PC sin permisos de rootLes dejo un par de aplicaciones que les van a servir cuando quieren mostrar la pantalla del smartphone con Android en la pantalla de un notebook o PC.<br />
<br />
Lo primero que tienen que hacer es instalar la extensión <a href="https://chrome.google.com/webstore/detail/allcast-receiver/hjbljnpdahefgnopeohlaeohgkiidnoe?utm_source=gmail" target="_blank">AllCast Receiver</a> en el Chrome.<br />
<br />
Luego instalan la app <a href="https://play.google.com/store/apps/details?id=com.koushikdutta.mirror" target="_blank">Mirror Beta</a> en su celular, en mi caso tengo Android 5.0 (Lollipop) por lo cual no requerí permisos de root. Si alguien prueba con una versión anterior de Android y le funciona los invito a dejar los datos de su configuración en los comentarios.<br />
<br />
<b>Para hacer el mirror asegurarse de tener el firewall de Windows desactivado y tanto el PC como el smartphone tienen que estar conectados a la misma Wifi</b>, luego inician desde Chrome la extensión AllCast Receiver y se abre una pantalla como la siguiente:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-_JniZ24Okzo/VIhLzYjTNGI/AAAAAAABcqc/iENC6hs00aQ/s1600/AllCastReceiver.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-_JniZ24Okzo/VIhLzYjTNGI/AAAAAAABcqc/iENC6hs00aQ/s1600/AllCastReceiver.PNG" height="187" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Siguiente paso iniciar la aplicación Mirror Beta y les tiene que aparecer en la lista NETWORK DEVICES la opción Chrome @ con la IP de tu PC.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-NkbhP727Mmo/VIhMy79TJnI/AAAAAAABcqk/VNPBsGo-Hjo/s1600/2014-12-10%2B13.34.11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-NkbhP727Mmo/VIhMy79TJnI/AAAAAAABcqk/VNPBsGo-Hjo/s1600/2014-12-10%2B13.34.11.png" height="320" width="192" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Seleccionas de esa lista esa opción y a partir de ese momento listo! ya puedes mostrar lo que quieras desde tu celular que se podrá ver en la pantalla de tu PC.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-k-LI4C_Ue-c/VIhNQGrRnjI/AAAAAAABcqw/1Ob_MgmRxhw/s1600/AllCastReceiver2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-k-LI4C_Ue-c/VIhNQGrRnjI/AAAAAAABcqw/1Ob_MgmRxhw/s1600/AllCastReceiver2.PNG" height="187" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En mi caso lo uso para hacer demos de aplicaciones que hacemos en mi trabajo pero seguramente les pueda ser útil para muchas otras cosas.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-65011156743412053992014-07-30T22:39:00.001-03:002014-07-30T22:39:21.705-03:00¿Cómo resolver error al iniciar el iPhone Configuration Utility en Windows 7?Les dejo un tip de cómo resolver el error "IPCU detecto un punto de interrupción definido por el usuario..... Windows esta buscando una solución al problema" al momento de iniciar el programa iPhone Configuration Utility.<br />
<br />
En mi caso el problema lo tuve en un Windows 7 64 bits. Luego de buscar un buen rato llegue a <a href="https://discussions.apple.com/thread/2484508" target="_blank">este foro</a> de Apple donde la solución propuesta por Edoardo Benussi me funcionó perfecto sin tener que reinstalar o reiniciar el PC.<br />
<br />
Simplemente hay que eliminar los archivos *.deviceinfo que están dentro de la carpeta C:\Users\[username]\AppData\Local\Apple Computer\MobileDevice\Devices (donde [username] se corresponde con el usuario que usas para loguearte)<br />
<br />
Dado que es una solución sencilla y que quita tiempo encontrarla escribo a continuación en inglés la misma esperando que le sirva a más gente.<br />
<br />
Solution for the error "iPCU has encountered a user-defined breakpoint"<br />
<br />
Delete files with suffix *.deviceinfo in folder<br />
<br />
C:\Users\[username]\AppData\Local\Apple Computer\MobileDevice\Devices<br />
<br />
and that's all folks!Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-3748375052757928222013-09-23T11:47:00.000-03:002013-09-23T11:47:53.725-03:00GXquery Beta 4 con muchas novedadesDimos un paso más hacia la liberación de <a href="http://www.genexus.com/gxquery?es" target="_blank">GXquery 4.0</a> en este caso se trata de la Beta 4 en la cual hemos implementado muchas funcionalidades nuevas que buscan darle completitud al producto antes de pasar al siguiente paso que será la RC. Si te interesa conocer la lista de todas las funcionalidades y mejoras puedes consultar el log de <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GXquery+4.0+Beta+-+Builds," target="_blank">nigth builds</a> a continuación resumo alguna de las más destacadas.<br />
<br />
<br />
<h3>
Aplicación de GXquery para iOS</h3>
<br />
<a href="http://2.bp.blogspot.com/-yMxwurcAk6I/Ui4y_S-9a_I/AAAAAAAAXrw/MXNI8Eb2F1c/s1600/2013-09-06+17.46.01.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="GXquery SD" border="0" height="240" src="http://2.bp.blogspot.com/-yMxwurcAk6I/Ui4y_S-9a_I/AAAAAAAAXrw/MXNI8Eb2F1c/s320/2013-09-06+17.46.01.png" title="GXquery SD" width="320" /></a>Entre las funcionalidades a destacar, tenemos a la nueva aplicación para iOS, que les permitirá a los usuarios de GXquery conectarse a sus metadatas y, desde cualquier parte con sus dispositivos iOS, poder ejecutar las consultas que definieron a través de la interfaz web, teniendo en cuenta los niveles de acceso definidos.<br />
<br />
<a href="http://4.bp.blogspot.com/-Y8WkoLMJx1Q/Ui4y_hBBwmI/AAAAAAAAXsM/QBO0zh9nFug/s1600/2013-09-06+17.46.32.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-Y8WkoLMJx1Q/Ui4y_hBBwmI/AAAAAAAAXsM/QBO0zh9nFug/s320/2013-09-06+17.46.32.png" width="320" /></a>Simplemente se bajan la aplicación desde el <a href="https://itunes.apple.com/us/app/gxquery/id704635888?mt=8" target="_blank">Apple Store </a><span style="background-color: white;"><a href="https://itunes.apple.com/us/app/gxquery/id704635888?mt=8" target="_blank">acá</a> </span>y pueden probar cómo es ejecutar consultas con la metadata de ejemplo, a la cual apunta esta aplicación cuando se instala. Si quieren apuntar contra un servidor de GXquery que tengan instalado, van a ajustes y, sobre la aplicación GXquery, configuran la URL base donde tengan instalada su propia instalación de GXquery; esto les dará la posibilidad de ejecutar sus consultas sin tener que programar.<br />
<br />
La idea es que esta aplicación estará también en Android y Windows 8 a futuro. Además está implementada usando la GXquery API, que es otra de las funcionalidades nuevas de esta versión, y por lo tanto nos da la posibilidad de liberar un XPZ de esta aplicación hecha con <a href="http://www.genexus.com/gx/tilo?es" target="_blank">GeneXus Tilo</a>, de forma que cualquier desarrollador GeneXus pueda personalizarla a sus necesidades.<br />
<br />
<h3>
GXquery API</h3>
<div>
Esta API permite a los desarrolladores GeneXus integrar dinámicamente las consultas que se crean a través de GXquery Web y así permitir su ejecución dentro de la aplicación hecha en GeneXus. Puede ver la documentación y bajarse un ejemplo desde <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?23003" target="_blank">acá</a> </div>
<div>
<br /></div>
<br />
<h3>
Centralizar usuarios y permisos en otro GAM</h3>
<div>
GXquery utiliza <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ABuilt-in+Security+Module+-+GeneXus+Access+Manager+%28GAM%29," target="_blank">GAM</a> para resolver la administración de usuarios, roles y permisos. En esta versión se habilita la posibilidad de conectarse a un GAM que no sea el instalado por GXquery y, por lo tanto, centralizar el manejo de usuarios tanto para las aplicaciones que puedan estar utilizándolo como para el propio GXquery.</div>
<br />
<h3>
Escenario de aplicaciones multi empresa (multitenant)</h3>
<div>
Cuando se instala GXquery, el mismo está en una modalidad de administración básica donde existe un único repositorio de usuario que se asigna a todas las metadatas. Si se quiere habilitar la posibilidad de que para distintas empresas se quiera reutilizar la misma instalación de GXquery, entonces será necesario pasar a la modalidad avanzado que permite crear N repositorios de usuarios y asignarlos a diferentes metadatas. Les recomiendo que lean este <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22092" target="_blank">artículo </a>donde se detallan estas modalidades de trabajo.</div>
<div>
<br /></div>
<div>
Además se permite definir restricciones a nivel de la Metadata, lo cual sirve para establecer filtros por el código de Empresa, es decir, se soporta el caso de diseño de una aplicación multi empresa, donde el código de empresa está presente en todas las tablas y, por lo tanto, es válido definir un filtro por el identificador de la empresa en todas las consultas que se hagan.</div>
<h3>
Otras mejoras</h3>
<h4>
Compartir consultas entre diferentes metadatas</h4>
Para esto se implementó la posibilidad de importar consultas, la cual se suma a la opción que ya teníamos anteriormente en beta 3 de poder exportar consultas. El archivo resultante de exportar consultas se puede importar tanto en una KB GeneXus como en el propio GXquery<br />
<br />
<h4>
Agrupar fechas</h4>
<div>
Ahora, si quiero armar una Pivot que me muestre la facturación agrupada por Año y Semestre, simplemente tengo que crear una consulta con el atributo Fecha de la factura e ir a la propiedad Grouping y configurarla en Yes. Esto me habilita una serie de propiedades que me permiten agrupar por año, semestre, trimestre, mes y día de la semana los valores de las fechas.</div>
<br />
Los invito a que prueben esta beta, solo se tienen que registrar en <a href="http://www.gxtechnical.com/betatesters">www.gxtechnical.com/betatesters</a> y bajarse el setup.<br />
<br />
También los invito al próximo <a href="http://www.genexus.com/encuentro2013" target="_blank">XXIII Encuentro GeneXus </a>donde vamos a estar mostrando todas estas nuevas funcionalidades<br />
<br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-49534660526302855962013-06-15T16:57:00.001-03:002013-06-15T16:59:31.151-03:00Cómo convertir tu notebook en un WiFi HotSpot para compartir internet con otros dispositivosEste video me fue útil para compartir mi conexión a Internet desde mi notebook el cual lo conecté por 3G a internet y luego conecté el teléfono y el iPad a la red Wifi que definí siguiendo los pasos del video.<br />
<br />
Siganlo paso a paso y no tienen como equivocarse y podrán convertir su PC o Notebook que tenga Window 7 como sistema operativo en un router Wifi.<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/AguNyAdd6_Y" width="480"></iframe>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com6tag:blogger.com,1999:blog-16785170.post-22372470094812050242013-06-03T14:12:00.001-03:002013-06-03T14:12:04.078-03:00Utilitario para renombrar muchos archivos al mismo tiempo en WindowsBásicamente el problema que quería resolver es cambiar parte del nombre a una serie de archivos que estaban dentro de una estructura de carpetas que a su vez tenían varias subcarpetas. En mi caso los archivos eran del estilo *.src.js y quería dejarlos con el mismo nombre pero sin el .src , es decir, quería que me quedaran como *.js<br />
<br />
Lo resolví con este utilitario <a href="http://www.bulkrenameutility.co.uk/Download.php" rel="nofollow" target="_blank">Bulk Rename Utility</a> el cual me resultó muy útil para esto y por eso lo comparto.<br />
<br />
Les dejo una captura de los seteos que tuve que hacer para resolver el cambio que en mi caso necesitaba.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-wo5nEreNnPg/UazNnUpSw9I/AAAAAAAAT7E/HvzHvJIeQOQ/s1600/Captura.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Bulk Rename Utility Settings" border="0" height="146" src="http://2.bp.blogspot.com/-wo5nEreNnPg/UazNnUpSw9I/AAAAAAAAT7E/HvzHvJIeQOQ/s640/Captura.PNG" title="" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-4020086614094607242013-05-27T15:06:00.000-03:002013-05-27T15:06:38.661-03:00Crear reportes y consultas dinámicas es una tarea muy sencilla con GXquery 4.0!A días de anunciar una nueva beta de GXquery 4.0 les dejo un video que muestra lo fácil que es crear una metadata partiendo de una KB en GeneXus X Evolution 2 y luego de esto lo sencillo que es crear consultas con diferentes tipos de salidas en formato gráfica o Pivot. Además se muestra como definir formato condicionales, cómo hacer drill down para obtener más detalles sobre una consulta y como exportar esta informacíón a Excel.<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="270" src="//www.youtube.com/embed/_sASIR90rHA" width="480"></iframe>
<br />
Los invito a que se sumen a los betatesters de esta versión en <a href="http://www.gxtechnical.com/betatesters">www.gxtechnical.com/betatesters</a><br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com1tag:blogger.com,1999:blog-16785170.post-70586494206310086162012-10-09T23:48:00.000-02:002012-10-09T23:48:12.270-02:00Beta 1 del GeneXus Business Process Modeler disponible!En el XXII Encuentro GeneXus se anunció la disponibilidad de la beta 1 del modelador de procesos GeneXus Business Process Modeler el cual se puede bajar accediendo a <a href="http://www.genexus.com/gxbpm">www.genexus.com/gxbpm</a><br />
<br />
<a href="http://1.bp.blogspot.com/-yCqg3w6SWq8/UHTQTCjyVJI/AAAAAAAAIqU/r743y5PjPLc/s1600/GXBPM-StartPage.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="220" src="http://1.bp.blogspot.com/-yCqg3w6SWq8/UHTQTCjyVJI/AAAAAAAAIqU/r743y5PjPLc/s400/GXBPM-StartPage.PNG" width="400" /></a>El mismo se distribuirá <b>gratis </b>y nos permitirá usarlo para modelar y documentar procesos de negocios en la etapa de releva miento de requerimientos de un sistema en el cual necesitemos automatizar procesos. Básicamente creamos una Base de Conocimiento al igual que lo hacemos desde <a href="http://www.genexus.com/" target="_blank">GeneXus </a>y con la posibilidad de conectarnos a un <a href="http://www.genexusserver.com/" target="_blank">GeneXus Server</a>, y a través de esta herramienta podemos editar los <a href="http://www.genexus.com/gxflowdocs" target="_blank">Business Process Diagram</a> que utiliza la notación <a href="http://www.omg.org/spec/BPMN/2.0/" target="_blank">BPMN 2.0</a> para poder representar los procesos de negocio. Además nos permite importar diagramas hechos en otras herramientas a través del formato estándar <a href="http://www.wfmc.org/xpdl.html" target="_blank">XPDL </a>así como exportar los diagramas para usarlos en otras herramientas.<br />
<br />
Otro escenario importante donde podemos usar este modelador es para hacer cambios en los procesos e impactar dichos cambios en nuestro ambiente de producción. De esta forma sin la necesidad de regenerar nuestras aplicaciones podemos afectar las reglas y propiedades de los procesos de negocio y generar nuevas versiones de estos en nuestra base de producción.<br />
<br />
Los invito a revivir las siguientes charlas relacionadas a GXflow durante el XXII Encuentro GeneXus<br />
<br />
<ul>
<li><a href="http://www.genexus.com/encuentro2012/xxii-encuentro-genexus--materiales?es,0,,2859" target="_blank">GXflow: próximos pasos</a></li>
<ul>
<li>Además de presentar este modelador se presentaron funcionalidades en las cuales estamos trabajando para la próxima versión.</li>
</ul>
<li><a href="http://www.genexus.com/encuentro2012/xxii-encuentro-genexus--materiales?es,0,,2853" target="_blank">SGH 2.0: Con GXflow optimizamos la Gestión del Presentismo en la Administración Central</a></li>
<ul>
<li>Caso muy interesante de como es posible mejorar la gestión mediante la automatización de procesos</li>
</ul>
<li><a href="http://www.genexus.com/encuentro2012/xxii-encuentro-genexus--materiales?es,0,,2858" target="_blank">¿Cómo desarrollamos aplicaciones basadas en Workflow con GeneXus Evolution 2?</a> </li>
<ul>
<li>Desarrollar sistemas basados en Workflow con GeneXus y GXflow es muy sencillo y en esta charla intenté mostrar esto pasando por todas las etapas del desarrollo.</li>
</ul>
<li><a href="http://www.genexus.com/encuentro2012/xxii-encuentro-genexus--materiales?es,0,,2856" target="_blank">Introducción a BPM en GeneXus </a></li>
<ul>
<li>Charla ideal para aquellos que aún no conocen del tema BPM con GeneXus.</li>
</ul>
</ul>
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-11218278447723054172012-10-09T23:22:00.001-02:002013-12-08T17:57:24.624-02:00Error HTTP 500.19 en IIS 7.5, URL Rewrite Module<p dir="ltr">Un error bastante común cuando se instala GXplorer 7.0, GXportal 5.0 o superior o una aplicación generada en .NET con GeneXus X Evolution 2  sea que este generando servicios REST o para el caso de una aplicación generada para Smart Devices, es que no se tiene instalado el módulo de URL Rewrite del IIS 7.5 o superior dado que este no viene instalado de manera predeterminada con el IIS 7.5 o superior.</p>
<p dir="ltr">Entonces con lo primero que nos encontramos es con este mensaje "Error HTTP 500.19 - Internal Server Error" cuando queremos ejecutar nuestras aplicaciones o cualquiera de estos productos que mencione anteriormente que requieren este módulo instalado.</p>
<p dir="ltr">Este <a href="http://www.confuciussayscode.com/?p=24">blog </a>me ayudo a encontrar rápidamente la causa del error y ahorrarme tiempo, además da información de otras causas posibles cuando se presenta este error.</p>
<p dir="ltr">En el Wiki de GeneXus pueden encontrar este <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?14958">How To</a> que muestra como instalarlo</p>
Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com4tag:blogger.com,1999:blog-16785170.post-10697113539258243752012-09-25T01:13:00.000-03:002012-09-25T01:13:39.705-03:00Nueva versión de GXportal 5.1 liberadaSe liberó la versión 5.1 de GXportal disponible para instalar <a href="http://www.gxportal.com/on-premise?es" target="_blank">localmente</a> o para usar en modalidad <a href="http://www.gxportal.com/saas?es" target="_blank">saas</a>.<br />
<br />
Se agregaron nuevas funcionalidades que hacen que el sitio final que se puede diseñar sea más atractivo e interactivo y además de seguir perfeccionando la usabilidad del backend de GXportal.<br />
<br />
<a href="http://www.gxportal.com/comunidad/articulo-del-blog/que-hay-de-nuevo-en-gxportal-5-1?es" target="_blank">Acá </a>pueden leer un resumen de las funcionalidades mas importantes.<br />
<br />
Se agregó un editor de imágenes que pueden verlo en acción en este video:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/xnTl9fCJgqA?feature=player_embedded' frameborder='0'></iframe></div>
<br />
El siguiente video muestra como diseñar un slider de imágenes y una galería de fotos:<br />
<div class="separator" style="clear: both; text-align: center;">
<br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/awfkJrJKQoU?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
En este otro se puede ver lo sencillo que es publicar contenidos en el sitio:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/9FTZwcXeVRw?feature=player_embedded' frameborder='0'></iframe></div>
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-75538699347488304142012-09-21T20:05:00.002-03:002012-09-21T20:05:36.371-03:00Novedades que vamos a poder ver en el XXII Encuentro GeneXus Dentro de la agenda del próximo encuentro sin duda que nos vamos a encontrar con muchas opciones interesantes para elegir y habrá mucho contenido sobre el desarrollo de aplicaciones para Smart Devices. Con novedades en cuanto a nuevos escenarios que se pueden resolver y nuevas funcionalidades además de conocer aplicaciones que se vienen desarrollando desde que se liberó GeneXus X Evolution 2.<br />
<br />
Pero también en torno a la familia de productos que agregan valor a toda la plataforma GeneXus tenemos unas cuantas cosas interesantes para mostrar por lo cual los invito a que repasen la agenda del encuentro y presenten atención a los siguientes temas:<br />
<br />
<br />
<ul>
<li>GXplorer 7.0, mostraremos la Beta 2 con nuevas funcionalidades para hacer la tarea de crear consultas dinámicas algo mucho mas trivial y potente al mismo tiempo.</li>
<li>GXflow nuestro solución de Workflow también ha incorporado una interfaz para Smart Devices y además se presentará el GeneXus Business Process Modeler herramienta orientada exclusivamente al modelado de procesos basado en BPMN y para la cual haremos un anuncio muy interesante para aquellos quienes quieran usarlo.</li>
<li>GXportal presentará su nueva versión 5.1 con muchas funcionalidades que buscan seguir dando más flexibilidad en el diseño de los sitios.</li>
<li>Y no olvidemos el nuevo esquema de seguridad GAM liberado junto a la versión X Evolution 2 que ahora además de incorporar nativamente la autenticación con Facebook y Twitter también ha incorporado la posibilidad de hacerlo con cuentas de Google.</li>
</ul>
<div>
Los invito a que visiten <a href="http://www.genexus.com/encuentro">www.genexus.com/encuentro</a> y se registren. Se trata de un evento gratuito en el cual podrán aprender y compartir experiencias en el área de TI con personas de mas de 20 países</div>
Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-12442306581115829782012-09-06T15:23:00.000-03:002012-09-06T15:23:09.803-03:00Procesos de negocio accesibles desde cualquier lugar con la ayuda de GeneXus y GXflowUna vez que has automatizado los procesos de negocio de tu empresa y organización y has logrado que todos los involucrados usen una misma bandeja de entrada de tareas a través de un aplicación web entonces seguramente estés mas cerca de dar un paso más y llevar el acceso de la bandeja de entrada de tareas hacia dispositivos como los Smart Phones (iPhone, Samsumg Galaxy, etc) y tabletas (iPad y la variedad de tabletas que hay con Android).<br />
<br />
Es por esto que en la versión GeneXus X Evolution 2 Upgrade 1 hemos liberado la primer versión del GXflow Client for Smart Devices, el mismo se distribuye para que cualquier usuario GeneXus pueda consolidarlo en su Base de Conocimiento y adpatarlo y personalizarlo a sus necesidades o usarlo tal cual se distribuye.<br />
<br />
El video a continuación muestra como es la interacción con la bandeja de entrada y salida usándolo desde un iPhone<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/YfQ609QtgzM?feature=player_embedded' frameborder='0'></iframe></div>
<br />
Los invito a que vean <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?HowTo%3A+Configuring+GXflow+For+Smart+Devices," target="_blank">cómo se configura</a> y lo prueben.<br />
<br />
Si quieren conocer un poco más sobre GXflow hace un tiempo escribí <a href="http://eugeniowgarcia.blogspot.com/2012/06/modelar-prototipar-ejecutar-y.html" target="_blank">este artículo</a> que les puede dar un pantallazo de como es el proceso para desarrollar aplicaciones basadas en Workflow con GeneXus.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-38882977689748095172012-06-01T16:22:00.000-03:002012-06-01T16:22:25.000-03:00Modelar, prototipar, ejecutar y monitorear procesos de negocios con GXflow y GeneXus Evolution 2<br />
<h3>
Motivaciones</h3>
En general cuando estamos comenzando a embarcarnos en un proyecto nuevo cualquiera sea deberíamos preguntarnos por qué lo estamos haciendo cual es la motivación. Cuando hablamos de flujos de trabajo dentro de una empresa seguramente que lo primero que queremos es optimizar la forma en la cual trabajamos.<br />
<div>
<br /></div>
<div>
<div>
Entonces, debemos preguntarnos <b>por qué es importante automatizar los procesos de la empresa</b>.</div>
<div>
<br /></div>
<div>
Para hacer este ejercicio mental debemos enfocarnos en cómo estamos haciendo las cosas hoy de forma de comprender como ocurren los diferentes procesos en nuestras empresas para cumplir determinados objetivos. El hecho de enfocarnos en los procesos nos dará una mejor visibilidad de los mismos y podremos identificar posibles mejoras además de comprender el alcance de los mismos para evaluar si es posible automatizarlos. Con esto lograremos formalizar dichos procesos más allá del conocimiento que en general esta distribuido entre los diferentes actores de un proceso, de esta forma vamos a lograr reproducir la película desde el inicio hasta el fin viendo claramente cuales son las tareas y quienes deben realizarlas. Teniendo formalizados y automatizados los procesos de la empresa vamos a lograr que las cosas se realicen según lo pautado logrando la consistencia que nos va a permitir ahorrar tiempos muertos que muchas veces se da cuando hay que realizar el pasaje de una tarea a otra etapa pues son las personas quienes tienen que decidir como sigue el trámite en curso.</div>
<div>
<br /></div>
</div>
<div>
<div>
Desde el punto de vista de la empresa u organización podemos afirmar que seguro vamos a mejorar un indicador que a lo mejor suena algo intangible como es el stress de las personas que participan de los procesos. El hecho de tener bien definido como se deben hacer las cosas y que cada uno tiene claro el rol que debe cumplir pero además conoce como se desarrolla todo mejora enormemente la comunicación entre los actores y agilita mucho el pasaje de información en las distintas etapas. Algo que ayuda mucho en todo esto es tener la posibilidad en todo momento de saber en qué estado esta un proceso y quienes tienen las tareas en un momento dato. Todo esto redunda en un aumento de la productividad dado que se ahorra mucho tiempo de gestión y operativa en determinar como se debe continuar con determinado proceso y obviamente esto trae como consecuencia un ahorro en dinero. Otro tema importante es que se gana en control pues en cualquier momento podemos saber el status de los procesos y actuar proactivamente por ejemplo para delegar trabajo o reasignar tareas que aún no se han procesado.</div>
<div>
<br /></div>
<div>
El hecho de tener claro como están definidas todas las etapas de un proceso nos permite evaluar el impacto de cualquier cambio que se haga en el mismo ya sea un cambio para optimizar o un cambio obligado porque hay que agregar nuevas tareas por cambios en regulaciones. El hecho de poder medir este riesgo ante los cambios le da a la empresa mayor flexibilidad y de esta forma puede ir haciendo evolucionar sus procesos a los cambios que le dicten los mercados con los cuales interactúa. </div>
</div>
<div>
<br /></div>
<div>
<div>
Desde el punto de vista del desarrollo la ganancia viene por el lado de que vamos a “declarar” más y programar menos, vamos a separar toda la lógica del control de flujos de nuestra programación lo cual hará que sea mucho más entendible lo que hacemos y por lo tanto mucho más fácil de mantener. Las reglas del flujo de negocio queda plasmadas en un “dibujo” que cualquier persona puede entender lo cual hace que también sea mucho más fácil incorporar personas nuevas al equipo de desarrollo dado que se facilita la tarea de pasaje de conocimiento. Ayuda mucho en la documentación de lo qué hace el sistema y además nos ayuda en la reutilización de programas, dado que programas que usamos desde otras opciones del sistema también pueden ser usados embebidos en los procesos de negocio.</div>
</div>
<div>
<br /></div>
<h3>
BPM</h3>
<div>
<br /></div>
<div>
<div>
Una vez que tenemos claro cuales son las motivaciones para formalizar y automatizar los flujos de trabajo la siguiente pregunta que debemos responder es <b>qué debemos hacer para llevar esto adelante</b>.</div>
</div>
<div>
<br /></div>
<div>
<div>
Uno de los temas importantes a tener en cuenta es qué metodología vamos a usar para llevar adelante el proyecto de formalización y automatización de los procesos de negocio. Para esto recomiendo el ciclo de vida que propone la disciplina Business Process Management (BPM).</div>
<div>
<br /></div>
<div>
Hay que tener claro que cuando hablamos de BPM no estamos hablando sólo de tecnología, sino de una forma de encarar los proyectos donde el foco se pone en los procesos. Donde se propone un ciclo de mejora continua el cual propone a través del <b>modelado </b>de las actividades y procesos lograr un mejor entendimiento del negocio, con lo cual muchas veces se presenta la oportunidad de mejorarlos. Luego la etapa de <b>automatización </b>de los procesos la cual reduce errores, asegurando que los mismos se comporten siempre de la misma manera y dando elementos que permitan visualizar el estado de los mismos. Una vez que tenemos procesos automatizados la etapa de <b>administración </b>de los procesos nos permite asegurarnos de que los mismos estén ejecutándose eficientemente y obtener información que luego puede ser usada para mejorarlos. Es a través de la información que se obtiene de la ejecución diaria de los procesos que se puede identificar posibles ineficiencias en los mismos y de esta forma <b>optimizarlos</b>. De esta forma volvemos al inicio de este ciclo donde cambiaremos nuestros modelos en procura de mejorar los procesos.</div>
</div>
<div>
<div>
<br /></div>
<div>
Para ayudarnos a encarar esto contamos con un conjunto de herramientas dentro de la familia de productos <a href="http://www.genexus.com/" target="_blank">GeneXus</a>.</div>
<div>
<br /></div>
<div>
Por un lado tenemos el modelador de procesos Business Process Modeler integrado dentro del ambiente de desarrollo de GeneXus. Este modelador nos ofrece la posibilidad de dibujar el flujo de trabajo de una manera gráfica que nos acerca al lenguaje de los usuarios del negocio y así poder entender mejor su realidad. Además este modelador esta basado en el estándar de notación gráfica <a href="http://www.bpmn.org/" target="_blank">BPMN </a>y ofrece la posibilidad de exportar o importar diagramas de otras herramientas a través de <a href="http://www.wfmc.org/xpdl.html" target="_blank">XPDL</a>. </div>
<div>
<br /></div>
<div>
Tenemos a GeneXus en sí mismo como la herramienta que nos permite automatizar el desarrollo de nuestras aplicaciones BPM. Para quienes no conocen GeneXus es recomendable que vean una presentación enfocada en esta herramienta para comprender el alcance de la Suite.</div>
<div>
<br /></div>
<div>
Para la gestión y monitoreo de los procesos contamos con el <a href="http://www.gxflow.com/" target="_blank">GXflow </a>Process Manager y el Inbox. Para el análisis y optimización de estos procesos contamos con <a href="http://www.gxplorer.com/" target="_blank">GXplorer</a> que nos permite explotar la información estadísticas generada por nuestras aplicaciones y nuestros datos históricos de cómo se dio la ejecución de los procesos.</div>
<div>
<br /></div>
<div>
Por último la capacidad de integrar todo esto a través de un portal haciendo uso de <a href="http://www.gxportal.com/" target="_blank">GXportal</a> para la construcción de portales.</div>
<div>
<br /></div>
<div>
Lo cual nos da una plataforma ágil, flexible y robusta para el desarrollo de aplicaciones basadas en BPM.</div>
</div>
<div>
<br /></div>
<div>
Les dejo un video que muestra casi todo el ciclo, desde el modelado , pasando por la etapa de desarrollo y prototipación y finalmente por la ejecución y monitoreo. Todo esto con la última versión de GeneXus y GXflow que es la X Evolution 2. (Les recomiendo verlo en modo full screen)</div>
<div>
<br />
<div class="vzaar_media_player">
<object data="https://view.vzaar.com/998831/flashplayer" height="261" id="video" type="application/x-shockwave-flash" width="568"><param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="https://view.vzaar.com/998831/flashplayer" />
<param name="flashvars" value="border=none&endText=Visit+us+at+www.genexus.com&showplaybutton=rollover&endLink=www.genexus.com" />
<video controls height="261" id="vzvid" onclick="this.play();" poster="https://view.vzaar.com/998831/image" preload="none" src="https://view.vzaar.com/998831/video" width="568"></video></object></div>
</div>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com2tag:blogger.com,1999:blog-16785170.post-1381610302723784352012-06-01T15:24:00.000-03:002012-06-01T15:25:19.327-03:00¿Cómo habilitar seguridad en mi aplicación web o para smart devices con GeneXus X Evolution 2?Algo que casi siempre necesitamos en cualquier sistema que hagamos es controlar el acceso de los usuarios que pueden usarlo y seguramente también necesitemos controlar qué permisos tienen dichos usuarios sobre las distintas acciones que ofrece el sistema.<br />
<br />
Por un lado entonces debemos resolver el problema de autenticación donde ya no es viable simplemente tener una tabla con usuarios y contraseñas pues los tiempos han cambiado y vemos que es cada vez más común que las aplicaciones y sitios nos ofrecen identificarnos con nuestras cuentas de Facebook y de Twitter. Ni que hablar que si vamos a implementar esto además tenemos que hacerlo siguiendo las buenas prácticas que dicta <a href="https://www.owasp.org/" target="_blank">OWASP</a> y tener en cuanta no sólo la arquitectura de una aplicación web, sino que ahora se nos suma el mundo de los smart devices agregando nuevas plataformas (iOS, Android, Blackberry) y por lo tanto haciendo más complejo lograr tener una aplicación que nos de la tranquilidad de poder dormir sin estar pensando qué "agujeros" dejamos por ahí.<br />
<br />
A todo esto tenemos que agregarle el chequeo de permisos cada vez que se ejecuta un programa de nuestro sistema de forma que nos aseguremos que el usuario que quiere ejecutarlo tenga los permisos correspondientes. En general es algo que como desarrolladores subestimamos y tendemos dejar para el final por verlo como una tarea repetitiva y tediosa, lo cual agranda los riesgos de que nos olvidemos de poner los controles de sesión y permisos en alguno de los cientos o miles de programas que pueda tener nuestro sistema.<br />
<br />
<a href="http://wiki.gxtechnical.com/commwiki/servlet/apgetwikiimage?18331,4" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="63" src="http://wiki.gxtechnical.com/commwiki/servlet/apgetwikiimage?18331,4" width="320" /></a>A partir de la versión X Evolution 2 de GeneXus viene built-in un nuevo módulo de seguridad que nos ayuda a resolver esto de una manera declarativa y sobre todo con mucho menos programación tengamos resuelto automáticamente los aspectos de autenticación y autorización de nuestras aplicaciones tanto para Web como para Smart Devices. Esta funcionalidad se llama GeneXus Access Manager (GAM) y el siguiente video muestra como partiendo de una Base de Conocimiento en la cual no se tenía aún nada implementado para los controles de seguridad pasamos a tener todo el esquema de autenticación resuelto declarando propiedades en nuestra KB y dejando que GeneXus se encargue de generar todo el código necesario para que esto se cumpla y así evitarnos tener que programar todos estos controles en cada uno de nuestros programas.<br />
<br />
<br />
<div class="vzaar_media_player">
<object data="https://view.vzaar.com/998979/flashplayer" height="376" id="video" type="application/x-shockwave-flash" width="568"><param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="https://view.vzaar.com/998979/flashplayer" />
<param name="flashvars" value="endText=Visit+us+at+www.genexus.com&border=none&showplaybutton=rollover&endLink=www.genexus.com" />
<video controls height="376" id="vzvid" onclick="this.play();" poster="https://view.vzaar.com/998979/image" preload="none" src="https://view.vzaar.com/998979/video" width="568"></video></object><br />
<br />
Los invito a que conozca más sobre el GAM desde <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ABuilt-in+Security+Module+-+GeneXus+Access+Manager+%28GAM%29," target="_blank">acá </a>en el Wiki de la comunidad GeneXus.<br />
Otra lectura que considero importante para entenderlo es conocer los escenarios de <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GAM+Authentication+Scenarios," target="_blank">autenticación</a> y los escenarios de <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GAM+Authorization+Scenarios," target="_blank">autorización </a>que se pueden resolver con el GAM. </div>
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-4788318366779670802012-05-31T17:27:00.000-03:002012-05-31T17:27:01.481-03:00Como hacer consultas dinámicas con GeneXus X Evolution 1 y 2Algo que nunca podemos prever cuando desarrollamos un sistema es la cantidad y variedad de informes que necesitan los usuarios del sistema una vez que este comienza a rodar. Generalmente lo que vemos que ocurre en cualquier empresa es que los usuarios para tomar ciertas decisiones necesitan de información que está almacenada en la base de datos operacional de la empresa y como en muchos casos estas consultas son totalmente ad hoc entonces recurren al área de sistemas para que les resuelva esa necesidad específica y acá es donde entramos en un círculo vicioso porque muchas veces para responder a este requerimiento el área de sistema tiene que lidiar con sus prioridades y demora en darle una solución al usuario por lo cual cuando obtiene la información que necesitaba seguramente ya sea tarde.<br />
<br />
Para cambiar esto lo que podemos hacer es darle el control a los usuarios finales para que ellos mismos puedan realizar consultas sobre la base de datos operacional y para esto es necesario darles una herramienta que le permita expresas dichas consultas de una manera intuitiva y sin necesidad de conocimientos técnicos. Este es el objetivo que nos hemos planteado con la nueva versión de GXplorer la cual en este momento esta en proceso de beta (pueden suscribirse desde <a href="http://www.genexus.com/gxplorer70" target="_blank">acá</a> como betatesters).<br />
<br />
El siguiente video muestra todo el ciclo desde que el desarrollador habilita la metadata en GXplorer desde el propio IDE de GeneXus, luego muestra como el usuario puede construir sus propias consultas y finalmente como podemos traer dichas consultas hacia la Base de Conocimiento GeneXus de forma de retro alimentarnos con las consultas que hacen los propios usuarios finales.<br />
<div>
<br /></div>
<div>
<br />
<div class="vzaar_media_player">
<object data="https://view.vzaar.com/985795/flashplayer" height="376" id="video" type="application/x-shockwave-flash" width="568"><param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="movie" value="https://view.vzaar.com/985795/flashplayer" />
<param name="flashvars" value="endText=Visit+us+at+www.genexus.com&border=none&endLink=www.genexus.com&showplaybutton=rollover" />
<video controls height="376" id="vzvid" onclick="this.play();" poster="https://view.vzaar.com/985795/image" preload="none" src="https://view.vzaar.com/985795/video" width="568"></video></object><br />
<br />
Se pueden generar metadatas de GXplorer a través de un extension que esta disponible tanto para la versión GeneXus X Evolution 1 como la Evolution 2, la base para realizar las consultas es el objeto query por lo cual al momento de generar la metadata podemos exportar los objetos query que le queremos ofrecer al usuario de manera que tenga algunas consultas ya hechas al momento de comenzar a trabajar y viceversa podemos exportar desde GXplorer las consultas que hace el usuario para integrarlas a la Base de Conocimiento.<br />
<br />
Los invito a que participen de este proceso de betatest y nos den su feedback sobre que les parece esta versión de forma que entre todos podamos llegar a una solución que resuelva al menos 80% de las consultas que hoy está pidiendo los usuarios al área de sistemas y de esta forma liberar ese tiempo al equipo de sistema para que lo invierta en seguir creando e innovando. </div>
</div>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com2tag:blogger.com,1999:blog-16785170.post-71989041759559974382012-03-22T14:22:00.000-03:002012-03-22T14:22:06.046-03:00Mi primer aplicación para Smart Devices hecha con GeneXus X Evolution 2 esta disponible!Una de las cosas que disfruto es degustar de un buen vino, sobre todo los tintos. Por suerte en Uruguay tenemos muy buenas opciones y de muy buena calidad tanto en la variedad Tannat que es el estandarte de las bodegas uruguayas pero también les recomiendo que prueben la variedad Merlot.<br />
<br />
<a href="http://2.bp.blogspot.com/-KhuVtZ34XP0/T2tWlFhO0hI/AAAAAAAAFvY/GvxR6_M_BdI/s1600/SC20120322-112115.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-KhuVtZ34XP0/T2tWlFhO0hI/AAAAAAAAFvY/GvxR6_M_BdI/s320/SC20120322-112115.png" width="192" /></a>¿A que viene esta introducción sobre mi gusto por los vinos? probando el nuevo generador para Smart Devices de <a href="http://www.genexus.com/sd">GeneXus X Evolution 2</a> se me ocurrió hacer una aplicación donde cualquier usuario de la misma pueda catalogar vinos y bodegas. Es decir, que sirva de guía de los diferentes vinos que existen en el mundo así como datos de las bodegas existentes y que estos datos sean aportados por los propios usuarios de la aplicación.<br />
<br />
Además lo que me interesaba es tener una manera sencilla de registrar los vinos que tengo en mi cava y de ahí el nombre de la aplicación la cual se llama "Mi Cava" (My Cellar en inglés) y que en este momento está disponible <a href="https://play.google.com/store/apps/details?id=com.artech.micavav1hf.micava&hl=es">aquí</a> en el market de aplicaciones Google Play. Para poder registrar los vinos de la cava o marcar mis favoritos es necesario identificarse con un usuario, para esto hice uso de la nueva funcionalidad de seguridad integrada llamada <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ABuilt-in+Security+Module+-+GeneXus+Access+Manager+%28GAM%29,">GAM </a>que es una de las novedades de esta versión de GeneXus. Se puede usar tanto el usuario de Facebook como de Twitter o registrarse con un usuario local a la aplicación y todo esto gracias al GAM no tuve que programarlo más que habilitar estas opciones y poner los botones correspondientes en la pantalla de login.<br />
<br />
<a href="http://3.bp.blogspot.com/-KUcmi2Y2zu8/T2tZaAVUqQI/AAAAAAAAFvg/QfJ52lNntfA/s1600/SC20120322-111903.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-KUcmi2Y2zu8/T2tZaAVUqQI/AAAAAAAAFvg/QfJ52lNntfA/s320/SC20120322-111903.png" width="192" /></a>Mi experiencia con estas nuevas funcionalidades de GeneXus es que es realmente algo increíble que en tan poco tiempo (no le dedique mas de 20 horas al tema) tenga una aplicación que funciona tanto en teléfonos inteligentes con Android 2.1 o superior o las tabletas con Android, además esta disponible en español e inglés. Además desde las bodegas te da la opción de llamar por teléfono si lo ingresaron así como ver en el Google Maps la ubicación según la dirección que se haya guardado de la bodega, todas estas funcionalidades así como el login con Facebook y Twitter son cosas que ya vienen built-in y que a mi como desarrollador me facilitan la vida.<br />
<br />
Creo que lo que mas me llevo tiempo fue el tema del diseño que usuarios con un ojo mas delicado en este aspecto se darán cuenta que no es el trabajo de un diseñador pero bueno esta es la primera versión y espero que la pueda hacer evolucionar para que los amantes del vino puedan compartir información a través de esta aplicación. Mis próximos pasos serán ajustar el diseño para que pueda publicarla en el store de Apple para que se pueda usar tanto desde iPhone como iPad.<br />
<br />
Cualquier sugerencia o crítica será bien escuchada, los invito a aquellos que tengan dispositivos Android que la prueben y me den su feedback<br />
<br />
<a href="https://play.google.com/store/apps/details?id=com.artech.micavav1hf.micava&hl=es">https://play.google.com/store/apps/details?id=com.artech.micavav1hf.micava&hl=es</a><br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com2tag:blogger.com,1999:blog-16785170.post-84288015165215281642012-03-16T10:44:00.000-03:002012-03-16T10:44:19.082-03:00GXplorer 7.0 Beta<a href="http://2.bp.blogspot.com/-GqmK5vP-xsQ/T2JKTPJ2liI/AAAAAAAAFo0/_qXr3r7p69k/s1600/Logo_GXplorer_100.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://2.bp.blogspot.com/-GqmK5vP-xsQ/T2JKTPJ2liI/AAAAAAAAFo0/_qXr3r7p69k/s1600/Logo_GXplorer_100.png" /></a>Hace unas semanas comenzó el proceso de <a href="http://www.genexus.com/gxplorer70">betatest</a> de la nueva versión de GXplorer. Esta versión va a sustituir lo que se conoce como GXquery 3.0 y GXplorer 6.0 unificándolo en un único producto. De esta forma se podrán realizar consultas tanto sobre la base de datos operativa como sobre la Data Warehouse que definamos con GeneXus.<br />
<br />
La primera versión que liberemos de GXplorer 7.0 se va a centrar en poder realizar consultas sobre la base de datos operacional de los sistemas y de esta forma poder sustituir mucho de los informes y reportes que requieren nuestros usuarios de los diversos sistemas que existen actualmente en cualquier empresa.<br />
<br />
Es una versión completamente renovada en cuanto su interfaz web, donde se busca dar la agilidad y claridad para que el usuario final pueda obtener rápidamente la información que está necesitando en el formato que está precisando. Para esto cuenta con controles de Pivots , Tablas y diferentes tipos de gráficas. Además esta versión esta mucho más integrada al IDE de GeneXus tanto para su versión X Evolution 1 como la recientemente liberada X Evolution 2.<br />
<br />
Básicamente luego de instalar GXplorer 7.0 y la extensión del IDE de GeneXus que permite crear una metadata de GXplorer directo desde el IDE lo que debemos hacer para habilitar que los usuarios puedan crear sus propias consultas es abrir la Base de Conocimiento y usando esta extension crear dicha metadata. <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?How+to+create+a+metadata+from+GeneXus,">Acá </a>se muestra como hacerlo en detalle.<br />
<br />
Luego lo que resta es crear los <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GXplorer+7.0+Users,">usuarios </a>para darles acceso a GXplorer y de esta forma puedan comenzar a <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?How+to+create+a+Query+in+GXplorer+Web,">crear sus propias consultas</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-slu9hN4qGQI/T2JPMyh41bI/AAAAAAAAFo8/OmeZ7HHzRD0/s1600/GXplorer70UI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="248" src="http://2.bp.blogspot.com/-slu9hN4qGQI/T2JPMyh41bI/AAAAAAAAFo8/OmeZ7HHzRD0/s640/GXplorer70UI.png" width="640" /></a></div>
<br />
<br />
Los invito a ser parte de este nuevo proceso de Betatest para el cual se pueden registrar en <a href="http://www.genexus.com/gxplorer70">www.genexus.com/gxplorer70</a>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-91766114021899808622012-03-15T10:20:00.001-03:002012-03-15T10:30:52.168-03:00¡Hoy se libera GeneXus X Evolution 2!<div>
<br /></div>
En un rato en el <a href="http://www.genexus.com/encuentro-mexico">IX Encuentro GeneXus México</a> se anuncia la liberación oficial de una nueva evolución de GeneXus, la versión X Evolution 2. Como dice Gustavo en su <a href="http://blog.genexus.com/guscarr/?p=444">blog</a> esto no es más que "el fin del principio". Es cerrar una etapa de mucho trabajo para abrir una nueva que implicará seguir trabajando junto a la comunidad de usuarios e ir haciendo evolucionar GeneXus y sus productos asociados hacia caminos que es difícil de predecir.<br />
<div>
<br /></div>
<div>
En esta versión se ha puesto mucho foco en el generador para Smart Devices pero también se ha evolucionado en las funcionalidades que podemos obtener en nuestras aplicaciones Web haciendo hincapié en HTML 5.0, en nuestras aplicaciones basadas en Workflow con GXflow, en los dashboards que podemos construir basados en el objeto query y no menos importante un nuevo módulo de seguridad integrando en GeneXus llamado <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ABuilt-in+Security+Module+-+GeneXus+Access+Manager+%28GAM%29,">GAM</a> que nos facilitará la implementación de los aspectos de autenticación y autorización de nuestras aplicaciones</div>
<div>
<br /></div>
<div>
El generador para aplicaciones para dispositivos móviles como tabletas y celulares "inteligentes" lo definiría como algo mágico, es decir, difícilmente un programador en pocas horas de trabajo pueda tener como resultado una aplicación que funcione en iPhone, iPad, celulares y tabletas con Android y BlackBerry, que además la pueda hacer multi idioma. O sea tendría que aprender a programar para cada una de las plataformas y desarrollar 3 veces al menos la misma aplicación en diferentes lenguajes o variantes del mismo. Sin duda que la frase que han elegido desde el equipo de Marketing para esta versión es muy acertada "Be Smart, Create Once, Deploy Everywhere". </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.genexus.com/sd"><img border="0" height="118" src="http://1.bp.blogspot.com/-IVVujgwLfM4/T2HlD1DP5SI/AAAAAAAAFoY/O3r2vYTWGTw/s320/CreateOnceDeployEverywhere.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Desde el punto de vista de las aplicaciones basadas en <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3AWorkflow+in+GeneXus+X+Evolution+2,">Workflow</a> se ha potenciando el modelador de procesos incluyendo los símbolos pautados por el estándar BPMN 2.0 lo cual da mucho más expresividad a la hora de modelar procesos de negocios. También se ha incluído la posibilidad de exportar e importar diagramas utilizando el estándar XPDL lo cual permite traer diagramas hechos en otras herramientas hacia la Base de Conocimiento GeneXus donde estemos queriendo modelar o automatizar esos procesos. Se ha integrado en la interfaz de usuario final la posibilidad de consultar estadísticas en tiempo real que permiten analizar la performance de los procesos, tareas y personas. Además se cuenta con la posibilidad de utilizar el GAM como esquema de seguridad lo cual nos permite centralizar la administración de usuarios, roles y permisos de nuestra aplicación y de los actores que participan en el Workflow. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GXflow+X+Evolution+2+Release+Notes,"><img border="0" height="318" src="http://1.bp.blogspot.com/-HGvwo2ehCVw/T2Hl0_bOnEI/AAAAAAAAFog/V1wwC3qCHaQ/s400/GXflow+Client+Xev2.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
En el <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Query+Object+in+GeneXus+X+Evolution+2+Release+Notes,">objeto query</a> viene con algunas novedades interesantes, por ejemplo, ahora cuando se accede desde un iPad o iPhone a un webpanel que usa el QueryViewer en formato Pivot o Table para mostrar datos se visualizan dichos datos en una versión Javascript de la Pivot. Es una versión beta de este control que hasta el momento estaba implementado con Flash, de esta forma marcamos el primer paso hacia la evolución del control QueryViewer a una implementación totalmente hecha en HTML 5 y Javascript lo cual da la posibilidad de visualizarlo en cualquier dispositivo que tenga un navegador moderno. Además ahora se tiene la posibilidad de mostrar las gráficas también en su versión Javascript.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Query+Object+in+GeneXus+X+Evolution+2+Release+Notes,"><img border="0" height="262" src="http://2.bp.blogspot.com/-PyGXFChIMNk/T2HnvMgL7-I/AAAAAAAAFoo/evEC3Fp7Wq8/s400/PivotJS.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El GeneXus Access Manager (<a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ABuilt-in+Security+Module+-+GeneXus+Access+Manager+%28GAM%29,">GAM</a>) es un módulo de seguridad basado en el modelo <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Role+Based+Access+Control+%28RBAC%29,">RBAC </a>(Role Based Access Control) que mas allá de las siglas nos va a facilitar a los desarrolladores GeneXus la implementación de los controles de autenticación , chequeo de sesión y control de acceso a las distintas opciones de nuestras aplicaciones. Además nos ofrece built-in la posibilidad de autenticarnos con los usuarios de <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GAM+Facebook+Authentication+Type,">Facebook </a>y <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GAM+Twitter+Authentication+Type,">Twitter </a>además de hacerlo contra su propia base de usuarios o una base de usuarios que ya tengamos. Además nos da la posibilidad de generar automáticamente los controles de permisos de ejecución de los objetos de nuestra aplicación, <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?GAM+Authorization+Scenarios,">acá </a>pueden ver una serie de escenarios que podemos resolver.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Quería compartir este breve resumen de algunas de las cosas que se vienen con GeneXus X Evolution 2, seguro que si visitan el Wiki partiendo desde <a href="http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3AGeneXus+X+Evolution+2,">acá </a>van a poder conocer mucho más.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<br /></div>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-73107880178759386382011-09-16T14:17:00.000-03:002011-09-16T14:18:33.124-03:00Pasó un nuevo encuentro GeneXus y van....Creo que este es el encuentro número 13 que me toca vivir desde adentro, son tantos que no es fácil llevar la cuenta. Será por esto que cada vez me parece ver a más gente muy joven asistir al mismo (me pregunto si yo me veía así cuando tenía 22 años en mi primer encuentro ) y esto realmente es reconfortante pues muchos de estos profesionales que recién se están formando tendrán la oportunidad de desarrollarse dentro de la comunidad GeneXus. Algo que he notado entre este encuentro y el del año pasado es que la densidad en cuanto a la cantidad de personas que participan durante todas las actividades va en aumento, hay mucho más gente a toda hora.<br />
<br />
Vivirlo desde adentro es algo que se disfruta mucho y a su vez nos exige mucho esfuerzo tanto para preparar las charlas como para estar cien por ciento atentos a cada detalle durante los tres días del encuentro y cada vez que finaliza es una sensación de orgullo por el deber cumplido pero a su vez un gustito amargo por lo rápido que pasan estos días donde para mi lo más importante es el contacto con colegas y amigos.<br />
<br />
No voy a entrar en detalles en las charlas a las que pude asistir, para esto los invito a que visiten <a href="http://www.genexus.com/encuentro2011">www.genexus.com/encuentro2011</a> donde podrán ver los videos de las charlas.<br />
<br />
Me quedo con el mensaje de Alfredo Barragán sobre que no hay imposibles los imposibles en definitiva los creamos nosotros mismos y que debemos atrevernos a soñar y seguir estos sueños y también con la definición de actitud que dio Breogán Gonda la cual la resume en trabajo, responsabilidad, generosidad y entusiasmo. Pienso que si pregonamos con estos valores seguramente tengamos una existencia mucho más feliz en nuestras vidas y espero que el año que viene pueda seguir sorprendiéndome en un nuevo Encuentro GeneXus y sobre todas las cosas podamos compartirlo con los colegas y amigos con los cuales compartimos muchas horas de trabajo durante el año.Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-56526982868928761612011-09-06T14:02:00.004-03:002011-09-06T14:02:55.786-03:00Queda poco para el próximo encuentro GeneXus, se publicó la agenda!<br />
En menos de una semana comienza el XXI Encuentro GeneXus, lo primero que se me viene a la cabeza es la reflexión de lo increiblemente rápido que pasa el tiempo!. El segundo pensamiento es que aún tengo que cerrar dos de las tres charlas que voy a dar este año.<br />
<br />
Entonces porqué estoy escribiendo esto?<br />
<br />
Bueno .... para invitarlos a que vengan a este nuevo encuentro porque más allá de todas las cosas que nos van a sorprender desde el punto de vista de la tecnología existe un valor que es intangible pero que se ha ido reforzando evento tras evento que es la posibilidad de estar en contacto directo, cara a cara, con mucha gente de muchos países diferentes con los cuales tenemos contacto muchas veces únicamente por email y el hecho de conocer a las personas personalmente fortalece nuestros vínculos del día a día y seguramente ayuda a mejorar la forma en la cual nos comunicamos y nos entendemos.<br />
<br />
Ya está disponible la agenda por lo cual lo único que tienen que hacer es registrarse en <a href="http://www.genexus.com/encuentro" target="_blank">www.genexus.com/encuentro</a> (<wbr></wbr>¡es gratis!) y elegir las charlas en las que quieren participar.<br />
<br />
Este año voy a dar una "<a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2402">Introducción de Workflow con GeneXus</a>" (#gx2402) , otra sobre "<a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2419">¿Qué resuelve GX Evo 2 para la seguridad de sus aplicaciones Web y SD?</a>" (#gx2419) y "<a href="http://www.genexus.com/encuentro2011/Info-conferencia?es,0,,2431">GXportal desde el punto de vista de diseñadores Web</a>" (#gx2431)<br />
<br />
Para los twitteros puse entre paréntesis los hashtags de las charlas y el hashtag general del encuentro es #gx21<br />
<br />
Los espero!!<br />
<br />
PD: después de esta pausa sigo preparando estas charlas :)Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com2tag:blogger.com,1999:blog-16785170.post-44120057721977257402011-05-26T16:11:00.011-03:002011-05-26T17:01:12.047-03:00Cómo ocultar el cabezal y pie del profile widget de Tweeter<div>Twitter ofrece varios widgets para embeber en nuestros sitios y blogs, los pueden ver acá <a href="http://twitter.com/about/resources/widgets">http://twitter.com/about/resources/widgets</a></div><div><br /></div><div>Uno de los que he usado habitualmente es el Widget de Perfil que te permite configurar el nombre de un usuario de Twitter y te muestra los últimos Tweets de ese usuario. </div><div><br /></div><div>Se puede configurar de una manera muy sencilla su apariencia y obtener el código para embeberlo en cualquier sitio. Algo que no había podido hacer hasta que encontré el tip de como hacerlo era ocultar el cabezal y pie de ese Widget.</div><div><br /></div><div>Y es tan sencillo como agregar al final del código que se obtiene en <a href="http://twitter.com/about/resources/widgets/widget_profile">http://twitter.com/about/resources/widgets/widget_profile</a> la siguiente línea dentro de un tag style</div><div><br /></div><div class="csscode">.twtr-hd,.twtr-ft{display: none;}</div>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-63688028708230136432011-05-17T09:40:00.003-03:002011-05-17T09:42:58.904-03:00Muy buen video que muestra tendencias en el uso de los Smart Phones<div>Sin duda que el uso de los smart phones está cambiando mucho nuestra conducta como consumidores, el hecho de poder estar siempre conectados y consultar información en cualquier momento nos ofrece nuevas oportunidades y sobre todo nos facilita las cosas al querer comprar, buscar una dirección, buscar información de contacto sobre una empresa, etc.</div><div><br /></div><div>Me gustó mucho este vídeo de la gente de Google donde muestran muy buenas infografías del uso que hacen los consumidores de sus Smart Phones, seguramente que estos números contemplen sólo los Estados Unidos pero creo que vale la pena abrir bien los ojos para aquellos que estamos del lado Sur del mundo y donde estas nuevas tendencias se hacen realidad cada vez más rápido. Sobre todo aquellos que tienen la oportunidad de desarrollar aplicaciones para este nuevo mundo de dispositivos.</div><br /><br /><iframe width="560" height="349" src="http://www.youtube.com/embed/CjUcq_E4I-s" frameborder="0" allowfullscreen=""></iframe>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com0tag:blogger.com,1999:blog-16785170.post-1398466850099567362011-05-13T14:49:00.002-03:002011-05-13T14:52:10.559-03:00Cómo solucionar Error "324 (net::ERR_EMPTY_RESPONSE)" en Chrome<div>Después de buscar en foros y documentación de Chrome la solución a este problema y no tener éxito finalmente encontré este artículo en TARINGA que fue la solución a mis problemas</div><a href="http://www.taringa.net/posts/info/7983220/Error-324-_net_ERR_EMPTY_RESPONSE_-Error-desconocido.html" target="_blank">Error 324 (net::ERR_EMPTY_RESPONSE): Error desconocido - Taringa!</a><div><br /></div><div><a href="http://www.taringa.net/posts/info/7983220/Error-324-_net_ERR_EMPTY_RESPONSE_-Error-desconocido.html"></a>Una de las cosas que intenté antes de encontrar este artículo fue correr el WinSockFix pero en mi caso no me sirvió, por lo que vi a otras personas esto les había solucionado el problema.<br /><div><br /></div><div>Este error me comenzó a dar en aplicaciones web que estoy testeando corriendo bajo Tomcat 5.5 y accediendo a través de localhost ó 127.0.0.1, de un momento a otro con Chrome 11 comencé a tener este error y no podía acceder a las aplicaciones mientras que en otros navegadores como Firefox 4 e IE 9 no tenía problemas.</div><div><br /></div><div>Siguiendo las indicaciones del artículo borré las cookies para los sitios "localhost" y "127.0.0.1", una solución rápida en definitiva es eliminar todas las cookies, en mi caso no quería eso.</div><div><br /></div><div>Bueno espero que esto le pueda servir a alguien más cuando se enfrenten a este error.</div></div>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com11tag:blogger.com,1999:blog-16785170.post-78464882801732581842011-04-02T15:27:00.005-03:002011-04-02T16:09:14.933-03:00Disaster Recovery: ¿Cómo recuperar la contraseña del usuario SA en SQLServer 2005 y 2008?<div>El post el cual cito como referencia al final de este artículo fue el que me salvó de tener que reinstalar SQLServer 2008 Express Edition, si bien la solución planteada en el post era para SQLServer 2005 también sirve para la versión 2008. </div><div><br /></div><div>El problema fue, obviamente, que me olvidé de la contraseña del SA de la instancia del SQLServer 2008 Express pues además tengo instalada la versión 2005 Express que es la que uso habitualmente.</div><div><br /></div><div>Lo primero que intenté fue loguearme en el SQLServer Management Studio Express usando la autenticación Windows, es decir, entrar con mi usuario de red y así poder cambiar la contraseña del SA, pero me encontré con este mensaje de error:</div><div><br /></div><div><div><b>Msg 15151, Level 16, State 1, Line 1</b></div><div><b>Cannot alter the login 'sa', because it does not exist or you do not have permission.</b></div></div><div><br /></div><div>La solución fue seguir las indicaciones del post que mencioné antes y los pasos fueron:</div><div><br /></div><div><ol><li>Abrir el Configuration Manager Tool desde el menú "Microsoft SQL Server 2008 \ Configurations Tools"</li><li>Parar la instancia del SQLServer de la cual se quiere recuperar la contraseña del SA. </li><li>Acceder a las propiedades de la instancia (botón derecho Properties) e ir hasta el tab Advanced y ahí ir hasta la propiedad "Startup parameters" y agregar al final de todo ";-m" (las comillas no van y asegurarse de no dejar espacio entre el ; y lo que ya había en esa propiedad)</li><li>Guardar este cambio en las propiedades y "arrancar" nuevamente la instancia</li><li>Desde una línea de comandos DOS, conectarse a la instancia con <b>sqlcmd -S ComputerName\instance </b>(ComputerName es el nombre de la computadora o servidor e instance es el nombre de la instancia en mi caso era SQLEXPRESS2008)</li><li>Luego escribir esta línea y presionar enter <b>EXEC sp_addsrvrolemember 'DOMINIO\USUARIO', 'sysadmin'; </b>(en este caso puse el dominio y usuario con el que me logueo a mi PC y que además tiene permisos de administrador sobre mi PC, se supone que esto lo que hace es darle los mismos previlegios a mi usuario que los que tiene el SA pues se le asigna el rol sysadmin)</li><li>Luego escribir GO y presionar enter</li><li>Luego de esto sacar el ";-m" de los "Startup parameters" y reiniciar la instancia</li><li>Conectarse al SQLServer Management Studio Express usando la autenticación Windows y si van a Security \ Logins van a ver el usuario que le agregaron el rol de sysadmin en el paso 6 y yendo a las propiedades del usuario SA deberían poder cambiarle la contraseña</li></ol><div>Disclaimer: es una receta que en mi caso me funcionó y no me hago responsable del uso que puedan hacer de estas indicaciones ni de lo que puedan llegar a romper haciendo esto.</div></div><div><br /></div><div>La fuente original esta aquí:</div><div><a href="http://blogs.msdn.com/b/raulga/archive/2007/07/12/disaster-recovery-what-to-do-when-the-sa-account-password-is-lost-in-sql-server-2005.aspx">Disaster Recovery: What to do when the SA account password is lost in SQL Server 2005 - Raul Garcia's blog - Site Home - MSDN Blogs</a></div>Anonymoushttp://www.blogger.com/profile/16439238374517520776noreply@blogger.com16