como o Zoho Creator, Ionic Creator, e outros, permitem criar apps REST / HTML 5 para interagir com o seu "pipeline" de "backend", com pouquissimo investimento em codificacao.E preciso trocar "programacao" por "configuracao", e, se voce tem que investir em alguma coisa, tem que ser em UX (Experiencia do Usuario), e nao em um time de Desenvolvedores!Serio... Nao da para atender nossos usuarios so com issoE claro que nao! As empresas de TI vivem de "mamar" nas "tetas" dos Ota... Ops, "Clientes", entao precisam se repetir constantemente, criando e recriando as mesmas porcarias de sempre, que ja saem da prancheta desatualizadas. Isso sem falar, nos "bugs" transformados em "features", que podem ser melhoradas em versoes futuras...Ok, entao ta... Ja que voce insiste em criar software, por que nao usar uma arquitetura melhor, mais moderna, que valorize o investimento feito, sendo mais adaptavel, flexivel e aderente aos desafios do Seculo XXI?O software moderno tem que ser projetado como uma "vila"Se voce realmente precisa construir um software, entao ele tem que ser adaptavel e flexivel. Tem que ser como uma "vila" de casinhas, onde cada uma delas tenha seu proprio "quintal", e se responsabilize por todo que esteja em sua "cerquinha". E deve ser possivel substituir uma casa, sem ter que derrubar tudo e construir novamente.Em vez de pensar "verticalmente", como os "viciados" Engenheiros e Arquitetos de software de hoje em dia, que, por sindrome do comprometimento, continuam a projetar sistemas como foram ensinados a fazer, na faculdade, e preciso pensar "fora da caixa", ou seja "horizontalmente", em solucoes que efetivamente valorizem o investimento do Cliente, e agreguem valor ao produto.Porem, enquanto o Cliente descreve suas necessidades, os Informatas, estao pensando algo assim: "Bem, para isso, eu crio alguns EJBs, e posso usar um Cluster de Container JEE assim, assado, com um banco relacional XPTO e posso usar Transacoes JTA com um Orquestrator ABCD..., usando uma fila JMX...", em outras palavras: Camadas do "Bolo de Noiva"!Nao me leve a mal, essas ferramentas e padroes sao boas, mas tiveram o seu tempo. E, ao investir nessas tecnologias, voce ja esta adotando a arquitetura "bolo de noiva", condenando o resto da aplicacao a serem parte dele!Divida seu software em pedacinhosSim, para comecar, divida seu software em unidades autonomas e independentes, com seu proprio "quintal", ou seja, seu armazenamento de dados e regras tudo encapsulado. Pode chamar do que quiser: Modulos, Unidades, Moleculas (ja ouvi chamarem assim), Celulas, ou entao, como o Mercado gosta de chamar: "Microsservicos".E extremamente importante notar que Microsservicos devem usar mecanismos padroes de mercado, como os da Plataforma da Web Aberta. Nada de protocolos e padroes semi-livres, ou que impliquem no uso de determinada linguagem, sistema operacional ou framework. Cada Microsservico tem que poder ser codificado na linguagem mais apropriada para sua funcao, usando o mecanismo de persistencia igualmente mais apropriado. E ninguem pode "olhar debaixo da saia" de um microsservico, ou seja, o acesso aos seus dados so pode ser feito atraves da sua interface. Mais nada. Um MS nao pode usar dados do banco que outro MS usa.Cada "macaco" no seu