Introdução ao Genexus

Embed Size (px)

Citation preview

Introduo ao GenexusFonte: http://thiagoazeredogenexus.blogspot.com/

Nota ao Estudante GenexusCom o objetivo de brindar aos desenvolvedores GeneXus uma fonte nica de informao com uma engenharia de busca que lhes permita acessar de forma rpida e fcil a informao tcnica (release notes, manuais, tips, whitepapers, etc.) referente ao diferente produtos que Artech desenvolve, criou-se a GXDL (Genexus Developer Library), uma biblioteca toda informao tcnicas. A consulta pode ser online ou utilizar localmente mediante um simples instalao: HTTP://www.gxtechnical.com/gxdl .

Introduo Teica Genexus FERRAMENTAS E METODOLOGIAS

Nossa tarefa como profissionais de informtica consiste em desenvolver e manter aplicaes para apoiar ao usurio na sua atividade. Para realizar esta tarefa existem diferentes ferramentas e metodologias. Genexus uma ferramenta para o desenvolvimento de aplicaes sobre bases de dados. Seu objetivo permitir a implantao de aplicaes no menor tempo e com a melhor capacidade possvel. Em linhas gerais, o desenvolvimento de uma aplicao implica tarefas de anlise, desenho e implementao. Amaneira do GeneXus alcanar o objetivo anterior liberar as pessoas das tarefas automatizveis (desenho da base de dados), permitindo

assim se concentrar nas tarefas realmente difceis e no automatizveis (compreender os problemas do usurio). GeneXus emprega uma metodologia que tem um enfoque muito diferente da metodologias mais utilizadas. Apreender a utilizar Genexus adeguadamente vai alm de conhecer uma nova linguagem: o mais importante compreender sua metodologia. -> MODELAGEM DA REALIDADE A PARTIR DAS VISES DOS USURIOS

O primeiro problema enfrentado no desenvolvimento de aplicaes a obteno do conhecimento da realidade. Ningum dentro da empresa conhece os requerimentos e o alcance da aplicao para o desenvolvedor todas a aplicao. Ento, como fazer para obter o conhecimento da realidade de uma forma suficientemente objetiva e detalhada ao mesmo tempo, que nos permita construir um modelo corporativo? Este conhecimento encontrado em cada uma das vises dos usurios. Cada usurio conhece muito bem a sua realidade, os objetivos que trabalha cotidianamente, a informao que se administra neles, as regras que devem ser seguidas, os clculos que devem ser realizados. O ponto de partida da metodologia GeneXus : descrever as vises dos usurios para modelar o sistema; e a partir da definio da realidade do modelo, o GeneXus constri o suporte computacional: a base de dados e os programas de forma totalmente automtica.

COMPARAO DE METODOLOGIASPara fixar as idias, vamos comparar as metodologias tradicionais mais utilizadas atualmente, com a metodologia pelo GeneXus, conhecida com metodologia incremental As metodologias tradicionais diferem entre si em vrios aspectos, mas tambm tem uma

caracterstica em comum: separar a anlise dos dados processos. Veremos um esquema geral, que pode ser aplicado a qualquer metodologia tradicional atual e estudar seus problemas.

METODOLOGIA TRADICIONAL

A primeira tarefa realizada geralmente a Anlise de Dados, onde a realidade estudada de forma abstrata, para identificar os objetivos existentes e suas relaes e obter como resultado um Modelo de Dados com as entidades e relaes encontradas (modelo ER). fcil ver que existe um correspondncia muito simples entre o modelo de dados e a base de dados necessria para suport-lo. A seguinte tarefa ento, desenhar essa base de dados, partindo do modelo de dados. Construir um sistema integrado, requer um modelo de dados corporativos, e dependendo do tamanho da empresa, esta pode resultar numa tarefa de enorme complexidade. Quando isso ocorre, a complexibilidade pode ser resolvida dividindo o sistema em mdulo, onde cada um soluciona os problemas operacionais de uma de uma rea especfica da empresa desta forma, a tarefa de modelagem simplifica-se notavelmente, mas em contrapartida, os mdulos operam sem uma real integrao, o que provoca a existncia de informao redundante e com todos os problemas que isso acarreta. Se a tarefa seguinte for realizar a integrao desses mdulos, haver que realizar modificaes sobre o modelos e dados, o qual, apesar de sua complexidade, uma tarefa a ser realizada. As modificaes que devem ser efetuadas sobre os programas associados tm um custo muito elevado que torna invivel a integrao. Com a diviso do sistema em mdulos a empresa ter resultados de seus problemas operacionais, mas vo aparecer indefinidamente problemas de carncia de informao que permita orientar a gesto e a tomada de deciso de alto nvel. Na rbita gerencial, a informao necessria principalmente de natureza corporativa, porque a diviso do sistema em mdulos no satisfaz as necessidades atuais de obteno de informao. GeneXus soluciona este problema, brindando ferramentas e uma metodologia que torna possvel e fcil a criao e manuteno de sistema corporativos. Uma vez obtido o modelo de dados, o passo seguinte desenhar a base de dados. Existe

uma transformao trivial entre um bom modelo de dados, e o desenho da base de dados necessrio para suport-lo Para isso, o modelo de dados no suficiente para desenvolver os programas de aplicao, j que o mesmo descreve os dados, mas no os comportamentos. Recorre-se, ento, a uma tarefa chamada Anlise Funcional, onde a empresa estudada desde o ponto de vista das funes existentes, e o resultado da dita tarefa uma Especificao Funcional. Seria desejvel que a especificao funcional fosse independente da especificao de dados, mas isto no ocorre nas metodologias estudadas. As modificaes funcionais, sendo esta a causa fundamental dos grandes custos de manuteno que este sistema possuem. Com base de dados e a especificao funcional prontas, j esto dadas as condies para criar programas de aplicao. Hoje em dia existem vrias alternativas: Programao em linguagem de terceira e quarta gerao (L3G, L4G) Gerao /Implementao No ponto de vista conceitual no tem diferena entre a programao em linguagem 3 e/ ou de 4 gerao. Em ambos os casos o analista deve estudar o problema, transform-lo num algoritmo e codific-lo na linguagem de programao escolida. A principal diferena entre ambas as alternativas esto na linguagem 4 gerao se escrevem menos cdigos (aproximadamente 10 vezes menos) e, como conseguncia, a produtividade maior e o nmero de erros ocorridos menor. Agora, o problema das descries dos processos depende da base de dados que afeta a ambos por iqual, porque as linguagens de 4 gerao permiti aumento de produtividade , maiores sobre as de 3 gerao na tarefa de desenvolvimento, mas quase no ajudam na etapa de manuteno. Uma alternativa possvel a utilizao de um gerador : uma ferramenta que pode interpretar uma especificao funcional e produz automaticamente os programas. Aqui existe uma diferena conceitual importante em relao ao caso anterior. Neste caso o analista descreve o problema de uma forma declarativa (no existe nem algoritmo nem condies estruturao alguma). Por isso a especificao funcional deve ser informal e rigorosa. Existem atualmente no mercado vrias ferramentas desta classe. Existe outra categoria de ferramentas conceitualmente idntica: aquelas que simplesmente interpretam a especificao. A programao em ambos os casos totalmente automtico, pelo qual o aumento da produtividade sobre as ferramentas de 3 e 4 gerao so enormes. Em definitivo, do ponto de manuteno nenhuma ferramenta ajuda muito, visto que em todas elas so utilizados descrio de processos que podem perder sua validez quando existem grandes modificaes de arquivo e que, por isto, devem ser revisados e mantidos manualmente. O custo de manuteno, difere enormemente entre essas diversas alternativas, j que utilizando geradores ou interpretadores, uma vez realizada as especificaes funcionais a gerao dos programas automtica. Se fosse verdade: pode obter-se uma base de dados estvel, os problemas anteriores seriam irrelevantes. Entretanto, temos vrios exemplos que nos provam o contrrio. Concluses No possvel fazer de forma abstrata um modelo de dados detalhado da empresa e com um nvel suficiente de detalhes e objetividade, j que ningum a conhece totalmente. Pelo contrrio, necessrio recorrer a mltiplos interlocutores, cada um aportando sua prpria subjetividade. Tendo como conseqncia durante todo o ciclo de vida aplicao mudana no modelo.

Mesmo ao considerar a situao ideal, na qual se conhecem exatamente as necessidades e, portanto possvel definir uma base de dados tima , o modelo, de todas as formas, no permanecem esttico, j que deve acompanhar a evoluo da empresa. Tudo isso no seria importante se a especificao funcional e a base de dados fossem independentes. Dado que a especificao funcional refere-se base de dados, as inevitveis modificao nesta ltima, implica nas modificaes (manuais) na primeira. As principais conseqncias do item anterior so os altos custos de manuteno: na maioria das empresas que trabalham de maneira convencional admitido que 80% dos recursos que teoricamente esto destinados ao desenvolvimento, so utilizados na realidade na manuteno nesta ltima, implicam nas modificaes (manuais) na primeira. As principais conseqncias do item anterior so os altos custos de manuteno: na maioria das empresas que trabalham de maneira convencional admitido que 80% dos recursos que teoricamente esto destinados ao desenvolvimento, so utilizados na realidade na manuteno das aplicaes j implementadas. Visto que muito difcil neste contexto determinar e propagar as conseqncias das mudanas da base de dados sobre os processos, habitual que, em vez de efetuarem-se as trocas necessrias, se opte por introduzir novos arquivos redundantes, levando a degradao da qualidade dos sistemas e o incremento dos custos de manuteno.

METODOLOGIA GENEXUSOs fundamentadores de ARTech tm desenvolvido uma ampla atividade de consultoria internacional no desenho de grandes bases de dados, trabalhando com verdadeiros modelos corporativos que possuem inmeras tabelas. Em sua trajetria, convenceram-se de que no deveriam perder mais tempo buscando algo que no existe: Bases de dados estveis. Logo, a partir de importantes investigaes, desenvolveram uma teoria, organizaram uma metodologia e programaram uma ferramenta para possibilitar o desenvolvimento incremental, permitido a convivncia com as bases de dados instveis com um custo mnimo.

Utilizando GeneXus, a tarefa bsica do analista a descrio da realidade. Somente o homem pode desenvolver esta tarefa, j que s ele pode entender o problema do usurio. O analista GeneXus trabalha em alto nvel, em vez de realizar tarefas de baixo nvel como: desenhar arquivos, normalizar, desenhar programar, buscar e eliminar erros dos programadores. Para comear o desenvolvimento de uma aplicao com GeneXus, primeiramente deve ser criado um novo projeto ou base de conhecimento. Uma vez criada uma nova base de conhecimento (cujo termo em ingls : Knowledge base, KB), o seguinte passo descrever as vises dos usurios. Para isso, os objetos da realidade devem ser identificados (prestando ateno aos substantivos que os usurios mencionam em suas descries, como por exemplo: clientes, produtos, faturas) e passar a defini-los mediante objetivos GeneXus Com a definio deste objetos, o GeneXus pode extrair o conhecimento, desenhar a base de dados e os programas da aplicao em forma totalmente automtica.

A partir dos objetivos definitivos na base de conhecimento, Genexus gera automaticamente tanto os programas de criao/reorganizao da base de dados como os programas da aplicao. Quando um objetivo da realidade muda, so identificados as novas ou diferenas caracterstica acerca do mesmo, ou encontrado objetos ainda no modelados. O analista Genexus deve refletir sobre mudanas correspondncia nos objetos GeneXus e a ferramenta se encarrega automaticamente de realizar as modificaes necessrias tanto na base de dados como nos programas associados. A metodologia GeneXus uma metodologia Incremental, pois, parte da base da construo de um sistema realiza-se mediante realizaes sucessivas. Em cada momento, o analista GeneXus define o conhecimento que tem e assim que passa a ter mais conhecimento (ou simplismente um conhecimento diferente), reflete na base de conhecimento, e o GeneXus se ocupa de fazer automaticamente todas as adaptaes na base de dados e nos programas. Caso o GeneXus no seja capaz de realizar automaticamente as modificaes na base de dados e nos programas, conforme sejam realizadas as mudanas que assim o requerem, o desenvolvimento incremental seria invivel.

Comparao de Metodologias

Como foi visto, existem vrios caminhos para a implementao de aplicaes. 1. Programao utilizando linguagem de 3 gerao. 2. Programao utilizando linguagens de 4 gerao. 3. Gerao / interpretao automtica da especificao funcional 4. Desenvolvimento incremental A produtividade no desenvolvimento de aplicaes aumentou muito. Diminuindo em grande parte a manuteno das aplicaes (dados e programas), o que somente se consegue com o desenvolvimento incremental.

OBJETO GENEXUS

Uma vez criada uma nova base de conhecimento, o passo seguinte consiste em comear a descrever os objetos da realidade mediante ao objeto GeneXus. TRANSAES Permite definir objetos da realidade que o usurio manipula (ex: clientes, produtos, fornecedores, faturas, etc.). So os primeiros objetos que so definidos, porque atravs das transaes que o GeneXus infere o desenho da base de dados. As transaes tm o objetivo definir a realidade e a conseqente criao da base de dados normalizando. Cada transao tem associada uma tela para o ambiente Windows e outra para o ambiente web, para permitir ao usurio inserir, eliminar e modificar de forma interativa na base de dados. O analista GeneXus decidir se vai trabalhar em ambiente Windows, web ou ambos, e o GeneXus decidir se vai trabalhar em ambiente Windows, web, ou ambos, e o GeneXus gerar os programas necessrios. REPORTES Permite recuperar informaes da base de dados, e mostr-las seja na tela, num arquivo ou impressa em papel. So as tpicas listas ou relatrios. No permitem atualizar a informao da base de dados*. PROCEDIMENTOS Tem as mesmas caractersticas que os reportes, mas a diferena destes que permitem a atualizao da informao da base de dados. WORK PANELS Permitem ao usurio realizar internamente consultas a base de dados, atravs de uma tela. Exemplo: uma work panel permite ao usurio informar uma faixa de caracteres, e mostra a continuao de todos os clientes cujos nomes se encontram dentro dessa faixa. So objetos muito flexvel que se prestam para mltiplos usos. No permitem a atualizao da base de dados, apenas consult-la. WEB PANELS So simples as work Panels, salvo que so usadas atravs de browsers em ambiente internet / Intranet / Extranet.

Existem outros objetos GeneXus, alguns dos quais veremos neste curso, como os Subtype Groups e os Structure Data Type, que so objetos, definidos na base de conhecimento caracterstica que os diferenciam da maioria deles, como o fato de no gerar programas prprias, mas sim que seu conhecimento utilizado dentro de outro objetos.

PROCESSO DE DESENVOLVIMENTO DE APLICAO COM GENEXUS

Os primeiros objetivos definidos so as transaes, j que a partir deles que o GeneXus extrai o conhecimento necessrio para desenhar o modelo de dados normalizados normalizados ( em 3 gerao forma normal). Logo vo se definindo os demais objetivo que correspondam.

Criao de Base de Dados

O GeneXus gera automaticamente os programas necessrios para criar a base de dados e os executa. Desta forma a base de dados criada pelo GeneXus de forma automtica.

Gerao dos programas da aplicao

Logo, o GeneXus gera os programas de aplicao para interagir com a base de dados previamente criada.

Resultado final na Etapa de Desenvolvimento

As vises dos usurios mudam

Durante o ciclo da aplicao, vai surgir repetidamente necessidade de serem feitas modificaes na base de conhecimento, seja porque as vises dos usurios mudaram, ou porque devem ser feitas correes, ou acrescentar novos conhecimento. As modificaes realizadas na base de conhecimento sero analisadas pelo GeneXus para avaliar se necessrio efetuar mudanas na base de dados ( por exemplo: modificao/criao de tabelas/ndices), ou no. Em caso de detectar mudanas para efetuar na base dados, o GeneXus vai detalhar os

mesmos num relatrio de anlise de impacto (IAR: Impacto Analisis Report), um relatrio que explica todas as mudanas sobre a tabelas, ndice, dados, etc. que precisam ser realizadas para refletir a nova realidade. Mesmo assim, no relatrio de anlise de impacto, se informam os eventuais problemas que as mudanas em questo podem ocasionar com ter inconsistncia ou redundncias.

Anlise de Impacto totalmente automtico

- Algumas vezes a nova base de dados coincide com a anterior. Outras vezes isto no ocorre, a base de dados sofre alguma modificao para representar a nova realidade. - O Analista deve estudar o relatrio de analise de impacto de resolver se deseja realizar efetivamente as mudanas na base de dados, ou renunciar a base de dados e deixar como estava, ou fazer outras alteraes.

Erro no IIS7 (VISTA) gerado para o GeneXus ( MODIFICANDO O IIS) TEM OUTRA SOLUO NO BLOG************************* Encontrei o relato abaixo que estava em espanhol e que segundo ele deu certo... o nome dele -> Enrique Almeida Montevideo, Uruguay %windir%\system32\inetsrv\Appcmd migrate config ""

Donde: * "" = "Default Web Site/" o * "" = "Default Web Site/WebApplication/" Por mas informacin: http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-oniis-70/ Nota: - Cuando se crea un directorio virtual en el IIS version 7.0 por defecto el valor de la propiedad Application Pool es DefaultAppPool. - Para cambiar el Application Pool asociado a un Virtual Directory se deben realizar los siguientes pasos: 1. botn derecho sobre el directorio virtual 2. seleccionar la opcin: Manage Application -> Advanced Settings 3. cambiar el valor de la propiedad Application Pool - Para cambiar la propiedad Managed Pipeline Mode a nivel de Application Pool se deben realizar los siguientes pasos: 1. botn derecho sobre el Application Pool 2. seleccionar la opcin: Advanced Settings 3. cambiar el valor de la propiedad Managed Pipeline Mode

********************************************************************** TRADUO PARA PORTUGUS ********************************************************************** Uma vez que o IIS 7 a propriedade Dirigido Pipeline Mode Application Pool nvel, cujo valor pode ser: 1. Clssico 2. Integrada Quando seu valor Clssico, o Application Pool no IIS 7,0 funciona da mesma forma que o IIS 6.0 em comparao com ASP.NET. Quando o seu valor integrado, o Application Pool executado em consonncia com a nova aplicao do IIS 7.0. Para mais informaes: http://www.iis.net/default.aspx?i=928&subtabid=25&tabid=2 Se tivermos um bom acolhimento no IIS 6.0 e deseja hospedar um IIS 7,0 ns podemos fazer o seguinte:

1. Associar um Application Pool em nossa propriedade Dirigido Gasoduto Virtual Directory Modo Clssico , na ausncia da App Pool no IIS essa propriedade para criar um clssico seteata andaluzia Virtual Directory e ligao em questo. 2. Associar um Application Pool para nustro propriedade Virtual Directory est integrado Dirigido Pipeline Mode, em seguida, execute o seguinte comando: >% Windir% \ system32 \ inetsrv \ Appcmd migrar config "" Onde: * "" = "Default Web Site /" ou * "" = "Default Web Site / WebApplication /" Para mais informaes: http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changeson-iis-70/ Nota: - Ao criar um diretrio virtual no IIS verso 7.0 propriedade valor padro DefaultAppPool Application Pool. - Para alterar o Application Pool associada com um diretrio virtual deve realizar os seguintes passos: 1. Boto direito do mouse sobre o diretrio virtual 2. selecione: Application Management -> Configuraes avanadas 3. Altere o valor da propriedade Application Pool - Para alterar a propriedade Managed Pipeline Mode Application Pool devem ser realizados os seguintes passos: 1. Boto direito do mouse sobre o Application Pool 2. selecione a opo Configuraes avanadas 3. Altere o valor do imvel Managed Pipeline Mode

Erro HTTP 404,0 - No Encontrado O recurso que voc est procurando foiEu estava com o seguinte erro do ttulo (que estava dando ao executar meu aplicativo..) ento comecei a fazer pesquisa ...E acabei achando a soluo e estou aqui agora divulgado para todos. Acabou seu erro na execuo do seu aplicativo .Net gerado pelo Genexus X .. erro de IIS7 (Windows Vista) ... Na PREFERENCES dever ter em seu progeto .Net Environment > Generators > Default(C# Web)

click F4 ( Abrir as propriedades ) V na opo Execution > WebService > Ter as seguintes opes (Internet Information Server / ASP .Net Development Web Server / WebDev.Server2 COLOQUE ----->>>>>>> WebDev.Server2