Você está na página 1de 10

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 1

Evoluo dos objetivos de Genexus


Orientado a Quarta Dimenso
Preparado por: Breogn Gonda e Juan Nicols Jodal [1] Artech, fevereiro de 2009 O que podemos dizer, 15 anos depois, dos objetivos de GeneXus? [2]: Como tem evoludo?, Como tem sido o seu cumprimento? Os objetivos de GeneXus tm evoludo constantemente e sempre orientado a outros mais exigentes na medida em que nossas investigaes, o desenvolvimento tecnolgico geral e um melhor conhecimento da realidade vo sendo aconselhados. Os fatos mostram um grau muito bom de cumprimento dos objetivos.

As Quatro Dimenses
Tem se conseguido uma boa maneira de visualizar os objetivos e de avaliar os cumprimentos introduzindo quatro dimenses: 1. 2. Completitude (Ser de um 100% se tanto a base de dados como todos os programas necessrios so gerados por GeneXus) Produtividade ( o aumento potencial de produtividade obtenvel com uma boa utilizao de GeneXus com relao a que obteriam bons desenvolvedores utilizando manualmente linguagens de programao comuns (como COBOL ou RPG originalmente, Java ou C#hoyo). Universalidade (Ser de 100% se podem ser geradas aplicaes para qualquer plataforma viva). Usabilidade (Quantifica a facilidade de uso: ser 100% se qualquer pessoa puder utiliz-lo, sem maior capacitao especfica).

3. 4.

interessante ver como evoluram os objetivos e os alcances desde a primeira verso de GeneXus liberada em fins de 1989. Sempre difcil representar quatro dimenses sobre um plano. A seguinte, uma representao razovel e ilustrativa (embora no rigorosa). Representamos cada dimenso por uma flecha, segundo o seguinte diagrama e, para cada uma destas flechas atribumos o valor que a avaliao de GeneXus lhe designa, segundo essa dimenso. Arbitrariamente colocamos as dimenses da seguinte maneira: Completitude apontando para a esquerda, Produtividade para cima, Universalidade para baixo e Usabilidade para a direita, de acordo com o seguinte grfico. AS QUATRO DIMENSES

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 2

Objetivos no momento da liberao da primeira verso de Genexus


Quando a primeira verso de GeneXus foi liberada j tinha importantes alcances em relao Completidude, Produtividade e Usabilidade. Completitude: Na primeira verso teve-se como objetivo gerar 70% dos programas. Para cada um deles eram gerados 100% do cdigo. Desta maneira se evitava a necessidade de modificar manualmente os programas gerados. Esta caracterstica foi sempre considerada essencial: dado que o sistema tem pleno conhecimento para gerar tanto a Base de Dados, como aqueles programas (os que caem dentro dos 70% que GeneXus era capaz de gerar), tambm tem conhecimento para efetuar a manuteno automtica de tudo o que gera (Base de Dados estrutura e contedo- e programas). Era claro, no entanto, que o ideal seria gerar 100% dos programas. Se isso fosse conseguido, GeneXus seria capaz de efetuar automaticamente a manuteno de todo o sistema, com uma diminuio dramtica de custos (tempo e dinheiro). A tecnologia de que se dispunha nesse momento no o permitia. Productividade A Produtividade aumentava de maneira muito importante, dado que o desenvolvedor no precisava dedicar sua ateno a um conjunto de tarefas tradicionais: anlise de dados, projeto da base de dados, projeto e escritura dos programas. As provas bsicas dos sistemas consistem em verificar a correo das especificaes pela via de prottipos vivos, completos, muito fceis de usar e oportunos. O objetivo desde o primeiro momento foi de um aumento potencial da produtividade em 500% sobre programar manualmente com as linguagens disponveis (no caso RPG e COBOL). Usabilidade A Usabilidade aumentava comparando-a com a de programar manualmente (naquela primeira verso sobre o sistema operativo IBM OS/400, o Sistema de Gerncia de Base de Dados nativo do computador IBM AS/400, sua linguagem de comandos e uma linguagem de programao que podia ser RPG ou COBOL). Por que aumentava a usabilidade? Porque o desenvolvedor no precisava nenhum conhecimento detalhado de ditos elementos. Permitia ento, que o desenvolvedor se independentizasse destes elementos de baixo nvel e pudesse dedicar sua ateno a entender e resolver conceitualmente o problema do cliente: dedicar-se a resolver os problemas reais e no os que apresentam as limitaes da tecnologias que utiliza. No era fcil quantificar este aumento da usabilidade, mas era importante porque permitia tanto aos velhos usurios, acostumados tecnologia obsoleta, como aos novos usurios com pouca ou nenhuma experincia; usar a nova tecnologia imediatamente. Os objetivos se cumpriram. Qual foi a reao dos clientes?. Por que contrataram GeneXus?. Quais foram as caractersticas que mais valorizaram? Os principais elementos que levaram contratao pelos primeiros clientes foram: GeneXus viabilizava o desenvolvimento de aplicaes para o novo computador IBM AS/400 para tcnicos com muito pouco conhecimento desse novo computador e da sua tecnologia. GeneXus permitia um aumento muito grande na produtividade dos desenvolvedores. Em particular no foi considerada como uma vantagem essencial por parte dos potenciais clientes o fato de que GeneXus prometesse a manuteno automtica de todo o que gerava. Realmente ningum avaliava seriamente esta vantagem porque ningum acreditava que a manuteno automtica fosse possvel!

Usando GeneXus um pouco, os clientes mantiveram a avaliao positiva anterior: tcnicos com muito pouco conhecimento do AS/400 desenvolviam sem dificuldades e com grande produtividade seu trabalho. No entanto a maior mudana foi que os clientes passaram a avaliar como uma vantagem fundamental que GeneXus mantinha automaticamente tudo o que gerava.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 3

Ao mesmo tempo, GeneXus s pretendia gerar 70% dos programas necessrios. Este fato havia sido acolhido como razovel no momento da contratao, mas depois passava a ser considerado como uma grande limitao para os clientes. Por qu? Porque agora estavam claras vrias vantagens de GeneXus:

Forte aumento da produtividade da programao automtica sobre a manual. Enorme vantagem da manuteno automtica sobre a manuteno manual. S o que era gerado automaticamente poderia ser mantido tambm automaticamente.

Como conseqncia de tudo isto, os usurios quiseram evitar o desenvolvimento manual dos 30% dos programas restantes. Mas, o mais importante, a necessidade de manter manualmente para sempre todos os programas desenvolvidos manualmente. Como resultado do anterior ocorreram duas coisas importantes: Todos compreenderam muito bem que em nenhum caso deviam modificar manualmente os programas gerados, para preservar a capacidade de manuteno automtica. Os clientes exerceram sobre a ARTech uma forte presso para conseguir que GeneXus gerasse 100% dos programas.

Gerar 100% dos programas era um objetivo muito bom por vrias razes. Algumas destas razes eram muito claras: Manuteno automtica de 100% da aplicao. Aumento da produtividade conseqente. Outras s ficaram claras anos depois: Portabilidade das aplicaes de umas plataformas para outras. Comercializao de Bases de Conhecimento, etc. Mas o objetivo de gerar e manter automaticamente toda a aplicao no era um objetivo fcil de conseguir (nenhuma outra ferramenta o fazia nem o faz hoje em todo o mundo). Seria possvel? Para gerar 100% de uma aplicao, primeiro necessrio poder descrev-la total e fielmente. Naquele momento GeneXus no tinha o suficiente poder expressivo para isso. Como poderia ser adicionado rapidamente poder expressivo a GeneXus? GeneXus era 100% declarativo, se se agregasse uma linguagem de programao por exemplo, uma linguagem de 4 Gerao ganhariase poder expressivo. Mas ao mesmo tempo, perderia-se a capacidade de manter automaticamente tudo o que se gerava, porque nas linguagens procedurais [3] conhecidas, os programas fonte no se mantinham vlidos ante modificaes da Base de dados. O que se precisava era uma linguagem processual, cujos programas fonte se mantivessem vlidos frente modificaes na base de dados (e que fosse do maior nvel possvel). No se conseguiu nenhuma soluo imediata e se colocou o assunto em primeiro lugar na lista de investigao.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 4

OBJETIVOS NO MOMENTO DA PRIMEIRA VERSO DE GENEXUS (1990)

Objetivos de 1992: 100% de Completitude


Depois de considerar e descartar muitas alternativas se chegou a uma colocao simples do problema: Soluo atravs do Sistema de Gerncia de Base de Dados. A soluo mais razovel (e independente de GeneXus ) era a implementao por parte dos fabricantes de Sistemas de Gerncia de Base de Dados da recomendao ANSI Sparc do Esquema de trs modelos (Externo, Lgico, Interno). Todas as aplicaes interagiriam com o Modelo Externo, que no se altera frente a modificaes na Base de Dados.

Recomendao ANSI Sparc Modelo Externo

Modelo Lgico Modelo Interno

PROGRAMAS

BASE DADOS

FERRAMENTA US. FINAL

DATODA

TOS
As tendncias que se percebiam na poca tornavam muito pouco provvel esta soluo: o mercado dos Sistemas de Gerncia de Base de Dados, onde haviam atuado mltiplas empresas com diferentes produtos, competindo permanentemente em um clima de inovao e entusiasmo, adotava como standard o SQL em uma verso nada inovadora. O standard implicou uma quase congelao das funcionalidades e a sobrevivncia de uns poucos de todos aqueles fabricantes. Concluso: no havia (nem tem) um caminho por aqui.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 5

Base de Dados Estveis. Muitos tericos postularam as bases de dados estveis, bem desenhadas a priori e muito se falou sobre isso. (Obviamente se a base de dados estvel o problema que estamos tentando resolver no existe: como no tem modificaes estruturais na base de dados, no tem repercusses delas sobre os programas). No entanto, estes conceitos no se compadecem com a realidade: s podem existir Bases de Dados Estveis em empresas ou organizaes decadentes, que perderam toda capacidade de inovao. Concluso: se trata de uma abordagem que no tem nenhum contato com a realidade prtica. Linguagem Procedural cujos programas sejam independentes da estrutura da Base de Dados. A terceira opo era desenhar e desenvolver uma linguagem Procedural tal, que a validez de seus programas fonte no fosse afetada pelas mudanas na base de dados. Adotamos esta abordagem e, algo que muito difcil ou impossvel, tomado isoladamente, resultou totalmente possvel em um ambiente baseado em conhecimento como GeneXus: por que colocar manualmente nos programas elementos (nomes de tabelas, arquivos e similares) que podem ser inferidos automaticamente (no momento oportuno, que neste caso o da gerao dos programas)? A linguagem Procedural de GeneXus age s sobre o Modelo Externo (cujos elementos no so afetados pelas mudanas na Base de Dados) e no utiliza elementos fsicos de baixo nvel como tabelas, arquivos, etc., e seus programas fonte so imunes s modificaes estruturais da Base de Dados. A incluso desta linguagem Procedural de alto nvel permitiu resolver com GeneXus 100% do problema. Agora GeneXus era capaz de gerar e manter automaticamente a Base de Dados (estrutura e contedos) e 100% dos programas. Desta maneira se conseguia 100% da Completitude e se assumia o compromisso de mant-lo sempre no futuro. Isto aumentava substancialmente as vantagens de usar GeneXus. Os usurios assim o entenderam. De todas formas, GeneXus era uma ferramenta que gerava basicamente aplicaes para uma s plataforma: o computador IBM AS/400. No entanto, no havia nenhuma restrio terica para generaliz-lo a outras plataformas. OBJETIVOS DE 1992: 100% DE COMPLETITUDE

Objetivos de 1995: suporte da arquitetura Cliente / Servidor


Em 1995 ocorreu algo vastamente esperado e postergado: uma forte expanso da arquitetura Cliente / Servidor. A ARTech lanou geradores Cliente / Servidor para os Sistemas de Gerncia de Base de Dados mais importantes da poca: IBM DB2, IBM DB2 para AS/400, Informix, Microsoft SQL Server e Oracle.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 6

Estas novas capacidades tiveram uma acolhida muito boa e o segmento de clientes usurios da arquitetura Cliente / Servidor passou a ser rapidamente o de maior crescimento. Paralelamente, de repente e sem que muitos o esperassem, a liberao para fins comerciais da Internet constituiu um tremendo xito e a informtica toda comeou a se transformar de uma maneira vertiginosa. At ento os sistemas eram previsveis e estruturados, para alguns poucos milhes de usurios em todo o mundo. Estes usurios os utilizavam sem nenhum grau de liberdade e depois de ser especialmente treinados para isso. Os desenvolvedores relativamente poucos em todo o mundo mantinham para si todas as decises e os graus de liberdade. Frente a essa realidade tradicional, aparecia a Internet, acessvel desde o comeo por muito mais gente de qualquer parte do mundo, que no podia ser treinada e com um nvel de liberdade muito maior. GeneXus muito rapidamente lanou seu primeiro Gerador para Web. Qual era a situao em fins de 1995? GeneXus mantinha sua Completitude: 100% dos programas eram gerados e mantidos automaticamente. A Produtividade se mantinha muito alta (potencialmente ao redor de 500% da que se poderia chegar a obter programando manualmente). A Universalidade tinha se incrementado substancialmente ao incorporar as arquiteturas Cliente / Servidor e Web. O que ficava fora do alcance de GeneXus? Basicamente aplicaes para mainframes (mas, j era notrio que no existia uma tendncia a desenvolver novas aplicaes para eles). A Usabilidade se mantinha nos nveis anteriores. OBJETIVOS DE 1995 SUPORTE DA ARQUITETURA CLIENTE / SERVIDOR

Objetivos 2001: aumento radical da Universalidade


Na segunda metade da dcada dos 90 apareceu o conceito de plataformas de execuo de aplicaes ncamadas , orientadas para a rede e que ofereciam algo que os usurios pediam: atualizao automtica das verses dos programas nos PCs clientes. As duas plataformas rivais Java e .NET rapidamente dividiram uma boa parte do mercado (que com sua competncia permanente fizeram crescer). Java e .NET compartilhavam o mercado fundamentalmente com a arquitetura Cliente / Servidor, enquanto comeava o crescimento da arquitetura Web e diminua substancialmente a participao dos mainframes. GeneXus lanou muito oportunamente seus geradores para Java e .NET e paralelamente aperfeioava fortemente seus geradores para a arquitetura Web.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 7

Com isto manteve seus bons indicadores no que se refere a Completitude, Produtividade e Usabilidade e aumentou substancialmente sua Universalidade: agora GeneXus gerava para todas as plataformas para as que, realmente estavam sendo desenvolvidas aplicaes novas. OBJETIVOS 2001 AUMENTO RADICAL DA UNIVERSALIDADE

Objetivos de 2004: aumento radical da Productividade


A informtica tem mudado muito desde a liberao da Internet: existem muitos mais usurios (muitas centenas mais). Estes usurios, em geral, no so treinveis. As Bases de Dados j no so s as Bases de Dados fsicas que temos dentro da empresa, seno Bases de Dados Estendidas, que envolvem clientes, fornecedores, servios Web pblicos ou privados, etc. Simultaneamente, nossas Bases de Dados so acessadas por outros, convenientemente autorizados, mas das formas mais diversas. Os dispositivos que agem como terminais tm se diversificado acrescentando Hand Helds, Palms, Pocket PCs, telefones celulares, etc. As redes tm se generalizado, incluindo agora velocidades muito maiores, conexes sem fio de curta distncia (Wi Fi), conexes sem fio de distncia mdia (Wi Max), conexes telefnicas de alta velocidade, associadas s redes de telefonia celular (GPRS, EDGE). Mas o fundamental que agora nossas aplicaes devem servir a muitos milhes de usurios potenciais, que tm um grau de liberdade muito maior que de costume e que no so treinveis. Como conseqncia as aplicaes so muito mais complexas, precisam ser muito mais estudadas e elaboradas, de maneira a esconder toda essa complexidade e apresentar-se frente ao usurio final com interfaces muito simples, muito intuitivas, muito fceis de usar (por usurios geralmente no catalogados e, por isso, no treinveis). Ante isto a ARTech concluiu que um aumento potencial de produtividade de 500% sobre a produtividade de desenvolver a mo em uma linguagem de baixo nvel comum (como Java ou C#, por exemplo) no ser mais suficiente em um futuro prximo. Ento assumiu-se o objetivo de aumentar a produtividade substituindo o tradicional 500% por 2000%, o que se consegue com dois aumentos de produtividade de 100% cada um sobre a da verso imediatamente anterior, o primeiro na verso liberada a fins de 2005 e o segundo na verso a ser liberada em meados de 2007. Paralelamente se seguiram cuidando as outras dimenses e, em particular a Universalidade, acrescentando oportunamente suporte para diferentes plataformas ou elementos de plataformas que foram surgindo e passaram a ser importantes no mercado como, por exemplo, PostgreSQL, MySQL, AJAX.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 8

OBJETIVOS DE 2004: AUMENTO RADICAL DA PRODUCTIVIDADE

O futuro: aumento radical da Usabilidade


E agora? Qual a prxima inovao? O que podemos esperar de GeneXus? GeneXus resolveu muito bem suas trs primeiras dimenses: A Completitude e a Universalidade chegaram ao timo e haver que trabalhar permanentemente para mant-las ante as inovaes tecnolgicas que se aproximam. Produtividade: o aumento da produtividade que est sendo adicionado tal, que permitir desenvolver com GeneXus - em tempo hbil e com custos razoveis as aplicaes cada vez mais complexas que os diferentes usurios requerero nos prximos anos. Isto ser muito importante porque no era mais possvel faz-lo a mo com linguagens de programao comuns como Java e C#. Qual , em resumo, a situao com respeito Quarta Dimenso (a usabilidade)? A Usabilidade boa, mas no se pode comparar seu nvel com o das outras trs dimenses: GeneXus uma ferramenta para desenvolvedores com uma boa formao algartmica, por exemplo, porque seu componente Procedural se mantm importante. Para aumentar de forma substancial sua Usabilidade, para que uma pessoa qualquer, com boa formao geral, possa us-lo em benefcio de suas atividades normais sem uma capacitao especfica cara deve facilitar muito mais ainda o seu uso. Mas qual a situao atual? A Usabilidade de GeneXus tem sido importante desde o princpio e hoje continua sendo como fica claro no seguinte: No imprescindvel conhecer, quando se comea um desenvolvimento, qual ser a plataforma de execuo, (Hardware, Sistema Operativo, Sistema de Gerncia de Base de Dados, Arquitetura, Linguagem de Programao a utilizar). Os desenvolvedores no precisam nunca um conhecimento detalhado da plataforma de execuo. Em particular, esta caracterstica, facilita a reciclagem de velhos desenvolvedores acostumados a tecnologias obsoletas e a incorporao de novos desenvolvedores sem experincia. O Cliente ganha muito em liberdade porque em qualquer momento pode resolver a mudana da plataforma de execuo e transformar com GeneXus suas aplicaes na nova. Novas tecnologias podem aparecer em meio a um grande projeto e serem utilizadas imediatamente sem traumas. GeneXus integra automaticamente os diferentes elementos de uma aplicao, garante sua permanente consistncia e mantm uma documentao completa, ativa e sempre atualizada. A correo dos sistemas se verifica provando as especificaes via prototpica viva, completa, oportuna. Tudo isto muito importante e a maior parte destas caractersticas so nicas. Onde est, ento, o problema? No existe nenhum problema, mas existe sim uma restrio: GeneXus deve ser utilizado sempre por desenvolvedores profissionais.

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 9

defendvel no mdio prazo a idia de que todas as aplicaes devam ser construdas por desenvolvedores profissionais? Nossa opinio que no: a necessidade de utilizar unicamente desenvolvedores profissionais conseqncia das limitaes da tecnologia! Levantando essas limitaes podemos pensar em um aporte muito maior de usurios da informao, de usurios que conhecem o negcio o assunto que seja e que no conhecem (nem pretendem conhecer) os detalhes de baixo nvel que hoje so necessrios para construir um sistema: Cada vez ser mais importante o conhecimento que se tenha sobre o problema que se quer resolver e menos o da tecnologia necessria para resolv-lo. Cada vez os sistemas sero mais diversificados: em pouco tempo os sistemas comerciais baseados em contabilidade, compras, vendas, nmina, estoque ou bem ERPs, CRMs, etc., constituiro uma proporo menor das aplicaes que os usurios (os muitos centenas de usurios) necessitam. Onde est o conhecimento para construir as novas aplicaes?, pois muito mais nestes usurios que nos desenvolvedores profissionais. Para isso GeneXus dever evoluir muito tornando-se mais usvel: muito mais fcil de utilizar por usurios que precisam resolver um problema (que conhecem bem) e no so desenvolvedores profissionais. Em particular, necessrio tornar GeneXus mais amigvel, diminuindo todo o possvel o nvel de abstrao necessrio para utiliz-lo, ocultando a complexidade e, em particular, aumentando seu componente declarativo e adicionado, provavelmente, componentes grficos intuitivos e fceis de usar, de maneira de minimizar a necessidade de utilizar seu componente Procedural. Esta a grande tarefa para os prximos anos! O FUTURO: AUMENTO RADICAL DA USABILIDADE

Breogn Gonda e Juan Nicols Jodal so Engenheiros em Computao, formados pela Faculdade de Engenharia da Universidade da Repblica, Uruguay. Desenvolveram uma ampla atividade internacional de consultoria, docncia e investigao. Suas reas principias de investigao so Bases de Dados Relacionais, Inteligencia Artificial, tratamento automtico do conhecimento e desenvolvimento automtico de Aplicaes. Receberam o Prmio Naciona de Engenharia 1995, outorgado pela Academia Nacional de Engenharia do Uruguai. So scios fundadores e, respectivamente, Presidente e Vice-Presidente da ARTech, empresa que desenvolve e comercializa em todo o mundo o produto GeneXus. ----------

Copyright 2012, Artech, todos os direitos reservados

EVOLUO DOS OBJETIVOS DE GENEXUS

PGINA 10

Genexus um sistema baseado em conhecimento e, em particular, um sistema que se embasa em uma muito boa capacidade de tratamento automtico do conhecimento dos sistemas de negcios. Com uma rigorosa fundao matemtica, GeneXus, partiendo de vises de usurios, captura todo o conhecimento contido nelas e o sistematiza em uma Base de Conhecimento. A base de conhecimento de GeneXus tem uma grande capacidde de inferncia lgica: em qualquer momento capaz de proporcionar qualquer conhecimento que foi armazenado nela ou que pode ser inferido logicamente de aqueles armazenados na mesma. Baseado nesta capacidade de inferncia capaz de projetar, gerara e manter, de forma 100% automtica, a base de dados e os programas necessrios para satisfazer todas as vises de usurios conhecidas em um determinado momento. ---------3

Procedural / Procedural: A palavra espanhola correta Procedural, no entanto na informtica no usada e sim substituida por Procedural, que a palavra inglesa que se utiliza em todo mundo. Neste trabalho utilizaremos Procedural.

Copyright 2012, Artech, todos os direitos reservados

Você também pode gostar