Frequently Asked Questions

De Wiki.Softwell

Veja a resposta a alguns questionamentos comuns sobre o Maker.

Tabela de conteúdo

Instalação e execução do Maker

Qual a configuração mínima exigida pelo Maker?

Pode-se utilizar a configuração básica que atualmente é disponibilizada comercialmente, por exemplo: • Processador de 2 gigahertz ou superior; • 512 megabytes de memória RAM (recomendação: 1gigabytes); • Disco rígido de 80 ou mais gigabytes; • Placa de vídeo Super VGA (1024 × 768) ou de maior resolução; • Sistema Operacional Microsoft Windows 2000 SP4, XP, Vista. • Navegadores: Internet Explorer 6, Mozila FireFox ou equivalentes.

Quais Sistemas Operacionais atendem ao Maker?

O Maker 2.3 funciona no Windows. As aplicações desenvolvidas funcionam no Linux, Windows ou Mac.

No desenvolvimento, é possível compartilhar e gerenciar o acesso ao projeto?

Sim, o Maker permite o desenvolvimento do projeto em grupo. Cada usuário trabalha com seu acesso restrito ou ilimitado, conforme especificação do Gerente de Projeto.

O Maker interage com a importação de dados para popular o sistema?

Sim, além das opções de conexão com diversos bancos de dados, é possível importar dados via formulário de cadastro, webservices, etc.

O que é preciso ter instalado no servidor para rodar as aplicações geradas pelo Maker?

Algum dos servidores de aplicações homologados pela Softwell. Se quiser usar o ReportBuilder como gerador de relatórios em ambiente Linux, precisa do Wine, porém, pode ser usado o Jasper. Temos também um conversor ReportBuilder -> Jasper.

Desenvolvimento no Maker

Como integrar aplicações desenvolvidas no Maker com sistemas existentes?

Há diversos mecanismos de integração com outras aplicações, por exemplo:

  • Webservices - É possível publicar e consumir webservices de forma rápida e prática;
  • Chamadas de DLL - Na plataforma Windows é possível invocar métodos de DLL's.
  • Linha de comando - É possível executar linha de comando no servidor ou cliente para invocar aplicativos;
  • Chamada direta a código Java - É possível executar funções Java diretamente, inclusive de bibliotecas de terceiros;
  • Chamada direta a JavaScript - Permite executar código JavaScript no cliente;
  • Troca de TXT - É possível ler e/ou escrever arquivos TXT, ou qualquer outro formato para troca de dados com Instituições financeiras, Governo Federal ou sistema de TEF;

É necessário o conhecimento de alguma linguagem de programação?

Sim. O usuário não precisa dominar completamente, porém precisa entender de lógica de programação.

O Maker desenvolve aplicações sem o uso de linhas de código?

Sim, todo o desenvolvimento de formulários, relatórios, menu e fluxos do sistema são executados sem programação, pois utilizam-se componentes do Maker ou elementos criados pelo próprio desenvolvedor.

Como o Maker trata o reúso de código?

Todos os componentes são categorizados e armazenados em um local especial chamado de Repositório. Com isso, pode-se até reutilizar objetos desenvolvidos em outros projetos que estejam na mesma base de dados.

Que recursos o Maker disponibiliza para Gestão de Projetos?

Utiliza-se o Log das alterações do sistema para análise e acompanhamentos do desenvolvimento, além de reduzir erros de entendimento.

Como a documentação de ajuda é agregada ao sistema em execução?

Ajuda on line é pela tecla F1 para campos com Dicas.

É possível publicar uma aplicação sem a instalação do módulo runtime/api?

Sim. Existem duas formas: 1) Utilizando um runtime para interpretação dos sistemas criados com o Maker, porém esse runtime pode ser rodado em servidores de aplicações homologados. 2) Através da exportação das classes já compiladas (formulários, regras e relatórios). Os servidores de aplicações homologados são Tomcat (puro) e JBOSS.

Implementa efetivamente os conceitos de Orientação à Objetos?

Para o uso do Maker, não são necessários os conceitos de OO, visto que é outro paradigma. Nas aplicações geradas, nossa camada de persistência acessa diretamente tabelas. O foco do Maker é na regra do negócio.

Permite fazer debug passo a passo do código gerado?

Não é passo a passo, porém é funcional. É feito através da inserção da funcionalidade "ponto de parada" nos locais específicos dentro das regras de negócio (fluxograma). Dispõe das funcionalidades "avançar” e "interromper”, além de visualização do conteúdo das variáveis e do ponto de parada.

Ainda com relação ao debug, precisa de alguma ferramenta complementar?

É disponibilizado um mecanismo de debug conforme item anterior. Está em fase de implementação um DEBUG totalmente visual (visualiza a regra de negócio/fluxo passo a passo).

A geração de formulários no Maker poderia ser comparado com o padrão Delphi ou Access?

Sim. É uma nova metodologia que utiliza alguns dos padrões de trabalho do Delphi ou do Access. A facilidade de criação por assistentes e componentes disponíveis e configuráveis, define-se uma nova tendência de desenvolvimento.

Gera código para .NET C#?

As aplicações completas são geradas em JAVA, JavaScript e linguagem SQL para os bancos oracle, sql server, postgre e firebird. Atualmente estamos implementando/homologando .NET, ou seja, em breve as aplicações desenvolvidas integralmente na filosofia Maker poderão ser portadas para .NET sem nenhuma implementação. Atualmente, rotinas/algoritmos podem ser geradas diretamente do fluxograma para diversas linguagens ABAP4, COBOL, C entre outras. Para tal, disponibilizamos no Maker um mecanismo para cadastramento de novas linguagens, construido com o próprio Maker. Fornecemos também um manual técnico.

Permite que o código gerado seja exportado e utilizado em servidores de aplicação J2EE?

Teoricamente, sim. Atualmente, já homologamos o JBOSS e o Tomcat (puro), sem nenhuma implementação ou problema. Para rodar em qualquer servidor será necessário uma avaliação caso a caso.

Como fazemos a manutenção de nossos modelos de dados Orientado à Objeto? (Persistência)

É um outro paradigma. Se formos tentar encaixar o paradigma adotado pelo Maker com a OO não conseguiremos encaixar, pois é outro conceito. O Maker é melhor visto do ponto de vista da análise essencial do que da análise OO. Nós focamos na lógica no negócio, garantido pela infra-estrutura que roda por baixo.

É possível criar Threads no Maker?

Sim. Há funções que iniciam a execução de fluxos de forma assíncrona.

O Maker permite implementação voltada para sistemas Multi-Empresa e Multi-Filiais?

Sim. Desenvolver sistemas multi-empresas é apenas uma questão de especificação. A interoperabilidade com outros sistemas através de webservices e sockets é facilitada, basta informar parâmetros.

Estruturas do Maker

Como o Maker permite Implementação de Funções para fluxos?

O Maker possui uma interface para que os usuários mais avançados possam implementar ou utilizar as suas próprias funções.

Permite personalização de Menus por parte do Usuário?

Os sistemas gerados podem seguir uma proposta padrão definida no Maker, porém pode-se customizá-la ou até descartá-la. Para customizar a proposta do Maker, podem ser criados novos Skins através de imagens e folhas de estilo.

Permite personalização de Layout por parte do Usuário?

Sim. Todos o layout dos sistemas gerados podem ser personalizados. Para customizar a proposta do Maker, podem ser criados novos Skins através de imagens e folhas de estilo.

Permite personalização de Formulário por parte do Usuário?

Sim. Diversas propriedades como fonte, cor ou imagem de fundo podem ser personalizadas em um formulário criado com o Maker. Para customizar a proposta do Maker, podem ser criados novos Skins através de imagens e folhas de estilo.

Implementa controle de Acesso em Menus dinâmicos, com base em Grupos?

Sim. Nosso Controle de Acesso é bem completo, inclusive, pode integrar com outros mecanismos de autenticação/autorização (através de webservices, por exemplo). Temos também suporte nativo a leitores biométricos.

Implementa controle de Acesso em operações (Atualização / Exclusão) por Tela e Grupos?

Sim. Nosso Controle de Autorização é por grupo/tela/componentes e tem as seguintes chaves: visível, apenas leitura, habilitado, escrita, remoção e atualização.

Como uma estrutura de fluxograma gerencia as regras do sistema?

Através de objetos pré-definidos, como processamento ou decisão, e funções ou variáveis criadas pelo desenvolvedor para executar fluxos.

Implementa documentação automática em moldes similares ao Java Doc?

Sim. O código gerado é totalmente comentado segundo a especificação do Java Doc.

Implementa versionamento de registros e auditoria de alteração de registros?

Sim e é parametrizado. Logamos em tabelas de banco, portanto podem ser criados relatórios de LOG.

Existe ferramenta específica para criação de relatórios?

Sim. Faz parte do ambiente Maker um gerador de relatórios bastante poderoso, o ReportBuilder. Também há a possibilidade de usar Jasper (que inclusive é aconselhado para ambientes não Windows).

Quais recursos mais se destacam para a produção de relatórios?

O Gerador de Relatórios, além do assistente de criação, está composto por ferramentas que possibilitam campos que permitem sumarização, gráficos, sub-relatórios incorporados, imagens e outros.

Banco de dados

Quais os bancos de dados suportados?

  • PostgreSQL 8.1 - 8.3;
  • MS-SQL Server 2000/2005/2008;
  • Firebird 1.5/2.0;
  • Oracle 10G, 9i;
  • DB2;
  • MySQL 5.0;

Quais conexões com banco de dados que o Maker permite?

Atualmente permite conexões com FireBird 1.5, SQLServer 2000, Oracle 10g, PostgreSQL 8.2.

Como funcionam as tarefas de gerenciamento do banco pelo Maker?

O Maker não gerencia banco de dados, mas, pode relacionar elementos do banco através de consultas para serem utilizadas na construção de formulários e relatórios.

Existe alguma interação com ferramentas Case para modelagem de dados?

Não é necessária integração, o Maker trabalha com dicionário de dados e direto com tabelas do banco.

É necessário instalar e configurar aplicações baseadas no modelo Cliente/Servidor?

A instalação do banco de dados é feita no servidor e ele é quem faz o envio dos dados para os clientes conectados. Este modelo é utilizado juntamente com a tecnologia Java, integrado com os protocolos HTTP e SOAP.

Bibliotecas e Frameworks

De que forma é implementada a Persistência?

Nós criamos um modelo. Procuramos não usar tecnologias do mercado por saber que não existe um consenso que defina qual a melhor. Também não encontramos uma tecnologia de persistência que atendesse tanto a pequenos sistemas quanto a grandes sistemas. Sempre os requisitos mínimos eram muito altos para sistemas simples. Assim, decidimos criar a nossa.

Como funciona o fluxo de requisições no Maker?

Nós implementamos um MVC para o código gerado. Não utilizamos frameworks do mercado, implementamos o nosso. O conceito do Maker é não necessitar tocar no código gerado nunca. Assim, as 110 aplicações geradas ao longo dos 6 anos de uso da ferramenta, comprovaram que pela facilidade proporcionada pela ferramenta tais tecnologias não se tornaram necessárias. O Maker não é uma ferramenta para desenvolvimento Java. O Maker é um completo ambiente que tem a possibilidade de exportação para outras linguagens, inclusive Java.

Permite algum tipo de integração com outros Frameworks, como JCompany?

Dentro do ambiente de definição das regras (fluxos) é possível fazer chamadas às classes externas através da funcionalidade "executar JAVA", porém, além de necessitar de um especialista para implementar de forma correta, é conveniente avaliar os benefícios (manutenções futuras em linha de código), pois, pela agilidade que o Maker proporciona no processo de desenvolvimento (até 60x mais rápido), aconselhamos re-desenvolver toda a aplicação no Maker. Além de facilitar a manutenção (tudo em fluxograma), vai garantir que futuramente a aplicação possa rodar em outras linguagens/plataformas que estão sendo homologadas pela Softwell (.NET por exemplo).

Componentes de Hardware

Comunicação com o Hardware, acessando dispositivos?

Além da utilização de DLLs para acesso aos drivers de comunicação com o periférico em questão, também é possível adicionar Applets aos softwares desenvolvidos no Maker.

O Maker possui recursos de comunicação com periféricos?

Sim, através de funções de fluxo pode-se controlar o funcionamento de periféricos do tipo impressoras fiscais e outros equipamentos eletronicamente conectáveis.

Suporte a impressora fiscal e não fiscal?

Toda a API da Bematech está implementada no Maker. Impressoras de outros fabricantes podem ser adicionadas sem a intervenção da Softwell, já que o Maker é expansível, não necessitando de alterações para dar suporte a Hardware adicional.

Impressão em modo TEXTO (DOS)?

É possível escrever diretamente na porta LPT1 ('/dev/lp0' nos sistemas Unix-Like), assim, também é possível enviar comandos de formatação para a impressora, obtendo-se controle total sobre a impressão.

Quais os leitores biométricos suportados ?

  • Nitgen Fingerprint reader Fingkey Hamster I
  • Nitgen Fingerprint reader Fingkey Hamster II

É possível utilizar leitores de código de barras?

Sim.

Ferramentas pessoais