service 技术的新华书店销售数据分析系统的设计和实现_小论文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1基于webservice技术的新华书店销售分析系统的设计和实现肖毅杨路明中南大学信息科学与工程学院湖南长沙421000摘要:新华书店销售分析系统可以收集该企业位于全省各地门店的销售数据,为业务人员提供科学的数据分析。本文论述了基于webservice技术数据收集系统的设计和实现,对系统的功能模块和数据库结构作了详细的分析,对hibernate实现数据持久层及webservice技术实现数据收集接口足了详细的阐述。关键词:Web服务;销售数据分析系统;HibernateDesignandimplementationofsalesdataanalysissystemofXinHuaBookstoreSchoolofInformationscienceandEngineering,CentralSouthUniversity,Changsha,Hunan421000ABSTRACT:TheapplicationofthesalesanalysisofXinHuaBookstorecancollectthesalesdataofallbranchofthisenterpriselocatedinnearly100townsofthisprovince.Thispapermainlydiscussessomekeytechnologiesaboutdesignandimplementationofthesalesdataanalysissystembasedonwebservice.Thefunctionmodelanddatabasestructureofthesystemareanalyzed.Theimplementationandapplicationofhibernateandwebserviceisdiscusseddetaildly.Keywords:Webservice;Salesdataanalysissystem;Hibernate湖南省新华书店是一个致力于图书销售的国有企业,多年的信息建设过程中建立了多个独立的业务信息管理系统,这些系统分布于全省100多个县,总共有200多个销售门店,对于从事零售的企业来说销售数据是业务分析的基础,在分析消费者的需求特点和挖掘消费者的潜力方面有着重要的作用。如何将这些分布于全省的200多个销售门店的销售数据收集起来,形成有效的资源,为提高企业的业务决策的正确性,提高商品的周转期是一个非常有必要的工作。1系统设计1.1系统功能模块设计销售数据分析系统将收集到的销售数据收集起来,通过internet访问的方式呈现给用户,让用户及时了解个销售门店的销售情况,掌握销售的第一手资料。有效的减少滞销的商品,实现库存的动态调配。要完成这些功能系统必须包括以下五大功能模块。1.销售数据收集模块:该模块提供一个数据接受接口,该接口已服务的方式发布在web上面,可以通过web接受处理成xml文档的处于不同地理位置不2同数据库系统的销售门店的销售数据。并在接受数据的时候自动完成不完整的数据的处理。比如将有空字段的不符合要求的数据丢弃。2.数据整理模块:该模块将接受到的数据整理成符合关系数据库要求的数据,他从接受到的xml文档中抽取有效数据,并将这些数据存入我们设计好的数据库中,便于今后的查询分析。3.配书模块:该模块式根据处理好的销售数据,分析某类图书在各区的销售情况,如果销售情况火热的话(大于我们设定的一个数值)就将该品种纳入配书单。将配书单打印出来可以交给业务人员实施配书。3.综合查询模块:操作人员可以通过该模块查询各地门店的销售情况,以及业务人员的配书情况。该模块提供的查询条件十分灵活,可以通过门店、图书名称、图书出版社、出版日期、价格、作者等单个或者复合条件查询。并提供图书销售排行查询,罗列出指定数目的销售排行前4.身份认证模块:该模块实现确认操作者的身份的操作,根据不同的身份给于不同的权限,比如有些读者只能查询而不能制定核修改配书单。5系统维护模块:该模块完成对配书单的删除、修改等操作处理。销售分析系统的系统功能模块如图1所示。图11.2数据库的设计选用oracle在作为系统得数据库管理平台,本系统主要有6个表格:上传销售临时信息表、图书基本资料表、出版社基本信息表、销售表、用户表、配货表,如图2的逻辑数据模型。销售数据分析系统销售数据收集数据整理综合查询身份认证系统维护3图22系统关键技术2.1销售数据接口的实现销售数据的接口适基于webservice技术[1]的,由于webservice技术的跨平台性[2],因此应用此技术我们可以轻松实现数据的接受接口。我们应用了用Axis1.1forJava进行WebServices开发。Axis本质上就是一个SOAP引擎[3],提供创建服务器端、客户端和网关SOAP操作的基本框架。首先要创建服务,它接受一个按照用户提交数据规范成的xml文件块。PublicclassUploadService{publicDataHandlerserve(DataHandlerdh){DataHandlerdataHandler=null;FileDataSourcefileDataSource=null;fileDataSource=newFileDataSource(dh.getName()+.xml);//读入参数指定的xml文件,这里可以加入错误捕获代码PkBookinfo_idTitleFKIPub_idIsbnPriceBook_classAuthorPub_dateIs_bookAdd_cdmemoPKTrans_idTitlePub_titileIsbnPriceBook_classAuthorPub_dateIs_bookAdd_cdmemoAct_locationSale_numberSale_accountPKretail_idAct_locationSale_numberSale_accountFKIBook_idPKpub_idPub_titlePub_adderPub_phonePub_memoPkoperator_idNameRightPhoneClassSexAgePkpeihuo_idPh_batchFKIBook_idNumberPh_locateFKIOperator_id4dataHandler=newDataHandler(fileDataSource);//序列化成datahandlerreturndataHandler;//返回文件块}}第二步我们用Axis发布我们定制的服务,Axis的运行需要如下组件包axis.jar,jaxrpc.jar,saaj.jar,commons-logging.jar,commons-discovery.jarwsdl4j.jar,它是一个很灵活的可配置系统,我们通过配置文件进行发布定制的服务。配置文件如下deploymentxmlns=:java==UploadServiceprovider=java:RPC//指对应着相应的服务类为org.apache.axis.providers.java.RPCProvider。parametername=classNamevalue=luopc.ws.UploadService///指定我们定制服务parametername=allowedMethodsvalue=*//service/deployment完成配置以后我们写一个脚本批处理文件来完成部署。批处理文件如下:java-classpathF:\resource\tools\axis-1_1\lib\axis.jar;F:\resource\tools\axis-1_1\lib\commons-discovery.jar;F:\resource\tools\axis-1_1\lib\jaxrpc.jar;F:\resource\tools\axis-1_1\lib\commons-logging.jar;F:\resource\tools\axis-1_1\lib\log4j-1.2.8.jar;F:\resource\tools\axis-1_1\lib\wsdl4j.jar;F:\resource\tools\axis-1_1\lib\j2ee.jar;org.apache.axis.client.AdminClientUploadService.wsdd。批处理中的jar文件都是Axis运行需要的组件,必须添加到环境中。完成Webservice的发布以后我们就可以在客户端调用服务跨平台传输数据了。2.2基于hibernate数据持久层的实现Hibernate是一个开放源代码的对象关系映射框架[4],它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据5库的工作量。Hibernate技术本质上是一个提供数据库服务的中间件。Hibernate是依靠配置文件hibernate.cfg.xml来确定连接的数据库,该配置文件摘要如下:<propertyname=hibernate.connection.driver_class>COM.ibm.db2.jdbc.app.DB2Driver</property><propertyname=hibernate.connection.url>jdbc:db2:cipDB</property>指定使用的数据库连接驱动,和该驱动位于的类。<propertyname=hibernate.connection.username>admin</property><propertyname=hibernate.connection.password>rubipass</property>指定数据库的用户名称和密码创建映射文档确定了hibernate对象何数据库的对应关系,定义了持久数据和在需要时保存关于对象的持久域、关联、子类和代理。我们创建一个映射文档bookinfo.hbm.xml!DOCTYPEhibernate-mappingPUBLIC-//Hibernate/HibernateMappingDTD2.0//EN<hibernate-mapping><classname=com.ubipass.cip.baodingtable=bookinfo>指定了映射的数据库中的表名<idname=idcolumn=bookidtype=long><generatorclass=increment/></id>指定了数据库表bookinfo中的唯一标识字段<propertyname=pricecolumn=event_pricetype=float/><propertyname=titlecolumn=event_titletype=string/>指定了表baoding中的字段date和title以及字段的类别。映射文档在应用启动时编译,它可为Hibernate提供关于持久对象的相应类。Hibernate也使用这些映射文档,分别利用内建设备SchemaExport和CodeGenerator来生成相应的数据库模式和stubJava类。使用用Hibernate的内建设备CodeGenerator来创建stub类,的创建使用Hibernate的内建设备CodeGenerator,执行一个简单的命令就可以完成。,命令的语法如下:ja

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功