【delphi开源代码栏目提醒】:网学会员--在 delphi开源代码编辑为广大网友搜集整理了:基于构件的物流软件开发模式探索输 - 期刊论文绩等信息,祝愿广大网友取得需要的信息,参考学习。
“基于构件的物流软件开发模式探索”输出报告1 前言 软件工程的目标是致力于提高软件生产效率和软件质量如果每个应用软件系统的开发都从头开始必然存在大量的重复劳动。
在这样的目标背景下,软件构件技术就应运而生了,现在已经是炙手可热。
软件构件技术是软件复用的一种重要手段,是近年来软件复用研究的热点,目前出现了大量的基于构件的应用软件开发,取得了良好的效果。
我们在分析了构件间各种操作的基础上,将软件体系结构的概念引入现有的构件模型,用于对复合构件进行描述,从而改进了现有的构件模型,给出了一种基于软件体系结构的可复用构件模型,并给出了该模型的应用。
同时,使用基于构件的软件开发技术,发挥构件在软件重用方面的优势,就必须要有支持整个软件生命周期并包含有大量可用构件的构件库系统及过程管理方法,有效的构件管理和高效的构件查询检索是构件库系统成功的关键。
2 物流软件系统基础体系结构介绍2.1 J2EE 三层架构 我公司物流软件在 J2EE 开发平台上进行开发实施,基于 B/S 三层体系架构实现,采用界面表示、业务逻辑、数据操作相分离的模式,客 1户不能直接与数据库交互,它首先与中间层联系,中间层实例化服务器应用程序,并管理服务器对象,将结果返回给客户。
J2EE 三层架构示意图2.2 系统体系结构设计 我公司物流软件采用了 Struts Spring Hibernate 的轻量级 J2EE框架,表示层用 Struts 框架; 业务层用 Spring 框架;而持久层则用Hibernate 框架。
每个层在处理程序上都应该有一项明确的责任 而不应该在功能上与其它层混合,并且每个层要与其它层分开,但要给他们之间放一个通信接口。
2 Struts Spring HibernateJDO ORACLE MySql MSSQL SYBASE POSTGRE SQL Windows Server ,Linux,Other Unix操作系统 系统体系结构图 整个平台的体系架构将集中在 Struts/Spring/Hibernate 之上进行构建,与三层框架结合,有效实现了系统中三个层次之间的分离,使整个平台是一个开放的、松耦合的,可灵活订制的平台系统。
平台采用 struts 和 spring 编程框架,可有效分离 web 的显示层和业务操作层;同时使用基于 Hibernate 的 O/R Mapping 技术,实现基于对象的关系型数据库操作,包括数据的 CRUD 操作,O/R Mapping 使得平台软件可以灵活地适应不同类型的 DBMS 系统,而前端的业务层却不用做出任何改变。
2.3 工作流技术应用 本系统应用开源工作流引擎,引擎是驱动流程流动的主要部件,它负责解释工作流流程定义,创建并初始化流程实例,控制流程流动的路径,记录流程运行状态,挂起或唤醒流程,终止正在运行的流程,与其 3他引擎之间通讯等工作。
工作流管理系统(Workflow Management System WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。
工作流需要依靠工作流管理系统来实现。
我们的工作流管理系统是基于 JBPM 工作流引擎的一套工作流管理系统,通过 API 向外部提供四个方面的功能服务,这些功能分别为: 接口 1-流程定义 接口 2-流程控制与应用接口 接口 3-不同工作流管理系统之间的协同工作 接口 4-管理和监视功能 下面的图表示这四个接口的作用: 接口 1-流程定义 4 我们开发了一套可视化的流程定义工具,通过这个工具,用户可以自由定义出各种流程,可以轻松支持顺序签、任意签、会签、条件式判断流程等各种复杂的流程,并可以指定工作流每个节点的任务人和限定时间,从根本上满足应用多样化的需求。
接口 2—流程控制与应用接口 流程控制与应用接口提供大致几个方面的功能: 1、 流程的建立与撤销 2、 获取工作流流程定义与状态 3、 工作流流程实例的操作,如创建、挂起、终止流程,获取和 设置流程属性等 4、 工作流活动实例的操作,如获取和设置活动的属性,改变活 动的状态等 5、 工作列表及工作项的操作,如获取工作列表,处理工作项等 通过这些功能,用户可以完成与工作流管理系统之间交互的所有任务:登录系统、打开自己的工作列表、处理自己的工作任务、将完成的任务提交给系统、将自己的任务分发或转交给其他用户、修改当前流程等等。
在我们的工作流引擎中,有一套监听机制,当我们创建、完成、转交、挂起、终止流程时,会并根据不同的操作自动完成不同的任务。
接口 3-不同工作流管理系统之间的协同工作 有时候流程需要跨越多个服务器或系统,此时就需要服务器或系统之间进行通讯,交换流程控制信息和流程定义等数据,以实现流程跨地 5域运行。
接口 4-管理和监视功能 我们提供用户管理和监控系统运行状态、查看系统运行历史记录、业务统计的各个接口。
由于工作流程中的每个步骤,每个状态都记录在数据库中,我们可以很轻松的提供各种用户需要的状态或者报表,而且还可以通过系统导出到外部接口中。
在此工作流技术基础上,我们可以实现的主要功能包括: 1. 流程自定义 用户可根据业务需求利用鼠标拖拉拽就可以完成流程的定义,不用任何代码。
2. 流程类型 支持顺序签、任意签、会签、条件式判断流程等各种复杂的流程。
3. 超时工作提醒 当某一个工作设置了提醒功能以后,在该工作完成前或者完成后多长时间进行邮件或在线短信息的提醒等。
4. 流程的可视化跟踪 可以在整个流程途中,查看流程进行到哪一个步骤。
5. 多种条件的代理功能 不仅支持单一人的代理,而且可以支持多种代理,例如当张三出差期间其工作由李四来代理,而且还可以按部门、角色、工作名称的条件来指定代理人 6. 流程可以在执行过程中暂停 当某一个工作在处理过程中需要暂时停下来的时候可以设置此功能,并且还可以重新设置启动或者流程直接终止。
6 7. 工作的退回 工作可以退回到任何以前的一个步骤。
8. 流程的启动方式可以分: 条件启动,自动启动,呼叫启动,触发启动等。
9. 业务报表:流程统计、任务平均办结周期分析、任务参与者办理时间分析、超期任务情况分析、人员的任务办理数量分析、人员的任务办理质量分析2.4 开源软件技术应用2.4.1 STRUTS、SPRING、HIBERNATE 开源框架 Struts 是一个基于 Sun J2EE 平台的 MVC 框架,主要是采用Servlet 和 JSP 技术来实现的。
由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速,在目前颇受关注。
Struts 把 Servlet、JSP、自定义标签和信息资源message resources整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套 MVC 模式,极大的节省了时间,所以说 Struts 是一个非常不错的 WEB 应用框架。
Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。
Spring 提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。
Spring 的架构基础是基于使用 JavaBean属性的 Inversion of Control 容器。
然而,这仅仅是完整图景中的一部分:Spring 在使用 IoC 容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
Spring 提供了唯一的数据访问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错误。
7Spring 的数据访问架构还集成了 Hibernate 和其他 O/R mapping 解决方案。
Spring 还提供了唯一的事务管理抽象
上一篇:
AVRUSB技术探讨
下一篇:
幻象符号的政治经济学