Consulte el 中文文档 para ver los documentos en chino.
Compileflow es un motor de proceso muy liviano, de alto rendimiento, integrable y extensible.
El motor de proceso Compileflow es una parte importante de Taobao Business Process Management (TBBPM), que se dedica a optimizar las operaciones en Taobao Marketplace de Alibaba. Específicamente, Compileflow está diseñado para centrarse en la ejecución de memoria pura y motores de procesos sin estado mediante la conversión de archivos de proceso para generar, compilar y ejecutar código Java.
Actualmente, compileflow impulsa múltiples sistemas centrales, como las tiendas y transacciones de comercio electrónico de Alibaba.
Compileflow permite a los desarrolladores diseñar sus propios procesos comerciales a través del editor de procesos, que visualizará una lógica comercial compleja y construirá un puente entre diseñadores e ingenieros de desarrollo.
1.Proporcionar una solución de proceso empresarial de un extremo a otro, desde el diseño hasta la ejecución de las ideas de desarrollo empresarial.
2. Ofrecer una variedad de motores de procesos para realizar la arquitectura visual global, de modo que la estrategia se traduzca fácilmente en visualizaciones, lo que conduce a capacidades, procesos y sistemas comerciales mejorados.
3.Diseñar un motor de ejecución eficiente que pueda soportar el rápido despliegue de nuevos servicios por parte de la empresa, y capaz de agilizar procesos que aceleren la respuesta del desarrollo y la velocidad de interacción.
1.Alto rendimiento: es simple y eficiente para compilar y ejecutar código Java, que se genera al convertir archivos de proceso.
2.Diversos escenarios de aplicación: ampliamente utilizados en las soluciones de plataforma intermedia de Alibaba; admite múltiples escenarios comerciales, como guías de compras, transacciones.
3.Integrable: el diseño liviano y conciso hace que sea extremadamente fácil de integrar en diversas soluciones y escenarios comerciales.
4.Compatibilidad completa con complementos: Compileflow actualmente es compatible con los complementos IntelliJ IDEA y Eclipse. El código Java se puede generar dinámicamente y obtener una vista previa en tiempo real durante el diseño del proceso. Lo que ves es lo que obtienes.
5.Dibujo de diseño del proceso: admite la exportación a archivos SVG y código de prueba unitaria.
Dirección de descarga del complemento: https://github.com/alibaba/compileflow-idea-designer
Instrucciones de instalación: utilice el método de instalación local IntelliJ IDEA para realizar la instalación. Luego reinicie IntelliJ IDEA para activarlo.
< dependency >
< groupId >com.alibaba.compileflow</ groupId >
< artifactId >compileflow</ artifactId >
< version >1.2.0</ version >
</ dependency >
Consulte la versión disponible en search.maven.org.
Nota : Compileflow solo admite JDK 1.8 y superiores.
Consulte la demostración de KTV a continuación para comprender la configuración de nodos y atributos y el uso de API a través de la demostración y la práctica de la demostración.
Descripción de la demostración: N número de personas van a ktv a cantar. Cada persona canta una canción. La tarifa habitual para la sesión de ktv es de 30 yuanes por persona, pero si el precio total supera los 300 yuanes, recibirán un 10% de descuento. Pero si la tarifa total del grupo cae por debajo de los 300 yuanes, deberán pagar el precio completo.
Cree un archivo bpm, como se muestra a continuación:
Nota: La ruta del archivo bpm debe ser coherente con el código. Cuando el motor de proceso se ejecuta en el modo de carga de archivos, el archivo se encontrará según el código.
Diseñe el proceso a través de complementos o escriba archivos xml del proceso directamente.
Escribe la siguiente prueba unitaria:
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 fue diseñado para admitir la especificación Taobao BPM. Ha realizado adaptaciones para ser compatible con la especificación BPMN 2.0, pero solo admite algunos de los elementos de BPMN 2.0. Si se necesitan otros elementos, se puede ampliar sobre la base original.
DEMO inicio rápido
Descripción detallada de la especificación BPM original de Taobao
Por favor contacte a @余苏 @徐工 @梵度 @哲良 @无相
Bienvenido a registrar el nombre de la empresa en esta edición: #9