genexus vs lenguajes.pdf

5
GeneXus vs Lenguajes Definición de GeneXus GeneXus es una herramienta multiplataforma de desarrollo de software para todo el ciclo de vida de sus aplicaciones. GeneXus está basado en el conocimiento, esto significa que genera y mantiene el 100% de la aplicación a partir de los requerimientos del usuario. Ventajas competitivas GeneXus es la única herramienta inteligente, la única que diseña la base de datos y como consecuencia, la única que ante cambios de cualquier tipo, es capaz de informarnos del impacto de esos cambios y si lo aceptamos es capaz de propagarlos automáticamente (mantenimiento 100% automático). ¿Quiénes son los productos competidores de GeneXus? Existen tres grandes categorías de herramientas de desarrollo de software: 1. Tradicionales 2. Herramientas de productividad 3. Generadores de código Las herramientas de desarrollo tradicionales son los entornos de desarrollo que permiten a los programadores escribir sus aplicaciones utilizando lenguajes de programación tales como Java, C#, PHP, Objetive C, Visual Basic, Power Builder y otros. Los lenguajes de programación por lo general están asociados a una plataforma. Cuando la plataforma cambia entonces el lenguaje y la solución devienen en obsoletos. Igualmente si se quiere desarrollar para más de una plataforma, hay que realizar el desarrollo y luego el mantenimiento en varios lenguajes. Por ejemplo, si se desea un sistema que hoy funcione en plataforma Web y en un IPAD nativo, entonces para la plataforma Web podemos usar: C#, Java, Php pero para la plataforma Apple tenemos que usar Objetive C. O sea lo mismo, pero 2 veces. 2 veces que se refleja, en probablemente 2 equipos de desarrollo, 2 equipos de mantenimiento y por supuesto doble costo. El desarrollo por lo general se hace en forma dependiente de la plataforma, es decir si hacemos un desarrollo por ejemplo para AS400 y DB2, luego si queremos cambiar a otro sistema operativo y DBMS prácticamente tenemos que hacer un nuevo desarrollo. El desarrollo se hace dependiente del modelo de datos. Los atributos siempre están referidos a en que tabla se ubica.

Upload: jorge-matias

Post on 25-Oct-2015

278 views

Category:

Documents


1 download

DESCRIPTION

Establecer una comparacion en lenguajes de trabajo con una herramienta framework de trabajo

TRANSCRIPT

Page 1: GeneXus vs lenguajes.pdf

GeneXus vs Lenguajes

Definición de GeneXus GeneXus es una herramienta multiplataforma de desarrollo de software para todo el ciclo de vida de sus aplicaciones. GeneXus está basado en el conocimiento, esto significa que genera y mantiene el 100% de la aplicación a partir de los requerimientos del usuario.

Ventajas competitivas GeneXus es la única herramienta inteligente, la única que diseña la base de datos y como consecuencia, la única que ante cambios de cualquier tipo, es capaz de informarnos del impacto de esos cambios y si lo aceptamos es capaz de propagarlos automáticamente (mantenimiento 100% automático). ¿Quiénes son los productos competidores de GeneXus? Existen tres grandes categorías de herramientas de desarrollo de software:

1. Tradicionales 2. Herramientas de productividad 3. Generadores de código

Las herramientas de desarrollo tradicionales son los entornos de desarrollo que permiten a los programadores escribir sus aplicaciones utilizando lenguajes de programación tales como Java, C#, PHP, Objetive C, Visual Basic, Power Builder y otros. Los lenguajes de programación por lo general están asociados a una plataforma. Cuando la plataforma cambia entonces el lenguaje y la solución devienen en obsoletos. Igualmente si se quiere desarrollar para más de una plataforma, hay que realizar el desarrollo y luego el mantenimiento en varios lenguajes. Por ejemplo, si se desea un sistema que hoy funcione en plataforma Web y en un IPAD nativo, entonces para la plataforma Web podemos usar: C#, Java, Php pero para la plataforma Apple tenemos que usar Objetive C. O sea lo mismo, pero 2 veces. 2 veces que se refleja, en probablemente 2 equipos de desarrollo, 2 equipos de mantenimiento y por supuesto doble costo. El desarrollo por lo general se hace en forma dependiente de la plataforma, es decir si hacemos un desarrollo por ejemplo para AS400 y DB2, luego si queremos cambiar a otro sistema operativo y DBMS prácticamente tenemos que hacer un nuevo desarrollo. El desarrollo se hace dependiente del modelo de datos. Los atributos siempre están referidos a en que tabla se ubica.

Page 2: GeneXus vs lenguajes.pdf

Si hay cambios en el modelo de datos hay que revisar toda la aplicación. Para evitar este tema, lo que generalmente se hace es postergar los cambios o rechazarlos, con lo cual la aplicación deja de ser funcionalmente buena. Asimismo, El desarrollador debe construir la integridad referencial y la integridad transaccional. Las herramientas de productividad abarcan diversos tipos de herramientas que permiten al programador acelerar ciertas etapas de su proceso de desarrollo. Estas herramientas se utilizan generalmente junto con un entorno de desarrollo tradicional. Las subcategorías dentro de esta categoría son: herramientas de análisis y de gestión de requerimientos, modeladores, herramientas de prueba, etc. La subcategoría más difundida en el mercado es la de las herramientas de modelación, en particular las basadas en el estándar UML, cuyo exponente más difundido a nivel corporativo es Rational Rose (ahora XDE). Los generadores de código representan el grupo de tecnologías más avanzadas, ya que procuran automatizar al máximo del proceso de desarrollo de software. Estas herramientas se han desarrollado desde la década de los 80 (incluido GeneXus). Los generadores más avanzados generan el 100% de la aplicación. GeneXus en particular incorpora una tecnología única que le permite generar y mantener en forma automática no solo el código de la aplicación, sino que también su modelo de datos y la base de datos asociada a la misma.

Beneficios de trabajar con GeneXus Basado en el Conocimiento GeneXus permite crear aplicaciones críticas de negocios basadas en los requerimientos del usuario final, generar automáticamente y mantener su base de datos y el 100% de los programas de aplicación. Todo sin entregar el control de su software, ya que GeneXus genera el código nativo y soporta los DBMS y lenguajes líderes. Hoy GeneXus permite generar para plataformas propietarias (Windows, Unix, AS400), en plataformas “libres” como Linux y en plataformas móviles como IOS5, Android, Blackberry y Windows 8. Automatización Cuando los requerimientos del usuario cambian, GeneXus crea un nuevo esquema de base de datos, migran los datos del viejo esquema al nuevo, y regenera los programas de aplicación requeridos. Esto permite construir aplicaciones complejas de forma incremental. Multi-plataforma GeneXus le da el poder para generar en las plataformas de su elección, basados en una sola especificación.

Page 3: GeneXus vs lenguajes.pdf

Evoluciona con el tiempo Similarmente, no tiene que rescribir todo su sistema cuando adopta una versión más nueva de su plataforma. Por ejemplo: consumidores GeneXus que crearon sus plataformas al principio de los noventas en COBOL y RPG, están ahora usando el mismo conocimiento en sus aplicaciones JAVA y .NET. Y también en aplicaciones móviles. Independencia del Código Java, .NET son lenguajes de programación. GeneXus es una herramienta CASE basada en conocimiento, que genera código en diversos lenguajes a nivel de programas fuentes. Y también genera el modelo de datos. GeneXus es independiente de la plataforma. Tiene un repositorio que se construye de manera lógica. Son los generadores (generación de código al 100%) los que construyen el código optimizado para una plataforma (ambiente, manejador de base de datos, arquitectura) Hoy las plataformas más utilizadas son: .NET, Java, Objetive C, Java para Android, Java para Blackberry. GeneXus hoy genera tanto .NET, JAVA, Objetive C, Java para Android y Java para Blackberry. Tenemos en Beta el generador para Windows 8. Hoy GeneXus genera para ambiente Web y para Smart Devices. En Smart Devices se tienen 2 tipos de aplicaciones: Online es decir dependiente de la conexión vía internet y Offline tendiendo una base de datos replicada en el dispositivo móvil y que luego se sincroniza con la base de datos del servidor. GeneXus genera aplicaciones móviles Online y tenemos en versión Beta los generadores para modalidad Offline. Para el desarrollador es indiferente. Desarrolla la aplicación bajo modalidad Online. Cuando el generador este liberado, entonces regenera la aplicación y la nueva aplicación automáticamente será online/offline administrando el sincronismo. Conexión a la Base de Datos GeneXus se conecta a la BD vía OBDC o JBDC pero esto le da la ventaja de trabajar con múltiples plataformas. Modelo de Datos GeneXus construye un modelo lógico. En el momento de la generación se toman en cuenta los aspectos físicos. Esto le da la ventaja de soportar en simultáneo más de un manejador de base de datos. Construcción del Modelo. GeneXus crea el modelo y lo normaliza hasta la tercera forma en forma automática. Permite redundancia y creación de índices de usuarios y lo mantiene automáticamente.

Page 4: GeneXus vs lenguajes.pdf

Puede interactuar con modelos de bases de datos existentes a través del uso de la propiedad de “data view”. Cuenta con una herramienta incluida en GeneXus denominada DBRET (GeneXus Database Reverse Engineering Tool) es herramienta que permite realizar un proceso de ingeniería inversa de una base de datos existente. Es decir, partiendo de la definición de una base de datos (estructura de tablas y sus relaciones) crea un modelo de datos GeneXus que lo soporte. Integridad Referencial. GeneXus: genera y mantiene la integridad referencial en forma automática. Integridad Transaccional. GeneXus: genera y mantiene la integridad transaccional en forma automática. Aplicaciones para Internet GeneXus: Se genera bajo Java (de Sun, Microsoft, IBM a elección del usuario) o C#, Ruby. Referencia a Tablas GeneXus: tiene la capacidad de inferir en que tabla se ubica el atributo. El desarrollador 'solo ve' un conjunto de atributos. Aspectos Comerciales Una aplicación desarrollada en cualquier lenguaje para Windows es hoy obsoleta. El desarrollador lo tiene que volver a desarrollar para estar tecnológicamente al día. Para el comprador de una solución desarrollada en Power Builder o Visual Basic, va a tener que volver a comprar otra solución en el corto plazo. Una solución hecha en GeneXus tiene capacidad de desarrollar más funcionalidades y volver a ser generada en una plataforma más actualizada. Productividad El desarrollo con GeneXus es entre 5 a 10 veces más eficiente que un desarrollo en forma manual.

Tecnologías soportadas por GeneXus (versión GeneXus X evolution 2) Plataformas Plataformas de ejecución JAVA, Microsoft .NET, Ruby, Objetive C, Java para Android, Java para BlackBerry, C++ para Windows 8 Sistemas Operativos IBM OS/400, LINUX, UNIX, Windows NT/2000/2003/2008 Servers, Windows 7

Page 5: GeneXus vs lenguajes.pdf

Internet JAVA, ASP.NET, HTML, HTML5, Web Services Sistemas manejadores de bases de datos IBM DB2 UDB, Informix, Microsoft SQL Server, Oracle, PostgreSQL, MYSQL Lenguajes Generados JAVA, C#, Ruby, Objetive C, Java para Android, Java para BlackBerry, C/SQL, COBOL 400, RPG 400, Visual Basic, Visual FoxPro Servidores Web Microsoft IIS, Apache, WebSphere, Oracle Aplication Server, WebSphere, Tomcat, WebLogic, Etc. Múltiples Arquitecturas Arquitecturas de múltiples capas, basadas en Web, Cliente/Servidor, centralizadas (iSeries, redes) Herramientas de Business Intelligence y Workflow Soluciones para Reporting (GxQuery), Data Warehousing, y Workflow para todos los servidores soportados

Que es un sistema moderno hoy? Desde el punto de vista técnico, hoy un sistema moderno tiene que cumplir las siguientes características: . Plataforma Web y móviles (mínimo plataformas Apple y Android) . Actualizaciones en línea tanto para la parte transaccional como para la parte de análisis del negocio . Consultas Analíticas Online dinámicas . Mínima cantidad de procesos batch . Muy rico en aplicaciones con gráficos

Documento producido por AB&AB Tecnologías de la Información S.A.C Revisión 07/05/2013 www.abab.com.pe