Shark是个写得不错的工作流引擎,自然对一般的项目就可以考虑把Shark集成到自己的应用当中,现在大多数应用都使用Spring框架,而Shark并没有明确地支持Spring,因此用必要采取一些措施,用Spring将Shark集成到你的应用中。
让我们先看看下面几个重要类。
SharkInterface:
正如其注释中所说的,SharkInterface是基于Shark的工作流应用中访问引擎的最顶级的接口,它有Shark和SharkEngineManager两个实现类;
Shark:<o:p></o:p>
Shark是SharkInterface的一个实现类,其主要功用在于加入配置信息并创建SharkEngineManager实例;<o:p></o:p>
SharkEngineManager:
SharkEngineManager是Shark应用中十分重要的一个类,可以算是核心类之一,它除了装载配置信息并初始化外,最重要的职能是封装了各种管理器和功能执行实例,诸如CallbackUtilities、ObjectFactory、ToolActivityHandler、XMLInterface、AssignmentManager、CacheMgr、PersistentManagerInterface、eventAuditManagers、LoggingManager 、 RepositoryPersistenceManager 、 ScriptingManager 、SecurityManager、 ToolAgentManager 、TxSynchronizationFactory 、 WfEngineInteroperability等。<o:p></o:p>
Shark的这种结构即提供了一种可扩展性,又为实现IoC方式的应用集成提供了方便。
显而易见,要想用Spring将Shark集成到你的应用中,最直接的方法是在Spring的配置文件中配置SharkInterface接口,用Shark作实现类,并配置执行静态方法:configure(File configFile)即可;当然你也可以写自己的接口和实现类来创建提供SharkEngineManager实例。笔者是采用后一种方法的。
<o:p></o:p>
分享到:
相关推荐
BIRT 主要由两部分组成:一个是基于 Eclipse 的报表设计和一个可以加到你应用服务的运行期组件。BIRT 同时也提供一个图形报表制作引擎。 BIRT 的主要特点: * 基于 Eclipse 的报表系统 * 主要用于基于 Java 与 ...
此外,它还可以与Spring框架集成,增强其在企业级应用中的使用。 7. wfmOpen:wfmOpen是J2EE实现的WfMC和OMG工作流设施,流程通过扩展的XPDL描述。它旨在提供一个标准的工作流引擎,便于集成到其他系统中。 8. ...
在实际使用中,jbpm的流程定义工具是一个基于Eclipse的插件,用户可以直观地绘制流程图。通过实现jbpm提供的接口,开发者可以将业务逻辑委托给Java代码,实现流程中的各种操作。例如,在一个订单处理的示例中,jbpm...
8. **动画效果**:为了增强用户体验,应用可能使用了GSAP、Anime.js或React Spring等库来添加过渡和动画效果,使界面更加生动有趣。 9. **性能优化**:可能采用了懒加载、代码分割、预渲染等技术来提高应用的加载...
此外,jBPM还支持多种集成选项,如Spring框架和JPA持久化层,使得开发者能够更容易地将工作流集成到现有应用程序中。 #### OpenWFE OpenWFE是另一个值得关注的开源工作流引擎,它专注于提供简单易用的界面来创建和...
它不仅提供Web应用程序,还有一个调度程序,适用于J2EE环境,能够轻松集成到各种企业应用中。 4. OpenEbXML:此项目专注于提供ebXML框架,以支持即将发布的ebXML规范。虽然主要关注的是企业间的数据交换标准,但其...
Spring是一个开源的应用框架,用于简化企业级应用的开发。JBoss是一个广泛使用的Java应用服务器,提供了全面的中间件服务。Spring和JBoss的对比,可能涉及到它们在服务组件模型、事务管理、安全性支持等方面的不同。...
作为一名合格的Java程序员,你需要精通一系列的技术和概念,这些涵盖了编程基础、企业级应用开发、数据库管理、Web技术以及软件工程方法。以下是一份详细的Java程序员所需知识清单: 1. **Java编程基础知识**:理解...
Activiti与Spring的紧密集成使其在企业级应用中非常受欢迎,同时它的社区活跃,文档丰富。然而,对于简单任务,Activiti可能会显得过于复杂。 5. **OpenWFE** OpenWFE是一个基于XML的工作流引擎,它提供了一种声明...
1. **集成性**:jBPM 能够很好地与其他 Java EE 技术如 Spring 和 Hibernate 集成,使得开发者可以在一个统一的框架下开发应用程序。 2. **灵活性**:支持多种流程定义方式,包括使用 BPMN(Business Process Model ...
5. **OSWorkflow**:一个灵活的工作流引擎,设计用于嵌入到企业应用程序中,提供了多种持久化API支持,包括EJB、Hibernate、JDBC等。 6. **wfmOpen**:WfMC和OMG规范下的工作流引擎实现,工作流通过扩展的XPDL描述...
本文将对比分析几种主流的开源工作流引擎,包括JBPM4、Activiti5、OSWorkflow以及Shark,并针对它们的特点、优势和劣势进行详细的探讨。 #### 二、JBPM4 - **数据库**: 使用Hibernate 3作为持久层框架。 - **持久...
- **持久层框架**:Hibernate 是一款流行的 ORM(对象关系映射)框架,它能够将 Java 对象映射到数据库表上,简化了数据访问层的开发;JDO 是 Java 数据对象规范,相比 Hibernate 更加轻量级;PropertySet 则是一个...
Nishant Garg拥有超过14年的软件架构与开发经验,在多种技术领域有着丰富的实践经验,包括Java企业版、SOA、Spring框架、Hadoop生态系统(如Hive、Flume、Sqoop、Oozie、Spark、Shark、YARN、Impala)、Apache Storm...
【描述】提到,这个系统是用Java EE的三大框架SSH开发的,这意味着它采用了MVC设计模式,将业务逻辑、视图和控制分离,提高了代码的可维护性和可扩展性。"拖入MyEclipse即可运行"意味着该系统已经被配置好,具备良好...
作者Nishant Garg凭借其在软件架构和开发领域的丰富经验,特别是在Java、Java Enterprise Edition、SOA、Spring、Hibernate、Hadoop、Hive、Flume、Sqoop、Oozie、Spark、Shark、YARN、Impala、Kafka、Storm、Solr/...