基于J2EE技术的第三方物流信息管理系统的探索与实现
2013-09-26同剑飞
同剑飞
(西安外事学院现代教育技术中心 710077)
0 引言
所谓 “ 第三方物流”(Third Party Logistics,简称3PL或TPL)是由“第一方”发货人和第二方”收货人以外的物流企业提供物流服务的业务模式,是在物流渠道中由专业物流企业以合同的形式在一定期限内提供用户所需的全部或部分物流服务[1]。
中国的改革开放已经行走了二十多年,步伐也逐渐在加快,中国的物流业总体规模也在其积极影响下呈现快速增长的新态势。现代的物流业可以说是一个综合体,系统庞大,涵盖了运输管理、包装管理、仓库管理、装运管理、配送管理、信息处理和流通加工管理等等。但是,在我国目前拥有高效、完整的物流信息管理系统的在这一领域只有一小部分物流企业。由此,可以预见物流信息管理系统在我国的物流企业中具有极大的拓展空间,一些中小物流企业仍处于人工操作模式阶段,未来此类现象、问题都可以一一迎刃而解。
1 J2EE技术的体系结构
J2EE采用了四层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。
1、客户层(Client Tier)。同使用客户直接进行交流,完成二者之间的交互,接收使用客户的输入数据,同时将系统的业务数据快速显示给直接用户,并验证此类数据格式的合法性,最终使客户层驻留在客户机器上
2、Web表示层(Web Presentation Tier)。Web组件JSP(Java Server Pages)和Servlet(服务器端的Java应用程序)在Web的表示层上运行,而Web则在服务器上运行,也就是说Web层即容器。此外,Web组件为了发送它所显示的所需要的业务数据给客户,需要先读取业务层的业务数据。
3、业务层(Business Tiser)。运行 EJB组件,如会话 EJB组件、消息驱动EJB组件及JPA组件,不仅要对实际应用的业务逻辑进行模型化,而且要完成数据库的业务处理和持久化,这些才是企业级应用的核心所在。
4、信息数据库层(Information Data Tier)。一般指的是系统数据库,会对J2EE应用系统中的所有数据进行保存,如邮件服务系统、目录服务系统等各种各样的外部资源数据。
2 系统的架构和设计
2.1 系统架构
该物流管理系统结合其实施目标,在它的体系结构中将J2EE技术的分层体系结构引入其中,致使该系统的每一层具有隐蔽性,享有的资源也是特有的,即使与外界进行交互流转也仅限于它的下面所在层。依赖这两个优势,应用层的灵活修改就可顺利进行,也不会级联到其它层。因此,该系统采用四层体系结构,如图2-1所示:
图2-1 系统架构图
图2-2 视图层流程
视图层:Web浏览器控制层表现层数据访问对象,Hibernate持久层SQL server数据层业务逻辑层实际业务实际业务业务对象(BO)业务层
2.2 系统设计
2.2.1 表现层设计:
A、视图层的设计
该层与客户直接“见面”,设计好坏有直接影响,该系统的实现采用的是HTML和JSP语言。具体的工作流程,如图2-2所示:
注意:为了提高执行速度,首次调用编辑操作时需时间加载,以后只需调用缓存中的Servlet。页面分类后,页表表单、相关表单域定义数据的实时存储可在数据库中实现,最后规范定义自动生成的相关页面活动。如图2-3所示:
图2-3 Web页面表单定义
B、控制层的设计
控制层有着“把关”作用,为实现对客户的Web请求的预处理操作,采用了Servlet。在后期处理操作用户的响应、请求时,Servlet会判断用户访问的是否合法,进而决定是否页面转向等。
每个Servlet都有一个init()方法,且只会被调用一次在servlet的整个作用过程中。Servlet的生命周期,如图2-4所示:
图2-4 Servlet的生命周期
2.2.2 业务层设计
业务层设计了业务接口类、业务工厂、业务实现类,并要求每个业务对象定义业务接口,即定义业务对象所有的操作方法;同时接口会随着业务的更新增加新方法或扩展为新接口。业务层结构类图,如图2-5所示:
图2-5 业务层的结构类图
2.2.3 持久层设计
该系统为实现持久层(位于业务层和数据库层之间一个逻辑层次),使用了目前主流的开源O/R(Object/ Relational)映射框架Hibernate。设计持久层可封装对象的持久化行为,如:对象在永久性存储介质中的写入、读取、删除操作。持久层框架,如图2-6所示:
2.2.4 系统数据库的逻辑设计
数据库相类分为两种:实体类(Entity Class)和会话类(Session Class)。
实体类指的是将表中每一个记录对应该类的一个相关实例,用于对表记录的封装。而表中所有记录的操作要一一对应会话类相。
此类设计模式不仅实现程序模块化,而且利于开发、维护,但在其实现过程中需要“因地制宜”,不同的应用程序需不同技术来实现,而EJB在该方面更容易实现。
3 总结
系统登录界面中,该系统为了方便所有用户实现其业务职能,进入主界面和人机交互便捷、顺畅,特别的为系统管理、维护人员以及一般职员等不同角色人性化的设置了相应的访问入口。
就开发者而言,只需将代码的重复使用方法掌握即可。所需Web视图的数量会随着系统功能的增多而增加,可将众多页面分类,即使有不同的处理对象,但有基本相似的处理方式。
[1] [美]Craig A.Berry(著)邱仲潘(译).实用J2EE设计模式编程指南.电子工业出版社2004
[2] 刘安,刘元元.我国第三方物流存在的问题及有效对策.天津,现代财经,2006.5