GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus,...

62

Transcript of GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus,...

Page 1: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)
Page 2: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 1

Copyright ARTech Consultores S. R. L. 1988-2010.

Todos os direitos reservados. Fica totalmente proibida a reprodução deste documento, por qualquer meio, sem

autorização expressa da Artech Consultores SRL. A informação contida neste documento é exclusivamente para

uso pessoal.

Marcas Registradas

Artech e Genexus são marcas ou marcas registradas da Artech Consultores SRL. Todas as outras marcas citadas

neste trabalho pertencem a seus respectivos donos.

Page 3: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 2

Introdução .............................................................................................................................................. 3 GeneXus Trial Version ............................................................................................................................. 3

Restrições Funcionais .............................................................................................................................. 3 Restrições de Licença .............................................................................................................................. 3 License Agreement ................................................................................................................................. 3 Suporte Técnico ...................................................................................................................................... 4

Instalação e Autorização ......................................................................................................................... 4 Requerimentos de Instalação ................................................................................................................... 4 Requerimentos do Gerador .NET ............................................................................................................... 5 Autorização ............................................................................................................................................ 6

PRIMEIROS PASSOS: Tutorial passo a passo ........................................................................................... 8 Simbologia utilizada ................................................................................................................................ 8

PARTE 1: Descobrindo o GeneXus ........................................................................................................... 9 O que é o GeneXus? ................................................................................................................................ 9

PARTE 2: Sua primeira aplicação ........................................................................................................... 10 Desenho de aplicações baseado no conhecimento ..................................................................................... 10

Passo 0: Caso de estudo .................................................................................................................... 10 Passo 1: Entorno de desenvolvimento .................................................................................................. 11 Passo 2: Criação de uma Base de Conhecimento e definição do Environment ............................................ 11 Passo 3: Criação de um Objeto Transação ............................................................................................ 13 Passo 4: Descrição da Estrutura da Transação (Structure) ...................................................................... 14 Passo 5: Definição do Campos Calculados Fórmulas ........................................................................... 18 Passo 6: Visualização do Modelo de Dados inferido pelo GeneXus ............................................................ 19 Passo 7: Visualização dos Formulários do Objeto Transação.................................................................... 21 Passo 8: Execução de sua Aplicação .................................................................................................... 23 Passo 9: Teste de sua Aplicação .......................................................................................................... 25 Passo 10: Adicionar Regras do Negócio Regras .................................................................................. 26 Passo 11: Criação do Objeto Transação Cliente ..................................................................................... 28 Passo 12: Revisão das Mudanças efetuadas ao Modelo de Dados ............................................................. 30 Passo 13: Visualização do Reporte de Especificação ............................................................................... 32 Passo 14: Criação dos Formulários Atraentes Temas .......................................................................... 34

PARTE 3: Manutenção ........................................................................................................................... 35 Desenvolvimento Incremental e Manutenção da Aplicação ......................................................................... 35

Passo 15: Inclusão de Novos Objetos: Transação Produto ...................................................................... 35 Passo 16: Análise e reorganização da BD ............................................................................................. 37

PARTE 4: Adicionando funcionalidade ................................................................................................... 39 Utilização de Padrões no desenvolvimento ............................................................................................... 39

Passo 17: Aplicar um pattern .............................................................................................................. 39 PARTE 5: Diálogos interativos ............................................................................................................... 41

Desenho de Consultas e Diálogos Interativos (Web Panels) ........................................................................ 41 Passo 18: Criação de um Web Panel: Nota fiscal por cliente. ................................................................... 41 Passo 19: Execução do Web Panel modificando a instância do Pattern ..................................................... 44

PARTE 6: Enriquecendo a aplicação ....................................................................................................... 46 Controles de usuários ............................................................................................................................ 46

Passo 20: Implementação de um User Control ...................................................................................... 46 PARTE 7: Procedimentos ....................................................................................................................... 49

Desenho de Processos Não Interativos (Procedimentos) ............................................................................ 49 Passo 21: Implementação de um Procedimento para impressão .............................................................. 50 Passo 22: Implementação de um Procedimento para atualização............................................................. 54

PARTE 8: Multiplataforma ..................................................................................................................... 56 Desenvolvimento Multiplataforma ........................................................................................................... 56

Resumo ................................................................................................................................................. 57 FAQ ....................................................................................................................................................... 58 Contatos e Recursos .............................................................................................................................. 61

A Comunidade GeneXus ........................................................................................................................ 61 Suporte ............................................................................................................................................... 61 Como Comprar ..................................................................................................................................... 61

Links recomendados.............................................................................................................................. 61

Page 4: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 3

Introdução

O objetivo deste documento é ajudá-lo a descobrir o potencial da metodologia de desenvolvimento

baseada no conhecimento proposta pelo GeneXus através de suas principais funcionalidades:

Desenho automático de modelo de dados

Geração automática de código

Manutenção automática de base de dados e código

Desenvolvimento e instalação multiplataforma

GeneXus Trial Version

Restrições Funcionais

A GeneXus Trial Version é completamente funcional e o gerador disponível (.NET) é autorizado

mediante uma única Site Key (com validade até 60 dias após sua ativação). Entretanto, aplicam-se

algumas restrições a respeito do número máximo de objetos e atributos GeneXus que é possível criar

para uma Base de Conhecimento dada:

90 atributos

140 objetos.

Restrições de Licença

A GeneXus Trial Version destina-se exclusivamente para avaliação e capacitação. Sua instalação é

local e para um único usuário.

License Agreement

Condições de Uso da Licença de Propriedade Intelectual GeneXus X Trial Version 1. O presente acordo se refere à licença da propriedade intelectual de exemplares da GeneXus X Trial Version, criação inteligente baseada em conhecimento, que desenha, gera e mantém automaticamente bases de dados e aplicações. 2. Artech Consultores S.R.L. (doravante Artech) declara e o USUÁRIO reconhece que a criação intelectual GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark) que introduzir a Artech em conexão com o GeneXus, independentemente do fato de estarem registrados ou não, são propriedade da Artech. Este convênio não implica direta nem indiretamente transferência alguma dessa propriedade e não habilita o USUÁRIO a transferir as licenças objeto do presente documento. 3. O USUÁRIO compromete-se a utilizar a GeneXus X Trial Version sem divulgar nem usar em proveito próprio

nenhuma das idéias e técnicas que fazem possível GeneXus. Em particular, obriga-se a não usar procedimentos de engenharia inversa para interpretar seu código, nem a facilitar a outrem a fazê-lo. 4. Em hipótese nenhuma o USUÁRIO poderá duplicar ou desativar os mecanismos de proteção contra uso não autorizado do GeneXus. A Artech reserva-se o direito de mudar a qualquer momento estes mecanismos e/ou adicionar outros novos. 5. Observando as bases gerais, a Artech licencia ao USUÁRIO a ferramenta GeneXus X Trial Version, nos seguintes termos e condições:

Page 5: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 4

a) Cada exemplar licenciado poderá funcionar em um microcomputador por separado. O USUÁRIO compromete-se a não utilizar nenhum deles em mais de um microcomputador simultaneamente. b) A licença é não exclusiva e intransferível. Os programas gerados pela GeneXus X Trial Version não poderão ser utilizados com fins comerciais. c) O USUÁRIO utilizará os programas e documentação do GeneXus para seu uso exclusivo, com fins de avaliação exclusivamente e comprometendo-se a não entregar cópias de nenhum deles a terceiros. d) Não existe responsabilidade alguma, implícita ou explícita, para a Artech, sobre eventuais prejuízos que puderem resultar para usuários em relação, direta ou indireta, com o uso da GeneXus X Trial Version. e) O USUÁRIO compromete-se a utilizar a licença, seguindo as instruções e especificações constantes do material associado ao mesmo. f) É proibido qualquer uso comercial da GeneXus X Trial Version, em forma parcial ou completa. Para desenvolver esse tipo de aplicações, deverá contratar a versão comercializável. g) A versão GeneXus X Trial será ativada por 60 dias. Inclui unicamente o gerador .NET e suporta SQL como base de dados. Permite criar um máximo de 90 atributos e 140 objetos.

6. A instalação do produto de software licenciado implica a aceitação dos termos que antecedem.

Suporte Técnico Se precisar ajuda para a instalação e autorização de sua versão trial, entre em contato com:

[email protected]

Se estiver nos Estados Unidos ou no Canadá poderá enviar consultas de suporte a:

[email protected]

Para saber mais sobre os diversos serviços e recursos de suporte técnico e capacitação do GeneXus

visite: http://www.genexus.com/support e http://www.genexus.com/training

Por informação adicional, entre em contato com seu distribuidor local:

http://www.genexus.com/distributors ou escreva-nos a [email protected]

Instalação e Autorização

Requerimentos de Instalação A GeneXus Trial Version inclui os seguintes produtos:

Modelador GeneXus É um ambiente integrado de desenvolvimento (Integrated Development Environment ou IDE) para

o desenho, desenvolvimento, e manutenção de aplicações de negócios, independentemente da

plataforma de produção utilizada.

Geradores GeneXus GeneXus gera código nativo para as principais plataformas do mercado. Para conhecer a lista

completa dos Geradores GeneXus visite: http://www.genexus.com/technologies. O gerador

disponível na GeneXus Trial Version é o Gerador .NET.

Page 6: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 5

A seguir encontrará a lista do hardware e software necessário para executar GeneXus e as aplicações

geradas pelo GeneXus.

Requerimentos de

Hardware

Processador: mínimo 1 GHz (recomendado multi core)

Memória: mínimo 1 GB de RAM (recomendado 2 GB)

Disco rígido: Mínimo de 300 MB de espaço em disco para a instalação.

Para criar aplicações GeneXus precisa-se espaço adicional ou um disco

compartilhado para criar as Bases de Conhecimento e o código gerado.

Requerimentos de

Software

Microsoft Windows 2000, XP SP2, ou superior.

Microsoft .NET Framework 2.0 ou superior.

Microsoft Internet Explorer 6.0 SP1 ou superior.

Microsoft SQL Server 2005 ou 2008 (Express, Standard ou qualquer outra

Edição) 1

1 Microsoft SQL Server Express Edition é a versão redistribuível e gratuita.

Requerimentos do Gerador .NET

Esta seção contém os requerimentos para gerar e executar aplicações com o Gerador GeneXus

disponível na GeneXus Trial Version.

Gerador Requerimentos

.NET

Microsoft .NET Framework 2.0 ou superior. IIS 5.0 ou superior (disponível no Windows 2000 ou XP). Fornecedor do ADO .NET para o DBMS utilizado.

Para criar a base de dados de sua aplicação e executar as aplicações geradas, requererá um dos seguintes DBMS:

SQL Server (Em qualquer de suas edições). Sim é a primeira vez que instala SQL, creara-

se automaticamente uma Base de dados com o usuario “sa” e a clave “genexustrial”

Page 7: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 6

Autorização

1. Execute o arquivo de setup da GeneXus Trial Version (genexusxtrial.exe) do menu de Início do Windows ou selecionando a opção apropriada no CD de sua Versão Trial.

Figura: Assistente de Instalação da GeneXus X Trial Version

2. Siga os passos indicados pelo setup de instalação. 3. A primeira vez que usar a GeneXus Trial Versão deverá autorizar o produto para poder iniciá-lo.

A autorização pode ser feita Online ou By Mail. A autorização online é recomendada se tiver uma conexão a Internet.

Figura: Dialog box para o Registro da GeneXus Trial Version

Page 8: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 7

4. Complete os campos solicitados: Nome, email e país são obrigatórios enquanto que Companhia e

Telefone são opcionais.

5. Em caso de ter requerido a opção Online e de ter ingressado os dados corretamente, a GeneXus X Trial Version irá se ativar em forma imediata por um período de 60 dias.

6. Se tiver escolhido a opção By Mail, GeneXus pedirá inserir Nome e país em forma obrigatória. Os campos Telefone e Companhia são opcionais. Deverá confirmar os dados inseridos. Se os mesmos forem corretos pressione CONTINUAR. Se desejar modificar os valores inseridos pressione

ANTERIOR. Esta ativação exige ter o Outlook configurado como email padrão. O administrador de licenças gerará um mail com o Site Code correspondente. Você receberá seu Site Key via mail.

7. Se o Outlook não for seu email padrão, pode solicitar ativação Manual, enviando de qualquer email os dados gerados pelo ativador de licenças. O Site Key de ativação será enviada ao mesmo

email. Copie e cole seu Site Key no campo de Site Key da janela Authorization Required e clique em Continuar.

8. Você já está preparado para começar a usar sua GeneXus Trial Version!

9. Se precisar de ajuda para ativar a GeneXus X Trial Version escreva-nos a [email protected].

Page 9: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 8

PRIMEIROS PASSOS: Tutorial passo a passo

O objetivo deste tutorial é lhe oferecer uma primeira experiência prática com o GeneXus à medida que

for aprendendo os fundamentos da Metodologia GeneXus. Ao finalizar, você saberá como é possível

criar aplicações de negócios complexas com uma rapidez jamais imaginada.

Neste exercício passo a passo você criará uma aplicação de negócios simples para instalar em uma

das plataformas suportadas pela GeneXus Trial Version: .NET. Para conhecer a lista completa de

plataformas suportadas pelo GeneXus visite: http://www.genexus.com/technologies/

À medida que for trabalhando com este guia, usará as funcionalidades chaves do GeneXus:

Desenho de aplicações baseado no conhecimento Geração inteligente de base de dados Geração automática de código Aplicações completamente funcionais Desenvolvimento incremental e manutenção automática da aplicação

Desenho de Processos não interativos (Procedimentos) Desenvolvimento em múltiplas plataformas

Simbologia utilizada

!

Este símbolo introduz um conceito chave para o desenvolvimento do tutorial.

Este símbolo introduz um TIP. Recomendamos ler o que este dentro do quadro.

Este símbolo especifica o tempo requerido.

Este símbolo introduz uma NOTA.

Page 10: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 9

PARTE 1: Descobrindo o GeneXus

Tempo estimado: 5 minutos

O que é o GeneXus? Basicamente, o GeneXus é um programa que faz programas.

É uma ferramenta que parte das visões de usuários, e a partir daí encapsula o conhecimento no que

chamaremos Base de Conhecimento. GeneXus sistematiza esse conhecimento, e daí automatiza o

desenho, construção e manutenção da BD e dos programas.

!

Resumindo, o GeneXus é uma ferramenta baseada no conhecimento que desenha,

gera e mantém em forma automática os programas e a base de dados para obter o

desenvolvimento rápido de aplicações críticas em múltiplas plataformas.

Page 11: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 10

PARTE 2: Sua primeira aplicação

Tempo estimado: 1:40

Desenho de aplicações baseado no conhecimento Nesta seção aprenderá a criar uma Base de Conhecimento GeneXus e a desenhar uma aplicação em

base aos requerimentos dos usuários. Neste caso em particular, começaremos por desenhar uma

nota fiscal e outros componentes necessários em um Sistema de Gestão de Vendas.

!

Analistas de Negócios versus Desenvolvedores

Entender as necessidades do usuário final é uma das poucas tarefas que não se podem

automatizar no desenvolvimento de software. Referimo-nos aos desenvolvedores do

GeneXus como analistas de negócios em lugar de programadores, codificadores ou

desenvolvedores.

!

Programar versus declarar a aplicação

A Metodologia GeneXus baseia-se na descrição das entidades do usuário final (objetos

reais, tanto tangíveis quanto intangíveis) com as que sua aplicação deve lidar. Isto se

faz descrevendo as visões dos usuários finais sobre estas entidades, com alto nível de

abstração. Por este motivo, realizaremos uma programação declarativa e os

analistas de negócios descreverão a realidade para que o GeneXus crie o modelo de

dados em uma BD especificada e construa os programas de aplicação para cobrir as

necessidades funcionais requeridas. Quando essa realidade mudar, os analistas de

negócios simplesmente deverão descrever a nova realidade e será GeneXus quem se

encarregará de realizar as mudanças necessárias no modelo de dados e os programas

para representar a nova realidade descrita.

Passo 0: Caso de estudo

Suponhamos que uma empresa precisa uma aplicação que gerencie seu sistema de faturamento. Hoje

não conta com um e o faturamento é feito manualmente, com os grandes catálogos de códigos de

produtos. Trabalharemos com as notas fiscais, os clientes, os produtos ao tempo que iremos

introduzindo os fundamentos dos conceitos básicos da metodologia do GeneXus.

Durante este tutorial, conseguirá descrever a realidade apresentada no GeneXus para gerar um caso

tipo de sistema de faturamento em uma plataforma Web utilizando o Gerador .NET e BD SQL.

Page 12: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 11

Passo 1: Entorno de desenvolvimento

Uma vez aberto o GeneXus, descobrirá uma interface como na imagem anexa. Esta interface recebe o

nome da IDE (Integrated Development Environment ou Ambiente integrado de Desenvolvimento). É

um IDE intuitivo, simples e parametrizável por cada desenvolvedor.

Divide-se em janelas:

Figura: Ambiente integrado de Desenvolvimento (IDE)

Janela principal: Está composta pela Start Page ou Página de Início a qual, através de um

RSS em forma dinâmica, oferece informação técnica relacionada com a ferramenta e a

comunidade de usuários. Para obter esta informação é necessário estar conectado. Se sua

equipe estiver desligada da Internet não poderá acessar as novidades publicadas no

GeneXus Community.

Janela de ferramentas

Barras de ferramentas

Passo 2: Criação de uma Base de Conhecimento e definição do Environment

O primeiro passo para criar uma aplicação com o GeneXus é criar uma Base de Conhecimento e definir

o ambiente de trabalho.

!

Base de Conhecimento ou Knowledge Base (KB)

É um repositório que contém toda a informação necessária para gerar uma aplicação em múltiplas plataformas. Em outras palavras, é um repositório de toda a descrição da realidade.

Page 13: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 12

!

Environment

Para gerar e manter uma aplicação de trabalho em uma plataforma de software específica, devemos definir um Environment. Um Environment integra todo o

relacionado à plataforma de execução (Gerador, acesso a BD, interface de usuário e outras propriedades da plataforma). Para isto, especificamos um DBMS, uma linguagem alvo e alguns parâmetros adicionais por cada Environment. GeneXus gerará e manterá o esquema da base de dados e todos os programas na plataforma selecionada. Desta

maneira, o analista do GeneXus não precisa ter um conhecimento profundo da plataforma alvo.

Se for a primeira vez que abre a GeneXus Trial e não executou previamente em sua equipe uma

versão comercial do produto, GeneXus lhe indicará que procederá a executar a criação de uma base de conhecimento em forma automática. A primeira vez que abrir a versão trial automaticamente irá se criar uma Base de Conhecimentos em um ambiente em .NET com o SQL. Se quiser criar uma base de conhecimento e um novo environment, deverá:

1. Clicar na opção New Knowledge Base.

2. Dar um nome à Base de Conhecimento: Demo.

3. Selecionar um diretório onde criar a KB.

4. Selecionar a linguagem a

gerar.

5. Clicar em CREATE para

continuar.

Figura: Dialog box para a criação de uma Base de Conhecimento

Page 14: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 13

Passo 3: Criação de um Objeto Transação

Nosso objetivo será definir as visões de nossos usuários em objetos GeneXus.

!

Objeto Transação

Representa os objetos da realidade que dirige sua aplicação. Das transações definidas infere-se o modelo de dados da aplicação (3ª. forma normal). GeneXus também usa o objeto transação para gerar o programa da aplicação que permitirá ao usuário final, em forma interativa, inserir, apagar e atualizar registros na base de dados física.

O seguinte passo, uma vez criada a base de conhecimento será criar a primeira transação, que

representa uma nota fiscal. Para isso siga os seguintes passos:

1. Clique direito sobre Objects/New/Object ou vá ao menu FILE/NEW OBJECT.

Também pode criar um novo objeto utilizando o shortcut CTRL N.

2. Selecione o tipo de

objeto que deseja criar: Transaction

3. Dê nome ao Objeto: Invoice.

4. Clique em CREATE.

Figura: Criação de um objeto novo

Figura: Dialog box New Object

Page 15: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 14

Passo 4: Descrição da Estrutura da Transação (Structure)

O próximo passo será descrever o objeto nota fiscal definindo quais atributos integram a mesma e

como estão relacionados.

!

Estrutura do objeto Transação

A Estrutura do Objeto Transação é uma descrição dos dados requeridos para

conhecer o objeto real que este representa. Na estrutura, devemos declarar os atributos

(campos) que formam a transação (os dados com os que o usuário irá interagir) e as

relações entre eles. Baseando-se nesta estrutura, o GeneXus desenha e mantém

automaticamente a base de dados correspondente (tabelas, chaves, índices, restrições

de integridade, etc.) em 3ª. forma normal. O mesmo atributo deverá ter sempre o

mesmo nome em cada lugar que aparecer. ao tempo que dois atributos diferentes não

poderão ter o mesmo nome.

Os elementos chaves para definir a estrutura da transação são os seguintes:

Nome, tipo e descrição: Cada atributo é definido por seu nome, tipo de dados e descrição.

Níveis: Os atributos agrupam-se em um ou mais níveis, e estes níveis podem ser aninhados ou paralelos (pode haver múltiplos níveis aninhados). Por exemplo: as linhas de uma nota fiscal representam um nível aninhado em nível de raiz. O nível das linhas da nota fiscal demonstra o fato de que uma nota fiscal pode ter muitas linhas, ou seja, define uma relação de uma a muitas entre a nota fiscal e as linhas da nota fiscal.

Atributos de Chave Primária (PK): Em cada nível, um ou mais atributos

devem ser definidos como a Chave Primária do nível. o A Chave Primária é um identificador de cada instância do nível. o Os valores da Chave Primária são únicos e uma vez inseridos não podem ser

atualizados. o Se não existir uma Chave Primária “natural” para seu objeto, deve criar uma

“artificial”; por exemplo, CustomerID.

1. Insira o nome, tipo de dado e descrição dos atributos na aba Structure da transação Invoice, como

indicado na tabela a seguir. Use a tecla TAB para mover-se entre o nome, o tipo de dado e a descrição do atributo. Use a tecla ENTER para adicionar um novo atributo.

ATRIBUTO TIPO DESCRIÇÃO

InvoiceID Numeric(4.0) Invoice ID

InvoiceDate Date Invoice Date

CustomerID Numeric(4.0) Customer ID

CustomerName Character(20) Customer Name

Até aqui inserimos os campos do cabeçalho da nota fiscal. Agora iremos inserir

as linhas. Para isso, pressione CTRL + Seta Direita para adicionar um Novo nível

à estrutura de dados

Page 16: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 15

ProductID Numeric(4.0) Product ID

ProductName Character(20) Product Name

ProductPrice Numeric(8.2) Product Price

LineQuantity Numeric(4.0) Line Quantity

LineTotal Numeric(8.2) Line Total

Pressione ENTER e depois CTRL + Seta Esquerda para voltar para o nível do

cabeçalho e começar os dados do rodapé.

InvoiceSubtotal Numeric(8.2) Invoice Subtotal

InvoiceTax Numeric(8.2) Invoice Tax

InvoiceTotal Numeric(8.2) Invoice Total

Tips para aumentar sua produtividade:

Quando começar a escrever o nome de um novo atributo oprimindo a tecla “ponto” GeneXus escreverá o nome da transação no campo de nome do atributo

Use “CamelCase” para nomear seus atributos, de forma tal que as descrições dos mesmos se infiram automaticamente e façam sentido. Ex.: Pôr “InvoiceTotal”

como nome de atributo, para que se infira automaticamente a descrição “Invoice Total”. Quando estiver posicionado no combo box de tipo de dados (Type), escreva a

letra inicial do tipo de dados apropriado para selecioná-lo. Se for um tipo de dado variável (Character, LongVarChar, Numeric ou VarChar), insira o valor apropriado da dimensão de variável para configurá-lo.

O primeiro atributo de cada nível é definido por defeito como chave primária desse nível, mas é

possível mudar isto clicando direito sobre o atributo e escolhendo a opção Toggle Key (Ctrl+K). Os

atributos de Chave Primária se identificam por uma pequena chave à esquerda de seus nomes

( ). Neste exemplo, InvoiceID é o identificador de primeiro nível, e o atributo ProductID é o

identificador de segundo nível. Isto significa que, para um número de notas fiscal dado

(InvoiceID), o valor do atributo ProductID não se repetirá em linhas diferentes.

2. Movendo o Mouse na área direita da tela irá se desdobrar o menu de propriedades (Properties).

Page 17: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 16

Figura: Janela de Definição do Atributo

3. Expanda a opção Type Definition e configure a propriedade Autonumber do InvoiceID no True. Os programas gerados atribuirão

automaticamente um valor do InvoiceID a cada nova instância da nota fiscal.

Figura: Propriedade Autonumber

4. Salve a nova estrutura da transação oprimindo o botão com

forma de diskette (Save) na barra de ferramentas

Standard. Se esta barra não estiver visível, desdobre-a clicando direito sobre a barra de menu (Opção Edit)

Você acaba de criar a estrutura de uma transação Nota Fiscal

composta de dois níveis:

Um nível básico (Invoice ou Nota Fiscal), no qual se especifica toda a informação necessária para o

Cabeçalho da Nota Fiscal.

Um nível aninhado, no qual se especifica a informação que se irá se repetir em cada linha de nota fiscal.

Observe que não utilizamos um número de linha como chave

primária das linhas de nota fiscal. Esta é uma decisão de

desenho voluntária. Usando o ID de Produto como chave

primária das linhas da nota fiscal, estamos definindo que não

haverá duas linhas na mesma nota fiscal para o mesmo produto.

Figura: Estrutura da nota fiscal

!

Universal Relationship Assumption (URA)

Um elemento chave da Metodologia GeneXus é a hipótese de que atributos com o mesmo nome são o mesmo atributo. Isto se chama Universal Relationship Assumption (URA) e, conforme essa hipótese:

Tudo o que for conceitualmente igual deve ter o mesmo nome.

Os conceitos diferentes NÃO devem ter o mesmo nome.

Page 18: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 17

Isto nos permitirá usar o mesmo atributo em outros objetos GeneXus (outras transações, procedimentos, reportes, etc.) simplesmente fazendo referência a seu nome. GeneXus estabelece as relações (chaves forâneas) entre as tabelas do modelo de dados com base nos nomes dos atributos.

!

Nomenclatura GIK: GeneXus Incremental Knowledge

GIK é uma nomenclatura padrão definida pela Artech no intuito de dotar os atributos de

um nome que transmita seu conceito da forma mais clara possível. Nesta nomenclatura,

o nome de um atributo está formado por 4 componentes. Alguns deles são opcionais:

Objeto + Categoria [+ Qualificador] [+ Complemento]

Objeto: É a entidade real descrita pelo atributo. Geralmente (mas nem sempre) é o

nome da transação na qual um atributo foi definido para poder ser armazenado em uma das tabelas associadas a essa transação (isto significa que não deveria inferir-se nessa transação específica). Exemplos: Nota Fiscal, Cliente, Produto, Linha.

Categoria: É a categoria semântica do atributo. Define o papel que o atributo terá

dentro do objeto e no ambiente da transação. Exemplos: Identificação, Data, Nota Fiscal, Descrição, etc.

O Qualificador e o Complemento são componentes opcionais. Exemplos: Início, Fim,

Mínimo, Máximo, etc.

Page 19: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 18

Passo 5: Definição do Campos Calculados Fórmulas

!

Fórmulas

São atributos que podem se inferir do valor de outros atributos. Um atributo fórmula é

definido da mesma forma que um atributo “normal”, ou seja, tem um nome, um tipo de

dados e uma descrição, além de uma fórmula que define como se calcula.

Salvo especificação contrária, os atributos definidos como fórmulas não são

armazenados na base de dados (são atributos virtuais).

As fórmulas são globais; são válidas em toda a base de conhecimento e não

apenas dentro da transação na qual foram definidas. Isto significa que a fórmula é calculada cada vez que o atributo é invocado de uma transação ou de outros objetos GeneXus (Reportes, Work Panels, etc.)

Variáveis Definidas pelo Usuário. Não podem participar de uma fórmula

porque são locais em relação aos objetos nos quais foram definidas e não têm valor fora deles.

Agora definiremos os seguintes atributos fórmula:

LineTotal=ProductPrice * LineQuantity

InvoiceSubTotal = SUM(LineTotal) InvoiceTaxes= InvoiceSubTotal * 0.11 (ou o número que corresponder) InvoiceTotal = InvoiceSubtotal + InvoiceTax

1. Clique duplo no campo Formula do atributo LineTotal (à direita da descrição do atributo).

2. Escreva o seguinte: “ProductPrice * LineQuantity”. Também é possível clicar no botão sobre o campo da fórmula para abrir o Editor de Fórmula.

3. Repita os Passos 1 e 2 para o resto das fórmulas que aparecem na lista no início desta seção.

4. Clique Save para salvar as novas fórmulas.

Page 20: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 19

Ao finalizar, deveríamos ter a descrição da nota fiscal da forma seguinte:

Figura 1 Transação nota fiscal com fórmulas

Passo 6: Visualização do Modelo de Dados inferido pelo GeneXus

Você pode ver o modelo de dados inferido pelo GeneXus e inclusive modificá-lo.

!

Geração de Modelo de Dados Inteligente

Toda vez que clicar no botão Salvar, GeneXus inferirá o modelo de dados ótimo (3ª. forma normal sem redundâncias) que suporte as entidades do usuário final representadas pelos objetos de sua transação GeneXus. Embasado neste modelo de dados, GeneXus gerará uma base de dados física quando você definir um DBMS objetivo para um modelo.

!

Geração de Modelo de Dados Inteligente

A estrutura dos objetos transação determina as tabelas e índices a serem criados:

Os nomes das tabelas e índices são atribuídos automaticamente pelo GeneXus

pelo nome da transação, mas podem ser modificados se for necessário.

GeneXus infere um modelo de dados em 3ª. forma normal, sem redundâncias.

Não obstante, podem definir-se redundâncias que serão automaticamente gerenciadas pelo GeneXus.

A chave primária da tabela correspondente a uma transação de nível N se obtém concatenando identificadores dos N-1 níveis aninhados previamente com o

identificador de nível N.

Page 21: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 20

1. No menu da esquerda, selecione Tables.

2. GeneXus mostrará a estrutura de dados inferidas a partir da transação.

Figura: Tabela de Nota fiscal

Figura: Tabela de Produtos

O Rol da Base de dados acima mostra que GeneXus inferiu automaticamente um modelo de dados

normalizado, criando duas tabelas para suportar o objeto transação Invoice, Invoice (o cabeçalho da

nota fiscal) e InvoiceProduct (as linhas da nota fiscal), com a seguinte estrutura:

Invoice

InvoiceID

InvoiceDate

CustomerID

CustomerName

InvoceProduct

InvoiceID

ProductID

ProductName

ProductPrice

LineQuantity

Page 22: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 21

Observe que:

A chave primária da tabela InvoceProduct está formada por dois atributos: InvoiceID e

ProductID (a concatenação do identificador de primeiro nível, InvoiceID, com o identificador do segundo nível, ProductID).

GeneXus eliminou automaticamente das tabelas os atributos que se definiram como fórmulas

e os converteu em fórmula globais para poder acessá-las de qualquer lugar dentro da base de conhecimento.

Na tabela Invoice:

o Não pode haver duas notas fiscais com o mesmo InvoiceID.

o Para cada InvoiceID há um único valor do InvoiceDate, CustomerID e CustomerName.

Na tabela InvoceProduct: o Não pode haver duas linhas de nota fiscal com a mesma InvoiceID e ProductID.

o Para cada par do InvoiceID e ProductID há um único valor do ProductName, ProductPrice e LineQuantity.

Passo 7: Visualização dos Formulários do Objeto Transação

Visualize o formulário Web predeterminado que foi gerado automaticamente pelo GeneXus para seu

recém criado objeto transação (deve estar posicionado dentro do objeto Nota fiscal).

!

Formulário Web

Depois de salvar um novo Objeto Transação, o GeneXus cria automaticamente um Formulário Web predeterminado para especificar como o usuário final irá acessar os dados na aplicação. Estes formulários podem ser personalizados pelo analista do negócio

mais tarde.

Para o formulário Web siga os passos seguintes:

1. Selecione a aba WebForm da transação Nota Fiscal.

Page 23: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 22

Figura: Formulário (predeterminado) da Transação Nota fiscal

“Error Viewer: ctlError” é o controle predeterminado onde se desdobram mensagens de erro. Pode se

localizar em qualquer lugar do formulário e configurar-lhe propriedades. As mensagens possíveis são

as que se desdobram no Msg e regras de Erro, e os controles automáticos do GeneXus (quer dizer,

integridade referencial, erros tipo de dados, etc.).

Estes formulários habilitarão os usuários finais a entrar novas notas fiscais que irão se inserir como

novos registros nas tabelas correspondentes. Os usuários também poderão atualizar ou eliminar as

notas fiscais existentes, desde que tiverem os direitos para fazê-lo.

O analista do GeneXus não precisa programar nenhuma destas ações porque estão implícitas na lógica

da transação. GeneXus gerará automaticamente o código nativo correspondente na linguagem

selecionada.

Tenha em conta que ao definir transações GeneXus se está:

Explicitamente: descrevendo a interface de usuário para a apresentação e captura de dados. Implicitamente: desenhando o modelo de dados da aplicação (tabelas, índices, etc.)

Page 24: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 23

Passo 8: Execução de sua Aplicação

!

Geração da BD em 3ª. Forma Normal

GeneXus gera os programas executáveis requeridos para criar sua base de dados no DBMS selecionado com base no modelo de dados inferido.

Quando você está atualizando sua estrutura de dados, GeneXus gera os

programas executáveis requeridos para reorganizar a base de dados; ou seja, cria um novo esquema e converte os dados do velho esquema para o novo.

Nestes casos irá se desdobrar um Reporte de Criação de Base de dados ou um

Reporte de Análise de Impacto respectivamente, que lhe mostrará o que o GeneXus irá fazer.

Neste passo, executaremos a aplicação em .NET usando SQL Server como nosso DBMS. Na versão

comercial você pode usar qualquer um dos DBMS suportados pelo GeneXus. Consulte a lista completa

dos DMBS suportados pelo GeneXus aqui:

http://www.genexus.com/technologies

!

Reporte de Criação de Base de dados: É o reporte que descreve o

esquema da base de dados que GeneXus gerará no DBMS selecionado. Contém toda a

informação sobre o modelo de dados inferido e o esquema de base de dados proposto

para ser gerado. A informação sobre cada tabela está dividida em cinco seções:

Cabeçalho: Contém a nome da tabela, as ações a realizar nele, advertências e erros, Se o modelo de dados contém erros, o botão de Reorganização estará

desabilitado. Estrutura da Tabela: Mostra os atributos da tabela, suas relações e as ações a

realizar sobre eles. Índices: Descreve os índices da tabela que GeneXus usa para manter a

integridade referencial de sua base de dados e para acessar as tabelas eficientemente.

Restrições da Chave Forânea: Descreve as restrições de integridade da

tabela. Statements: Descreve as sentenças que irão se executar.

Page 25: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 24

1. Pressione F5 ou vá através do menu opção BUIL /RUN DEVELOPER MENU.

2. O Ajudante vai guiá-lo na

configuração da BD. Configure o seguinte:

Database name: Demo

Server name: localhost

Use trusted connection: Yes

Clique no botão Finish para continuar.

Figura: Detalhe da Barra de Ferramentas do Modelo

3. GeneXus mostrará o reporte de criação da BD.

Figura: Dialog box para a Criação da Base de dados

4. Clique em CREATE. GeneXus

escreverá o código para a criação

das tabelas e os programas necessários na linguagem selecionada para acessar a BD.

Figura: Output

Page 26: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 25

Passo 9: Teste de sua Aplicação

1. O Menu do

Desenvolvedor é um arquivo XML que inclui todos seus objetos

executáveis. É um menu auxiliar para testar sua aplicação. Clique na opção Invoice.

Figura: Menu do Desenvolvedor

2. Insira algumas instâncias de nota fiscal.

Graças à tecnologia AJAX, as fórmulas se

calculam automaticamente, sem necessidade de recarregar a página inteira.

3. Quando tiver finalizado,

clique no botão Fechar.

Figura: Instância da Transação Invoice

Page 27: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 26

Passo 10: Adicionar Regras do Negócio Regras

Adicionemos um pouco de lógica básica de negócios a sua aplicação.

!

Regras GeneXus

As Regras GeneXus são o meio para definir a lógica do negócio associada a cada objeto. São escritas em forma declarativa e GeneXus decide de maneira inteligente qual regra aplicar e quando aplicá-la.

As regras desempenham um papel muito importante nos objetos transação porque

permitem programar seu comportamento (por exemplo: atribuindo valores

predeterminados, definindo controles de dados, etc.).

Podem envolver atributos definidos na estrutura da transação, bem como

variáveis e funções.

As Regras são programadas em forma declarativa, isto é, a ordem na qual se escrevem não é necessariamente a ordem na qual vão ser executadas. A ordem

de execução adequada é automaticamente determinada pelo GeneXus.

São válidas unicamente na transação em que foram definidas. Por isso falamos que são locais.

Agora iremos adicionar uma regra simples que configura por defeito a Data da Nota fiscal como a data

do dia de hoje:

1. Selecione a aba Regras da transação Invoice. 2. Utilizaremos a regra Default que atribui um valor predeterminado a um atributo ou variável.

3. Complete a fórmula do modo seguinte: Default(InvoiceDate, &today);o que indica que o

valor predeterminado da Data da nota fiscal será a data do dia de hoje1.

4. Clique no botão de salvar.

1 Tenha em conta que você poderá também usar as opções Inserir / Atributo e Inserir / Fórmula do menu Inserir para completar a regra.

Page 28: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 27

Figura: Regra da Transação

Eis outra regra simples que estabelece uma mensagem de erro se a quantidade de produtos inserida

for nula:

5. Adicione a seguinte regra: Error("The product cannot be empty") if LineQuantity.IsEmpty();

6. Clique no botão de salvar.

Figura: Declaração de regras

7. Teste as regras inseridas, executando a aplicação (F5).

Figura: Execução da aplicação

Page 29: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 28

Passo 11: Criação do Objeto Transação Cliente

Os clientes são conceitos que correspondem a entidades independentes da nota fiscal, portanto

corresponde que seja definidos como um transação em si mesma.

1. Crie o objeto Transação Cliente seguindo o Passo 2: Criação de um Objeto Transação e o Passo 3: Descrever a Estrutura da Transação.

2. Adicione os seguintes atributos à Estrutura Cliente:

ATRIBUTO TIPO DESCRIÇÃO

CustomerID --------- --------------------

CustomerName --------- --------------------

CustomerAddress Character(50) Customer Address

CustomerEmail Character(50) Customer Email

Observe que quando começa a escrever os atributos CustomerID e CustomerName, GeneXus lhe

indica o nome completo do atributo e seu tipo e descrição. Isto acontece porque estes atributos já

estão definidos em sua base de dados.

3. Pressione o botão direito do mouse sobre o

atributo CustomerID e selecione Propriedades.

4. Dentro do Type Definition configure a propriedade Autonumber do CustomerID como True. Desta forma, os programas gerados atribuirão automaticamente um valor CustomerID a cada nova instância de Cliente.

5. Ative o suggest para o código do cliente, posicionando-se sobre as propriedades do Customer ID, dentro da opção InputType, definir Description e adicionar como ItemDescription: CustomerName.

Assim, em vez de inserir o ID de um cliente

para identificá-lo, poderemos inserir seu

nome e a aplicação automaticamente inferirá

seu ID. A propriedade suggest lhe sugerirá

todos os nomes de clientes que concordem

com o nome inserido pelo usuário. Estas

Figura: Janela de propriedades

Page 30: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 29

propriedades são parte da implementação do

AJAX que o GeneXus faz automaticamente.

O Formulário Web da transação Cliente será visto como exibe a seguinte figura.

Figura: Estrutura da transação Cliente

Figura: Formulário Web da transação Cliente

Observe (a seguir) que o Formulário Web da Nota fiscal também mudou, refletindo as mudanças nas

propriedades do atributo CustomerID: o atributo CustomerName é agora o da descrição do atributo

CustomerID. Isto melhorará notavelmente a Usabilidade da aplicação como veremos rapidamente!

Figura: Formulário Web da transação Nota fiscal

Page 31: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 30

Passo 12: Revisão das Mudanças efetuadas ao Modelo de Dados

Pressione a tecla F5. Isto gerará um Reporte de Análise de Impacto.

!

Análise de Impacto

Descreve as mudanças físicas que deverão se realizar para atualizar o novo modelo de dados inferido pelo GeneXus.

Comprovará que GeneXus normalizou automaticamente seu modelo de dados depois de ter incluído a

nova transação.

Mostra-nos que a tabela Invoice será afetada, eliminando o atributo CustomerName da tabela Invoice

já que o mesmo pode ser inferido através do CustomerID.

Aparece uma nova tabela, Customer:

NO

TE

Em warning de especificação refere–se a que pode haver valores duplicados de clientes na tabela Invoice que ao serem normalizados, pode afetar. Também se mostra outro warning indicando que os registros que irão se criar têm valor nulo nas tabelas.

Page 32: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 31

Figura: Lista da Base de dados (Modelo de Dados)

Observe que:

GeneXus adicionou uma nova tabela: a tabela Customer (associada à transação Customer).

O atributo CustomerName eliminou-se da tabela Invoice (este atributo está armazenado unicamente na tabela Cliente), deixando a base de dados normalizada.

Na tabela Customer: o Não pode haver dois clientes com o mesmo CustomerID. o Por cada CustomerID há um único valor do CustomerName, CustomerAddress e

CustomerEmail. Na tabela Invoice:

o Não pode haver duas notas fiscais com o mesmo InvoiceID. o O atributo CustomerID na tabela Invoice é uma chave forânea tirada da tabela Cliente.

portanto, existe uma relação de um a muitos entre Clientes e notas fiscais: Por cada InvoiceID existe unicamente um CustomerID. Cada CustomerID pode ter muitas notas fiscais (InvoiceID).

Page 33: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 32

Passo 13: Visualização do Reporte de Especificação

Já está preparado para proceder com a reorganização da BD. Selecione a opção REORGANIZE. Os

programas de reorganização criam um novo esquema de base de dados na base de dados física do

modelo objetivo e transportam os dados do esquema velho para o novo.

Executada a reorganização, o GeneXus desdobra um Reporte de Especificação composto por uma

série de Reportes de Navegação, um para cada programa que irá gerar.

!

Reporte de Especificação

Descreve como se executará o programa, quais tabelas acessará (e como) e quais operações realizará.

Figura: Reporte de Navegação de Transação do Customer

“Referential Integrity controls on delete” (Controles de integridade referencial ao excluir) significa

que quando você exclui um cliente da transação Cliente, o programa verificará que não existam

notas fiscais para esse cliente. Para realizar esta busca com eficiência, usa-se o índice de fora

CustomerID da tabela Nota fiscal.

Page 34: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 33

Figura: Reporte de Navegação da transação Invoice

Integridade Referencial na transação Nota fiscal: A chave forânea CustomerID no nível INVOICE significa

que quando você insere ou atualiza uma nota fiscal usando a Transação INVOICE automaticamente se

controlará se o valor inserido na chave forânea CustomerID já existe como chave primária de um registro na

tabela Cliente. Para realizar esta busca com eficiência, usa-se o índice primário CustomerID da tabela

Cliente.

O controle de integridade referencial valida que um atributo inserido (por exemplo, CustomerID em uma

Nota fiscal) é válido, mas não proporciona informação sobre quais são os valores válidos. Para facilitar a

busca dos valores válidos, GeneXus cria objetos Lista de Seleção (prompts) que mostram o grupo completo

de valores válidos para escolher os que correspondam.

Page 35: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 34

Passo 14: Criação dos Formulários Atraentes Temas

Nesta seção criará um novo Tema baseado em um modelo predefinido e o configurará como o Tema

de sua aplicação.

!

Objeto Tema

O objeto GeneXus Tema melhora o desenvolvimento e manutenção das aplicações Web

separando as tarefas do analista do negócio das do desenhador Web.

Criam-se Formulários Web baseados num Objeto Tema predeterminado.

Você pode criar novos Temas e associá-los à totalidade de sua Base de Conhecimento ou a objetos específicos dentro dela.

1. No menu da esquerda, dentro do menu Customization selecione a opção

Themes (clicando duplo). 2. Abra a formulário GeneXusX 3. Mude a cor de fundo dos Forms

selecionando Form e depois editando

as propriedades à direita. Para mudar a

cor de fundo deve selecionar a opção BACKGROUNDCOLOR

4. Salve as mudanças realizadas

pressionando o botão de gravar ( )

Figura: GeneXus Theme Editor

5. Se voltar a abrir o objeto INVOICE na aba da Web Form verá refletidos as mudanças realizadas.

Nota: para ver a mudanças, caso não o consiga, deverá fechar e abrir a transação se ela estava previamente aberta.

Figura: Formulário Web da transação Invoice com o novo Tema

Page 36: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 35

PARTE 3: Manutenção

Tempo estimado: 15 minutos

Desenvolvimento Incremental e Manutenção da Aplicação

Até o momento criamos uma aplicação de trabalho baseada em alguns objetos transação e regras do

negócio. Agora veremos como manter uma aplicação GeneXus simplesmente editando os objetos

GeneXus existentes e/ou adicionando novos e depois atualizando sua base de dados e regenerando os

programas da aplicação em forma automática.

!

Desenvolvimento Incremental com o GeneXus

À medida que a realidade muda, os requerimentos do sistema evoluem e isto se traduz em mudanças nos objetos GeneXus e/ou novos objetos. Com base nos novos objetos, GeneXus atualizará sua base de dados automaticamente (criando um novo esquema de base de dados e migrando os dados do velho esquema para o novo) e regenerará os

programas da aplicação que devam ser modificados. Falamos que a Metodologia GeneXus é incremental porque se baseia no pressuposto de que o desenvolvimento do sistema é um processo iterativo que acontece em sucessivas aproximações. O desenvolvimento incremental é possível porque GeneXus pode manter o esquema de sua base de dados e os programas de sua aplicação automaticamente.

Passo 15: Inclusão de Novos Objetos: Transação Produto

Ao provar a aplicação, certamente terá notado que deve inserir a Identificação, Descrição e Preço de

Produto em cada linha da nota fiscal. Isto não é o que esperaria de um sistema de gestão de vendas.

E nem sequer de um sistema simples como esta aplicação de exemplo!

Devemos contar com a possibilidade de adicionar, atualizar e eliminar produtos de nosso sistema.

Para fazê-lo, adicionaremos o transação Produto em nossa Base de Conhecimento:

Page 37: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 36

1. Crie a transação Produto seguindo o Passo 3: e o Passo 4: . Insira os seguintes atributos na Estrutura da transação Produto:

ATRIBUTO TIPO DESCRIÇÃO

ProductID --------- --------------------

ProductName --------- --------------------

ProductPrice --------- --------------------

Notará que assim que começar a escrever estes nomes de atributo, o GeneXus lhe indicará o

nome completo. Isto acontece porque estes atributos já estão definidos em sua Base de

Conhecimento.

A estrutura (Structure) da transação Product e seu Formulário Web irão se ver da seguinte forma.

Figura: Estrutura da transação Product

Figura: Formulário Web da transação Produto

Page 38: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 37

Passo 16: Análise e reorganização da BD

Quando você salvar seu objeto Transação Product, GeneXus normalizará o modelo de dados

novamente. A revisão do modelo de dados revela que GeneXus normalizou automaticamente o

modelo de dados movendo os atributos ProductName e ProductPrice da tabela InvoiceProduct (Detalhe

de Nota fiscal) para a nova tabela Produto.

Figura: Lista de Base de dados (Modelo de Dados) para o InvoiceProduct e tabelas Produto

1. Selecione Reorganize.

2. GeneXus realizará a reorganização da BD e especificará as mudanças

necessárias sobre os programas de aplicação

Figura: Dialog box para a Execução da Reorganização e Especificação

Page 39: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 38

3. Chegou a hora de executar sua

aplicação!

Figura: Execução de sua aplicação

Page 40: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 39

PARTE 4: Adicionando funcionalidade

Tempo estimado: 10 minutos.

Utilização de Padrões no desenvolvimento Tivemos a possibilidade de testar nossa aplicação e comprovar como inserir dados através das

transações. Seria conveniente ter uma visão mais general da informação, não apenas de inserir,

apagar e modificar Clientes, notas fiscais ou Produtos, mas também filtrá-los por algum critério em

particular, ordená-los, etc. Para implementar esta funcionalidade em forma rápida e simples, utilizam-

se os Patterns.

!

Patterns ou Padrões

São ações similares aplicadas a diferentes elementos. Os padrões permitem criar

automaticamente todos os objetos necessários para cumprir a funcionalidade

especificada, evitando ter que fazê-lo manualmente.

Passo 17: Aplicar um pattern

Aplicaremos o padrão “Work With” sobre as transações criadas.

1. Através do menu View, selecione a

opção Work with Objetcs.

2. Selecionar as transações Customer, Invoice e Products.

Figura 2 Diálogo para a Seleção de Transações

Page 41: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 40

3. Sobre as transações selecionados

clique direito, opção Apply Pattern, Work With.

4. Grave as mudanças.

5. Pressione F5 para executar a

aplicação. Observamos que já não temos acesso às transações. O que temos é um acesso a nosso “Trabalhar

com” Customer, Invoice e Product.

Figura: Seleção do TRN

6. Execute a aplicação

O pattern adicionou a seguinte funcionalidade:

Filtro por data, sem necessidade de refrescar a aplicação.

Pode-se ordenar pelas colunas clicando no cabeçalho das

mesmas.

Pode-se paginar a grade. Clicando em um link vamos ao

view de um objeto, onde se mostram os dados relacionados.

Guarda o histórico com os links visitados.

Figura: Execução da aplicação

Page 42: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 41

PARTE 5: Diálogos interativos

Tempo estimado: 15 minutos

Desenho de Consultas e Diálogos Interativos (Web Panels)

!

Web Panels

Os Web Panels são usados para fazer diálogos e consultas interativos à base de dados

em ambientes Web. Permitem implementar diferentes tipos de consultas e visualizar os

dados de formas bem diversas.

Os Web Panels são programados usando uma linguagem simples dirigida por eventos.

Passo 18: Criação de um Web Panel: Nota fiscal por cliente.

Vamos criar um Web Panel que nos permita ver para cada cliente as Notas fiscais que tem associadas.

Para isso siga os passos seguintes:

1. No menu Objeto, clique em

Novo Objeto.

2. Selecione o Tipo de Objeto que deseja criar: Web

Panel.

3. Dê ao Objeto o nome: “InvoicesPerCustomer”

4. Clique em OK.

Figura: Dialog box para Definir Objeto

Page 43: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 42

5. Aparecerá o Formulário

vazio do Web Panel. No menu View, selecione Other Tool Windows, opção Toolbox. Arrastar um controle Free Style Grid.

6. Expanda a grade.

7. Localizados dentro da grade, selecione a opção Insert, Attribute.

8. Selecione o atributo CustomerName e clique em OK.

Figura: Janela do Seletor do Free Style Grid

Figura: Web Panel

Page 44: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 43

9. Queremos adicionar as notas fiscais

correspondentes por cliente. Para isso, insira uma grade, e selecione os atributos InvoiceIO, InvoiceDate, InvoiceTotal. O GeneXus encontra a relação entre as

tabelas de maneira tal de arrolar as notas fiscais por cada Cliente.

10. Na janela Arrange Columns (Arrumar Colunas) clique em OK.

11. Gravar as mudanças oprimindo o diskette.

12. Executar pressionando F5.

Figura: Janela Insert Grid

Figura: Janela Web Panel com Grid

Figura: Execução da Aplicação

Page 45: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 44

Passo 19: Execução do Web Panel modificando a instância do Pattern

Vamos modificar a instância Pattern “Trabalhar com Clientes” na transação Customer de forma tal a poder acessar o Web Panel “InvoicesPerCustomer”.

1. Abrir a Transação Customer e vamos ao Pattern

pressionando o botão Work With.

Figura: Transação Customer

2. Vamos adicionar uma

ação a esta instância do Pattern e vamos associá-la a um botão fora da grade convocando o Web Panel “Nota fiscal por Cliente”.

3. Posicionar o botão direito sobre a opção Selection (Work With Customers) e escolher a opção ADD, Actions.

Figura: Trabalhar com Clientes

4. Adicionar uma nova

ação (botão direito sobre a opção Action,

Add, Action)

Page 46: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 45

5. Editamos suas

propriedades pressionando F4.

6. Como Name

colocamos ViewInvoicesPer Customer, como

Caption também e no GXObject selecionamos o Web Panel InvoicesPerCustomer.

7. Salvamos as mudanças

8. Executamos a

aplicação pressionando F5.

9. Em execução,

selecionar a opção Work with Customers para ver o botão que invoca o Web panel

criado.

Figura: Modificação da instância do Pattern

Figura: Seleção de Objetos

Figura: Execução da Aplicação

Page 47: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 46

PARTE 6: Enriquecendo a aplicação

Tempo estimado: 15 minutos

Controles de usuários

!

User Controls

São controles Web que podem ser inseridos no form de qualquer objeto Web do GeneXus e que vão aumentar notoriamente a funcionalidade e aparência de nossa aplicação. além dos user controls padrões providos (Chart, Image Galery, Map, Treeview), GeneXus nos provê de um Editor do User Controls através do qual poderemos

modificar os user controls já existentes e criar nossos próprios user controls e incorporá-los ao GeneXus.

Nosso objetivo será representar em forma gráfica as vendas por produto. Para cumprir este

requerimento vamos usar o User Control Chart.

Passo 20: Implementação de um User Control

1. Criar um novo objeto do tipo Web Panel que chamaremos SalesxProd.

Figura: Web Panel VentasxPrd

Page 48: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 47

2. Ative o Menu Toolbox, através do Menu View, Other Tool Windows,Toolbox

3. Arraste o user control Chart para a Web Panel

Figura: Chart

4. Na aba Events, apague o código gerado e

transcreva o seguinte:

Figura: Eventos

Page 49: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 48

5. Grave o Web Panel

6. Execute a aplicação pressionando F5.

Figura: Execução da Aplicação

PARABÉNS!

Você criou com sucesso primeira aplicação com o GeneXus.

Nosso próximo passo é oferecer-lhe maior informação sobre as coisas que podem ser feitas com o

GeneXus.

Page 50: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 49

PARTE 7: Procedimentos

Tempo estimado: 15 minutos

Desenho de Processos Não Interativos (Procedimentos)

!

Procedimentos

Até o momento trabalhamos com os Objetos Transação que são objetos GeneXus que requerem a intervenção do usuário para inserir, atualizar e eliminar registros na base de dados. Não obstante, muitas vezes precisamos realizar tarefas sem a intervenção do usuário. Para isso, usamos outro tipo de Objetos GeneXus:

Procedimentos: Definem processos não interativos para consultar e atualizar a

base de dados. Os procedimentos são usados para definir funções e sub-rotinas. Uma funcionalidade chave dos Procedimentos GeneXus é que com eles usamos a mesma

metodologia baseada no conhecimento que usamos para definir os Objetos Transação. Isto significa que a definição destes objetos baseia-se em nomes de atributos e não nas

tabelas da base de dados onde os atributos são armazenados. Portanto, a definição de seus Procedimentos permanece válida desde que os atributos declarados dentro dos mesmos estejam presentes na Base de Conhecimento.

Em nosso exemplo criaremos um Reporte simples (que mostre todos os dados de uma nota fiscal).

!

Características dos Procedimentos

Processo de alto nível: Os Procedimentos especificam-se em um processo de

muito alto nível. A seqüência de execução é determinada pelo analista usando uma linguagem de processo simples que inclui controle, impressão, acesso a dados e outros comandos.

Baseados em Conhecimento: O código fonte dos Procedimentos refere-se a

nomes de atributos na Base de Conhecimento, não a sua localização na base de

dados física (do Modelo de Protótipo ou Produção). Portanto: o O GeneXus sabe onde encontrar os atributos na base de dados física. o O GeneXus conhece as relações entre as tabelas na base de dados física. o Os Atributos Fórmula são inferidos automaticamente pelo GeneXus.

As mudanças na base de dados física não afetam o comportamento dos Procedimentos

Page 51: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 50

Nosso objetivo será criar um procedimento que arrole todos nossos clientes junto a seu total e outro

que permita modificar em 10% os preços vigentes.

Passo 21: Implementação de um Procedimento para impressão

1. Criar um novo objeto do tipo Procedimento chamado CustomerReport

Figura: Procedimento CustomerReport

2. Dentro da aba Source insira o seguinte código:

For each

&Total=SUM(InvoiceTotal)

Print printBlock1

Endfor

Figura: Source do Procedimento CustomerReport 3. Ir à aba de Layout. Inserir o atributo

Customer Name (para isso vá à opção Insert/Attribute).

Page 52: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 51

Figura: Layout do procedimento 4. Insira uma variável chamada Total, do tipo numérica de 6 dígitos.

Figura: Inserção de variáveis 5. Utilizando o Toolbox você pode botar desenho em seu reporte (inserir Labels, Linhas, etc.). Por exemplo, com o botão direito

sobre o PrintBlock1 insira outro PrintBlock e adicione os títulos correspondentes (CLIENTE e TOTAL) utilizando a opção Label do Toolbox. Depois, mova o PrintBlock2 para cima, utilizando a opção que se desdobrar ao pressionar o botão direito do mouse.

Deverá adicionar no Source o seguinte código:

6. Grave o procedimento.

Figura: Layout do Procedimento

Page 53: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 52

7. Nas propriedades do procedimento que se

desdobram a sua direita, defina a propriedade Main Program como TRUE e Call Protocol no HTTP.

Figura: Propriedades do procedimento 8. Na aba de Regras insira a seguinte sentença para definir o nome e tipo de arquivo:

Output_file('Customers.PDF','PDF');

Figura: Regras do Procedimento 9. Para chamar este procedimento que imprime os totais por cliente deveremos inserir um botão na transação de notas fiscais. Para isso, abra o objeto INVOICE. Dentro da aba Web, abra o Tollbox e arraste um botão dentro da transação.

Figura: Transação de notas fiscais

Page 54: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 53

10. Edite as propriedades clicando direito

sobre o botão inserido. No Caption insira Imprimir, no On clic Event define New, defina Imprimir.

Figura: Propriedades da transação 11. Na aba de Eventos adicione o seguinte código:

Event 'Imprimir'

CustomerReport.Call

EndEvent

Figura: Eventos da transação 12. Salve e execute pressionando F5. Insira

uma nova nota fiscal para testar a nova funcionalidade inserida.

Figura: Execução da Aplicação

Page 55: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 54

Passo 22: Implementação de um Procedimento para atualização

Agora realizaremos um procedimento que permita modificar em 10%.os preços vigentes

1. Criar um novo objeto do tipo Procedimento chamado Discount_of_prices.

Figura: Procedimento Atualização de preços

2. Na aba de Source adicione o seguinte código:

For each

ProductPrice =

ProductPrice+ProductPrice*0.10

Endfor

Figura: Source do Procedimento 3. Grave o procedimento criado.

4. Para chamar este procedimento, criaremos um Web Panel. O Web Panel será nomeado Control_Panel.

Page 56: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 55

Figura: Web Panel Control_Panel 5. Na aba da Web Form insira um Button (do

menu Toolbox)

Figura: Web Form 6. Edite as propriedades do botão clicando

direito sobre o botão inserido. No caption insira “Modificar preços”.

7. Posicionado sobre o botão, clique direito para

Editar o Evento (opção Go to Event). No evento deverá realizar a chamada ao procedimento:

Event Enter

Discount_of_prices.call()

EndEvent

Figura: Evento 8. Grave o Web Panel e execute pressionando

F5.

Figura: Execução da aplicação

Page 57: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 56

PARTE 8: Multiplataforma

Tempo estimado: 5 minutos

Desenvolvimento Multiplataforma

GeneXus é uma ferramenta que permite gerar aplicações de missão crítica em múltiplas plataformas.

Uma vez que gerou e executou uma aplicação em um desses ambientes, gerar e executar a mesma

aplicação em outro ambiente é tão simples quanto definir um novo ambiente.

A GeneXus Trial Version oferece unicamente o gerador GeneXus .NET. No entanto, a versão completa

do GeneXus suporta as plataformas líderes do mercado. Visite http://www.genexus.com/technologies

para obter uma lista completa das tecnologias suportadas pelo GeneXus.

Page 58: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 57

Resumo

Esperamos que este tutorial lhe tenha permitido experimentar as funcionalidades e benefícios chaves

do GeneXus:

Desenho de Aplicações baseado em Conhecimento

Começamos por criar uma Base de Conhecimento e descrever os requerimentos de dados de nossa

aplicação como uma série de componentes do negócio chamados Objetos Transação no Modelo de

Desenho da Base de Conhecimento. GeneXus usou esta informação para inferir o modelo de dados

ótimo (3ª. forma normal) requerido para suportar todas suas Transações. Também adicionamos

algumas regras do negócio nas que GeneXus se baseou para gerar o código da lógica do negócio da

aplicação.

Geração Automática da Base de dados

Escolhemos uma plataforma de execução específica (Web, linguagem de programação, DBMS, etc.) e

criamos um Modelo no qual GeneXus gerou automaticamente uma base de dados física com o modelo

de dados do Modelo de Desenho.

Geração Automática de Código e Protótipo Completamente Funcional

Geramos o código fonte para os programas de nossa aplicação e testamos a aplicação no ambiente de

protótipo.

Manutenção da Aplicação

Vimos como é simples manter/expandir uma aplicação, simplesmente editando os objetos GeneXus

existentes e/ou adicionando novos, e depois GeneXus atualiza a base de dados e regenera os

programas da aplicação em forma automática.

Desenho de Processos Não Interativo

Proporcionamos uma visão geral sobre o que são os procedimentos independentemente da estrutura

da base de dados da aplicação.

Desenvolvimento Multiplataforma

Finalmente, descrevemos como migrar facilmente sua aplicação GeneXus de um ambiente para outro.

Page 59: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 58

FAQ

Question

GeneXus gera 100% do código?

Sim, GeneXus desenha, gera e mantém a base de dados e o código da aplicação.

Question

O código gerado usa runtimes?

Não. GeneXus gera código nativo na plataforma selecionada e não requer runtimes.

Question

É possível utilizar estruturas de dados já existentes?

Sim, no GeneXus existe uma ferramenta (DBRET: Data Base Reverse Engineering) que permite

acessar BD existentes em distintas tecnologias.

Question

É possível tocar o código gerado?

Sim, embora não é recomendável visto que se perdem os benefícios de manutenção automática e

independência da tecnologia. Em caso de querer utilizar código já existente, é possível fazer chamadas

dentro do GeneXus sem necessidade de modificar o código gerado.

Question

Posso integrar controles (flash/Silverlight/JavaScript) em uma aplicação?

Sim, GeneXus permite integrar diferentes tipos de controles. Veja mais em

http://gallery.genexus.com/catalog.aspx?3 e em

http://wiki.gxtechnical.com/commwiki/servlet/hwiki?category%3AUser+Controls,

Page 60: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 59

Question

Qual é o conceito de Tabela Estendida?

Dada uma tabela base, sua tabela estendida é o grupo de atributos que são direta ou

indiretamente determinados pela chave da tabela base:

Atributos que pertencem à tabela base.

Atributos que pertencem a todas as tabelas que estão direta ou indiretamente relacionadas em uma relação N a 1 com a tabela base.

Usos:

O conceito de tabela estendida permite que os reportes e procedimentos GeneXus

permaneçam válidos quando a estrutura da base de dados muda.

A tabela estendida também é também usada pelos objetos transação que podem inserir,

atualizar e eliminar atributos que pertencem às tabelas estendidas das tabelas base referenciadas na estrutura da transação.

Para encontrar a tabela estendida de uma tabela dada é possível usar o Diagrama de Bachmann do

modelo de dados da base de conhecimento:

1. Sobre a opção Objects, crie um novo objeto do tipo Diagrams

2. Selecione as tabelas que deseja desdobrar e arraste-as.

Figura 3 Diagrama de Bachmann do Modelo de Dados

Neste exemplo, podemos identificar a tabela estendida de cada uma das tabelas de nosso projeto:

Tabela Base Tabela Estendida

Customer Customer

Invoice Invoice, Customer

InvoiceProduct InvoiceProduct, Invoice, Customer

Page 61: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 60

Question

Qual é o conceito de For Each?

O comando “For Each” é o coração da linguagem de procedimentos usado pelo GeneXus para definir

reportes e procedimentos. Recupera e atualiza informação (mediante procedimentos online) a partir

de sua base de dados.

Com o comando For Each você pode definir a informação que deseja acessar e nomear os atributos

que deseja usar. GeneXus inferirá automaticamente as tabelas apropriadas em tempo de geração.

Quando a estrutura da base de dados mudar, as definições do For Each permanecerão válidas.

A sintaxe básica do For Each é a seguinte:

for each

print <something>

endfor

Cada comando For Each tem uma tabela de modelo de dados associada que será navegada. Está

composto da tabela base do For Each e sua tabela estendida (as tabelas de que GeneXus

necessita para procurar os atributos mencionados no comando).

As tabelas que serão acessadas são determinadas pelos atributos contidos no comando For Each.

Para este grupo de atributos, GeneXus inferirá a mínima tabela estendida.

A tabela base deste grupo de atributos será a tabela base do For Each

Page 62: GeneXus X: Quick Start - gxtechnical.com · GeneXus, assim como os nomes e logotipos GeneXus, GXflow, GXplorer, GXportal, GXquery e Artech como qualquer outra marca comercial (trademark)

GeneXus X: Quick Start

Página 61

Contatos e Recursos

A Comunidade GeneXus

A Comunidade GeneXus lhe oferece diversas formas de obter respostas a suas perguntas e soluções a

seus problemas, bem como também oportunidades para compartilhar suas próprias experiências.

Encontrará uma lista completa dos recursos disponíveis da Comunidade em

http://www.genexus.com/community/

Suporte A Artech oferece uma ampla variedade de serviços e recursos de suporte:

Suporte Auto-Serviço Online Estes recursos estão disponíveis para todos online. No entanto, a informação que cada um possa

acessar depende de seu Nível de Acesso ao GXtechnical (Usuário Registrado ou Cliente).

Serviços de Suporte Interativo Interatue com outros membros da Comunidade ou com a Equipe de Suporte.

Visite http://www.genexus.com/support/

Se você mora nos Estados Unidos ou Canadá pode nos enviar suas perguntas a

[email protected]

Como Comprar As Tecnologias GeneXus são vendidas através da rede de distribuidores no mundo todo.

Encontre seu distribuidor mais próximo aqui http://www.genexus.com/distributors

Ou entre em contato com [email protected]

Links recomendados

Web site: http://www.genexus.com

GeneXus X Basic Course: http://www.gxtechnical.com/basiccourse/ Laboratório prático do GeneXus X e Livro online: www.genexusx.com/aprenda Comunidade GeneXus: http://www.genexus.com/community