La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

GeneXus 8.0 Armin Bachmann

Presentaciones similares


Presentación del tema: "GeneXus 8.0 Armin Bachmann"— Transcripción de la presentación:

1 GeneXus 8.0 Armin Bachmann armin@artech.com.uy
Armin Bachmann: trabajo en el área de soporte donde ayudo en la coordinación para liberación de GeneXus 8.0, esto me da una visión general de la versión, cosa que trataré de transmitir en esta presentación. Armin Bachmann

2 GeneXus 8.0 implica.. Mejores aplicaciones web
Integración en todos los sentidos Simplificación de lo complejo Mejor modelado de la realidad Nuevas plataformas, nuevos mercados Esta nueva versión implica, antes que nada, el resultado de todo un año de trabajo, definir lo nuevo en una pantalla o mostrar todas las nuevas funcionalidades incluso en tan solo 45 minutos parece imposible. Nos concentraremos entonces en lo que entiendo como lo más importante. Para diseñar mejores aplicaciones web, lo más resaltante es un nuevo objeto llamado Theme que separa el diseño gráfico de la programación. De este modo el desarrollador GeneXus se independiza de la tarea de diseño, pudiendo ésta ser incluso llevada a cabo por un diseñador gráfico. Con respecto a integración de aplicaciones, ya en la versión anterior, proveer un webservice era cuestión de configurar una propiedad de los procedimientos que los usuarios ya tenían desarrollados hace años. Nada más que eso. En esta versión simplificamos la consumisión de cualquier webservice: Se importa su definición con el WSDL Inspector y luego, tan solo en una linea de programación, se invoca a sus métodos. También se pueden definir tipos estructurados, tambien llamados tipos complejos. mediante esta funcionalidad se pueden simplificar los programas, se puede trabajar con colecciones de estructuras, lease listas de clientes, de noticias, etc. Por otro lado hemos trabajado mucho en brindar al usuario mejoras en la escencia de GeneXus: La representación y manejo del modelo de datos: Es decir en reorganizaciones, subtipos, llaves candidatas, autonumeración y mucho más. Con respecto a .NET la novedad es el nuevo generador para winforms. Pero también hemos trabajado para que GeneXus sea una opción para todo un mercado nuevo y en crecimiento, que es el de los dispositivos móviles. Presentaremos en este evento el generador para Pocket PC. Si algunas de las funcionalidades anteriores posibilitan una mejor productividad y usabilidad de GeneXus, qué decir de los nuevos editores; hay mucho esfuerzo invertido también en el ambiente de desarrollo con respecto a esto. En los próximos minutos trataré de profundizar en éstas y otras funcionalidades. Productividad y Usabilidad +, mucho más!

3 Independiza el diseño de la programación
Nuevo Objeto Theme Independiza el diseño de la programación Productividad Paralelización Mantenimiento cero Mejora la performance Características Técnicas: Jerarquía y herencia de clases Basado en CSS El nuevo Objeto Theme separa el diseño gráfico WEB de la programación. El desarrollador se concentra en lo escencial que es programar y de la parte de interfaz, en la ubicación de los controles en un form. Pero no se ocupa en cómo esos controles son diseñados, qué color, que borde, que apariencia tienen. Esa tarea se delega, probablemente paralelizando asi el desarrollo, a los diseñadores gráficos que especifican en un Theme todo esto. En este objeto Theme se especifica por única vez estas cualidades de cada uno de los controles. Y cuando hay que modificar la apariencia de uno, se cambia en un único lugar (esto antes no era así de sencillo.) Lo espectacular de estos themes es que permite que se cambien estos aspectos de la interfaz (como ya dije, el color, si es 3d o no, si tiene borde, etc) tambien en tiempo de ejecución. Es decir, es posible distribuir la aplicación web, el editor de themes y que el usuario final modifique la interfaz a su gusto mediante el editor. Técnicamente hablando, esta funcionalidad fue posible a Tecnología GeneXus encima de Cascade Style Sheets, o sea implementando una jerarquía y herencia entre clases de un CSS. Esta tecnología de punta utilizada para los themes tambien permite una considerable mejora de performance de las aplicaciones.

4 Themes - Editor Aquí se ve el editor de Themes, específicamente la definición de la clase Grid y un preview de la misma. Es aquí donde se definen clases y la apariencia de cada una.

5 Themes – Programación Una vez salvado un Theme, se puede asociarlo a un objeto y a un control. En pantalla se ve que al control Grid1 se le asoció la clase Grid, heredando el control ya todas las propiedades de la clase del Theme. La impresión de la pantalla de la transacción muestra cómo se ve la misma luego de aplicarle uno de los Themes que GeneXus brinda en forma predeterminada. Vale decir que se puede especificar un Theme a usar en forma predeterminada a nivel de KB y a nivel de Modelo. Luego, a nivel de objeto se usa ese en forma predeterminada, pero se puede elegir cualquiera. Las clases a usar en cada control son las clases del Theme seleccionado.

6 Consumo de Web Services
Lo que quiero Veremos que en GeneXus 8.0 se hicieron mejoras tanto para consumir como para proveer Web Services. Enfoquémosnos primero en la consumisión de un webservice externo a mi aplicación. Por ejemplo el de Babelfish, un Web Service de traducción. Lo ven en funcionamiento en esta pantalla. Parece fácil, no? Pero para programarlo, no lo era tánto.

7 Web Services: El pasado
Y... era duro, pero se sobrevivía. Nunca preguntaron a sus padres cómo era la vida antes ? ... Así es cómo se programaba en GeneXus 7.5 o programando a mano la consumisión de ese webservice.

8 Simplemente ... espectacular !
Web Services: Hoy! Simplemente ... espectacular ! Así es GeneXus ... Automatiza lo automatizable.

9 Web Services: WSDL Inspector
Y todo eso, gracias al WSDL Inspector de GeneXus que funciona así: El WSDL de un webservice nos da toda la información para invocarlo: Nos dice dónde reside, cuáles son sus métodos, sus parámetros, el tipo de ellos y si son de entrada y salida.

10 Transacciones como Web Components
Selección en grillas Más funcionalidades web: Una de ellas es la posibilidad de, solamente configurando una propiedad, hacer que una grilla pueda colapsarse. (Ver el “-” al lado de la grilla). Otra propiedad más de las grillas permite especificar si queremos que puedan seleccionarse lineas de las grillas. Esta funcionalidad ayuda a la conversión de Win a Web pues es una funcionalidad muy usada en las grillas Win que los que convierten “extrañaban” en Web. En esta misma pantalla también vemos otra nueva funcionalidad que es que las transacciones pueden ser web components. O sea, programo mi transacción y luego la inserto en cualquier web panel. No reprogramo nada, solo reutilizo lo hecho. Notar que la funcionalidad de web components ya existía en 7.5, pero solamente para Web Panels. Grillas colapsables

11 Tipos Estructurados En esta versión es posible definir estructuras de datos, es decir un dato con varios elementos. Hasta ahora cualquier variable era de un tipo básico, ahora puede ser complejo. Las ventajas que conlleva: menos parámetros: si antes pasaba el Código, el nombre, el precio, ahora paso una variable que en sus estructura tiene esos campos. Serialización a XML: facilidad de cargar y recorrer una estructura. Mejora al proveer y consumir webservices: puedo trabajar con una lista de productos

12 Mejor modelado de la realidad
Realidad: Modelos cada vez más complejos Cientos o incluso miles de tablas Miles de objetos Miles de atributos Dejemos que GeneXus automatice Invirtamos en un correcto modelado Ventajas Más productividad Bajar más los costos de mantenimiento Pasamos ahora a las funcionalidades que hacen que en GeneXus se logre una mejor representación del modelo de datos, lo cual posibilita a su vez que GeneXus automatice procesos y en general aumente la productividad del usuario. Hemos puesto especial énfasis en estas funcionalidades para esta versión pues nuestros usuarios cada vez hacen aplicaciones más grandes, hablamos de miles de objetos y de tablas por KB y contar con estas funcionalidades les garantiza un aumento en la productividad y una baja considerable en costos de mantenimiento, cosa que se hace más visible, más grande sea la KB.

13 Mejor modelado de la realidad (1)
Llaves candidatas: Índices de usuario ‘Unique’ A partir de esta versión un índice, conformado por uno o más atributos secundarios, puede ser definido como ‘Unique’. Al definir esto ya en el mismo modelo, hace que GeneXus tome conocimiento de nuestra intención y así evitamos procedimientos que verifiquen la unicidad.

14 Mejor modelado de la realidad (2)
BLOB Guardo cualquier información en DBMS Imágenes Documentos Cualquier Archivo! Formato: binario En GX: Extensión El tipo de datos Blob permite almacenar información binaria en la base de datos. La información puede ser cualquier tipo de archivo, Fotos, imágenes, documentos, etc. Una cosa importante es que lo que se graba en el DBMS es el contenido de un archivo y el DBMS no tiene ningun conocimiento de qué tipo de contenido se trata. Para esto en GeneXus existe una propiedad, ‘Associated File Extension’ que el usuario puede consultar y tomar acciones al respecto (abrirlo con el editor adecuado, procesarlo con la herramienta correcta).

15 Mejor modelado de la realidad (3)
Autonumber Initial Value La posibilidad de especificar que un atributo se va a autonumerar evita que el usuario GeneXus tenga que definirse procedimientos de numeración e incluir las llamadas en reglas. La facilidad para definir un autonumerado da un valor agregado muy grande a GeneXus dado que programar esta autonumeración a mano puede ser una tarea compleja, dependiendo del DBMS. La propiedad initial value permite inicializar un atributo con un valor constante siempre que éste se agregue a una tabla (cualquiera) en una reorganización de la base de datos.

16 Mejor modelado de la realidad (4)
Enumerados Al definir enumerados se permite establecer una restricción por enumeración de los valores posibles de un tipo de datos. En otras palabras,como ejemplo, además de especificar que algo es Numérico, se restringe a un subconjunto de valores númericos válidos. Como uso colateral se pueden establecer constantes de uso general en la aplicación. En pantalla vemos como ejemplo la definición del Enumerado Sexo y su utilización. Esto permite a GeneXus controlar mejor que lo que se programa tiene sentido, ni que hablar de que ayuda al programador en su tarea y también apoya la legibilidad del código programado.

17 Mejor modelado de la realidad (5)
Subtipos Subtipos anidados Personas <=>> Clientes <=>> Clientes especiales Fórmulas que dependen de subtipos Subtipo y supertipo en la misma Transaction Se permite ordenar por subtipos inferidos Controles en especificación Resultados Más productividad en desarrollo Mejora enorme en mantenimiento Conclusión: Invierta en el modelado! En esta versión se trabajó mucho para fomentar el uso, y el uso correcto de subtipos para que así se modele mejor con GeneXus. Se soportan subtipos anidados, es decir que se puede inferir por ejemplo el Nombre del cliente especial a partir del nombre de la persona asociada. Tambien se soportan fórmulas que dependen de subtipos. Una mejora importante es que en una misma transacción se permite tener tanto hacer referencia por ejemplo al cliente y a un cliente especial. Esto le da más mantenibilidad a una aplicación. Antes un requerimiento de éstos implicaba grandes cambios en el modelo, ahora esto esta resuelto. Para la parte de programación, vale decir que se permite ordenar por subtipos inferidos. Para garantizar un uso correcto de los subtipos y ayudar al usuario a crear modelos coherentes, se agregaron un sinnúmero de controles en tiempos de especificación. Los resultados de un correcto uso de los subtipos son una indudable mejor productividad en el desarrollo mismo: Se evitan realizar fórmulas para calcular valores de atributos inferidos, o incluso realizar procedimientos para actualizar otros, etc. Pero los beneficios que acarrea para el posterior mantenimiento son mayores aún. Un ejemplo claro es GXQuery: GXQuery se basa en las relaciones que GeneXus tiene definido para luego poder resolver consultas complejas tanto al usuario como al programador. Si no usamos subtipos y no le damos a GeneXus el conocimiento de las relaciones existentes, es conocimiento que no se puede aprovechar y que luego causa mucho trabajo corregir. Como conclusión de estas últimas pantallas quiero enfatizar una vez más en la importancia de conocer todas estas funcionalidades de GeneXus, invertir en el modelado para obtener o acaso superar las ganancias en productividad esperadas al usar GeneXus.

18 Mejoras en navegaciones y reorganizaciones
Soporte de reorganizaciones más complejas En cambios de subtipo por supertipo y viceversa Al agregar o eliminar atributos a la clave primaria Etc. Navegaciones más inteligentes Minimización de productos cartesianos Asociado a las mejoras en subtipos hay varias mejoras en reorganizaciones permitiendo realizarse reorganizaciones más complejas, siempre cuidando la integridad de los datos del cliente. Tambien se trabajó en un caso de navegaciones anidadas, eliminando el producto cartesiano y haciendo así que GeneXus realice lo esperado por el usuario. El caso específico es cuando la tabla base del for each principal esta incluida en la extendida de la tabla base del for each anidado. Por ejemplo: For each Defined by CliNom .... Defined by FacLinImp endfor

19 Más expresividad “SQL”
For each [Option Distinct] Order NONE Ordenes y filtros condicionales Comando When Al trabajar con los datos mismos se cuenta ahora con más expresividad. Ahora es posible especificar que se desea que no se devuelvan registros duplicados. Tambien puede especificarse que el DBMS no utilice ningún índice en particular. Para el caso en que se tengan varios filtros y se desea optimizar la consulta dependiendo de qué filtro usar, se dispone del comando When. Esto permitirá tener mejor performace en las consultas que incluyen varios criterios de búsqueda, pues se pueden hacer coordinar el orden de búsqueda con las condiciones adecuadas.

20 Generador .NET con Winforms (1)
El siguiente paso en la evolución de las aplicaciones GUI Moderniza las aplicaciones generadas en Visual Basic y Visual FoxPro Múltiples capas A partir de esta versión se generan aplicaciones .NET para ambiente Windows tanto como para ambiente Web, llevando a las aplicaciones GUI al siguiente paso de su evolución. Esta es una muy buena noticia, en particular para los desarrolladores Visual Basic y Visual Fox Pro que desean continuar en ambiente Windows y buscan modernizar sus aplicaciones a la última tecnología. Este generador, además de contar ya con las funcionalidades actuales de los generadores VB y VFP, pretende ser un generador de multiples capas REAL. Los invito a una presentación que va a dar Alejandro Silva al respecto. Hay que mencionar de todos modos que es posible que la funcionalidad de múltiples capas no sea incluída en esta versión, sino unos meses más tarde.

21 Generador .NET con Winforms (2)
Características Hoy: a la altura de VFP y VB Pero más moderno! Deployment: Xcopy installation Incluye facilidades de XML y Web Services Reportes Requerimientos .NET framework Ya entrando en más detalles y para fijar ideas, hoy en día es ya es comparable con sus antecesores, los generadores de VB y VFP. Dada la tecnología .NET, el deployment es el más fácil: Con tan solo copiar los archivos necesarios a la máquina de producción ya basta. No preciso registrar nada, ni armar setups peligrosos. Énfasis también se puso en todas las funcionalidades XML y de Web Services siendo éste generador siempre un precursor en las mismas. Con respecto a los requerimientos vale destacar que para compilar solamente se requieren el .net framework y el j# y son GRATIS !! Los clientes de las aplicaciones finales pueden ser Windows 98 y superiores. Se soportan los siguientes DBMSes: DB2, Informix, Oracle, Sql Server. Se soporta todo tipo de reportes, incluso con Report Viewer. Martes

22 Java y .NET: Client Side Validation
Diálogo similar a campo a campo en aplicaciones Java y .NET con Winforms Ingresa el código e infiere el nombre En las aplicaciones JAVA el diálogo era por pantalla confirmada (similar al comportamiento del AS/400). Ahora es posible tener tanto en las aplicaciones JAVA como las aplicaciones .NET con Winforms un dialogo similar al “campo a campo” de las aplicaciones VB y VFP. La gran ventaja del mismo con respecto al de VB y VFP es que esta pensado para posibilitar de mejor forma la escalabilidad de las aplicaciones desarrolladas. Este es un punto importante para posibilitar la conversión de las aplicaciones VFP y VB a Java y .NET modernizándo las mismas.

23 Generador para Pocket PC
Se desarrolló un generador que permite generar aplicaciones para los dispositivos Pocket PC, lo cual abre un nuevo mundo de posibilidades a los desarrolladores GeneXus. Estas aplicaciones funcionan en los dispositivos Pocket PC sobre un sistema operativo llamado Pocket PC 2002 (equivalente a Windows XP). Las aplicaciones desarrolladas son equivalentes a las aplicaciones Visual Basic desarrolladas con GeneXus. No tienen que aprender nada nuevo en GeneXus para desarrollarlas. De todas formas los invito a una presentación de este generador, donde además de una demostración, aprenderán entre otras cosas de la metodología a emplear en este tipo de desarrollos. Martes

24 Nuevos editores, nueva interfaz...
Más productividad Más usabilidad Más fácil DEMO .. Además de todas las funcionalidades que vieron muchas de las cuales posibilitan una mejor productividad y usabilidad de GeneXus, qué decir de los nuevos editores; hay mucho esfuerzo invertido también en el ambiente de desarrollo con respecto a esto. En esta demo les mostraré mejoras en: Interfaz gral (listados de navegación, de reorganización, nuevos íconos, etc) Nuevos editores De transacciones (definicion de attributos inline) De data views De tablas De reportes (separación código-layout, intellitips, intellisense, ctrl+z, etc.) Nuevo wizard de creación de modelos. Goto Control en el source select control en el menu, especialmente util para web.

25 ¿Preguntas ? Mucho más GeneXus !! Nuevas plataformas, nuevos mercados
Mucho más GeneXus !! Nuevas plataformas, nuevos mercados Mejor modelado de la realidad Productividad y Usabilidad Integración en todos los sentidos Simplificación de lo complejo Mejores aplicaciones web Armin Bachmann


Descargar ppt "GeneXus 8.0 Armin Bachmann"

Presentaciones similares


Anuncios Google