Cara comunidade WI sou novo no portal e também nessa comunidade em específico, mas estou em busca de softwares que tenham a proposta de alta produtividade com baixo custo em prazos reduzidos para o desenvolvimento de aplicações bem elaboradas e confiáveis para Web.
Por isso gostaria de iniciar uma discussão em torno de um comparativo de dois softwares que a princípio apresentam características similares com a mesma proposta de alta produtividade, porém, distintos quanto a representatividade do setor de desenvolvimento.
O primeiro todos aqui já conhecem, o WebIntegrator (WI) representando a comunidade de software livre, o outro, o Maker, também produto brasileiro, mas representando a iniciativa privada dos baianos da Softwell (http://www.softwell.com.br) .
Então gostaria de saber se alguém já conhece o Maker e já teve a oportunidade de realizar esse comparativo, claro guardando as devidas diferenças já que o WI parte de uma licença pública e o Maker visa o lucro. O que interessa nessa discussão na verdade é se o WI possibilita a mesma funcionalidade do Maker, da mesma forma que sempre comparamos BrOffice com Microsoft Office; Linux com Windows; etc.
Autor: Fábio Augusto C. Carvalho
2828 comentários
No início você pode demorar um pouco para entender a filosofia do WI, depois verá que vale a pena. Sds, Luciano Borges
A construção de formulários é muito flexível, dá pra fazer muitas coisas só com as propriedades, e o gerador de relatórios (ReportBuilder) é comparável ao Crystal Reports, e muito menos trabalhoso que o Jasper (iReport), ainda que esse último seja suportado também.
Só para despertar a curiosidade de quem ainda não teve contato com o Maker segue alguns projetos em Maker que tiveram ampla repercursão: Sistema Saúde Digital (que atraiu a atenção da própria Microsoft)
Controla todo o acesso à saúde pública de Feira de Santana-BA (apróx. 500 a 600 mil habitantes).
* www.feiradigital.ba.gov.br/
* www.bahiaemfoco.com/noticia/12298/projeto-feira-digital-e-contemplado-com-premio-ti--governo-em-feira SERC (ATI Pernambuco) - Ganhador e-GOV 2009 (http://www.premio-e.gov.br/)
Certidão de Nascimento em todo o estado de PE emitido através do sistema.
* jornalnacional.globo.com/Telejornais/JN/0,,MUL1165360-10406,00-
PE+CERTIDAO+DE+NASCIMENTO+RAPIDA+E+SEM+BUROCRACIA.html
* www.portais.pe.gov.br/web/portalpe/exibirartigo?p_p_id=EXT_2_INSTANCE_1gCs&p_p_action=0&p_p_state=pop_up&p_p_mode=view&p_p_col_id=column-2&p_p_col_pos=0&p_p_col_count=1&_EXT_2_INSTANCE_1gCs_struts_action=%2Fpublicadorartigo%2Fimprimir&_EXT_2_INSTANCE_1gCs_companyId=communis.com.br&_EXT_2_INSTANCE_1gCs_articleId=17158 "Paulo Afonso Digital" - Prefeitura Municipal de Paulo Afonso/BA
Todos os sistemas da prefeitura integrados (+ de 30 incluindo saúde, tributos. obtuário, educação). Também ganhador e-GOV em 2008 (http://www.premio-e.gov.br/anos_anteriores.asp) Sistema Integrado de Gestão de Inscritos para Cirurgia (e-SIGIC) (Portugal)
Na esfera internacional recentemente a Deloitte fez o Sistema Integrado de Gestão de Inscritos para Cirurgia (e-SIGIC) que é utilizado em todo o país de Portugal e nas pronvícias ultramar daquele país: www.bahianegocios.com.br/VerConteudo.aspx?ConteudoID=954 Para uma breve introdução teórica do Maker tem esses link na Wikipedia:
* Português: pt.wikipedia.org/wiki/Softwell_Maker
* English: en.wikipedia.org/wiki/Softwell_Maker Como experiência própria desenvolvemos todo o nosso Painel de Controle para publicação de aplicações Maker foi feito no próprio Maker, isso engloba:
- Iniciar/Parar serviços (Tomcat, jBoss, ...)
- Criar, editar, deletar banco de dados;
- Backup/Restore de bancos;
- Manipulação de XML;
- Monitoramento de memória, qtd. acesso, processadores, ...
- Faturamento. Gestão de Contratos, ... Também temos diversos clientes (no MakerPlanet) rodando aplicações em todo o Brasil, e as mais diversas possíveis, ou seja, a versatilidade da ferramenta é muito boa, o custo apesar de parecer elevado é recuperado nos primeiros projetos (quando não no primeiro), e hoje temos uma comunidade crescente com profissionais muito disputados. Para que não conhece ainda vale a pena dedicar algum tempo estudando a ferramenta, surgindo qualquer dúvida estamos à disposição.
Fiz alguns testes com o E-gen, mas não sei informar se o Projeto ainda tem continuidade.
Minha contribuição será em relação ao Maker e as outras ferramentas que tem o mesmo principio.
O Maker é muito bom para gerar CRUD, basta selecionar a tabela e pronto, já está funcionando.
Agora o crud não trata concorrência, se dois usuários estiverem no mesmo registro, um usuário excluir o registro e o outro alterar, nenhuma mensagem de erro, a alteração é realizada em um registro que fisicamente já não existia no banco. Como tratar isso,????? Fazer um fluxo para consultar no banco, antes da alteração, se o registro ainda existe e passar uma mensagem para o usuário informando que a operação não pode ser realizado. Se a classe que fizesse a persistência do Maker fosse aberta, poderíamos implementar essa funcionalidade, e se utilizasse Hibernate seria mais simples ainda com um @Version. Para Persistência o Maker não utiliza nenhum framework padrão, e sim foi implementado por eles, a roda já estava pronta, Hibernate, etc, e eles fizeram outra, e ainda está fechado. O pessoal da Softwell fala que o Maker gera Java e .Net, esqueça o código, como as classes importantes estão fechadas você nunca vai ter acesso para melhorá-las, evitando por exemplo, a necessidade de criar um fluxo para implementar uma concorrência, além do código não seguir nenhum padrão. O Sistema gerado é interpretado por uma Engine criada por eles, dependência total. O Layout do Sistema é bem amarrado, para mudar a tela inicial esqueça, agora se for fazer um ERP tudo bem, se for fazer um Sistema mais específico vai ter que fazer tudo na mão, e o interessante que é um JSP para todas as telas, que são montadas dinamicamente, pense.... Cache esqueça também, aproveitamento de fluxos em outras telas nem sempre é possível. Não estou falando que a ferramenta não presta, presta sim, muito boa, agora vai depender o que você quer fazer. Tem grandes empresas utilizando, conheço varias que analisaram e viram que para o negócio delas não dava. Em relação as ferramentas que “prometem” tenho o seguinte posicionamento: * Utilizar uma ferramenta que gere o código, mas código que possa ser mantido independente da ferramenta. Se o Maker por exemplo, gerasse o código Java das telas(CRUD), código dos fluxos e permitisse fazer um extends da classe de persistência por exemplo seria show. * Fazer tudo na mão mesmo, utilizando os frameworks existentes, sem reinventar a roda. O E-gen que comentei acima fazia CRUD e gerava o código legível, possível de ser mantido sem a ferramenta. Ele tinha a mesma idéia do Maker ler a estrutura do banco e gerava os crud’s. Permitia também através da ferramenta fazer as validações dos campos obrigatórios, tipos de campo, REGEX, etc, utilizava cache e tratava concorrência. A partir do código gerado o desenvolvedor importava para o Eclipse e se virava para implementar a regra do negócio, não com a mesma velocidade de outras ferramentas, mas com a vantagem do código ser legível e reaproveitavel. Pelo que já me passaram do Script Case ele tem a mesma idéia do E-gen. Tem também o famoso JCompany utilizado nos TRT’s e algunas TCE’s, vale apena também analisar. O código gerado pela ferramenta como as classes utilizadas são abertas, utiliza framework’s padrão de mercado, mas, mas, mas, também tem suas particularidades. Como meu foco foi falar do Maker, não vou prolongar muito. Felipe Aragão PS. Caso tenham interesse de conhecer o código gerado pelo maker para um CRUD e o famoso JSP que é montado dinamicamente, posso enviar.
necessidade de ter PODER do desenvolvedor passa ficar em segundo plano. Em primeiro plano passa ser o foco no resultado. O Importante passa ser o tempo que a aplicação vai estar pronta, entregue ao cliente e PRINCIPALMENTE, sem bugs. E a manutenção como vai ser ? Vou ter que meter a mão no código gerado ? Não. Da mesma forma como foi construída a aplicação. Tudo visual e sem mexer no código. Traumas Outro ponto crítico do maker é que ele expoe muito o desenvolvedor. Ele precisa ser muito bom de lógica, e as soluções precisam ser dadas ali, na lata. Quando o desenvolvedor é meia boca ele pode se esconder atrás de alguma linguagem de programação e ficar "tentando" até achar uma solução. No Maker ele precisa "apenas" da lógica e ele vai ter que esquentar muito a cachola ou o projeto vai ficar parado, e todo mundo vai ver e entender que o "problema" é dele. O Maker na prática Depois que tomei o treinamento do maker na sede da softwell em salvador, percebi que tinham muitos alunos meia-boca tomando treinamento e sugeri para o instrutor que fizesse um teste antes do treinamento e só seria admitido aqueles que passassem pelo teste. Acho que eles deveriam implementar isso. O teste é o seguinte: Pegue papel e caneta e desenhe com elementos de fluxogramas um algoritmo de sort (pode ser qualquer um). Normalmente, o cara trava ! Aí você vê o "choque" que o desenvolvedor é submetido quando usa o maker. Nos habituamos a resolver os problemas computacionais sempre pensando em lógica+código juntos. Com o Maker é apenas lógica. Você não precisa mais do código ou então o código é visual (fluxograma). O Maker vai substituir os programadores ? Nunca. Ele é "apenas" uma ferramenta para desenvolvimento de um tipo de aplicação específica com um conceito "diferente". Pior ou melhor dependendo do contexto. Ameaças - O maker mexe na zona de conforto e pode ameaçar seu emprego ? Isso pode acontecer se = "Você desenvolve apenas sistemas do tipo: telas de cadastro, processamentos e relatórios" + "Você acha que seu "valor profissional" está na linguagem que você conhece e não nos projetos que você conclui" + "Seu colega que quer tomar seu lugar e conhece apenas de clipper e não de java mas é melhor do que você em lógica" + "a empresa que você trabalha comprou o maker" Caso as afirmativas acima sejam verdadeiras, Usando o maker seu colega pode desenvolver um sistema melhor e em menor tempo que você e você pode perder sua boquinha, já vi isso acontecer. Porém se você for bom de lógica seu lugar está garantido, com ou sem o Maker. Limitações Esqueça o maker se você desenvolve sistemas especialistas ou "diferentes". Porém se o seu foco é desenvolver sistemas do tipo: Folha, Contas a pagar, ERPs, Financeiro e demais sistemas de gestão, e quer migrar para WEB, por enquanto o maker é IMBATÍVEL. Sugestão: Para facilitar o comparativo acho que seria interessante criarmos um checklist e colocar as características desejáveis e cada um que conhece cada uma das ferramentas responde. Acho até que poderíamos envolver os fabricantes do genexus, maker, IW, etc. O que você acham ? Minha experiência com o maker tem sido até então bastante positiva. Sempre que procuro um recurso ele está lá. Por falar nisso, caro Felipe, a solução @version já é nativa do maker. Veja o link no manual: suporte.softwell.com.br/maker/manual/maker_2/formulario/propriedades_e_eventos.htm  (procure por: campo versão). Como sugestão, indico que você participe do foum GUMAKER. Me ajudou bastante. Perdão pelo post gigante. Espero ter contribuido. A C Azeredo
Na época que estavamos implementando nosso sistema não tinha, e a solução dada pelo pessoal da Softwell foi criar um fluxo para validar.
Você sabe dizer se agora o Maker já trabalha com cache? Felipe Aragão