Consulte o 中文文档 para obter os documentos em chinês.
Compileflow é um mecanismo de processo muito leve, de alto desempenho, integrável e extensível.
O mecanismo de processo Compileflow é uma parte importante do Taobao Business Process Management (TBBPM), que é dedicado à otimização das operações no Taobao Marketplace do Alibaba. Especificamente, o Compileflow foi projetado para se concentrar na execução de memória pura e em mecanismos de processo sem estado, convertendo arquivos de processo para gerar, compilar e executar código Java.
Atualmente, o compileflow alimenta vários sistemas principais, como as lojas e transações de comércio eletrônico do Alibaba.
O Compileflow permite que os desenvolvedores projetem seus próprios processos de negócios por meio do editor de processos, que visualizará lógicas de negócios complexas e construirá uma ponte entre designers e engenheiros de desenvolvimento.
1. Fornecer uma solução de processo de negócios ponta a ponta, desde o design até a execução de ideias de desenvolvimento de negócios.
2.Oferecer uma variedade de mecanismos de processos para concretizar a arquitetura visual global, de modo que a estratégia se traduza facilmente em visualizações, o que leva a capacidades, processos e sistemas de negócios aprimorados.
3.Projetar um mecanismo de execução eficiente que possa apoiar a rápida implantação de novos serviços pela empresa e seja capaz de agilizar processos que acelerem a resposta de desenvolvimento e a velocidade de interação.
1.Alto desempenho: É simples e eficiente para compilar e executar código java, que é gerado pela conversão de arquivos de processo.
2. Cenários de aplicação diversos: Amplamente utilizados nas soluções de plataforma intermediária do Alibaba; suporta vários cenários de negócios, como guias de compras e transações.
3.Integrável: O design leve e conciso torna extremamente fácil a integração em várias soluções e cenários de negócios.
4. Suporte completo a plug-ins: Compileflow é atualmente compatível com plug-ins IntelliJ IDEA e Eclipse. O código Java pode ser gerado dinamicamente e visualizado em tempo real durante o design do processo. O que você vê é o que você obtém.
5. Desenho de projeto de processo: Suporta exportação para arquivo SVG e código de teste de unidade.
Endereço de download do plug-in: https://github.com/alibaba/compileflow-idea-designer
Instruções de instalação: Use o método de instalação local IntelliJ IDEA para instalar. Em seguida, reinicie o IntelliJ IDEA para ativar.
< dependency >
< groupId >com.alibaba.compileflow</ groupId >
< artifactId >compileflow</ artifactId >
< version >1.2.0</ version >
</ dependency >
Verifique a versão disponível em search.maven.org.
Nota : Compileflow suporta apenas JDK 1.8 e superior.
Consulte a demonstração do KTV abaixo para entender a configuração de nós e atributos e o uso de APIs por meio da demonstração e prática da demonstração.
Descrição da demonstração: N número de pessoas vão ao ktv para cantar. Cada pessoa canta uma música. A taxa normal para a sessão KTV é de 30 yuans/pessoa, mas se o preço total exceder 300 yuans, eles receberão 10% de desconto. Mas se a taxa total do grupo for inferior a 300 yuans, eles precisarão pagar o preço total.
Crie um arquivo bpm, conforme mostrado abaixo:
Nota: O caminho do arquivo bpm deve ser consistente com o código. Quando o mecanismo de processo for executado no modo de carregamento de arquivo, o arquivo será encontrado de acordo com o código.
Projete o processo por meio de plug-ins ou grave arquivos XML do processo diretamente.
Escreva o seguinte teste de unidade:
public void testProcessEngine () {
final String code = "bpm.ktv.ktvExample" ;
final Map < String , Object > context = new HashMap <>();
final List < String > pList = new ArrayList <>();
pList . add ( "wuxiang" );
pList . add ( "xuan" );
pList . add ( "yusu" );
context . put ( "pList" , pList );
final ProcessEngine < TbbpmModel > processEngine = ProcessEngineFactory . getProcessEngine ();
final TbbpmModel tbbpmModel = processEngine . load ( code );
final OutputStream outputStream = TbbpmModelConverter . getInstance (). convertToStream ( tbbpmModel );
System . out . println ( processEngine . getTestCode ( code ));
processEngine . preCompile ( code );
System . out . println ( processEngine . start ( code , context ));
}
Compileflow foi projetado para suportar a especificação Taobao BPM. Ele fez adaptações para ser compatível com a especificação BPMN 2.0, mas suporta apenas alguns elementos do BPMN 2.0. Se forem necessários outros elementos, pode ser ampliado na base original.
DEMO de início rápido
Descrição detalhada da especificação original do Taobao BPM
Entre em contato com @余苏 @徐工 @梵度 @哲良 @无相
Bem-vindo ao registrar o nome da empresa nesta edição: #9