Ideia de arquitetura
01/12/2015 08:25
Pessoal, estava divagando sobre uma arquitetura baseada em "plugins de negocio" e gostaria da opinião dos senhores
Imaginem que sua empresa mantém um sistema voltado a postos de combustível, outro para restaurantes e outro para empresas de beneficiamento de rochas ornamentais
São negócios completamente diferentes, com regras bem distintas, de modo que tentar comportar tudo num único projeto seria um pesadelo de manutenção. Contudo, também há muita coisa em comum: Todos possuem um fluxo de caixa e estoque, por exemplo, de forma que há muito código que pode ser aproveitado.
Imaginem então usar a arquitetura de plugins do Grails (Ou do Gradle, em se tratando de Grails 3.x) para cada aspecto do negocio.
Então você teria um plugin com todo o fluxo de caixa (domínios, serviços, controladores, views, etc), outro para o estoque, etc.
Um plugin "pdv" teria como dependencias o plugin de caixa e estoque de modo a comandar entradas e saídas de caixa e estoque conforme necessario e, por sua vez, dispararia eventos a cada transação que seriam consumidos por um plugin "paf-ecf" que trataria da integração com um "paf-ecf" homologado. Se você for atender a uma UF que use NFc-e ao invés de PAF, basta empacotar a aplicação com outro plugin.
Por cima de tudo você teria por exemplo o projeto "software de posto" que incluirá os plugins relevantes MAIS a implementação das rotinas específicas daquele negócio.
Há muitos anos tentei desenvolver um modelo assim nos meus tempos de Delphi mas foi um fracasso, mas também a plataforma não ajudava em nada rsrs
Tags:
Arquitetura,plugins