Escolar Documentos
Profissional Documentos
Cultura Documentos
PGINA 1
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
PGINA 2
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.
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.
PGINA 4
PROGRAMAS
BASE DADOS
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.
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
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
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
PGINA 8
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. ----------
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.