基于J2EE的航材交易系统的设计与实现

2011-09-19 08:41屈晓渊
电子设计工程 2011年13期
关键词:航材联系人航空公司

屈晓渊,张 峰

(榆林学院 信息工程学院,陕西 榆林 719000)

随着航空业的发展,航空运输业正向全面数字化方向发展。无论是航空运营还是维修,数字技术已在各方面大显身手。为了使数字信息发挥更大作用,航空公司、飞机制造商、设备供应商、维修企业和软件公司之间正在通力合作。随着维修外包业务的增长、航空公司开始广泛采用电子飞行包(EFB)、电子飞行日志(ELB)等工具,数字信息的交流越来越广,相应的航材数据交换和交易需求应运而生。所以开发一套基于航材电子交易系统以满足航空公司和供应商之间的需求。

为了实现协调工作,提高工作效率,需要实现航空公司与航材供应商之间航材数据共享和航材交易的需求。以统一的格式收集、分析和交换这些航材信息,可提高效率,降低成本和减少差错。航空公司、飞机制造商和航材供应商将拥有更多、更精确的数据,能更快和更容易地从事各项工作。各航空公司之间航材数据应能在异构数据库之间进行数据交易,采用基于XML的异构数据库数据交换技术能够满足这种数据交换需求[1]。

1 航材交易系统主要功能模块分析

1.1 系统总体结构

开发的软件是简易的航材交易系统,以广大航空公司采购航材人员为主要服务对象。提供良好的用户界面,实现与用户的交流,减轻采购部门在航材管理等工作方面的工作量。航材数据交易网是面向航空器制造商、航空器运营人、航空器材供应商、航空器及部件维修厂商之间进行航材信息交换的商务平台。该系统的目标是通过减少工作人员在信息交换时重复输入信息的工作量,改善和提高航材供应链各环节的工作效率。系统功能总体结构如图1所示。

1.2 系统主要用例分析

如今基于互联网的电子商务系统越来越流行。该系统是一个在互联网上进行航材部件需求信息发布和部件询价以及建立客户关系的电子商务系统。电子部件维修商可以通过这个电子商务系统发布自己的需求信息。部件供应商可以发布自己的出售信息[2]。

图1 系统功能结构Fig.1 Structure of system function

维修商通过该系统的用户界面,可以查看其他用户发布的求购信息,也可以查找部件供应商,加入到自己的联系人通讯录中。维修商可以注册公司的信息。给自己的客户发布部件询价单,以查询所需求的部件价格。部件供应商收到询价格单后,进行报价处理。本系统结构示意图如图2所示。

图2 系统功能结构Fig.2 System structure

据以上分析,得出程序的主要用例图,如图3所示。主要的 角 色 (Actor)包 括 企 业 管 理 员 (Administrator)、 企 业 用 户(Customer)、程序系统(System)和数据库(Database)。

图3 交易用例图Fig.3 Use case diagram of transaction

2 系统的设计与实现

2.1 系统架构的设计

用例图分析了该应用系统的主要功能需求,这些需求是设计开发的依据。下面开始分析航材交易系统的架构设计。整个系统架构(除了客户端数据采集系统)基于J2EE技术体系设计,客户端数据采集系统采用的是桌面单机应用程序。

J2EE 体系包括 JSP、Servlet、EJB、Web Service 等多项技术。这些技术的出现给Web应用开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤[3-4]。

一个成功的软件需要有一个成功的架构,但软件架构的建立是一个复杂而又持续改进的过程,软件开发者们不可能对不同的项目做不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案[5],Struts就是其中之一,Struts是流行的基于J2EE的架构方案,其他常用的基于J2EE的架构方案还有Hibernate、Spring等。

本系统严格按MVC模式设计,按J2EE分层设计的理念,将中间层严格分成业务逻辑层、DAO层和数据持久层等。MVC层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP技术。JSP技术结合Struts的标签库,让应用的表现层层次清晰,可读性比较好[6]。本系统层次架构如图4所示,架构模型如图5所示。

图4 系统层次架构图Fig.4 Framework of system level structure

图5 架构模型Fig.5 Frame model

2.2 系统数据模型的设计

系统设计是在系统分析的基础上由抽象到具体的过程。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,进行系统的总体设计和各子模块的设计,实现基于B/S多层结构的科技管理信息系统,为下一阶段系统实施提供必要的技术资料。

业务实体在内存中表现为实体域对象,在数据库中表现为关系数据。实现业务实体包括以下内容:

1)设计域模型,创建域模型实体对象。

2)设计关系数据模型。

3)创建对象-关系映射文件。

其中,前两项适用于大多数由持久化数据驱动的应用程序,最后一项是特定于Hibernate应用的。不同的实现方式可能需要不同的步骤。

该系统应用中的业务实体包括企业(BspCorp),用户(BspUser),通讯录(BspMySplContact),公司认证(BspCorpSpl),询价单 (BspInq), 询价单涉及航材 (BspInqParts), 公告信息(BspMessage)。下面将详细介绍这些实体模型含义。

1)BspCorp 代表一个公司实体,主要属性包括企业代码(corpid)、中文企业(corpname)、英文企业名称(corpnameEn)、国家(nation)、企业地址(mad_cn)、电话号码(telnum)、联系人(contact)等。

2)BspUser 代表一个用户实体,主要包括用户标识(usernbr)、用户名(fname)、用户密码(password)、电子邮件、用户状态、联系地址、联系电话等。

3)BspMySplContact 代表了一个联系人通讯录实体,主要属性包括我的代码(myid)、我的联系人的代码(contid)、联系人姓名、联系人企业代码、联系人传真、联系人电话等。

4)BspCorpSpl 代表一个已认证公司实体,主要属性包括企业代码(corpid)、供应商代码(spl)、有效日期(LDATE)、备注等。

5)BspInq 代表一个询价单,主要属性包括询价记录代码(iid)、用户代码(buyerid)、询价日期(cdate)、 报价单状态(status)、备注等。

6)BspInqParts 代表一个询价单涉及航材实体,主要属性包括询价记录代码(iid)、件号(pnr)、制造商代码(mfr)、关键字(keyw)、采购数量(qut)、计量单位代码、状态等。

7)BspMessage 代表一个公告信息实体,主要属性包括标识(id)、主题(sbj)、信息类型(mty)、内容(cont)、发布日期(cdate)、有效期(exday)、截止日期(exdate)、联系人(contact)、联系方式等。

BspCorp与BspUser之间是一对多的关系,一个企业可以注册多个员工账号,BspUser和BspMySplContact之间是一对多的关系,一个用户可以有多个联系人。BspUser与Bsp-CorpSpl之间是一对多的关系,一个用户可以认证多个公司。BspInq与BspInqParts之间是一对多的关系,一个询价单中可以包括多个航材。BspInq与BspUser之间是多对一的关系,多个询价单可对应一个用户。

系统的关系数据模型如图6所示。

图6 系统的关系数据模型图Fig.6 Relational data model of system

3 系统的关键技术及具体应用实现

3.1 用户访问合法性控制

系统访问控制层采用Spring的Action作为用户访问控制器,Spring的Action实现非常简单,通过继承Spring的Action基类重载execute方法,并在该方法里调用业务逻辑组件的业务方法。通过上述分析,在本系统中可以发现所有的Action有个共同之处是都需要调用业务逻辑组件。而在分析服务层时,业务逻辑组件统一封装成了工厂类ManagerFactory,所以定义一个基类BaseAction,让所有的Action都从基类派生。BaseAction基类代码如下所示。

在本系统中,大多模块需要验证用户是否登录系统,所以为所有登录验证的Action设计一个安全控制基类SecureValid-BaseAction,在SecureValidBaseAction类中的execute方法中,首先检查用户是否己登录,如果没有登录,则将用户导向登录页面,否则执行todoExecute逻辑。todoExecute方法是在SecureValidBaseAction定义的抽象方法,该方法与一般的Action类的execute方法类似,有相同的参数。SecureValidBaseAction的实现类不再执行execute方法,而是实现todoExecute方法。

3.2 用户注册控制层流程分析

在注册公司实体时,必须同时为公司实体注册一名管理员账户。管理员能够管理其公司实体下的用户,用户注册主页面显示当前已注册的公司信息,如用户所在的公司已注册,用户可选择注册个人用户信息,如果用户所在的公司还没有注册,则需要选注册公司信息。用户注册流程如图7所示。

图7 用户注册流程图Fig.7 Flow chart of user registration

3.3 询价流程分析

用户可以发送询价信息给自己的联系人、已认证的公司及所有公司,并可以查看已发送的询价单,用户也可以保存询价单为草稿,暂不发给用户,等编辑好询价后再发给用户。用户也可以删除草稿和取消询价。在该系统中,供应商根据收到的询价信息进行报价格给询价的询价人,询价人在收到报价单后,把所需的部件加入到自己的采购清单中,形成定单,发给供应商。供应商在收到定单后,双方进行确认,最后形成采购合同,实现流程如图8所示。

图8 询价流程图Fig.8 Flow chart of inguiry

3.4 业务系统的实现

依据上述的基本原理,基于J2EE平台下设计并实现了航材交易系统,该原型系统实现了用户登录和注册、公告信息发布、询价单管理、报价单管理等。公告信息发布页面主要为访问BSP的用户提供一个发布求购/出售等信息的平台。用户可以按照标题查找相关信息。发布公司信息界面如图9所示。用户可以发送询价信息给自己的联系人、已认证的公司及所有公司。并可以查看已发送的询价单,用户也可以保存询价单为草稿,暂不发给用户,等编辑好询价后再发给用户。用户也可以删除草稿和取消询价。新建询价单界面如图10所示。

图9 公告信息Fig.9 Notice information

图10 新建询价单页面Fig.10 Adding inquiry UI

4 结 论

针对航材数据交易、交换的环境复杂度高、信息化程度不一致、数据模式多样化等特点,本文根据航空公司信息化建设的现状,采用了Struts、Spring、Hibernate技术开发航材数据交易系统,在功能上力求满足各航空公司利用Internet实现公司航材数据交易信息处理的要求。通过建立基于Java EE的航材数据交易系统,实现航空公司航材管理的高效和低成本,提高各航空公司航材管理工作效率,达到人、财、物三个方面的人尽其才、物尽其用、开源节流的目的,为各航空公司的飞机维修提供良好的航材保障。目前基于该方案开发的系统已经在国内某航空公司安装使用,今后将根据用户的反馈继续完善。

[1]Mohieldin T O,Tiwari S N.Numerical study of 2D dual-mode scram jetcombustion part1:Cold flowanalysis[R].AIAA 2003-7036.

[2]龚瑜,江红,黄永.基于Struts的Web开发[J].计算机与数字工程,2009,37(2):58-62.

GONG Yu, JIANG-hong, HUANG Yong.Development of Web application based on struts framework[J].Computer&Digital Engineering,2009,37(2):58-62.

[3]戚艳军,刑继军.Ajax与Struts结合构建Web应用研究[J].现代电子技术,2008,32(22):57-58,66.

QI Yan-jun,XING Ji-jun.Web application using Ajax and Struts[J].Modern Electronics Technique,2008,32(22):57-58,66.

[4]王明,陆正球.基于MVC科研管理系统的研究与实现[J].微计算机应用,2009(1):77-80.

WANG Ming,LU Zheng-qiu.Research and implementation of scientific research management system based on MVC[J].Microcomputer Applications,2009(1):77-80.

[5]侯兴明.基于XML的企业模型数据发布与交换方法研究与实现[D].哈尔滨:哈尔滨工业大学,2008.

[6]Karam M,Keirouz W,Hage R.An abstract model for testing MVC and workflow based Web applications[C]//Proceeding of the Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services,Guadeloupe,2006.

猜你喜欢
航材联系人航空公司
考虑航材共享的国产民机航材配置技术研究
航空公司的低成本战略及其实施对策探讨
IATA上调2021年航空公司净亏损预测
让重要联系人更醒目
为每个联系人设定不同的铃声
从“人”的角度浅谈对航材管理的认识
教你将手机联系人导出到Excel
浅谈我国通用航空航材共享业务
航空公司客票直销的现状与分析
基于SPSS因子分析的舰载机航材保障风险因素分析