Escolar Documentos
Profissional Documentos
Cultura Documentos
Copyright ARTech Consultores S. R. L. 1988-2012. Todos os direitos reservados. Fica totalmente proibida a reproduo deste documento, por qualquer meio, sem autorizao expressa da Artech Consultores SRL. A informao contida neste documento exclusivamente para uso pessoal.
Marcas Registradas Artech e Genexus so marcas ou marcas registradas da Artech Consultores SRL. Todas as outras marcas citadas neste trabalho pertencem a seus respectivos donos.
Pgina 1
GeneXus Trial: Tutorial ndice Introduo ........................................................................................................................................................................... 3 GeneXus Trial ...................................................................................................................................................................... 3 Restries Funcionais............................................................................................................................................................... 3 Restries de Licena ............................................................................................................................................................... 3 Restries de Servidor de prototipao .................................................................................................................................. 3 License Agreement .................................................................................................................................................................. 3 Suporte Tcnico ....................................................................................................................................................................... 4 Instalao e Autorizao ...................................................................................................................................................... 4 Installation Requirements........................................................................................................................................................ 4 Requerimentos de Instalao .................................................................................................................................................. 4 Requerimentos do Gerador .NET ............................................................................................................................................. 5 Requerimentos do Gerador Smart Devices ............................................................................................................................. 5 Autorizao .............................................................................................................................................................................. 6 PRIMEIROS PASSOS: Tutorial passo a passo ......................................................................................................................... 9 Simbologia utilizada ................................................................................................................................................................. 9 PARTE 1: Descobrindo o GeneXus ...................................................................................................................................... 10 O que o GeneXus? ............................................................................................................................................................... 10 PARTE 2: Sua primeira aplicao ........................................................................................................................................ 10 Desenho de aplicaes baseado no conhecimento ............................................................................................................... 10 Passo 0: Caso de estudo .................................................................................................................................................... 10 Passo 1: Entorno de desenvolvimento .............................................................................................................................. 11 Passo 2: Criao de uma Base de Conhecimento e definio do Environment ................................................................. 12 Passo 3: Criao de um Objeto Transao ......................................................................................................................... 13 Passo 4: Descrio da Estrutura da Transao (Structure) ................................................................................................ 14 Passo 5: Definio do Campos Calculados Frmulas ..................................................................................................... 17 Passo 6: Visualizao do Modelo de Dados inferido pelo GeneXus .................................................................................. 18 Passo 7: Visualizao dos Formulrios do Objeto Transao ............................................................................................ 19 Passo 8: Execuo de sua Aplicao .................................................................................................................................. 20 Passo 9: Teste de sua Aplicao ......................................................................................................................................... 22 Passo 10: Adicionar Regras do Negcio Regras ............................................................................................................. 23 Passo 11: Criao do Objeto Transao Cliente ................................................................................................................. 25 Passo 12: Reviso das Mudanas efetuadas ao Modelo de Dados .................................................................................... 27 Passo 13: Visualizao do Reporte de Especificao ......................................................................................................... 30 3: Gerando a partir de padres de desenvolvimento ......................................................................................................... 31 Passo 14: Pattern para Aplicaes Web ............................................................................................................................ 31 Passo 15: Pattern para Aplicaes Smart Devices ............................................................................................................. 33 Resumo ............................................................................................................................................................................. 41 Contatos e Recursos .......................................................................................................................................................... 42 A Comunidade GeneXus ........................................................................................................................................................ 42 Suporte .................................................................................................................................................................................. 42 Como Comprar ....................................................................................................................................................................... 42 Links recomendados .......................................................................................................................................................... 42
Pgina 2
INTRODUO
O objetivo deste documento ajud-lo a descobrir o potencial da metodologia de desenvolvimento baseada no conhecimento proposta pelo GeneXus atravs de suas principais funcionalidades:
Desenho automtico de modelo de dados Gerao automtica de cdigo Manuteno automtica de base de dados e cdigo Desenvolvimento e instalao multiplataforma
GENEXUS TRIAL
RESTRIES FUNCIONAIS
A GeneXus Trial Version completamente funcional e o gerador disponvel (.NET - Smart Devices) autorizado mediante uma nica Site Key (com validade at 60 dias aps sua ativao). Entretanto, aplicam-se algumas restries a respeito do nmero mximo de objetos e atributos GeneXus que possvel criar para uma Base de Conhecimento dada:
RESTRIES DE LICENA
Sua instalao local e para um nico usurio.
LICENSE AGREEMENT
Condies de Uso da Licena de Propriedade Intelectual GeneXus Trial
1. O presente acordo refere-se licena da propriedade intelectual de exemplares de GeneXus Trial, criao inteligente baseada em conhecimento, que projeta, gera e mantm automaticamente bancos de dados e aplicativos. 2. Artech Consultores S.R.L. (doravante Artech) declara e o USURIO reconhece que a criao intelectual GeneXus, bem como os nomes e logotipos GeneXus, GXflow, GXportal, GXquery e Artech ou qualquer outra marca comercial (trademark) de Artech em conexo com GeneXus, independente do fato de estarem registrados ou no, so propriedades da Artech. Esse convnio no implica em nenhuma transferncia direta ou indireta dessa propriedade e no habilita o USURIO a transferir as licenas objeto do presente documento. 3. O USURIO compromete-se a utilizar GeneXus Trial sem divulgar nem usar em proveito prprio qualquer das ideias e tcnicas estruturais de GeneXus. Em particular, proibi-se a utilizao de procedimentos de engenharia inversa para interpretar seu cdigo ou facilitar que outros o faam. 4. Em nenhum caso, o USURIO poder duplicar ou desativar os mecanismos de proteo contra uso no autorizado de GeneXus. A Artech reserva-se o direito de mudar em qualquer momento esses mecanismos e/ou adicionar outros novos. 5. Observando as bases gerais, Artech licencia o USURIO ferramenta GeneXus Trial sob as seguintes condies: a) Cada exemplar licenciado poder funcionar em um microcomputador separado. O USURIO compromete-se a no utilizar nenhum deles em mais de um microcomputador simultaneamente. b) A licena no exclusiva, e intransfervel.
Pgina 3
SUPORTE TCNICO
Se precisar ajuda para a instalao e autorizao de sua verso trial, entre em contato com: gxtrial@genexus.com Se estiver nos Estados Unidos ou no Canad poder enviar consultas de suporte a: gxtrial.usa@genexus.com Para saber mais sobre os diversos servios e recursos de http://www.genexus.com/support e http://www.genexus.com/training suporte tcnico e capacitao do GeneXus visite:
Por informao adicional, entre em contato com seu distribuidor local: http://www.genexus.com/distributors ou escreva-nos a info@genexus.com
INSTALAO E AUTORIZAO
INSTALLATION REQUIREMENTS REQUERIMENTOS DE INSTALAO
GeneXus Trial inclui os seguintes produtos:
Modelador GeneXus
um ambiente integrado de desenvolvimento (Integrated Development Environment ou IDE) para o desenho, desenvolvimento, e manuteno de aplicaes de negcios, independentemente da plataforma de produo utilizada.
Geradores GeneXus
GeneXus gera cdigo nativo para as principais plataformas do mercado. Para conhecer a lista completa dos Geradores GeneXus visite: http://www.genexus.com/technologies. Os geradores disponveis na GeneXus Trial so o Gerador .NET e o Smart Devices.
A seguir encontrar a lista do hardware e software necessrio para executar GeneXus e as aplicaes geradas pelo GeneXus.
Requerimentos de Hardware
Processador: mnimo 1 GHz (recomendado multi core) Memria: mnimo 1 GB de RAM (recomendado 2 GB)
Pgina 4
Requerimentos de Software
Microsoft Windows 2000, XP SP2, ou superior Microsoft .NET Framework 3.5 SP1 ou superior Microsoft Internet Explorer 6.0 SP1 ou superior Microsoft SQL Server 2005 ou 2008 (Express, Standard ou qualquer outra Edio)
1
1 2
Microsoft .NET Framework 3.5 SP1 e Microsoft Internet Explorer 8.0 sero instalados automaticamente ao instalar GeneXus Trial. Microsoft SQL Server Express Edition a verso redistribuvel e sem custo. Ao instalar GeneXus Trial, se no houver uma verso de Microsoft SQL Server instalada em sua mquina, ser dada a opo de instal-lo (o usurio sa ser criado com a senha genexustrial)
Mais informaes: Blackberry Prerequisites Apple (iOS) Knowledge Base Navigator (iOS Device): Caso no se tenha um Mac para prototipar os aplicativos gerados, possvel prototipar diretamente no dispositivo (iPhone, iPad, iPhone) com o auxlio de Knowledge Base Navigator, que se encontra disponvel na Apple Store.
Pgina 5
GeneXus Trial: Tutorial Xcode (Mac): Caso tenha um Mac, possvel prototipar os aplicativos gerados com o simulador de iPhone/iPad ou diretamente no dispositivo. Mais informaes: iOS Prerequisites
AUTORIZAO
1. Execute o arquivo de setup do GeneXus Trial (GenexusTrial.exe) do menu de Incio do Windows ou selecionando a opo apropriada no CD de sua Verso Trial.
2. 3.
Siga os passos indicados pelo setup de instalao. Na primeira vez que usar a GeneXus Trial Version, dever autorizar o produto para poder inici-lo. A autorizao pode ser feita Online ou By Mail. A autorizao online recomendada se tiver uma conexo a Internet.
Pgina 6
4.
5. 6. 7.
Caso houver marcado a opo Online e de ter ingressado os dados corretamente, GeneXus Trial ir ser ativada de forma imediata por um perodo de 60 dias. Ao escolher a opo By Mail, ser gerado um e-mail com o Site Code correspondente para poder solicitar sua licena via e-mail. Voc receber seu Site Key via e-mail e dever utilizar o e-mail associado a sua conta de GXTechnical. O Site Key de ativao ser enviado ao mesmo email. Copie e cole seu Site Key no campo de Site Key da janela Authorization Required e clique em Continuar.
Pgina 7
Pgina 8
SIMBOLOGIA UTILIZADA
Este smbolo introduz uma TIP/Dica. Recomendamos ler o que esta dentro do quadro. Este smbolo introduz uma NOTA.
Pgina 9
Resumindo: o GeneXus uma ferramenta baseada no conhecimento que desenha, gera e mantm em forma automtica os programas e o banco de dados para obter o desenvolvimento rpido de aplicaes crticas em mltiplas plataformas.
Entender as necessidades do usurio final uma das poucas tarefas que no se podem automatizar no desenvolvimento de software. Referimo-nos aos desenvolvedores do GeneXus como analistas de negcios em lugar de programadores, codificadores ou desenvolvedores.
Pgina 10
Janela principal: Est composta pela Start Page ou Pgina de Incio a qual, atravs de um RSS em forma dinmica, oferece informao tcnica relacionada com a ferramenta e a comunidade de usurios. Para obter esta informao necessrio estar conectado. Se sua equipe estiver desligada da Internet no poder acessar as novidades publicadas no GeneXus Community. Janela de ferramentas Barras de ferramentas
Pgina 11
um repositrio que contm toda a informao necessria para gerar uma aplicao em mltiplas plataformas. Em outras palavras, um repositrio de toda a descrio da realidade.
E NVIRONMENT
Para gerar e manter uma aplicao de trabalho em uma plataforma de software especfica, devemos definir um Environment. Um Environment integra todo o relacionado plataforma de execuo (Gerador, acesso a BD, interface de usurio e outras propriedades da plataforma). Para isto, especificamos um DBMS, uma linguagem alvo e alguns parmetros 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 no precisa ter um conhecimento profundo da plataforma alvo.
Se for a primeira vez que abre a GeneXus Trial e no executou previamente em sua equipe uma verso comercial do produto, GeneXus lhe indicar que proceder a executar a criao de uma base de conhecimento em forma automtica. A primeira vez que abrir a verso trial automaticamente ser criada 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 opo New Knowledge Base. Dar um nome Base de Conhecimento: Demo. Selecionar um diretrio onde criar a KB. Selecionar a linguagem a gerar.
2.
3.
4.
5.
Pgina 12
T RANSACTION O BJECT
Representa os objetos da realidade que dirige sua aplicao. Das transaes definidas infere-se o modelo de dados da aplicao (3. forma normal). GeneXus tambm usa o objeto transao para gerar o programa da aplicao que permitir ao usurio final, em forma interativa, inserir, apagar e atualizar registros no banco de dados.
Aps criada a base de conhecimento, o prximo passo criar a primeira transao, 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. Tambm pode criar um novo objeto utilizando o shortcut CTRL N.
2. 3. 4.
Clique em CREATE.
Pgina 13
1.
Insira o nome, tipo de dado e descrio dos atributos na aba Structure da transao Invoice, como indicado na tabela a seguir. Use a tecla TAB para mover-se entre o nome, o tipo de dado e a descrio do atributo. Use a tecla ENTER para adicionar um novo atributo.
ATTRIBUTE
InvoiceId InvoiceDate CustomerId CustomerName
TYPE
Numeric(4.0) Date Numeric(4.0) Character(20)
DESCRIPTION
Invoice ID Invoice Date Customer ID Customer Name
At aqui inserimos os campos do cabealho da nota fiscal. Agora iremos inserir as linhas. Para isso, pressione CTRL + Seta Direita para adicionar um Novo nvel estrutura de dados. ProductId ProductName ProductPrice LineQuantity LineTotal Numeric(4.0) Character(20) Numeric(8.2) Numeric(4.0) Numeric(8.2) Product ID Product Name Product Price Line Quantity Line Total
Pressione ENTER e depois CTRL + Seta Esquerda para voltar para o nvel do cabealho e comear os dados do rodap. InvoiceSubtotal InvoiceTax InvoiceTotal Numeric(8.2) Numeric(8.2) Numeric(8.2) Invoice Subtotal Invoice Tax Invoice Total
Pgina 14
2.
3.
Expanda a opo Type Definition e configure a propriedade Autonumber do InvoiceID no True. Os programas gerados atribuiro automaticamente um valor do InvoiceID a cada nova instncia da nota fiscal.
Pgina 15
4.
Salve a nova estrutura da transao oprimindo o boto com forma de diskette (Save) na barra de ferramentas Standard. Se esta barra no estiver visvel, desdobre-a clicando direito sobre a barra de menu (Opo Edit)
Voc acaba de criar a estrutura de uma transao Nota Fiscal composta de dois nveis:
Um nvel bsico (Invoice ou Nota Fiscal), no qual se especifica toda a informao necessria para o Cabealho da Nota Fiscal. Um nvel aninhado, no qual se especifica a informao que se ir se repetir em cada linha de nota fiscal. Observe que no utilizamos um nmero de linha como chave primria das linhas de nota fiscal. Esta uma deciso de desenho voluntria. Usando o ID de Produto como chave primria das linhas da nota fiscal, estamos definindo que no haver duas linhas na mesma nota fiscal para o mesmo produto.
Tudo o que for conceitualmente igual deve ter o mesmo nome. Os conceitos diferentes NO devem ter o mesmo nome.
Isto nos permitir usar o mesmo atributo em outros objetos GeneXus (outras transaes, procedimentos, reportes, etc.) simplesmente fazendo referncia a seu nome. GeneXus estabelece as relaes (chaves forneas) entre as tabelas do modelo de dados com base nos nomes dos atributos.
Pgina 16
Salvo especificao contrria, os atributos definidos como frmulas no so armazenados na base de dados (so atributos virtuais). As frmulas so globais; so vlidas em toda a base de conhecimento e no apenas dentro da transao na qual foram definidas. Isto significa que a frmula calculada cada vez que o atributo invocado de uma transao ou de outros objetos GeneXus (Reportes, Work Panels, etc.) Variveis Definidas pelo Usurio. No podem participar de uma frmula porque so locais em relao aos objetos nos quais foram definidas e no tm valor fora deles.
InvoiceSubTotal = SUM(LineTotal) InvoiceTaxes= InvoiceSubTotal * 0.11 (ou o nmero que corresponder) InvoiceTotal = InvoiceSubtotal + InvoiceTax
1. 2. 3. 4.
Clique duplo no campo Formula do atributo LineTotal ( direita da descrio do atributo). Escreva o seguinte: ProductPrice * LineQuantity. Tambm possvel clicar no boto sobre o campo da frmula para abrir o Editor de Frmula. Repita os Passos 1 e 2 para o resto das frmulas que aparecem na lista no incio desta seo. Clique Save para salvar as novas frmulas.
Pgina 17
Toda vez que clicar no boto Salvar, GeneXus inferir o modelo de dados timo (3. forma normal sem redundncias) que suporte as entidades do usurio final representadas pelos objetos de sua transao GeneXus. Embasado neste modelo de dados, GeneXus gerar uma base de dados fsica quando voc definir um DBMS objetivo para um model o.
!
1. 2.
Os nomes das tabelas e ndices so atribudos automaticamente pelo GeneXus pelo nome da transao, mas podem ser modificados se for necessrio. GeneXus infere um modelo de dados em 3. forma normal, sem redundncias. No obstante, podem definirse redundncias que sero automaticamente gerenciadas pelo GeneXus. A chave primria da tabela correspondente a uma transao de nvel N se obtm concatenando identificadores dos N-1 nveis aninhados previamente com o identificador de nvel N.
No menu da esquerda, selecione Tables. GeneXus mostrar a estrutura de dados inferidas a partir da transao.
O Rol da Base de dados acima mostra que GeneXus inferiu automaticamente um modelo de dados normalizado, criando duas tabelas para suportar o objeto transao Invoice, Invoice (o cabealho da nota fiscal) e InvoiceProduct (as linhas da nota fiscal), com a seguinte estrutura:
Pgina 18
A chave primria da tabela InvoceProduct est formada por dois atributos: InvoiceID e ProductID (a concatenao do identificador de primeiro nvel, InvoiceID, com o identificador do segundo nvel, ProductID). GeneXus eliminou automaticamente das tabelas os atributos que se definiram como frmulas e os converteu em frmula globais para poder acess-las de qualquer lugar dentro da base de conhecimento. Na tabela Invoice: o No 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 No 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.
F ORMULRIO W EB
Depois de salvar um novo Objeto Transao, o GeneXus cria automaticamente um Formulrio Web predeterminado para especificar como o usurio final ir acessar os dados na aplicao. Estes formulrios podem ser personalizados pelo analista do negcio mais tarde.
1.
Pgina 19
Error Viewer: ctlError o controle predeterminado onde se desdobram mensagens de erro. Pode se localizar em qualquer lugar do formulrio e configurar-lhe propriedades. As mensagens possveis so as que se desdobram no Msg e regras de Erro, e os controles automticos do GeneXus (quer dizer, integridade referencial, erros tipo de dados, etc.). Estes formulrios habilitaro os usurios finais a entrar novas notas fiscais que iro se inserir como novos registros nas tabelas correspondentes. Os usurios tambm podero atualizar ou eliminar as notas fiscais existentes, desde que tiverem os direitos para fazlo. O analista do GeneXus no precisa programar nenhuma destas aes porque esto implcitas na lgica da transao. GeneXus gerar automaticamente o cdigo nativo correspondente na linguagem selecionada. Tenha em conta que ao definir transaes GeneXus se est: Explicitamente: descrevendo a interface de usurio para a apresentao e captura de dados. Implicitamente: desenhando o modelo de dados da aplicao (tabelas, ndices, etc.)
GeneXus gera os programas executveis 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 executveis 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 Criao de Base de dados ou um Reporte de Anlise de Impacto respectivamente, que lhe mostrar o que o GeneXus ir fazer.
Nesse passo, executaremos o aplicativo em .NET e ser utilizado SQL Server como nosso DBMS.
Pgina 20
GeneXus permitir prototipar nossos aplicativos em um servidor que se encontra na nuvem, de modo que ser possvel acess-los automaticamente de qualquer dispositivo e em qualquer momento. Para mais informaes, consulte Easy prototyping: Deploy to cloud.
Tanto o servidor de aplicativos (Internet Information Services), como o servidor do banco de dados (SQL Server) residiro no servidor de aplicativos do servidor de prototipao na nuvem designado para GeneXus Trial. No momento de se executar o aplicativo, sero gerados os programas necessrios para sua execuo de forma local e sero substitudos na nuvem de forma automtica. Na verso comercial, voc pode usar qualquer dos DBMS suportados por GeneXus e poder prototipar seus aplicativos em seus servidores de aplicativos e de banco de dados. Consulte a lista completa de geradores e DMBS suportados por GeneXus aqui: http://www.genexus.com/technologies.
Reporte de Criao de Base de dados: o reporte que descreve o esquema da base de dados que GeneXus
gerar no DBMS selecionado. Contm toda a informao sobre o modelo de dados inferido e o esquema de base de dados proposto para ser gerado. A informao sobre cada tabela est dividida em cinco sees:
Cabealho: Contm a nome da tabela, as aes a realizar nele, advertncias e erros, Se o modelo de dados contm erros, o boto de Reorganizao estar desabilitado. Estrutura da Tabela: Mostra os atributos da tabela, suas relaes e as aes 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. Restries da Chave Fornea: Descreve as restries de integridade da tabela. Statements: Descreve as sentenas que iro se executar.
1.
Pressione F5 ou v atravs do menu opo BUIL /RUN DEVELOPER MENU. Preencha os campos com seu usurio e senha, os mesmos utilizados para autorizar GeneXus Trial.
2.
Pgina 21
3.
Clique em CREATE. GeneXus escrever o cdigo para a criao das tabelas e os programas necessrios na linguagem selecionada para acessar a BD.
Pgina 22
2.
Insira algumas instncias de nota fiscal. Graas tecnologia AJAX, as frmulas se calculam automaticamente, sem necessidade de recarregar a pgina inteira.
3.
R EGRAS G ENE X US
As Regras GeneXus so o meio para definir a lgica do negcio associada a cada objeto. So 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 transao porque permitem programar seu comportamento (por exemplo: atribuindo valores predeterminados, definindo controles de dados, etc.).
Podem envolver atributos definidos na estrutura da transao, bem como variveis e funes. As Regras so programadas em forma declarativa, isto , a ordem na qual se escrevem no necessariamente a ordem na qual vo ser executadas. A ordem de execuo adequada automaticamente determinada pelo GeneXus.
So vlidas unicamente na transao em que foram definidas. Por isso falamos que so locais.
Agora iremos adicionar uma regra simples que configura por defeito a Data da Nota fiscal como a data do dia de hoje:
1. 2. 3.
Selecione a aba Regras da transao Invoice. Utilizaremos a regra Default que atribui um valor predeterminado a um atributo ou varivel. Complete a frmula do modo seguinte: Default(InvoiceDate, &today);o que indica que o valor predeterminado da 1 Data da nota fiscal ser a data do dia de hoje .
Pgina 23
4.
Eis outra regra simples que estabelece uma mensagem de erro se a quantidade de produtos inserida for nula:
5. 6.
Adicione a seguinte regra: Error("The product cannot be empty") Clique no boto de salvar.
if LineQuantity.IsEmpty();
Pgina 24
7.
D OMNIOS S EMNTICOS
1. 2.
GeneXus disponibiliza os domnios semnticos (Phone, Email, Address, etc) que nos permitem dar comportamento aos atributos de nossas transaes, por exemplo: se definimos um atributo do tipo email, sempre que usarmos esse atributo em nossos objetos se comportar como um e-mail, permitindo enviar um e-mail ao clicar sobre ele nos smarts devices ou objetos web.
Crie o objeto Transao Cliente seguindo o Passo 2: Criao de um Objeto Transao e o Passo 3: Descrever a Estrutura da Transao. Adicione os seguintes atributos Estrutura Cliente: ATRIBUTO CustomerID CustomerName CustomerAddress CustomerEmail TIPO ----------------Address Email DESCRIPCIN --------------------------------------Customer Address Customer Email
Observe que quando comea a escrever os atributos CustomerID e CustomerName, GeneXus lhe indica o nome completo do atributo e seu tipo e descrio. Isto acontece porque estes atributos j esto definidos em sua base de dados.
Pgina 25
3. 4. 5.
Pressione o boto direito do mouse sobre o atributo CustomerID e selecione Propriedades. Dentro do Type Definition configure a propriedade Autonumber do CustomerID como True. Desta forma, os programas gerados atribuiro automaticamente um valor CustomerID a cada nova instncia de Cliente. Ative o suggest para o cdigo do cliente, posicionando-se sobre as propriedades do Customer ID, dentro da opo 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 aplicao automaticamente inferir seu ID. A propriedade suggest lhe sugerir todos os nomes de clientes que concordem com o nome inserido pelo usurio. Estas propriedades so parte da implementao do AJAX que o GeneXus faz automaticamente.
O Formulrio Web da transao Cliente ser visto como exibe a seguinte figura.
Pgina 26
Observe (a seguir) que o Formulrio Web da Nota fiscal tambm mudou, refletindo as mudanas nas propriedades do atributo CustomerID: o atributo CustomerName agora o da descrio do atributo CustomerID. Isto melhorar notavelmente a Usabilidade da aplicao como veremos rapidamente!
A NLISE DE I MPACTO
Descreve as mudanas fsicas que devero se realizar para atualizar o novo modelo de dados inferido pelo GeneXus.
Comprovar que GeneXus normalizou automaticamente seu modelo de dados depois de ter includo a nova transao. Mostra-nos que a tabela Invoice ser afetada, eliminando o atributo CustomerName da tabela Invoice j que o mesmo pode ser inferido atravs do CustomerID.
Pgina 27
Em warning de especificao referese a que pode haver valores duplicados de clientes na tabela Invoice que ao serem normalizados, pode afetar. Tambm se mostra outro warning indicando que os registros que iro se criar tm valor nulo nas tabelas.
NOTE
Pgina 28
Pgina 29
R EPORTE DE E SPECIFICAO
Descreve como se executar o programa, quais tabelas acessar (e como) e quais operaes realizar.
Referential Integrity controls on delete (Controles de integridade referencial ao excluir) significa que quando voc exclui um cliente da transao Cliente, o programa verificar que no existam notas fiscais para esse cliente. Para realizar esta busca com eficincia, usa-se o ndice de fora CustomerID da tabela Nota fiscal.
Integridade Referencial na transao Nota fiscal: A chave fornea CustomerID no nvel INVOICE significa que quando voc insere ou atualiza uma nota fiscal usando a Transao INVOICE automaticamente se controlar se o valor inserido na chave fornea CustomerID j existe como chave primria de um registro na tabela Cliente. Para realizar esta busca com eficincia, usa-se o ndice primrio CustomerID da tabela Cliente. O controle de integridade referencial valida que um atributo inserido (por exemplo, CustomerID em uma Nota fiscal) vlido, mas no proporciona informao sobre quais so os valores vlidos. Para facilitar a busca dos valores vlidos, GeneXus cria objetos Lista de Seleo (prompts) que mostram o grupo completo de valores vlidos para escolher os que
Pgina 30
P ATTERNS OU P ADRES
So aes similares aplicadas a diferentes elementos. Os padres permitem criar automaticamente todos os objetos necessrios para cumprir a funcionalidade especificada, evitando ter que faz-lo manualmente.
1.
2.
Pgina 31
3. 4. 5.
Sobre as transaes selecionados clique direito, opo Apply Pattern, Work With. Grave as mudanas. Pressione F5 para executar a aplicao. Observamos que j no temos acesso s transaes. O que temos um acesso a nosso Trabalhar com Customer, Invoice e Product.
6.
Execute a aplicao
O pattern adicionou a seguinte funcionalidade: Filtro por data, sem necessidade de refrescar a aplicao. Pode-se ordenar pelas colunas clicando no cabealho 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 histrico com os links visitados.
D OMNIOS S EMNTICOS
Ir ao Work With de Customers e observar o comportamento do aplicativo sobre os atributos que definimos anteriormente como domnios semnticos.
Pgina 32
Familiarize-se com os ns List, Detail e Section(Geral) da instncia, vendo em cada caso a tela que aparece. Salve e observe o que acontece com os seguintes elementos:
Propriedades da transao: o o o Business Component = True Expose as Web Service = True Web Services Protocol = ReST Protocol
Gerador para Smart Devices como gerador secundrio (observe com certa ateno suas propriedades, em particular: Generate Android = True) em Preferences / Ruby Environment / Generators.
O que falta para poder testar o aplicativo? D agora F5, como no tem nenhum objeto main para a parte de Smart Devices do aplicativo, no ter que executar. Portanto, antes de dar F5, crie um Dashboard e adicione um item para invocar a trabalhar com Customer:
Pgina 33
Pgina 34
GeneXus Trial: Tutorial Salve e observe que a propriedade Main Program est em True. Agora pode dar F5 para gerar e executar o aplicativo no emulador.
Notas: o Dado que no especificamos nenhum Startup Object, GeneXus abrir tanto o Developer Menu web no navegador predeterminado, como o emulador Android, para que possamos testar tanto para o aplicativo ruby web, como o de Smart Devices, Android. No Developer Menu, alm dos links para executar os objetos do aplicativo Web, aparecer QR codes: um que encapsula a URL para poder descarregar o KBN de acordo com o dispositivo e instal-lo no mesmo; os outros contero o aplicativo para Smart Devices compilado, tanto para Android como para Blackberry. Nem sempre ser criado o arquivo compilado. Depender de ter Startup object configurado e de modalidade de execuo que se empregou (se F5, Run with this only, etc.)
Em nosso caso, o emulador est abrindo o KBN (Knowledge Base Navigator) que mostra a URL para executar o dashboard do aplicativo (nico objeto main que temos at o momento). Lembre-se de tudo o que foi estudado sobre a arquitetura. Aqui, no ser executado um compilado sem um intrprete (o KBN)
Pgina 35
Pgina 36
Toque sobre Work With Customer o o o Observe que aparecem as mesmos customers que registrou an tes, no Developer Menu web (no final da seo 2). Observe os atributos que esto sendo exibidos de cada customer. V a GeneXus procurar no pattern o Layout desta List, para ver a correspondncia. Toque sobre qualquer dos customers listados e veja como aparece o detalhe da mesma (este o Layout correspondente ao modo View):
Pgina 37
Observe o que acontece quando toca sobre o cone que aparece no campo de endereo (lembre-se daquilo sobre dominios semnticos com quem se est interagindo para conseguir esta funcionalidade? Lembre-se dos pilares: a integrao com funcionalidades nativas do dispositivo).
NOTE
possvel que precise configurar uma conta de e-mail em seu emulador, para isso, v at o menu ->system setting -> accounts & sync
Pgina 38
GeneXus Trial: Tutorial o Caso deseje, possvel Editar ou Apagar algum dos registros que se est visualizando - para isso pressione MENU, onde aparecer o menu que se mostra a seguir.
Da mesma maneira, possvel inserir novos customers ou realizar buscas sobre os dados. Para realiz-lo, pressione o boto BACK novamente para posicionar-se na lista de customer e, a seguir, Menu. A ter a opo de Insert e Search.
Pgina 39
PARABNS!
Voc criou com sucesso primeira aplicao com o GeneXus.
Pgina 40
RESUMO
Esperamos que este tutorial lhe tenha permitido experimentar as funcionalidades e benefcios chaves do GeneXus: Desenho de Aplicaes baseado em Conhecimento Comeamos por criar uma Base de Conhecimento e descrever os requerimentos de dados de nossa aplicao como uma srie de componentes do negcio chamados Objetos Transao no Modelo de Desenho da Base de Conhecimento. GeneXus usou esta informao para inferir o modelo de dados timo (3. forma normal) requerido para suportar todas suas Transaes. Tambm adicionamos algumas regras do negcio nas que GeneXus se baseou para gerar o cdigo da lgica do negcio da aplicao. Gerao Automtica da Base de dados Escolhemos uma plataforma de execuo especfica (Web, linguagem de programao, DBMS, etc.) e criamos um Modelo no qual GeneXus gerou automaticamente uma base de dados fsica com o modelo de dados do Modelo de Desenho. Gerao Automtica de Cdigo e Prottipo Completamente Funcional Geramos o cdigo fonte para os programas de nossa aplicao e testamos a aplicao no ambiente de prottipo. Manuteno da Aplicao Vimos como simples manter/expandir uma aplicao, simplesmente editando os objetos GeneXus existentes e/ou adicionando novos, e depois GeneXus atualiza a base de dados e regenera os programas da aplicao em forma automtica. Desenvolvimento Multiplataforma Finalmente, descrevemos como migrar facilmente sua aplicao GeneXus de um ambiente para outro.
Pgina 41
CONTATOS E RECURSOS
A COMUNIDADE GENEXUS
A Comunidade GeneXus lhe oferece diversas formas de obter respostas a suas perguntas e solues a seus problemas, bem como tambm oportunidades para compartilhar suas prprias experincias. Encontrar uma lista completa dos recursos disponveis da Comunidade em http://www.genexus.com/community/
SUPORTE
A Artech oferece uma ampla variedade de servios e recursos de suporte: Suporte Auto-Servio Online Estes recursos esto disponveis para todos online. No entanto, a informao que cada um possa acessar depende de seu Nvel de Acesso ao GXtechnical (Usurio Registrado ou Cliente). Servios 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 gxtrial.usa@genexus.com
COMO COMPRAR
As Tecnologias GeneXus so vendidas atravs da rede de distribuidores no mundo todo. Encontre seu distribuidor mais prximo aqui http://www.genexus.com/distributors Ou entre em contato com sales@genexus.com
LINKS RECOMENDADOS
Web site: http://www.genexus.com GeneXus rea de capacitao: http://training.genexus.com Comunidade GeneXus: http://www.genexus.com/community
Pgina 42