`
nuoda
  • 浏览: 50700 次
  • 来自: 深圳
社区版块
存档分类
最新评论

osworkflow流程设计器

阅读更多
基于Eclipse GEF技术开发的osworkflow建模工具评测版本已经正式发布,目前系统实现的主要功能是:

一、新建/打开流程

二、根据xml文件,生成流程

三、检查流程是否符合要求

四、将流程图导出为图片

五、将流程图导出为xml

六、保存流程图设计文件

七、编辑

八、工具:放大、缩小、对齐、网格、网格吸附等

九、属性显示

十、缩略图及鹰眼定位



当然目前的版本仅仅是评测版,功能基本符合要求,界面还很粗糙。

下载程序可以到http://nuoda.iteye.com,程序分为三个卷,只要安装了jdk1.4以上的运行环境,解压文件后运行ndflow.exe即可,欢迎提出宝贵意见。
  • 大小: 73.5 KB
分享到:
评论
21 楼 niweiwei 2011-09-29  
楼主,能分享一下源码不?
834412716@qq.com 谢谢
20 楼 luckybat 2008-10-14  
nuoda,到哪儿下载这个程序呢?你给的url都打不开啊?拜托!
19 楼 duanxc 2008-09-25  
哪里下载哦。大哥
18 楼 yaohao803 2008-09-22  
无法启动,我的jdk版本是1.5.0_06
出错信息:
!SESSION 2008-09-17 09:07:24.906 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.core.runtime 2 0 2008-09-17 09:07:25.593
!MESSAGE Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed.
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/core/internal/runtime/auth/AuthorizationHandler
at org.eclipse.core.internal.runtime.InternalPlatform.initializeAuthorizationHandler(InternalPlatform.java:603)
at org.eclipse.core.internal.runtime.InternalPlatform.start(InternalPlatform.java:745)
at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:31)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:350)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1118)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:634)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:508)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:282)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:468)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297)

!ENTRY org.eclipse.osgi 4 0 2008-09-17 09:07:25.843
!MESSAGE Application error
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in com.nuoda.workflow.rcp was unable to load class com.nuoda.workflow.rcp.Application.
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:180)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:164)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:788)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
org.eclipse.core.runtime.CoreException[1]: java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:161)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:501)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:471)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:430)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:413)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:340)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:408)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:289)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1269)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:160)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:788)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
17 楼 duanxc 2008-09-09  
哪里下载哦!
16 楼 dongzhecao 2008-08-27  
我点了也运行不了

错误日志:
!SESSION 2008-08-27 08:31:27.796 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.4.2_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.core.runtime 2 0 2008-08-27 08:31:28.250
!MESSAGE Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed.
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/core/internal/runtime/auth/AuthorizationHandler
at org.eclipse.core.internal.runtime.InternalPlatform.initializeAuthorizationHandler(InternalPlatform.java:603)
at org.eclipse.core.internal.runtime.InternalPlatform.start(InternalPlatform.java:745)
at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:31)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:999)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:993)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:974)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:350)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1118)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:634)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:508)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:282)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:468)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:195)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:297)

!ENTRY org.eclipse.osgi 4 0 2008-08-27 08:31:28.375
!MESSAGE Application error
!STACK 1
org.eclipse.core.runtime.CoreException: Plug-in com.nuoda.workflow.rcp was unable to load class com.nuoda.workflow.rcp.Application.
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:180)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:164)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:788)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
org.eclipse.core.runtime.CoreException[1]: java.lang.UnsupportedClassVersionError: com/nuoda/workflow/rcp/Application (Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:161)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:501)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:471)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:430)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:413)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:340)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:408)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:369)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:357)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleLoader.loadClass(BundleLoader.java:289)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:227)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1269)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:160)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:788)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:149)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
15 楼 nuoda 2008-07-28  
请把更详细一些信息提供上来,便于分析。目前,程序已经将运行环境包含了(JRE 1.6),没有必要再安装JRE了。
14 楼 fireflyk 2008-07-28  
点osdesigner.exe无法运新啊,我安装的jdk肯定没错,nuoda帮帮忙啊
13 楼 nuoda 2008-07-20  
请到http://nuoda.diinoweb.com/中下载,不仅有六成编辑器,还有监视指定地址HTTP访问记录的程序等。那里上传文件没有大小限制,我申请了1G空间。
12 楼 yangli 2008-07-19  
怎么下载不了啊
11 楼 gaolixia 2008-05-08  
osworkflow设计器在哪里有下载啊??
10 楼 nuoda 2008-04-10  
请访问:下载
9 楼 junjie314 2008-02-01  
在哪里下载阿
8 楼 kitsdk 2008-01-31  
还搞个License啊。
这个也不是什么多难的东西,拿Jboss jbpm的设计器,简单修改一下就可以了。
7 楼 kjj 2008-01-22  
使用了,感觉不怎么样
6 楼 godson_2003 2008-01-09  
liurx 写道
强烈抗议nuoda删除博客、删除下载!


为什么?
5 楼 liurx 2008-01-09  
强烈抗议nuoda删除博客、删除下载!
4 楼 Dustbin 2008-01-09  
保存流程图设计文件
是如何保存的呢?
3 楼 cucuchen520 2007-11-16  
兄弟,你写的很牛,佩服,呵呵!!
2 楼 fusion 2007-11-09  
赫赫 搬凳子

相关推荐

    LIFERAY + JAVA WEB START + OSWORKFLOW设计器

    "LIFERAY + JAVA WEB START + OSWORKFLOW设计器"是一个将Liferay门户、Java Web Start技术和OSWorkflow工作流引擎相结合的创新实践,旨在提供一个集成的工作流设计和管理解决方案,提高企业内部的协作效率和流程自动...

    OSWORKFlow流程开发教程

    - **GUI设计器**:提供图形界面,简化流程设计和调试过程。 #### 9. 后记 - **持续学习与社区参与**:鼓励开发者深入理解OSWorkflow的工作原理,积极参与开源社区,共享知识和经验,共同促进工作流引擎的发展。 综...

    OSWorkflow工作流程源码(JAVA/JSP)

    - **工作流定义与编辑**: OSWorkflow提供了XML格式的工作流定义,可以通过设计器(如designer.jar)进行可视化编辑,方便地创建和修改工作流程。 - **持久化支持**: OSWorkflow内置了对多种数据库的支持,如MySQL、...

    osworkflow eclipse+mysql 请假审批流程 完整示例

    《基于osworkflow与Eclipse的请假审批流程完整示例解析》 在IT行业中,工作流管理系统(Workflow Management System,简称WMS)是企业信息化建设的重要组成部分,它能够规范业务流程,提高工作效率。osworkflow是一...

    画流程图的例子(源码)OsWorkFlow.rar

    这部分代码通常涉及DOM或SAX解析器,用于读取和解析XML中的流程定义。另外,流程引擎的执行部分涉及到状态机的设计,它根据当前状态和输入事件,决定流程的下一步动作。这部分代码通常包含大量的条件判断和状态转换...

    osworkflow

    osWorkflow 是一个开源的工作流管理系统,专为 Java 应用程序设计,用于处理复杂的业务流程。这个系统的核心功能是管理、跟踪和执行一系列步骤,这些步骤构成了一个工作流程。osWorkflow 提供了一种灵活的方式来定义...

    osworkflow_bundle2

    10. **工作流设计工具**:虽然 OSWorkflow 本身不提供图形化设计工具,但有一些第三方工具(如 JBoss jBPM)可以用于可视化设计 OSWorkflow 流程,并生成相应的 XML 配置。 在 "osworkflow_bundle" 中,你可能会...

    osworkflow中文入门指南,osworkflow+hibernate+spring集成配置,osworkflow-2.8.0.jar

    **osworkflow** 是一个开源的工作流管理系统,专为Java应用程序设计,用于管理复杂的工作流程。在本入门指南中,我们将深入探讨如何使用osworkflow,并将其与流行的数据持久化框架Hibernate和依赖注入容器Spring进行...

    framework osworkflow / jbpm

    2. **流程建模**:JBPM提供了图形化的流程设计器,使得非技术人员也能创建和修改流程。 3. **业务规则**:集成Drools规则引擎,支持灵活的业务规则管理和决策。 4. **持久化**:基于JPA(Java Persistence API)实现...

    OSWorkflow中文手册 2.8

    为了方便非技术人员设计和管理流程,OSWorkflow提供了图形化的设计器: - **设计器安装**:通常以插件的形式集成到IDE中。 - **快速启动指南**:帮助用户快速上手,了解基本操作。 - **工作区间**:用于展示流程图...

    osworkflow2.8.pdf

    - **结语**:总结了 OSWorkflow 的设计理念和发展方向,并提到未来可能会提供的 GUI 工具以帮助开发者更方便地编辑流程。 通过上述内容可以看出,**OSWorkflow** 是一个功能强大但相对复杂的工作流管理工具,适合...

    OsWorkFlow20100230.rar

    在使用OsWorkFlow时,用户需要了解其基本概念,如工作流实例、任务、活动、参与者等,并熟练掌握工作流设计器的使用。同时,为了确保工作流的顺利运行,还需要关注数据持久化、权限控制以及异常处理等关键环节。 总...

    工作流 osworkflow 例子和原理

    OSWorkflow(OpenSymphony Workflow)是一个开源的工作流引擎,它提供了一种灵活的方式来设计、实施和管理业务流程。本篇文章将深入探讨OSWorkflow的工作原理及其应用实例。 OSWorkflow的核心概念包括工作流定义、...

    osworkflow-2.8.0.zip

    设计器是osWorkflow的一个可视化工具,允许用户通过图形界面设计和编辑工作流。它支持创建、修改和导出工作流定义,帮助非程序员也能理解并参与到工作流的设计中来。 2. **核心库:osworkflow-2.8.0.jar** 这是...

    osworkflow开发指南

    2. **osWorkFlow架构**:了解osWorkFlow的设计原理和组件,如流程定义、流程实例、任务服务、持久化机制等,这有助于你构建和维护工作流系统。 3. **流程定义**:学习如何使用XML或图形工具(如FlowDesigner)来...

    osworkflow-2.8.0

    "designer.jar" 文件就是这个流程设计器的实现,允许用户通过拖放操作定义工作流程步骤和条件。 2. **状态跟踪**:它能够追踪每个实例在工作流程中的位置,确保任务按照预定顺序进行。这使得管理者可以随时查看流程...

    目前osworkflow最新最全的资料合集

    4. **OSWorkflow开发指南.pdf**: 这可能是osworkflow的开发指南,提供了详细的工作流程开发教程,包括如何创建新的工作流定义、如何编写自定义动作和监听器、如何进行事务管理和异常处理等。此外,可能还包含了最佳...

    osworkflow详细资料 pdf 工作流

    1. **流程定义**:OSWorkflow支持XML格式的流程定义,允许开发者通过图形化工具或直接编写XML来设计和编辑工作流程。 2. **状态和步骤管理**:每个工作项都有一个特定的状态,如新建、进行中、已完成等,OSWorkflow...

    OSworkflow中文手册和用户指南

    OSWorkflow 是一个强大的开源工作流引擎,主要用于设计和管理复杂的工作流程。这个工具提供了一种灵活的方式来定义和执行业务流程,使得开发者可以专注于业务逻辑,而不是底层的工作流实现。中文手册和用户指南提供...

Global site tag (gtag.js) - Google Analytics