PXTools
Descargas
Cursos
Noticias
Foro
Contacto
Buscar
PXTools (for X Evolution 2) 2.0 Beta 7 liberada!
Con esta nueva Beta hemos dado un gran paso. Esta versión de PXTools permite tanto realizar consultas como realizar altas, bajas y modificaciones en aplicaciones Smart Device y estamos enfocados a lograr simplificar la tarea de los desarrolladores también para esta nueva plataforma.
Ampliar
Nuevo Generador PXTools para Smart Devices
En Noviembre de 2011 nuestra empresa decidió el soporte de la generación de PXTools para la nueva plataforma de Smart Devices. Hoy estamos llegando al evento de GeneXus-México con la liberación de la Beta 1 de PXTools (for X Evolution 2). Adicionalmente hemos decidido desarrollar una pequeña Demo para demostrar las capacidades de desarrollo de PXTools tanto en aplicaciones Web como en Smart Devices.
Ampliar
Registro de Usuario Aquí.
eMail: Clave:
Perfil
Recuperar Contraseña
Suite de herramientas para la generación automática de la interfaz Web de un sistema GeneXus
¿Qué son las PXTools?
Las llamadas PXTools (PuntoExe Tools) son una suite de herramientas concebidas a partir de un desarrollo avanzado del Patrón WorkWith (GXPattern) creado por Artech, con el objetivo de lograr la generación automática de la interfaz Web (Web Panels y Transacciones) de un sistema GeneXus, sea para aplicar en un proceso de migración Win a Web, tanto como directamente al desarrollo de un sistema full Web por complejo que sea su diseño.
¿Cual es su filosofía?
La principal característica que distingue esta herramienta de otras, es su filosofía. El objetivo principal de esta herramienta es resolver un problema que se ha mantenido durante sucesivas evoluciones de la tecnología.
GeneXus ha resuelto eficientemente el problema de los cambios tecnológicos a nivel de: Lenguajes de Programación y Manejadores de Base de Datos. Simplemente y con muy poco esfuerzo ha sido posible migrar sobre ambas tipos plataformas, pero siempre nos nos ha requerido un gran esfuerzo para cambiar de plataformas a nivel de la Interfaz de Usuario: Pantallas de Texto a Win y de Win a Web.

La aparición de Patterns permite resolver parte de este problema ya que se incorpora una forma de programación declarativa capaz de almacenar el conocimiento funcional. Aprobechando esta capacidad de la herramienta, PXTools se desarrolló de tal manera que la declaración de la Interfaz de Usuario sea lo más independiete de la Plataforma posible. Sólo se manejan conceptos de interfaz válidos en cualquier ambiente: Labels, Variables, Columnas, Rectángulos, etc. El dónde y el qué.
Esto nos permite asegurar que el proceso de migración de la plataforma Web a cualquier nueva plataforma generará un impacto mínimo (independientemente de cual sea la nueva plataforma).
La otra característica escencial para poder minimizar el proceso de cambio de plataforma es que toda la programación se realice sobre la Instancia del Pattern. Esta característica implicó potenciar al máximo las funcionalidades que se brindan en una instancia ya que tiene que permitir darle la suficiente flexibilidad para poder programar lo que uno quiera sin necesidad de tener que modificar después el objeto generado.

Esta capacidad de manterner el dinamismo completo a nivel del objeto generado es otra de las características escenciales para facilitar la migración a nuevas plataformas. Supongamos que GeneXus decide implementar el generador para Windows Presentation Fundation. El lenguaje declarativo que se usa para este nuevo Lenguaje de Programación se llama XAML. Esto requeriría que GeneXus diera soporte a un nuevo Objeto tal, que su desarrollo de Interfaz Gráfica se basara en el XAML (Llamémoslo "PresentationPanel"). El haber logrado manener el dinamismo completo a nivel del objeto generado por los Patterns, nos permitírá que ante el nuevo lenguaje de Programación PXTools genere los "PresentationPanels" sin mayor inconveniente. En cambio si ahora se modifica el objeto generado para Web se estará nuevamente atando a la plataforma Web con HTML.

De esta manera el soporte de la Interfaz Gráfica de manera estandard (no personalizando a elementos válidos sólo para la plataforma Web) junto con el haber incorporado suficiente potencialidad al instrumento para manener siempre el dinamismo de los objetos generados, hacen de PXTools una herramienta única y la mejor preparada para soportar nuevos cambios tecnológicos.

¿Cómo nacieron las PXTools?
Las PXTools fueron creadas en el 2006 para resolver un caso real de migración Win a Web de un sistema GeneXus de más de 2.000 objetos con cerca de 800 work panels que debían transformarse en web panels en un plazo de 4 meses, con un equipo que en promedio se integró con 6 programadores trabajando 8 horas diarias.

A partir de ese proyecto comenzó su proceso de comercialización como producto. Hoy en día las PXTools son un producto consolidado y están dando soporte a un grán número de Empresas en: Uruguay, Argentina, Chile, Paraguay, Colombia, Panamá y Estados Unidos.

Apostamos a seguir creciendo en América y a conquistar nuevos continentes.

¿De qué componen las PXTools?
Las PXTools se componen en la actualidad de cuatro patrones que describiremos brevemente en este artículo. Podrán acceder a más información en otros artículos de esta página.

El nuevo PXWorkWith Pattern quedó potenciado al extremo de resolver con él, no sólo los clásicos Web Panels WorkWith sino también un segundo tipo de objetos identificado en el análisis preliminar: los Web Panel de Consulta de Datos en pantalla (Queries).
Para resolver un tercer tipo de objetos contemplado en dicho análisis fue necesaria la creación de un patrón especializado: El PXParameterRequest Pattern.
Este patrón está orientado a Web Panels que soliciten datos en pantalla para luego invocar objetos GeneXus. En particular es muy común su utilización como Web Panel previo a un Reporte, pero su funcionalidad podría aplicarse para invocar a procesos internos o a cualquier otro tipo de objeto GeneXus.

Conceptualmente se asume que cada una de las Acciones define un comportamiento diferencial sobre la invocación principal del patrón. Por ejemplo: Definir una acción para realizar una presentación preliminar por pantalla y otra para resolver la salida impresa. La invocación principal es invocar a un reporte. Las acciones determinarían el comportamiento particular de la salida.

En ocaciones es necesario definir pantallas con múltiples grillas y/o múltiples secciones tabulares. Manteniendo la premisa principal de que PXTools debía resolver el 100% de la Interfaz gráfica Web, se generó la necesidad de poder desarrollar un patrón que permitiera componer pantallas complejas a partir de secciones desarrolladas previamente con patrones sencillos. Es por esto que surge un nuevo patrón llamado PXComposer.
Este patrón permite combinar secciones resueltas con los otros patrones, con lo que se logró generar pantallas muy elaboradas. También es el patrón que permite incorporar FreeStyleGrids e incluso es anidable, generando una potencia de programación inigualable.

Sobre fines del 2008 se decidió desarrollar el nuevo patrón PXOAV. Este patrón permite definir en forma dinámica y en tiempo de ejecución atributos asociados a una entidad.
Este patrón también estaba desarrollado en una versión básica por Artech pero buscando potenciar fuertemente sus funcionalidades fue necesario realizarle un rediseño completo para permitir características tales como: reutilización de atributos para distintas entidades, soporte de declaración de atributos de una entidad a partir de una entidad intermedia (del estilo "Tipo de..."), soporte de múltiples controles de edición, etc.
En el correr del año 2009 se decidió su pasaje a la versión X y Evolution 1 donde se le inforporaron además importantes funcionalidades como ser: soporte de fórmulas y fórmulas condicionadas (de la misma manera en que se declaran en GeneXus).

¿Qué beneficios obtenemos con el uso de PXTools?

Es importante notar que con estos nuevos recursos, el programador concentra su atención en asuntos relativos al funcionamiento operativo del objeto que va a generar, haciendo abstracción de la implementación de las funcionalidades, pues dicha implementación va a ser resuelta por las PXTools. Por esto decimos que las PXTools están alineadas con el paradigma fundacional de GeneXus.
Una rápida estimación de tiempos nos hace concluir que el uso de PXTools  multiplica al menos por tres la perfomance en la programación de los web panels.

En el caso del cliente que originó su nacimiento fueron generadas, testeadas y depuradas unas 120.000 líneas de código GeneXus en menos de 3000 horas de programación y testing.

En este caso real hemos podido apreciar que el uso de estas herramientas:

1) Aumenta la productividad de un programador Web en un 300 %.
2) No requiere programadores GeneXus expertos en Web.
3) Aporta estandarización en el Diseño Gráfico y en el Código Generado.
4) Es muy eficiente ante cambios de Diseño o cambios Funcionales.

PuntoExe Consultores - www.puntoexe.com.uy - (598) 2336 6612 - Vaimaca 1339 - Montevideo - Uruguay