Você está na página 1de 42

MAKER

Uma introduo ao ambiente visual de desenvolvimento

Preencha a ficha de cadastro no final deste livro e receba gratuitamente informaes sobre os lanamentos e as promoes da Elsevier. Consulte tambm nosso catlogo completo, ltimos lanamentos e servios exclusivos no site www.elsevier.com.br

MAKER

Uma introduo ao ambiente visual de desenvolvimento

Leonardo Costa Borges

2011, Elsevier Editora Ltda. Todos os direitos reservados e protegidos pela Lei n 9.610, de 19/02/1998. Nenhuma parte deste livro, sem autorizao prvia por escrito da editora, poder ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrnicos, mecnicos, fotogrficos, gravao ou quaisquer outros. Preparao de texto: Sandra Scapin Reviso: Heraldo Vaz Editorao eletrnica: S4 Editorial Ltda. ME. Elsevier Editora Ltda. Conhecimento sem Fronteiras o Rua Sete de Setembro, 111 16 andar 20050-006 Centro Rio de Janeiro RJ Brasil Rua Quintana, 753 8 andar 04569-011 Brooklin So Paulo SP Brasil Servio de Atendimento ao Cliente 0800-0265340 sac@elsevier.com.br ISBN 978-85-352-5034-3 Nota: Muito zelo e tcnica foram empregados na edio desta obra. No entanto, podem ocorrer erros de digitao, impresso ou dvida conceitual. Em qualquer das hipteses, solicitamos a comunicao ao nosso Servio de Atendimento ao Cliente, para que possamos esclarecer ou encaminhar a questo. Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso desta publicao. Embora os autores tenham colocado seu melhor esforo na escrita deste livro, eles no assumem qualquer responsabilidade por erros ou omisses, ou qualquer dano que possa resultar das informaes aqui apresentadas.
o o

CIP-BRASIL. CATALOGAO-NA-FONTE SINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ B732m Borges, Leonardo Costa Maker: introduo ao ambiente visual de desenvolvimento / Leonardo Costa Borges. Rio de Janeiro: Elsevier, 2011. Apndice ISBN 978-85-352-5034-3 1. Programao para Internet. 2. Programas de computador. 3. Livros eletrnicos. I. Ttulo. 11-3696. CDD: 005.3 CDU: 004.42

AgrAdecimentos

Durante a construo deste sonho, pude contar com o apoio de muitos companheiros de trabalho. Registro aqui meus agradecimentos aos profissionais e amigos que contriburam com idias, com assistncia durante a construo dos textos e com fotos, vdeos, reviso, edio e publicao. Agradeo a Magno Queiroz e Mariana Lacerda, essenciais para a construo de alguns captulos; a Diego Daltro, Samuel Carvalho e Adam Santos, pelo importante papel que desempenharam nas fases de confeco dos vdeos, fotos e revises, e em especial ao escritor Jos Antonio Ramalho, que dividiu comigo sua experincia e metodologia com tamanha ateno e disposio, Ramalho foi fundamental para o pontap inicial deste projeto e, claro, para a concluso deste livro, que considero o primeiro de muitos. Registro tambm minha eterna gratido a Wellington Freire e Maurcio Andrade, meus lderes, que acreditaram em meu potencial e me ofereceram todo o incentivo necessrio para que, juntos, pudssemos concluir este sonho. Agradeo, claro, minha me, pelo amor e pelo dom de me transmitir tranqilidade nos momentos em que eu corria contra o tempo e por ter me ajudado a manter o entusiasmo para ultrapassar as barreiras e transferir para o papel minha expertise em Maker. E agradeo ainda a todos que participaram deste projeto, dessa busca em ajudar os profissionais da rea de tecnologia a quebrar seus paradigmas e a introduzi-los no mundo Maker.

sumrio

1. Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. O Maker: Descrio do ambiente . . . . . . . . . . . . . . . . . . 2.1 Definio do Maker . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Fluxogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Webrun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Interface de Formulrios . . . . . . . . . . . . . . . . . . . . . . 2.5 Maker Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Abstrao no Maker . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Rastreabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Depurador Visual. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Internacionalizao das Aplicaes . . . . . . . . . . . . . . 2.10 Gap Semntico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 Profiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12 Documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Aplicao Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Definio e Tecnologias Utilizadas . . . . . . . . . . . . . . . . 3.2 Descrio dos Recursos e Modelo de Dados . . . . . . 3.3 Telas do Sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Cenrio Exemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 9 9 10 13 15 16 17 19 20 21 22 23 24 25 25 25 27 29

viii

NDICE

4. Formulrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Criando um projeto Maker . . . . . . . . . . . . . . . . . . . . 4.1.1 Arquivo WFRE . . . . . . . . . . . . . . . . . . . . . . . 4.2 Introduo criao de formulrios . . . . . . . . . . . . . 4.2.1 Assistente de banco de dados . . . . . . . . . . . . 4.2.2 Aba Localizar . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Formulrio como produto final . . . . . . . . . . 4.2.4 Persistncia de dados e chaves primrias . . . 4.2.5 Criao do Menu . . . . . . . . . . . . . . . . . . . . . 4.3 Configurao de acesso para visualizao na Web . . 4.4 Criao do formulrio Estado . . . . . . . . . . . . . . . . . . 4.5 Criao do formulrio Cidade. . . . . . . . . . . . . . . . . . 4.5.1 Componente Lista Dinmica . . . . . . . . . . . . 4.6 Criao do formulrio Contato . . . . . . . . . . . . . . . . . 4.6.1 Subformulrio . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 Assistente SQL . . . . . . . . . . . . . . . . . . . . . . . 4.7 Tela de Observao . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.1 Valor-padro do formulrio . . . . . . . . . . . . . . 4.8 Criao da forma tradicional . . . . . . . . . . . . . . . . . . . 4.8.1 Criao da tabela Parmetro. . . . . . . . . . . . . 4.8.2 Criao do formulrio Parmetro . . . . . . . . . 5. Conhecendo fluxogramas . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Definio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Eventos e Elementos que compem um Fluxo . . . . 5.2.1 Processamento . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Ordem de execuo e comportamento . . . . 5.2.3 Deciso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 Interao e Subfluxo . . . . . . . . . . . . . . . . . . . 5.3 Criao do cenrio de exemplo . . . . . . . . . . . . . . . . . 5.3.1 Conhecendo os modos de trabalho (Projeto, Normal e Gerente) . . . . . . . . . . . . 5.4 Construo do fluxo de validao . . . . . . . . . . . . . . . 5.4.1 Definindo parmetros de entrada . . . . . . . . . 5.4.2 Adicionando componentes ao fluxo . . . . . . . 5.4.3 Padres e configuraes de salvamento . . . . 5.4.4 Camadas de um fluxo . . . . . . . . . . . . . . . . . . 5.4.5 Associando fluxo ao formulrio. . . . . . . . . . .

31 32 34 35 38 39 40 41 42 43 44 45 45 47 48 49 53 54 57 57 59 63 63 64 65 66 69 70 71 72 73 74 74 78 79 80

MAKER: Uma introduo ao ambiente visual de desenvolvimento

ix

5.5 Construo do fluxo de interao com objetos . . . . . 5.6 Construo de fluxo com a execuo de um lao de repetio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Fluxo na Prtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Criao do formulrio Consulta Mapa . . . . . . . . . . . 6.1.1 Biblioteca Google Maps . . . . . . . . . . . . . . . . 6.1.2 Subfluxo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Criao do formulrio Envio de E-mail . . . . . . . . . . 6.2.1 Funo Upload . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Envio de E-mail . . . . . . . . . . . . . . . . . . . . . . 6.2.2.1 Estrutura de pastas dos anexos . . . 6.2.3 Download do E-mail . . . . . . . . . . . . . . . . . . . 6.2.3.1 Acesso aos arquivos anexados (URL de Acesso) . . . . . . . . . . . . . . 7. Relatrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Introduo criao de Relatrios . . . . . . . . . . . . . . 7.1.1 Comportamento das reas do relatrio (bandas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Componentes do relatrio . . . . . . . . . . . . . . 7.1.3 Alinhamento e espaamento dos componentes . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.4 Visualizao e publicao do relatrio . . . . . 7.2 Relatrio com agrupamento . . . . . . . . . . . . . . . . . . . 7.2.1 Filtrando o relatrio . . . . . . . . . . . . . . . . . . . 7.2.2 Criando o Grupo . . . . . . . . . . . . . . . . . . . . . 7.3 Relatrio de Histrico de Contatos . . . . . . . . . . . . . . 7.3.1 Relacionando o Sub-relatrio . . . . . . . . . . . . 8. Publicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Webrun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Maker.Commons . . . . . . . . . . . . . . . . . . . . . 8.2 Publicao utilizando WAR . . . . . . . . . . . . . . . . . . . 8.3 Publicao utilizando JAR . . . . . . . . . . . . . . . . . . . . . 8.4 Assistente de atualizaes e configuraes . . . . . . . .

81 84 91 91 93 95 102 104 109 115 116 116 119 119 120 122 126 127 129 129 132 135 137 141 141 142 143 145 147

NDICE

9. Rotinas prticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Exportao de um arquivo texto a partir do banco de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Leitura de um arquivo texto. . . . . . . . . . . . . . . . . . . . 9.3 Importao atravs de uma Planilha Excel . . . . . . . . 9.3.1 Criando uma Fonte de Dados ODBC . . . . . 10. Maker: IDE em detalhes . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Controle de acesso no ambiente de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Cadastro de grupos de usurios . . . . . . . . . . 10.1.2 Cadastro de usurios . . . . . . . . . . . . . . . . . . . 10.1.3 Permisso de Acesso a objetos . . . . . . . . . . . . 10.1.4 Restrio de acesso: controle de concorrncia . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Controle de acesso no ambiente final . . . . . . . . . . . . 10.2.1 Cadastro de grupos de acesso e usurios . . . 10.2.2 Permisso de acesso. . . . . . . . . . . . . . . . . . . . 10.3 Controle de Verso . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Importao e exportao de objetos . . . . . . . . . . . . . 10.4.1 Exportao . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.2 Importao . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5 Matriz de Rastreabilidade (Scanner de Dependncias) . . . . . . . . . . . . . . . . . . . ndice Remissivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

149 149 155 161 162 173 173 173 174 176 178 178 179 181 183 184 185 186 187 189

1
introduo
Por Jos Antonio Ramalho

A primeira forma de programar computadores datada de 1940, quando os programadores desenvolviam algoritmos binrios para serem executados no Eniac (primeiro computador do mundo). Um pouco mais adiante, por volta de 1950, surge a linguagem de mquina, em que programas de computadores eram feitos com instrues de baixo nvel, tratando registradores dos processadores. Ainda nesta dcada, em 1954, surge a primeira linguagem de programao, o Fortran, que permite escrever programas com o uso de estruturas muito mais intuitivas que os cdigos binrios e de mquina. De 1954 at hoje escrevemos algoritmos do mesmo jeito, digitando caractere a caractere, byte a byte; percebe-se que houve uma pausa no formato da codificao. Surgiram, claro, muitos novos paradigmas, ferramentas de apoio programao, mas o formato da escrita do cdigo ainda o mesmo. Os microcomputadores mudaram a relao hierrquica na rea de desenvolvimento de sistemas. O ciclo de desenvolvimento de um sistema passava por etapas bem definidas, nas quais diferentes profissionais atuavam ao longo do ciclo em tarefas especficas e limitadas em suas atribuies. Da percepo da necessidade de um sistema pelo usurio at a sua efetiva implementao, um leque de profissionais entrava em ao. De uma maneira genrica, o analista de sistemas recebia a solicitao do sistema e, juntamente com os departamentos, levantava o

INTRODUO

fluxo das informaes para poder criar um modelo informatizado do procedimento manual existente. Os dados obtidos com o modo de operao do sistema eram transformados em fluxogramas, que ajudariam na definio dos procedimentos e nas rotinas computadorizadas necessrias operao daquele sistema, e, desse material, especificaes e desenhos de bancos de dados eram criados com toda a lgica e relacionamentos necessrios entre as tabelas que o compunham. Especificaes detalhadas de campos e telas de digitao, consultas e outras operaes em vdeo eram criadas, assim como o desenho do layout de relatrios de consulta impressa. Todas essas especificaes eram passadas para um segundo profissional, o programador. Ele deveria entender corretamente o que o analista lhe pedia e usar a linguagem adequada para aquele sistema para criar todos os componentes necessrios. Nesse ponto, milhares ou at milhes de linhas de cdigo eram escritas. O processo de testes e debug do sistema implicava inmeras idas e vindas do programador mesa para estudar as listagens impressas e tentar encontrar os problemas. Poderia ser simplesmente uma vrgula, ou um ponto colocado no lugar errado, ou um erro de lgica. Sem interface grfica ou ferramentas de apoio para encontrar os erros, essa parte do sistema consumia inmeras horas de trabalho e respondia por boa parte do atraso na entrega de um sistema. O programador no tinha contato com o computador. Sua relao com ele era por meio de gabaritos e formulrios, nos quais escrevia o cdigo que era digitado por um digitador. Na poca dos mainframes, adicionava-se a essa hierarquia os perfuradores de cartes e os operadores dentro do CPD, que iriam trocar fitas e discos quando isso fosse necessrio. Uma vez que estivesse pronto, o sistema era passado para um operador, que seria o responsvel pela operao do sistema. O usurio final ainda no tocaria no computador por muitos anos. Eu, particularmente, passei por quase todo esse ciclo. Comecei a programar em 1981, no incio absoluto da era da microinformtica. Na faculdade, vivi o ciclo do mainframe; na prtica profissional, encontrei os primeiros microcomputadores do mercado. Toda aquela hierarquia Analista/Programador/Operador parecia no existir mais, e, na frente do pequeno computador, eu tinha de

MAKER: Uma introduo ao ambiente visual de desenvolvimento

desempenhar essas trs funes. Lembro-me de que, ento, se dizia na brincadeira que quem trabalhava com microcomputadores era um anapropgua, isto , um analista, um programador e um operador que trabalhava como uma gua. Brincadeiras parte, a concentrao de trabalho era bem real. As linguagens de programao passavam por mudanas e novas opes surgiam para aproveitar as facilidades dos microcomputadores. O poderoso Cobol cedia espao ao Basic, e um banco de dados chamado dBase surgia para mudar de vez o cenrio. Incorporando banco de dados e linguagem de programao, o produto oferecia uma combinao que tornava o desenvolvedor cada vez mais dono da aplicao. Foi o comeo da era das Software Houses. Na segunda metade da dcada de 1980, uma nova ferramenta, o Clipper, tornou-se a linguagem dominante no ambiente de microcomputadores. Ento, milhares de programadores utilizavam essa linguagem, que, comparada s antigas Basic e Cobol oferecia muito mais versatilidade e rapidez de desenvolvimento. Contudo, como qualquer linguagem, exigia que o programador escrevesse linha por linha todo o cdigo necessrio para a criao de suas rotinas e procedimentos. Tornei-me um bom programador nessa linguagem, mas nunca aceitava o fato de ter de escrever, escrever e escrever dezenas de linhas para, por exemplo, exibir um nico campo na tela, obter seu contedo e fazer a validao bsica. A criatividade para encontrar a soluo para um problema e a beleza de um sistema bem desenvolvido tinham de compartilhar horas e horasde programao, que consistia do trabalho braal de escrever milhares de linhas simplesmente para criar uma tela ou o layout de um relatrio. Um dia, porm, resolvi criar alguns programas para facilitar minha vida de programador. Com um formulrio na tela, eu preenchia o nome dos campos, suas regras de consistncia e posio na tela (sim, naquela poca era necessrio dizer a linha e a coluna da tela em que um texto seria posicionado), o nome da varivel que receberia o contedo, seu tamanho e outas informaes. E, depois de compilar e executar o programa, se algum item ficasse fora da posio adequada, era necessrio alterar o cdigo fonte e recompilar todo o sistema. Na primeira verso das minhas rotinas criadoras de cdigo eu precisava editar a posio do campo na tela e recompilar; no aprimora-

INTRODUO

mento da rotina, criei um banco de dados que armazenava todas essas informaes, de modo que o sistema no precisasse ser recompilado. Ao ser executado, ele lia o banco de dados e executava os comandos para desenhar a tela ou o relatrio. Onde no havia Windows, essa situao ocorria no ambiente DOS. Mesmo com a proliferao do Windows a partir da verso 3.1, no comeo da dcada de 1990, o ambiente de desenvolvimento e a execuo dos programas em Clipper ainda era em uma janela DOS. As linguagens que rodavam em DOS comearam a enfrentar uma nova realidade. Para os usurios, o ambiente grfico era muito mais agradvel de se trabalhar. O mouse e o cursor foram ganhando muitos adeptos; a famosa tecla Tab, usada para saltar o foco de um componente para outro de uma tela, dava espao para os cliques. As linguagens baseadas no banco de dados dBase, como FoxPro, Clipper e outras menos expressivas, no conseguiram migrar para o Windows um ambiente de desenvolvimento que fosse atraente para os desenvolvedores. Alm das dificuldades em se adaptar ao mouse, os programadores, de incio, no lidaram bem com a nova forma de desenhar sistemas queas ferramentas grficas ofereciam. Um pouco atrs no tempo, at mesmo as linguagens mais populares, como Clipper, estavam incorporando orientao a objetos, uma nova abordagem de programao, na qual o desenvolvedor criava objetos ou entidades uma nica vez e depois podia modificar suas caractersticas e alterar seu comportamento. Por exemplo, se um campo tivesse um valor negativo, sua cor de exibio seria vermelha. Em programao convencional seriam necessrias varias linhas de cdigo para obter o contedo, fazer as comparaes e exibir o valor com uma nova cor, mas em programao orientada por objetos bastaria informar que o atributo cor do objeto seria vermelho caso o valor fosse negativo. Essa mudana comeou a criar dificuldades para muitos desenvolvedores. Quando chegou o ambiente grfico, o desenvolvedor, alm da orientao a objetos, tinha de aprender a tambm lidar com oambientede desenvolvimento grfico. Nele, bastava clicar num boto na barra deferramentas do ambiente, clicar sobre a rea de trabalho e simplesmente escrever o nome do campo que, em menos de um segundo, todas as consistncias necessrias estavam prontas e funcionando. Otempo

MAKER: Uma introduo ao ambiente visual de desenvolvimento

de desenvolvimento de uma tela de entrada de dados caia mais de dez vezes se comparada s linguagens procedurais. Os mais conservadores abominavam esse ambiente. Um clima de insegurana se abatia sobre os programadores que, orgulhosos, de seu trabalho braal, assumiam a propriedade ciumenta do cdigo de uma aplicao. Sem ter o controle do cdigo, eles no tinham mais a sensao de propriedade, e essa insegurana comeou a se espalhar de forma velada pela comunidade de desenvolvimento. Ainda hoje, dez anos depois no novo sculo, muitos desenvolvedores ainda resistem aos novos ambientes de desenvolvimento. Felizmente, ou infelizmente para eles, chegou um ponto em que a troca do parque instalado de hardware e as novas verses de sistema operacional eliminaram de vez a possibilidade de manter as antigas linguagens e ferramentas de desenvolvimento. As linguagens tradicionais, como o C e o Basic, ganharam verses visuais, que utilizavam a plataforma grfica para o desenvolvimento, mas ainda exigiam do programador a codificao de milhares e milhares de linhas para desenvolver a lgica mais intrnseca dos sistemas. Algumas ferramentas, como o Delphi, ganharam espao, promovendo com muita facilidade a integrao do banco de dados s aplicaes. Embora as ferramentas tenham facilitado o desenvolvimento, a maioria delas incorria na necessidade de se trabalhar em algum momento o cdigo gerado por ela. Ou seja, o desenvolvedor precisava continuar sendo um programador especializado em alguma linguagem. Como a tecnologia no para, a internet se estabeleceu nos ltimos anos como a plataforma e a interface para aplicaes. Tudo o que era proprietrio, exclusivo de um fabricante ou outro, passou a fazer parte de um ativo comum da humanidade. Um sistema que rode num navegador rompe as barreiras fsicas e elimina as dificuldades de implementao devido a diferenas de sistemas operacionais ou de hardware utilizados pelos usurios. Com a internet, alm de todas as mudanas, o desenvolvedor tinha de aprender novas ferramentas ou protocolos para integrar sua aplicao. Vi muitas grandes empresas, bem estabelecidas em seus ambientes tradicionais, enfrentarem grandes dificuldades para migrar suas aplica-

INTRODUO

es para a internet. Verdadeiras colchas de retalhos eram criadas para se conseguir entregar a informao ao usurio por meio de um navegador. Olhando os ltimos dez anos, muita coisa mudou para os desenvolvedores. Alm de se tornarem profissionais multidisciplinares, tendo que desempenhar vrias funes numa nica ocupao, o foco de seu trabalho deixou de ser a programao e passou a ser a soluo dos desafios propostos. Surge a um novo profissional, que prefiro chamar de analista de negcios, um profissional tcnico com viso de negcios. Num mercado extremamente competitivo, onde custos e prazos so cada vez menores, as empresas precisam dispor de ferramentas e profissionais capazes de entregar as solues nos prazos e oramentos propostos, e tudo isso com um nvel de exigncia do usurio cada vez maior. O desenvolvedor do futuro, que no mais ter esse adjetivo, ser aquele que conseguir entender o negcio do cliente, ou da sua empresa, e transformar as necessidades expostas em solues e sistemas prontos. Para o usurio, sempre ir importar a aparncia e a funcionalidade do sistema. O que estiver por trs da tela no ter a menor importncia. Do ponto de vista tcnico, consideraes sempre devero ser feitas com o intuito de utilizar plataformas de desenvolvimento e execuo que sejam rpidas e de baixo custo. Nesse contexto de mudanas, vi surgir uma ferramenta que, para mim, conseguiu reunir como nenhuma outra caractersticas nicas parao desenvolvimento: o Maker. O Maker uma ferramenta que permite desenvolver qualquer sistema sem a necessidade de se programar uma linha sequer. O produto to verstil que chega a causar desconfiana - Mas como possvel?!. Ele possui caractersticas de uma ferramenta de modelagem de dados, de um construtor de relatrios e de ambiente grfico de desenvolvimento, tudo isso integrado e compilando aplicativos que rodam num navegador, o que torna suas aplicaes absolutamente universais. Quem v o Maker pela primeira vez pergunta imediatamente em que linguagem ele ir compilar a aplicao. E quando ouve a resposta - Em qual voc quer? -, a desconfiana aumenta. Mas basta sentar-se diante do micro e olhar as caractersticas do programa para constatar que, sim, isso possvel.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

Mas onde eu escrevo o cdigo? A que est a grande mudana de paradigma do Maker: no precisa escrever nenhum cdigo. Toda a parte de entrada de dados, de consultas e de relatrios feita pela interface grfica, algo que a maioria das ferramentas de desenvolvimento possui. Utilizando um recurso chamado Fluxos, o desenvolvedor escreve a lgica da aplicao a partir de elementos grficos de um fluxograma, ou seja, a linguagem de programao so os fluxogramas, e todos os algoritmos sero escritos de forma visual. Finalizado o fluxo, a aplicao montada para ser rodada em um navegador. Se algo no tiver ficado bom, basta o desenvolvedor retornar interface grfica e refazer o fluxo, mas nunca editar um cdigo textual. O produto j possui inmeras rotinas e funes prontas, que cobrem boa parte das necessidades de desenvolvimento, mas rotinas muito especficas j criadas pelo desenvolvedor podem ser facilmente incorporadas ao sistema, preservando investimentos j feitos. O Maker o verdadeiro nirvana dos desenvolvedores. Dois dias de contato intenso com ele fizeram-me ver o quanto essa ferramenta pode impactar positivamente o tempo de desenvolvimento de sistemas criados para serem usados por meio de um navegador. Sua integrao com e-mail e outros sites da internet permite a criao de sistemas absolutamente atuais, que integram o dia a dia dos usurios cada vez mais conectados com suas atividades dirias. Para mim, que posso me considerar um verdadeiro dinossauro na histria da informtica, o Maker conseguiu reunir o que h de melhor para o desenvolvimento de sistemas, e tudo isso sem limitar o desenvolvedor a nenhum tipo de linguagem ou ambiente operacional. Jos Antonio Ramalho
Escritor e autor de mais de 108 livros. Nessa coleo de livros escritos por ele encontram-se obras voltadas para bancos de dados e linguagens de programao. Com uma vasta experincia em desenvolvimentode softwares, Ramalho acompanhou todo o processo de evoluo das linguagens de programao, desde as de baixo nvel at as do presente momento, em que o paradigma outro e a abstrao faz parte do cotidiano.

2
o mAker: descrio do Ambiente

2.1 definio do mAker


Diante de todos os conceitos abordados na introduo, o esperado que faamos uma definio formal do Maker bem como uma descrio sucinta do ambiente, apresentando suas principais funcionalidades e seus benefcios. Tradicionalmente, IDEs (Integrated Development Environment) so ferramentas cujo objetivo agilizar o processo de desenvolvimento de softwares, porm s so utilizadas na etapa de codificao ou de escrita do software. O Maker pode ser definido como uma plataforma para o desenvolvimento de aplicaes que possui diversas particularidades, as quais sero descritas ao longo deste captulo. considerado uma plataforma porque capaz de interagir em diversas etapas doprocesso de desenvolvimento, desde a documentao e elicitaode casos de uso at a codificao e manuteno que sero realizadas na plataforma. Com isso, nota-se que o paradigma que o define e mais se aproxima do seu formato de codificao o Desenvolvimento de Software Orientado a Negcios, segundo o qual o foco do processo de desenvolvimento o resultado. As tecnologias, como as linguagens, so meros instrumentos utilizados para materializar o negcio em uma soluo computacional.

10

O MAKER: DESCRIO DO AMBIENTE

Uma caracterstica muito importante e inovadora o fato de a ferramenta possuir uma linguagem de programao visual, que so os fluxogramas, representando uma evoluo no formato da escrita de algoritmos, pois at ento era utilizado um padro textual para a escrita de cdigos.

2.2 fluxogrAmAs
Os fluxogramas vm para quebrar o paradigma de codificao escrita caractere a caractere. Quando se fala em cdigo, este, erradamente, sempre associado a letras. Fluxos nada mais so que uma linguagem deprogramao visual, em que algoritmos so escritos visualmente, disso advindo muitas vantagens. Desse modo, muito mais fcil capacitar um profissional em uma linguagem visual, por exemplo, do que emuma sintaxe tradicional escrita, pois os algoritmos escritos em fluxos so entendidos facilmente e, em consequncia, so mais fceis de ser mantidos que aqueles escritos em uma linguagem tradicional, que no so nada intuitivos. A Figura 2.1 a seguir ilustra a sintaxe dos fluxogramas.
figurA 2.1

A sintaxe dos fluxogramas.

Todas as notaes j conhecidas das linguagens de programao tradicionais, como desvios, laos, condicionais, comentrios, passagem de parmetros, retornos, podem ser expressadas em um fluxograma. Entendendo que um algoritmo a combinao de lgica de programao adicionada a funcionalidades prontas, pode-se concluir que toda e qualquer lgica poder ser expressada em fluxos. As funcionalidades, por sua vez, representam a API (Application Programming Interface) nativa que j vem embarcada na ferramenta; so centenas de funes de diversas categorias (acesso a banco, manipulao de arquivos, bibliotecas matemticas, etc.) que fazem parte de um pacote interno do Maker.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

11

Considere, por exemplo, um algoritmo que verifica se um cliente maior de idade. A Figura 2.2 a seguir ilustra o algoritmo escrito na linguagem PL-SQL.
figurA 2.2

Algoritmo que verifica se um cliente maior de idade, escrito na linguagem PL-SQL.

A Figura 2.3 ilustra o mesmo algoritmo escrito em Maker, ou seja, na linguagem dos fluxogramas. possvel observar que sua compreenso bem mais simples.
figurA 2.3

Algoritmo que verifica se um cliente maior de idade, escrito em Maker.

Outra caracterstica importante o fato de o Maker implementar o conceito de independncia tecnolgica, ou seja, em tese, um cdigo escrito em Maker poder ser executado em qualquer arquitetura-alvo, pois o algoritmo implementado no depende da plataforma de execuo (atualmente, as tecnologias suportadas para execuo so Java e .Net). Demodo similar, a aplicao tambm independe do banco de dados, sendo possvel substitu-lo em qualquer tempo do ciclo de vida do software. interessante ressaltar que a ferramenta sempre proporciona ao programador todo o poder necessrio para que ele possa expressar suacriatividade e exercitar seu conhecimento de lgica de programao na construo dos fluxogramas, isto , qualquer algoritmo que seja de lgica de programao poder ser expressado na notao visual dos fluxogramas.

12

O MAKER: DESCRIO DO AMBIENTE

Considere, por exemplo, um algoritmo para efetuar uma migrao de dados, que l informaes de um banco de dados Oracle e grava informaes em um Postgres. O fluxograma mostrado na Figura 2.4 representa esta situao.
figurA 2.4

Algoritmo para efetuar uma migrao de dados.

Percebe-se, neste caso, a representao de um fluxo com chamadas a fluxos externos, que simbolizam a modularizao, e um lao que percorre a tabela que ser migrada. Ao se expandir a funcionalidade executada no processamento Carrega dados da Tabela de Origem percebe-se uma operao de atribuio a uma varivel chamada Tabela de uma funo intitulada Abrir consulta. A Figura 2.5 a seguir ilustra o que foi descrito.
figurA 2.5

Rrepresentao de um fluxo com chamadas a fluxos externos em algoritmo para efetuar uma migrao de dados.

Ou seja: a varivel Tabela receber o valor resultante da funo (API interna) Abrir consulta.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

13

Em geral o Maker confundido com diversos produtos, como gerador de cdigos, ferramenta Case, Framework, ferramenta de gesto de processos (pelo fato de usar a mesma notao de fluxogramas). De fato, o produto no nenhuma das ferramentas citadas, mas, sim, uma plataforma para o desenvolvimento de aplicaes com alto grau de integrao, abstrao e alta performance.

2.3 Webrun
Para ser executada, uma aplicao escrita em Maker precisa estar acoplada a um dispositivo chamado Webrun. Trata-se de um motor (Engine) para a execuo dos softwares codificados em Maker que possui diversas atribuies, como realizar todo o controle de autenticao e autorizao bem como o de permisses na aplicao final,de compilao do software na arquitetura-alvo escolhida, de registro deLog de auditoria para transaes na aplicao, etc. Para executar sob regime de publicao, o Webrun acoplado ao software escrito em Maker, demodoque ambos integram um nico pacote de publicao, constituindo ento um nico produto. A Figura 2.6 a seguir ilustra o mecanismo de funcionamento do Webrun.

figurA 2.6

Mecanismo de funcionamento do Webrun.

Aps o acoplamento ou a compilao, o que se tem o ilustrado no lado direito da Figura 2.6. No controle de autenticao e autorizao, o Webrun dispe de um mecanismo robusto, em que as unidades mais atmicas dos sistemas (os componentes) podem ser controladas, e permisses sero atribudas ou negadas. Nesse processo, so contemplados Menus, Submenus

14

O MAKER: DESCRIO DO AMBIENTE

ecomponentes de formulrios. A Figura 2.7 representa a interface de configurao de controle de permisses.


figurA 2.7

Interface de configurao de controle de permisses.

O Webrun tambm implementa um robusto controle de Log para todas as transaes efetuadas no sistema. Ou seja, todo o Log de auditoria vem nativo nas aplicaes escritas em Maker, de maneira que, ao implementar suas aplicaes, o desenvolvedor no precisa se ater na construo de tal funcionalidade. A Figura 2.8 ilustra essa funcionalidade.
figurA2.8

Log de auditoria.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

15

Todas as operaes de incluso, alterao e excluso so armazenadas sob a forma de Log e podem ser consultadas pelos administradores do sistema. interessante ressaltar que uma aplicao escrita em Maker executada em uma robusta arquitetura de camadas, de forma que todos os conceitos de execuo de aplicaes Web, como balanceamentode carga, escalabilidade, clusterizao, etc., so aplicveis ao software desenvolvido em Maker.
figurA 2.9

Exemplo de uma aplicao escrita em Maker.

2.4 interfAce de formulrios


Para a construo de formulrios, o Maker dispe de um mecanismo visual de componentes, em que objetos podero ser dispostos em qualquer parte do formulrio, bastando clicar e arrast-los para a posio desejada. Trata-se de uma interface WYSIWYG (What-YouSee-Is-What-You-Get). O que voc v o que voc obtm), que possui muita riqueza visual e facilidade de customizao nesse aspecto, o que d total poder ao programador para a criao de formulrios com um alto grau de usabilidade sob o ponto de vista do usurio final. A Figura 2.10 ilustra a criao de um formulrio com o Maker.

16

O MAKER: DESCRIO DO AMBIENTE

figurA 2.10

Criao de um formulrio com o Maker.

2.5 mAker report


Assim como para a construo de formulrios, o Maker dispe de uma estrutura bastante intuitiva para se construir relatrios. Esse mdulo denominado de Maker Report, uma ferramenta muito poderosa para se construir relatrios, que dispe de muitos componentes, tais como: caixas de texto, cdigos de barra, grficos, referncias cruzadas, sub-relatrios, aba de dados, aba de clculo, bandas de detalhe, cabealho, rodap, etc. (Ver Figura 2.11.)

figurA2.11

Maker Report, uma estrutura para a construo de relatrios.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

17

Diante de todas as interfaces apresentadas e suas respectivas facilidades, nota-se o quanto simples e produtivo utilizar o Maker. Por ser uma ferramente muito intuitiva e utilizar linguagem de programao visual, a curva de aprendizado extremamente baixa, e basta um treinamento de 40 horas para capacitar profissionais de tecnologia a se tornarem aptos a desenvolver aplicaes em Maker.

2.6 AbstrAo no mAker


A produtividade alcanada no Maker diretamente relacionada aoalto poder de abstrao que a ferramenta implementa, em que algumas etapas do processo de desenvolvimento so suprimidas e integradas. Sabemos que, em geral, a implementao de softwares segue alguma metodologia de desenvolvimento; das metodologias disponveis, algumasforam criadas com base em engenharias tradicionais, de modo que, para o desenvolvimento de um sistema, determinadas etapas precisam ser cumpridas para a obteno do sucesso no final do projeto. As etapas a serem cumpridas costumam ser oito (especificao de requisitos, anlise de requisitos, prototipao, modelagem, implementao, testes, homologao e implantao), sempre feitas em ferramentas distintas, o que torna muito moroso manter um projeto a partir desta abordagem tradicional, pois sempre que se muda um requisito torna-se bem difcil dimensionar seu impacto nas etapas subsequentes. A utilizao de uma nica ferramenta, ou seja, de uma plataforma, garante total segurana em mudanas, uma vez que os impactos estaro automaticamente mapeados. Com a utilizao do Maker, o desenvolvedor perceber a aglutinao de algumas etapas, pois, por meio de abstrao, ele permite, por exemplo, que se faa prototipagem, modelagem e implementao de uma s vez. Quando se cria um formulrio em Maker, automaticamente se obtm prottipo, modelo de dados e implementaes bsicas deste formulrio (incluso, excluso e consulta a registros). As Figuras 2.12 e 2.13 mostram melhor essa integrao. Na Figura 2.13, a seguir, percebe-se de forma bem clara como o Maker ajuda a reduzir o tempo de desenvolvimento de softwares. Ela simboliza o mecanismo de criao automtica do modelo de dados, no qual o Maker cria de uma s vez prottipo, modelo e implementao.

18

O MAKER: DESCRIO DO AMBIENTE

figurA 2.12

Exemplo de integrao em Maker.

figurA 2.13

Mecanismo de criao automtica do modelo de dados em Maker.

Outro recurso bem inovador da ferramenta o repositrio de funcionalidades, que permite o reaproveitamente de tudo o que se constri em Maker. Em projetos de software, comum ter de refazer funcionalidades, seja por falta de organizao, de documentao ou de compatibilidade entre tecnologias. Com o recurso de repositrio, aliado abstrao, o reaproveitamento de funcionalidades se d deforma transparente, ou seja, para reaproveitar alguma funcionalidade (formulrio,

MAKER: Uma introduo ao ambiente visual de desenvolvimento

19

fluxo ou relatrio) escrita em Maker, basta clicar nela e arrast-la para o projeto, que, de uma forma visual, o reaproveitamento acontecer. A Figura 2.14 ilustra este recurso.
figurA 2.14

Repositrio de funcionalidades.

2.7 rAstreAbilidAde
Um problema clssico em projetos de software a falta de documentao e a consequente falta de rastreabilidade entre as funcionalidades implementadas. Este problema tambm agravado pela quantidade excessiva de ferramentas utilizadas em um processo tradicional de desenvolvimento, sendo muito comum efetuar uma correo em um trecho de software e esta implicar diversos erros no projeto como um todo. O Maker dispe de um mecanismo capaz de monitorar as funcionalidades e de apresentar todas suas interdependncias; com isso, no momento de se fazer a correo ou a alterao de alguma funcionalidade, este mdulo mostrar o impacto causado ao longo do projeto, proporcionando mais segurana e maturidade s manutenes implementadas. A Figura 2.15 ilustra este recurso A figura mostra, na coluna esquerda, uma relao de todas funcionalidades escritas no Maker; na coluna central, os objetos dos quais o objeto analisado depende, ou seja, mostrada uma dependncia descendente da funcionalidade analisada; e na coluna direita, os objetos que dependem da funcionalidade analisada, isto , uma dependncia ascendente. Trata-se de um poderoso recurso que, sem dvida nenhuma, facilitar bastante a vida dos desenvolvedores em momentos de manutenes nos sistemas.

20

O MAKER: DESCRIO DO AMBIENTE

figurA 2.15

Visualizador de dependncias do Maker.

2.8 depurAdor VisuAl


Ainda quanto a aspectos de manuteno em softwares, fundamental e necessrio haver um mecanismo de depurao eficiente e em total sinergia com os recursos de abstrao implementados pelo Maker. Para uma linguagem de programao visual, o mais trivial que se tenha um depurador visual, e o que h de mais interessante neste sua capacidade de depurar cdigos (fluxogramas) compilados tanto para a camada Cliente quanto para a camada servidor, de forma a abstrair este detalhe do desenvolvedor. Todos os conceitos dos depuradores tradicionais, como BreakPoints, Concluir Regra, Saltar Processamento, Sair da Regra, Pausar a Regra, so implementados com a principal vantagem da depurao nas camadas cliente e servidor. Todas as Variveis declaradas nos fluxogramas podero ser acessadas e alteradas pelo Depurador, que se mostra tambm um grande recurso facilitador em etapas de manutenes em sistemas. A Figura 2.16 ilustra melhor este mecanismo. Observe que no cdigo (fluxograma) ilustrado h uma figura que representa um ponto de parada (BreakPoint) e, ao lado, tem-se uma janela com os valores das variveis declaradas no fluxo depurado.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

21

figurA 2.16

Exemplo de depurao de um fluxo.

2.9 internAcionAlizAo dAs AplicAes


Com a disseminao do mundo virtual, cada vez mais as distncias esto se encurtando. As aplicaes nas nuvens j so realidades, e preciso torn-las mais acessveis. Para isso, a primeira barreira a ser transposta pelos fornecedores de sistemas o idioma em que tal aplicao ser executada; sistemas multilinguagem precisam ser ofertados para estar em total sinergia com clientes espalhados no mundo todo. Internacionalizar softwares uma tarefa dispendiosa, que requer muito tempo para a codificao de mecanismos capazes de executar um sistema fora de seu idioma-padro. No Maker, esta tarefa muito fcil, pois basta executar o mdulo de internacionalizao e o software, automaticamente, estar pronto para ser executado no idioma escolhido. Tambm neste caso o Maker faz uso da abstrao para facilitar esta

22

O MAKER: DESCRIO DO AMBIENTE

tarefa ao desenvolvedor, que no precisar escrever nenhum cdigo, regra, fluxograma ou algoritmo para transcrever uma aplicao Maker para outros idiomas. A Figura 2.17 ilustra este mdulo.

figurA 2.17

Tabela de traduo de expresses do sistema para outros idiomas.

Algumas palavras, como se pode notar, no possuem traduo fidedigna; nesses casos, quando o dicionrio do tradutor no tiver conseguido traduzir, a traduo manual do termo ter de ser feita.

2.10 gAp semntico


O Maker ajuda a reduzir outro problema clssico em projetos de desenvolvimento de software, que o gap semntico, ou seja, o hiato existente entre a soluo que foi implementada e a que o cliente de fato esperava. Essa situao acontece porque nenhum dos envolvidos no processo de desenvolvimento fala a mesma lngua, ou seja, o usurio s entende de negcios, o especialista de domnio s entende de modelagem e o programador s entende de tecnologia. O Maker, por utilizar uma notao universal, que so os fluxogramas, reduz distncias, permitindo que os softwares implementados sejam mais precisos e conformes ao que foi solicitado. A Figura 2.18 ilustra bem esta linha de raciocnio.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

23

figurA2.18

Com o Maker, os softwares implementados so mais precisos e conformes ao que foi solicitado.

2.11 profiler
Sempre que se constri uma aplicao incorre-se em alguns problemas de performance, e identific-los nem sempre algo simples de se fazer. Os problemas mais comuns so algoritmos malfeitos, muitos laos aninhados, drivers de conexes lentos, SGBDs com altos tempos de respostas, etc. O Maker possui um mecanismo (Profiler) que ajuda a identificar pontos de gargalo e lentido nas aplicaes e se mostra muito eficiente quando estas precisam ser customizadas e evoludas, principalmente quanto a performance. A Figura 2.19 ilustra tal mdulo.
figurA 2.19

O Profiler eficiente na customizao de aplicaes relativamente a performance.

24

O MAKER: DESCRIO DO AMBIENTE

2.12 documentAo
A falta de uma documentao clara, concisa e atualizada outra barreira a ser quebrada em projetos de software. Estatsticas mostram que mais de 90% das aplicaes criadas no so documentadas ou a documentao existente est completamente desatualizada. Para sanar este problema, o Maker se vale de um mecanismo automatizado de documentao que utiliza engenharia reversa. A ferramenta cria um modelo de documentao capaz de esclarecer todas as caractersticas relevantes do software com um padro extremamente simples e de fcil compreenso, o que, certamente, refora a necessidade de menos manuteno em softwares escritos em Maker, pois sempre se tem a garantia de que esto documentados.

figurA 2.20

Cadastro de dados gerais da documentao do sistema.

3
AplicAo exemplo
3.1 definio e tecnologiAs utilizAdAs
A aplicao que construiremos no decorrer deste livro ser uma agenda de contatos, cuja finalidade permitir o envio de correspondncias sob a forma de e-mails, cartas e contatos telefnicos. Para a construo dessa agenda utilizaremos a IDE Maker, verso 2.6, e o banco de dados PostgreSQL, verso 8.2. Trata-se de um sistema de agenda pessoal que permitir a cada usurio gerir sua prpria agenda mediante consultas em tela e relatrios. A aplicao ser autenticada por meio de login e senha, o que garantir que apenas pessoas autorizadas podero visualizar as informaes dos contatos. A aplicao ter recursos interessantes de interatividade com os contatos, como localizao geogrfica do contato e cadastro de observaes. Ser gerado um histrico de todas as interaes realizadas com cada contato, o qual poder ser visualizado em um relatrio.

3.2 descrio dos recursos emodelo de dAdos


O sistema composto de sete tabelas: Contato, Endereo, Categoria, Cidade, Estado, Observao e Parmetro. A tabela Contato a

26

APLICAO EXEMPLO

principal entidade do sistema, visto que toda a lgica da aplicao se baseia nela. Ao cadastrar um contato, o usurio ter de informar de que cidade ele e sua categoria. So informaes importantes para a retiradade relatrios, que tambm podem servir para gerar grficos e dados sumarizados. No processo de cadastramento, o usurio estar manipulando as tabelas Endereo e Contato, j que todos os dados relacionados a endereo esto separados em outra tabela, at mesmo a cidade, comentada no pargrafo anterior. Este processo transparente para o usurio, pois o Maker dispe de componentes para ocultar as operaes que lhe sejam indiferentes. Tambm faz parte do endereo o Estado em que o contato reside, mas essa informao no est diretamente ligada tabela Endereo e sim Cidade, visto que toda cidade pertence ao um Estado. Assim, para saber o Estado de um contato basta saber a cidade em que ele reside. Toda interao feita com o contato armazenada na tabela Observao, e todo registro nessa tabela possui a informao de qual contato o originou. A tabela Observao tambm possui um campo para identificar o tipo de interao registrada, como um e-mail enviado ou uma observao adicionada. A nica entidade que no possui relacionamento direto com a tabela Contato a tabela Parmetro, que armazena informaes sistmicas, como configurao de e-mail e de Twitter. A Figura 3.1 ilustra o modelo de dados da aplicao que ser construda no decorrer do livro.

figurA 3.1

Modelo de dados da agenda de contatos que ser construda no decorrer deste livro.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

27

3.3 telAs do sistemA


A tela de Cadastro de Contatos a principal funcionalidade do sistema. Composta por trs abas (Cadastro, Endereo e Localizar), a tela que possui o maior nmero de informaes. Esta tela ter campos como nome, telefone, e-mail, foto, endereo, entre outros. A Figura 3.2 ilustra a aba Cadastro do formulrio Contato.
figurA 3.2

Aba Cadastro do formulrio Contato.

Oriundo da tabela Endereo, os dados do endereo do contato so exibidos na aba Endereo, conforme ilustrado na Figura 3.3.
figurA 3.3

Dados do endereo da tabela Endereo.

28

APLICAO EXEMPLO

Na aplicao estar disponvel a funcionalidade de geolocalizao, e tomaremos como base o endereo do contato para ilustrar esse recurso, que ser encontrado na tela de contatos. O usurio poder visualizar o endereo do contato por meio de um mapa, conforme ilustrado na Figura 3.4.

figurA 3.4

Mapa disponibilizado pela funcionalidade de geolocalizao.

A aplicao ir disponibilizar o recurso de envio de e-mail como forma de comunicao com o usurio, por esse motivo existe o campo para registrar o endereo de e-mail do contato. Todo e-mail enviado a partir da aplicao armazenado no banco de dados e pode ser posteriormente recuperado. A funcionalidade consiste de uma tela de envio de e-mail com os recursos mais importantes utilizados em um Webmail. Essa tela permitir o envio de e-mails com anexos, uma vez que possvel enviar arquivos para o servidor e depois recuper-los (baix-los). A Figura 3.5 ilustra a tela de envio de e-mail. A aplicao ir dispor de relatrios que ajudaro o usurio a gerir seus contatos. Um desses relatrios a Lista de Contatos, que apresentar todos os contatos cadastrados no sistema, como ilustrados na Figura 3.6.

MAKER: Uma introduo ao ambiente visual de desenvolvimento

29

figurA 3.5

Tela de envio de e-mail.

figurA 3.6

Relatrio de Contatos.

Ainda estaro disponveis na aplicao mais trs tipos de relatrio envolvendo os contatos e suas aes dentro do sistema: relatrio de contatos por categoria, relatrio dirio das aes/interaes realizadas pelo usurio e histrico de cada contato.

3.4 cenrio exemplo


Ao longo deste livro construremos, como exemplo, um pequeno cenrio, o qual exploraremos de forma didtica, construindo regras de negcios mais simples, sem interferir na aplicao. Para aprender o conceito de fluxograma, trabalharemos com esse cenrio, que constitudo de duas tabelas interligadas (Funcionrio e Departamento), no qual iremos realizar operaes bsicas, e, dessa forma, no comprometeremos nossa aplicao. Esse cenrio encontra-se ilustrado na Figura 3.7.

30

APLICAO EXEMPLO

figurA3.7

Tabelas interligadas do cenrio-exemplo.

O captulo que acabamos de ver aborda as caractersticas da aplicao-exemplo que ser construda ao longo deste livro. Todos os requisitos so apresentados e seu escopo definido. O captulo aborda desde a modelagem de dados at a interface final com usurio. So apresentados relatrios e telas que transmitem uma noo do que ser a aplicao.

ndice remissiVo

Aba Localizar, 39 Abstrao, 17 Acesso para visualizao na Web, 43 Ambiente, definio do, 9 Aplicaes, internacionalizao das, 21 Arquivo texto exportao, 149 importao, 161 leitura, 155 Arquivo WFRE, 34 Assistente de banco de dados, 38 Assistente SQL, 49 Assistente, 147 Atualizaes e configuraes, 147 Bandas, 120 Cadastro de grupos de acesso, 179 Cadastro de usurios, 179 Cenrio, 29, 71 Chaves primrias, 41 Controle de acesso, 173, 178 Criao de formulrios Cidade, 45

Consulta Mapa, 91 Contato, 47 Envio de E-mail, 102 download do E-mail, 116 envio de E-mail, 109 funo Upload, 104 pastas, 115 URL de Acesso, 116 Estado, 44 Parmetro, 59 Criao de formulrios, 35 Deciso, 69 Depurador Visual, 20 Documentao, 24 Elementos, 64 Eventos, 64 Exportao de objetos, 184 Fluxo com lao de repetio, 84 Fluxo de interao com objetos, 81 Fluxo de validao, 73 Adio de componentes, 74 Camadas, 79 configuraes de salvamento, 78

190

NDICE REMISSIVO

Padres de salvamento, 78 Parmetros de entrada, 74 Fluxo, 91 Fluxogramas, 10, 63 Fonte de Dados ODBC,162 Formulrio, 40 Formulrios, interface de, 15 Gap Semntico, 22 Gerente, 72 Google Maps, 93 Grupos de usurios, 173 IDE, 173 Importao de objetos, 184 Interao, 70 JAR, 145 Lao de repetio, 84 Lista Dinmica, 45 Maker Commons, 142 Maker Report, 16 Menu, 42 Modelo de Dados, 25 Modos de trabalho, 72 Normal, 72 Ordem de execuo, 66 Permisso de acesso, 181 Permisso de Acesso, 176 Persistncia de dados, 41 Processamento, 65

Profiler, 23 projeto Maker, criando um, 32 Projeto, 72 Publicao, 141 Rastreabilidade, 19, 187 Recursos, 25 Relatrios, 119 agrupamento, 129 alinhamento e espaamento, 126 reas, 120 componentes, 122 filtros, 129 grupo, 132 histrico de Contatos, 135 sub-relatrio, 137 visualizao e publicao, 127 Restrio de acesso, 178 Rotinas, 149 Scaner de Dependncias, 187 Subfluxo, 70, 95 Subformulrio, 48 Tecnologias, 25 Tela de observao, 53 Telas, 27 Usurios, 174 Valor-padro do formulrio, 54 Verso, 183 WAR, 143 Webrun, 13, 141