`
accpstone
  • 浏览: 3850 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ssh2+jbpm3集成简单示例(一)

阅读更多

      struts2+spring+hibernate是比较流行的javaee开源框架集成组合,在系统的技术架构体系中,hibernate主要负责数据的持久操作,struts2负责web层的控制与显示,而spring充当容器管理的角色,利用ioc机制与aop机制的强大功能,将struts,hibernate纳入自己的资源管理范围,同时提供对各个框架的支持与无集成,最大范围的减少组件之间的耦合度,提高系统的可拓展性与可维护性。jbpm是jboss旗下的一个开源的工作流引擎,是一个基于javaee的轻量级工作流系统,将企业的业务流程进行自动化,持久化并植入系统之中,工作流引擎将发挥很大的作用。jbpm的数据持久层采用的是hibernate,所以对于开发的系统如果使用hibernate框架的话,这是一个完美的组合。目前的最新版本是jbpm4.4,相对于jbpm3来说,jbpm4.x在技术构架上与性能方面做了很大的改进,关于对jbpm4的集成,将会在下次交流。本次示例的开发环境为myeclipse6.5 sql200x hibernate3.2 spring2.0 jbpm3.2.3。当然笔记本是lenovo-t400。

这是一个简单的流程示例,运行结果如下:



 

1.打开ide创建web项目,设置好目录结构,加入各个框架的支持。利用工具画出流程图。



 
流程定义文件如下:
<?xml version="1.0" encoding="gbk"?>
<process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="monthreport">

<start-state name="开始">
  <transition to="填写月度工作报告" name="to填写"></transition>
</start-state>

<task-node name="填写月度工作报告">
  <task name="填写月度工作报告任务">
   <assignment actor-id="#{starter}"></assignment>
  </task>
  <transition to="是否为经理" name="去审核"></transition>
</task-node>
<task-node name="经理审核">
  <task name="经理审核任务">
   <assignment actor-id="mrchen"></assignment>
  </task>
  <transition to="填写月度工作报告" name="驳回">
   <action class="com.sample.action.ReturnAction" name="raction"></action>
  </transition>
  <transition to="存档" name="to存档"></transition>
</task-node>
<node name="存档">
  <event type="node-enter">
   <script>
       print(&quot;存档中...&quot;); 
   </script>
  </event>
  <transition to="结束" name="toend"/> 
  <event type="node-leave">
   <script>
    print(&quot;存档完成&quot;);
   </script>
  </event>
</node>
<decision name="是否为经理" expression="#{starter=='mrchen'?'是经理':'非经理'}">
  <transition to="经理审核" name="非经理"></transition>
  <transition to="存档" name="是经理"></transition>
</decision>
<end-state name="结束"></end-state>
</process-definition>
2.配置或修改相关的配置文件。其中hibernate.cfg.xml在创建jbpm工程时会自动生成。根据你自己的环境进行修改。这里主要是数据连接信息的设置。
<hibernate-configuration>
  <session-factory>
    <!-- hibernate dialect -->
    <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
    <!-- JDBC connection properties (begin) -->
    <property name="hibernate.connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
    <property name="hibernate.connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=fengjbpm</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.connection.password">sa</property>
    <!-- JDBC connection properties (end) -->
   
    <property name="show_sql">true</property>
   
    <property name="format_sql">true</property>
   
    <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
   
    <property name="hibernate.hbm2ddl.auto">update</property>
    <property name="hibernate.transaction.factory_class">
  org.hibernate.transaction.JDBCTransactionFactory
</property>【其它略。。。。】
jbpm.cfg.xml文件是从jbpm-jpdl3.2.3根目录下的jbpm.test.cfg.xml复制过来,重命名即可。其中的内容不需要做修改。
3.接下来我们利用hibernate配置文件,利用SchemaExport工具类正向生成数据库脚本。一定要注意了,先得在sqlserver中创建数据库, 名字与上面的配置一样,这里为fengjbpm.

public class CreateSchema {

//先创建数据库,再执行下面的代码
public static void main(String[] args) {
 
  Configuration config =
    new Configuration();
  config.configure("/hibernate.cfg.xml");
 

  SchemaExport e =new SchemaExport(config);
  e.create(true, true);//生成ddl
 
}
}
执行完毕后,你可以刷新数据库,就可以查看产生的数据库对象。

当前数据库环境为初始化环境,可以看到没有任何流程信息。


 


   

 

  • 大小: 131.9 KB
  • 大小: 79.3 KB
  • 大小: 119.9 KB
1
6
分享到:
评论

相关推荐

    ssh2+jbpm demo

    【SSH2 + JBPM Demo】是一个结合了Secure Shell (SSH2) 和Business Process Management Suite (JBPM) 的示例项目,旨在展示如何在Java应用程序中使用这两种技术来实现远程管理和流程自动化。SSH2是一个用于安全远程...

    ssh+jbpm流程例子jar包2

    这个"ssh+jbpm流程例子jar包2"是一个包含SSH和jbpm集成的示例项目,可能包括了以下关键知识点: 1. **SSH框架集成**:项目中会展示如何将Struts2、Spring和Hibernate整合在一起,实现从视图到模型再到数据访问的...

    ssh+jbpm整合好的demo

    SSH代表Struts2、Spring和Hibernate,它们分别是MVC框架、依赖注入容器和对象关系映射库,而JBPM则是一个开源的工作流和业务流程管理(BPM)系统。下面将详细解释这些组件以及它们如何协同工作。 **Struts2** 是一...

    SSH+jbpm4.4 demo 内含建表语句

    SSH+jbpm4.4 Demo 是一个集成Spring Security(SSH)和jBPM 4.4的示例项目,主要用于展示如何在实际应用中结合这两个技术来实现业务流程管理。SSH,即Spring Security,是一个强大的安全框架,用于保护Java应用程序...

    JBPM web(SSH+JBPM) 例子

    【JBPM web(SSH+JBPM)例子】是一个基于Java技术栈实现的工作流管理系统示例,其中SSH代表Spring、Struts和Hibernate这三个流行的Java企业级开发框架的组合,而JBPM则是Business Process Management(业务流程管理...

    Extjs4.1+jbpm4综合案例视频教程

    8. **学习路径**:学习者可以通过这个教程了解如何从零开始构建一个集成ExtJS、SSH2和jbpm4的完整应用,提升自己的Web开发和工作流管理能力。 综上所述,这个教程适合想要掌握ExtJS 4.1与jbpm4集成开发,以及对SSH2...

    ssh+jbpm流程例子jar包1

    这个示例可能展示了如何在SSH项目中配置jbPM,如何在业务逻辑中启动、控制和查询流程实例,以及如何设计和执行一个简单的业务流程。具体可能包括以下步骤: 1. **集成配置**:在Spring配置文件中,添加jbPM的数据源...

    ssh+jbpm整合实力

    在"ssh+jbpm整合实力"的项目中,我们可以看到将SSH框架与Jbpm工作流引擎进行了集成,用于实现一个发布文章的流程。这个流程可能涉及到文章的创建、审核、发布等多个环节,通过Jbpm的流程定义语言(BPMN)来设计和控制...

    ssh2 融合 jbpm

    在这个资源中,作者对原有的内容进行了调整,以帮助开发者更便捷地将Jbpm集成到SSH2环境中。 SSH2框架: 1. Struts:这是一个MVC(模型-视图-控制器)框架,负责处理HTTP请求,提供视图展示和业务逻辑分离。 2. ...

    jbpm_ssh.zip_jbpm+ssh

    **jbpm_ssh.zip_jbpm+ssh** 是一个包含jbpm(Java Business Process Management)与SSH(Spring、Struts和Hibernate)集成示例的压缩包。这个集成是企业级Java应用开发中的常见实践,旨在利用jbpm的强大工作流管理...

    struts+hibernte+spring+jbpm 智能工作流系统

    Struts、Hibernate、Spring 和 ...总结来说,这个项目是一个综合性的企业级应用示例,它演示了如何利用这些主流技术构建一个功能完备、可扩展的工作流管理系统,对于学习和理解这些技术的集成应用具有很高的参考价值。

    jbpm 整合 ssh框架

    - `jbpm与ssh框架集成.mht` 文件可能包含了一个完整的示例,演示了如何在SSH项目中启动和控制jbpm流程。 - `jbpm 4_3 与 spring 集成 - AJava.mht` 文件可能是关于jbpm 4.3版本与Spring集成的详细教程,包括具体的...

    jbpm+ssh整合

    【jbpm+ssh整合】是将企业级工作流引擎jbpm与流行的SSH(Struts、Spring、Hibernate)框架集成,实现一个完整的业务流程管理系统。jbpm是一个开源的工作流引擎,可以处理复杂的业务流程自动化,而SSH是Java开发中...

    ssh-jbpm.rar_jbpm stru_jbpm-web-test_ssh_struts2_struts2 jbpm

    在这个"ssh-jbpm.rar"压缩包中,我们关注的是Struts2的应用实例,它可能包含了与jbpm(Job Business Process Management,工作流管理系统)集成的内容,以及SSH(Spring、Struts2和Hibernate)这一经典Java EE开发栈...

    SSH整合JBPM

    SSH整合JBPM是一个常见的企业级应用开发场景,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM则是一个强大的工作流管理系统。在这个整合过程中,SSH负责应用程序的架构和数据管理,而JBPM则提供了...

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    工作流 JBPM SSH 示例

    工作流JBPM SSH示例是将企业级工作流管理系统JBPM与流行的Java开发框架SSH(Struts、Spring、Hibernate)整合的一个典型应用。这个示例旨在帮助开发者理解如何在Java Web环境中集成工作流管理,以实现更高效的企业...

    JBPM4.4+SSH2 业务流 绑定表单Demo

    【JBPM4.4+SSH2 业务流 绑定表单Demo】是一个结合了Java企业级框架Spring(SSH2中的S和H)与工作流引擎JBPМ4.4的实战示例,用于演示如何在业务流程中集成自定义表单。这个Demo主要涵盖了以下几个关键知识点: 1. *...

    jbpm4.4+ssh

    【jbpm4.4+ssh】是一个集成项目,它结合了jbpm(Java Business Process Management)4.4版本与SSH(Spring、Struts、Hibernate)这三大流行的技术框架。jbpm是一个开源的工作流和业务流程管理系统,而SSH是Java开发...

    jbpm +ssh整合

    例如,在jleave(可能是一个请假流程的示例)应用中,用户提交请假申请后,Struts控制器可以调用jbpm的流程服务启动一个新的请假流程实例,而Hibernate会记录下这个流程实例的状态和相关信息。 jbpm还提供了强大的...

Global site tag (gtag.js) - Google Analytics