Entre los motores de flujo de trabajo java, ¿cuál es el más utilizado en el mercado?
Activiti es un proyecto establecido por Tom Baeyen, el fundador de jBPM, después de dejar JBoss. Basado en años de experiencia en el desarrollo de las versiones 1 a 4 de jBPM, su objetivo es crear la próxima generación de soluciones BPM. La documentación es rica, CSDN tiene una columna correspondiente y los chinos contribuyeron con un libro "Activiti en la práctica", que explica en detalle el contenido de desarrollo basado en Activiti, y los recursos de tutoriales en línea son ricos. Es rápido comenzar a usar Activiti, la interfaz es simple e intuitiva y el ciclo de aprendizaje es relativamente corto.
Se proporciona el paquete de guerra de aplicaciones web oficial, que se puede implementar en Tomcat para operar y comprender Activiti rápidamente. Esclipse proporciona complementos IDE que admiten el proyecto Activiti y, en general, el entorno es bien compatible.
La cantidad de código es grande y el código central es difícil de cambiar. Pero proporciona documentación técnica completa, buena arquitectura y muchos documentos de desarrollo en línea, lo que reduce en cierta medida la dificultad del desarrollo secundario.
Sí, la experiencia del usuario es buena, pero el diseñador de procesos está en inglés y necesita localización en chino.
Admite una variedad de formularios: formularios dinámicos, formularios externos y formularios ordinarios, pero el diseño del formulario no está integrado y usted debe integrar el diseño del formulario usted mismo.
Admite la mayoría de las funciones de flujo de trabajo y, sobre esta base, es necesario desarrollar un proceso de aprobación que se ajuste a las condiciones nacionales de China.
JBPM (Java Business Process Management): Java Business Process Management es un motor de procesos de código abierto, flexible y escalable que puede ejecutarse en un servidor independiente o integrarse en cualquier aplicación Java.
1 y jBPM3 son un sistema de flujo de trabajo completo para desarrolladores diseñado para simplificar la creación de software que admita los procesos centrales de una organización y no admita estándares.
2.jBPM4 introduce PVM para hacerlo más escalable y agrega funciones BPMS, incluido soporte para BPMN, modelador web orientado a negocios y funciones simples de análisis estadístico.
3.jBPM5 se basa en el flujo original de Drools, admite BPMN, admite BAM a través de la fusión con Drools y agrega soporte para la visualización de procesos a través del almacén de contenido. Debido a que se abandonó el PVM de jBPM4, la escalabilidad del motor se vio comprometida y jPDL ya no era compatible.
JBoss Seam es uno de los mejores frameworks de desarrollo rápido entre los frameworks de código abierto de Java.
La costura es una buena opción. Como programador, es mucho más fácil preocuparse que usar Spring/Hibernate/Struts, y puede concentrarse en escribir lógica empresarial. La eficiencia del desarrollo también es muy buena y puede ser uno de los mejores marcos de desarrollo rápido entre los marcos de código abierto de Java.
Activti tiene un alto valor de aprendizaje y es un buen libro de texto para el trabajo de nivel inicial. Puede aprender buenos estilos e ideas de codificación aquí. La mayor ventaja de Activiti es que es gratuito y de código abierto, y la aplicación de flujos seriales y paralelos simples en proyectos pequeños básicamente puede satisfacer las necesidades. Ahora muchos desarrolladores lo elegirán. Sin embargo, es muy difícil implementar aplicaciones chinas a nivel empresarial con Activiti. Si desea utilizar Activiti para implementar un proceso de aprobación que esté en línea con las condiciones nacionales de China, en realidad necesita mucho desarrollo y empaquetado. A continuación, se presenta el motor de flujo de trabajo basado en la extensión Activiti.
¿XJR? Motor de flujo de trabajo del marco de desarrollo rápido de Java: adopta el motor de flujo de trabajo Activiti principal, sigue la especificación bpmn, XML y Json se pueden importar y exportar con un solo clic, agrega selección dinámica de personal, configuraciones de contraseña convenientes, configuraciones convenientes de delegación de tareas, agrega formularios personalizados y Definir botones de nodo, selección dinámica de variables (incluidas variables de contraseña, variables de botón, variables de formulario) y optimización de atributos de nodo, seguir el principio de optimización centrado en el cliente y cambiar la operación de todo el proceso.
La plataforma de desarrollo rápido XJR proporciona desarrollo visual, alta eficiencia y bajo costo de desarrollo. Tiene una gran compatibilidad, admite múltiples bases de datos, se basa en la arquitectura B/S y es una aplicación de navegador pura. Solo necesita arrastrar y soltar componentes y unir procesos para lograr la aprobación en todos los niveles. El diseño de interfaz orientado a servicios facilita la integración de los recursos empresariales existentes. El front-end y el back-end están separados y se utilizan la verificación de permisos de Shiro. Los permisos de funciones y los permisos de datos se pueden lograr mediante una configuración simple. Código fuente abierto, fuerte expansión secundaria.
Selección técnica de la plataforma de desarrollo rápido XJR
Utilice varias tecnologías web populares, incluidas springboot, JPA, Druid, Activiti, Lombok, swagger, poi, WebSocket, Jquery, BootStrap, maven, Jenkins, etcétera. y admite una variedad de bases de datos MySQL, Oracle, sqlserver, etc. Diseño en capas: adopte un diseño en capas, dividido en capas dao, servicio, controlador y vista, con capas claras, bajo acoplamiento y alta cohesión.
Consideraciones de seguridad: siga estrictamente las especificaciones de seguridad web, doble verificación antes y después, transmisión de parámetros codificados, almacenamiento cifrado de contraseña md5, verificación de autoridad shiro y, fundamentalmente, evite ataques web comunes como inyección SQL, ataques XSS, ataques CSRF, etc.
Funciones modulares
Módulos de funciones: asistente de desarrollo, generador de código, inteligencia empresarial, flujo de trabajo, gestión de informes, desarrollo móvil, planificación de trabajos, multilingüe, gestión de fuentes de datos, WeChat empresarial, DingTalk, gestión de mensajería, gestión de menús, gestión de usuarios, gestión de organizaciones, gestión de roles, gestión de áreas, gestión de diccionarios, consulta de registros y otros módulos básicos.