外贸管理信息系统分析与设计.doc_第1页
外贸管理信息系统分析与设计.doc_第2页
外贸管理信息系统分析与设计.doc_第3页
外贸管理信息系统分析与设计.doc_第4页
外贸管理信息系统分析与设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

外贸管理系统需求分析需求分析与总体目标外贸管理系统是针对中小型进出口公司的业务情况而设计的一套集企业外贸业务、电脑网络科技、internet技术,科学管理方法于一体的综合性外贸业务管理软件。它按照进出口实务的操作流程进行公司管理、业务数据管理、业务分析、统计查询等一系列的业务过程。旨在以先进的信息技术和管理方法为桥梁,为企业提供系统的管理软件和全面的解决方案,通过实施本系统可达到以下几方面的作用:1、提高企业管理水平,增强企业核心竞争能力建立企业自己的管理信息系统,通过计算机管理进出口业务,减少人工操作的随意性、增强企业内部工作的规范化和标准化;同时通过计算机管理企业的客户、工厂、商品、合同、单据信息等,便于日后的查询、统计、分析决策。2、提高企业风险防范控制能力风险控制是综合业务管理系统的核心内容,系统将外贸企业风险的控制分为市场风险、客户风险、业务员风险;系统通过成本核算表(预算)的申报与审批机制帮助企业评估合同的合理性与可行性;通过客户信用级别管理对客户进行风险评估;此外系统将客户、商品等数据统一管理后,变个人资源为企业资源,同时对业务员的考核、评价体系能准确衡量业务员业绩。3、规范业务流程、实现信息流、资金流和物流的统一任意一笔外贸进出口业务都包含三个要素:信息、物(商品)与资金,这三个要素的流转就构成了企业的信息流、物流与资金流。应用综合业务管理系统,可将三者有机结合起来,保证业务信息更加真实、完整,保证管理人员及时、真实、准确的获得企业的真实经济运行状况。外贸管理系统的需求分析通过我们对外贸管理的现行系统进行分析,了解管理工作流程如下:l 样品数据管理:包括样品的itemno(货号)、description(样品名称)、packing(包装)、size(尺寸大小)、picture(图片)以及生产厂家的有关资料(厂家、单价等)。l 报价:根据itemno从样品数据库中获取其它样品数据形成报价单(可带样品图片)和样品发票给外商。l sales confirmation(外商合同管理):外商订货后,要形成一个外商订货合同,合同数据中的description和packing都是根据itemno从样品数据库中获得。l 国内合同管理:根据外商的订货情况,跟国内有关生产厂家联系,由外贸公司生产厂家订货,形成国内订货合同,国内订货合同的数据来源于sales confirmation。l 生产、装箱、验货:国内生产厂家根据国内订货合同组织生产,产品生产以后根据合同要求进行包装和装箱,形成出货表,外贸管理人员根据出货表进行验货。l 形成invoice(发票)和packing list(装箱单):管理人员根据出货表以及sales confirmation形成正式发票和装箱单。系统用于外贸公司对日常的公司的业务管理,主要内容包括相关的模块,具有以下功能与优势:l 涵盖操作层手工运作,有效降低重复性工作和人为错误;l 第一时间通过查询和统计分析,提供经营;l 决策支持;l 贯穿外向型企业贸易链条;l 全面支持由核算型财务向现代管理型财务的转变;l 实现自营进出口生产企业的整体物流资源管理。外贸管理系统总体目标作为外贸信息管理系统,其系统目标是:以计算机网络为基础,数据库为核心,开发满足外贸业务管理和发展需要的应用软件。通过充分系统调研,在弄清外贸公司业务的运转机制及用户的需求的前提下,确定系统的总体设计目标如下:1、外贸业务管理系统贯穿外贸业务的各个环节,为业务提供报价管理、合同管理、合同评审管理、资金管理、收购业务管理、出运单证管理、核销管理、库存管理。2、按照外贸业务管理的要求保证业务资料一次录入,多次使用,确保相关业务模块之间、出运单证之间高度一致性。在业务正常发生顺序中设置管理监控点,监控业务执行情况,确保各自业务环节,环环相扣以及系统数据的真实可靠。3、记账凭证管理产生记账凭证、自动制作会计账簿和资产负债表、损益表以及现金流量等会计报表。4、账务报表查询系统完成账本及各种管理报表的制作及查询。5、通过原始资料录入达到信息分类、综合查询、报表汇总等功能。系统使用过程中每一项业务活动所产生的信息能自动流转到公司各级管理人员查询系统,形成各种综合分析报表,及时反映跟踪业务进程的动态和综合情况,提供各种决策参考依据。6、按照标准化、规范化发展要求考虑系统的实用性和延续性。7、业务系统处理的是大数据量的业务信息,业务信息是外贸公司的商业机密,要确保这些业务信息在共享的同时也能够安全。8、考虑到人的惯性思维,所以在界面设计的时候要方便操作者,要提供给用户一个友好统一的界面。9、每一个软件系统想要有市场,系统能够长期稳定地运行是一个很重要的因素,这就要求系统的稳定性和健壮性。外贸管理系统整体流程外贸管理系统主要是对进出口贸易业务中的全部基本数据的管理。基本数据是业务信息的基础,基本数据来自公司内部业务人员输入的各种合同和单据,系统将合同和单据中的数据记入服务器中的数据库。数据库服务器是系统的心脏,记录输入的各种单据,对单据中的数据进行整理、归纳,根据使用者的要求提供各类与外贸业务及管理的有关信息。主要目的是:l 改变信息管理手段,提高办公效率;l 实现资源共享,随时提供公司的业务信息,能使业务人员和管理人员根据有关信息及时决策。根据用户需求所提供的业务流程及相互关系,外贸管理系统整体流程大致如图2-1所示:图2-1 外贸管理系统整体流程图主要业务流程图在对外贸易领域、各类外贸企业尽管所处的地位不同,经营的商品种类不同,隶属的关系不同,组织形式不同,但是作为一个独立的经济组织,不论何种类的外贸企业他们都有一个共同的基本职能:就是通过组织进出口商品业务经营活动,通过国内生产者与国外购买者,国外生产者与国内购买者之间进行的商品交换。进出口贸易是指我国与其他国家进行的商品、货币的交易行为。在进出口贸易中,由于交易方式和成交条件的不同,其涉及的业务环节业不尽相同。各环节的工作,有的分先后进行,有的先后交叉进行,也有的齐头并进。但是,不论进口或出口交易,一般都包括交易前的准备、商订合同和履行合同三个阶段。把这些阶段细化成4个阶段。1、对外贸易出口业务流程如图2-2所示,主要经过以下几个阶段:(1)出口准备阶段:主要进行市场调研、编制出口计划、寻找客户建立业务关系并对客户进行信用调查等工作。(2)交易达成阶段:客户向我方询问,我方寻找供应商,并向供应商咨询产品出厂价。根据供应商的报价,加上我公司的利润、各项出口费用等预估出口价格,向客户发盘,经过双方多次还盘达成一致。按照公司统一格式制作出口合同,图2-2 业务流程图并经双方法定负责人签字后合同开始生效。签订出口合同后,我方与供应商签订采购合同,经双方法定负责人签字后合同开始生效。(3)履行交易阶段:该阶段办理各种出口批件,出口许可证、产地证等。出口商品生产完成后寻找货运商办理出运,制作出口发票,向保险公司投保,向商检局报验、取得检验证书。办理报关,货物装船后取得提单,然后向客户发装船通知。(4)完成交易阶段:汇集出口发票、提单、装箱单等单证向银行办理议付。银行结汇后对外汇核销单进行核销。合同完结后对加工贸易手册进行核销,并办理申报退税。向供应商支付货款。2、进口贸易的业务程序:(1)交易前的准备,主要包括以下内容:制定进口商品经营方案或价格方案,在对国外市场和外商资信情况调查研究的基础上,选择适当的采购市场和供货对象。(2)商订进口合同:该部分与出口部分相同。(3)进口合同的履行,包括下列事项:按合同规定向银行申请开立信用证;及时派船到对方口岸接运货物,并催促买方备货装船;办理货运保险;审核有关单据,在单证相符时付款赎单;办理进口报关手续,并验收货物。主要数据模型 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息,也就是对现实世界的模拟,常用的数据模型有层次模型、网状模型、关系模型和面向对象模型,由于我们使用的sql server数据库是典型的关系数据库,关系模型具有坚实的数学基础和运算特性,所以我们使用的数据模型也是关系模型。现在所使用的关系模型多为实体-联系模型(e-r模型),它为数据库建模提供了实体(entity)、联系(relationship)、属性(attribute),用来描述现实世界的概念模型。可以说,被建模的企业建模可看作是由图形表示的一组实体类型和联系类型。e-r模型是抽象描述现实世界的有力工具,虽然现实世界丰富多彩,各种信息十分繁杂,但用e-r模型仍可以很清晰的表示出其中错综复杂的关系。所以e-r图的直观性很强,便于用户的理解。数据库建立在sql server下,各子系统的数据库的创建都同属一个系统用户。通过对数据结构的加工分析后,实用建模工具对数据流程进行描述,建立e-r图,分析实体模型及其内部相互关系,建立数据表及关系、约束条件,通过连接数据库后,直接在后台数据库中建立数据表和参数。用户可以使用数据库创建工具来建立有关的数据库。在数据库服务器中包含了业务数据库、财务数据库、工厂财务数据库、物资管理和合同监控数据库等。根据e-r图来设计数据库表和表之间的联系具有结构清晰,维护方便,可读性很好。因为整个系统设计的实体和关系很多,仅以合同管理模块为例如图2-3。图2-3 合同管理模块实体关系图实体关系图向我们展示了系统中包含的实体以及它们之间的关系,接下来我们需要做的是将实体关系图转化为信息系统数据库中存储的关系表。这里需要解决的就是将实体关系图中的实体以及实体之间的联系转换为关系模式,并确定这些关系模式的属性和码(具体实现在3.4中详细介绍)。转换的主要规则是:(1)一个实体型转换为一个关系模式。(2)一个 m:n 联系转换为一个关系模式。(3)一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。(4)一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。设计指导原则1、整体性原则综合信息系统的计算机网络和数据库系统的设计,应将公司所辖全部单位、所覆盖的整个地域、以及公司有关国际贸易的全面工作作为一个整体进行设计。2、突出重点,兼顾一般的原则系统设计应保证公司的主要业务工作(与进出口合同执行过程密切相关的业务),同时兼顾一般工作(虽与合同执行关系不很紧密,但仍属国际贸易部业务)。3、安全可靠性原则选用成熟技术和可靠平台,保证系统安全性;对业务数据的访问进行权限控制,保证业务安全性;采用容错技术,定期备份,并以电子方式长期保存历史数据,保证数据安全性。4、可扩充性原则系统设计应考虑公司今后的发展和内部的变化,计算机网络和系统功能应具有扩充能力,以适应未来的发展变化。模块化设计和intranet实施方式保证系统对业务流程变化具有一定的适应能力;对业务规模和网络节点的扩充可以方便地予以支持;易于扩internet,intranet和extranet应用。5、开放性原则系统设计应考虑与外单位系统及公司其它系统的互连要求。建立一个灵活可扩展、支持多平台的开放网络计算环境,不仅可以保护企业在软件和硬件上业已做出的投资,而且便于将来同客户、商业合作伙伴直接交换信息,进行跨企业联结。6、先进性原则提供企业战略级intranet解决方案的平台,擅长非结构化信息管理、复制技术、安全管理、邮件处理和通信服务,其先进技术大大延长应用软件的寿命周期。利用它不仅可以实现业务管理规范化,还可实现无纸办公、无走动办公和远程办公,在充分满足当前业务需要的基础上改善工作方式,提高工作效率。系统环境软件的体系结构直接关系到软件的性能,所以选择合适的软件结构体系非常重要。现在流行的结构模式有:客户机/服务器模式(c/s模式)、浏览器/服务器模式(b/s模式)以及群件模式等,它们各有各自的特点,不能绝对地说孰优孰劣,应该根据具体应用的需求和特点来选用某种模式,或选择某些模式的组合。一个在建立分布式应用时最常用的范例便是客户机/服务器模型。在这种方案中客户应用程序向服务器程序请求服务,这种方式隐含了在建立客户机/服务器间通讯时的非对称性,客户机/服务器模型工作时要求有一套为客户机和服务器所共识的惯例来保证服务能够被提供(或被接受)。这一套惯例包含了一套协议。它必须在通讯的两头都被实现。根据不同的实际情况,协议可能是对称的或是非对称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方被不可改变地认为是主机,而另一方则是从机。一个对称协议的例子是internet中用于终端仿真的telnet,而非对称协议的例子是internet中的ftp。无论具体的协议是对称的或是非对称的,当服务被提供时必然存在“客户进程”和“服务进程”,一个服务程序,通信的基础是套接口(socket),一个套接口是通讯的一端,在这一端上你可以找到与其对应的一个名字,一个正在被使用的套接口都有它的类型和与其相关的进程。套接口存在于通讯域中,通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。windows sockets规范支持单一的通讯域,即internet域。各种进程使用这个域互相之间用internet协议族来进行通讯(windows sockets 1.1以上的版本支持其他的域,例如windows sockets 2)。套接口可以根据通讯性质分类;这种性质对于用户是可见的。应用程序一般仅在同一类的套接口间通讯。不过只要底层的通讯协议允许,不同类型的套接口间也照样可以通讯。用户目前可以使用两种套接口,即流套接口和数据报套接口。流套接口提供了双向的,有序的,无重复并且无记录边界的数据流服务;数据报套接口支持双向的数据流,但并不保证是可逆,有序,无重复的。也就是说,一个从数据报套接口接收信息的进程有可能发现信息重复了,或者和发出时的顺序不同。数据报套接口的一个重要特点是它保留了记录边界。对于这一特点,数据报套接口采用了与现在许多包交换网络(例如以太网)非常类似的模型。系统是采用socket服务器来建立和实现的(具体实现代码见附录)服务器端在c/s模式中是接收服务请求的一端。服务器响应客户机发出的数据请求和过程调用。这一过程通常包括执行业务规则,提供数据接口,为实现客户机请求与其它服务器交互。客户端在c/s模式中是发出服务请求的一端。例如,大多数商业系统的开发中,客户端图形用户界面的开发都是工作量较大的。图形用户界面接收用户的输入信息,并实现与服务器的接口,保证数据连接稳定,获取服务器上的数据并显示给用户。客户机/服务器模式是指两个逻辑(往往是物理的)系统(客户树服务器)及其应用程序逻辑组件之间复杂关系的协同。客户机/服务器模式将一个应用分为两个部分前端(客户机)、后端(服务器)。所谓服务器是指提供客户机服务的逻辑系统,所谓客户机是指向服务器请求服务的逻辑系统。一般来说,客户机向服务器发出请求为其完成一部分工作:服务器则处理客户机的请求并返回结果。一个客户机/服务器应用系统典型的工作分工如下:表2-1 客户机和服务器的工作分工客户机服务器页面表示显示用户交互应用程序逻辑控制请求表述共享资源的查找、定位数据管理事务处理中央应用程序逻辑控制统计计算虽然客户机/服务器技术的概念是十分基本的,然而从它的应用过程中发出的力量、影响和灵活性是非常惊人的。系统设计系统软件功能及模块设计经过对外贸管理流程的归纳总结将系统的功能划分,分为九个子系统模块来实现:业务管理子系统,核销单管理子系统,库存管理子系统,财务管理子系统,费用报销子系统,查询子系统,统计子系统,修改子系统,系统维护子系统。总体结构如图3-1所示:图3-1 系统总体结构图1、业务管理子系统:提供公司、部门、个人的年、季度、月计划的管理工具,能够及时、准确地了解计划执行情况与进度,并对计划执行情况进行有效的管理。对制定的计划进行管理,需要对定制的业务计划进行查询,可以按部门、时间范围、付款方式、分类录入国外贸易额度计划,灵活控制贸易额度管理表。提供公司、部门的贸易额度的管理工具,及时掌握部门及公司日常用款的参考数据,并可以多条件查询,简化查询过程。管理异常用款申请计划表,与进口合同、出口合同、收购合同数据相关联,方便设置国内、国外客户的信用度级别,公司的信用标准的管理工具,便于确定与各客户进行贸易往来的执行标准。该模块包括计划表录入、计划表查询、贸易额度录入、贸易额度查询、用款计划管理、异常用款申请表、信誉标准表录入功能。图3-2 业务管理子系统功能模块图业务管理子系统功能模块说明:(1)客户信息管理模块本模块处理的是客户信息的维护工作。客户信息是业务进行的基础之一,合同、明细单等皆与客户相关。在业务处理层次上,业务员只能看到自己的客户,对其它业务人员保密,而在管理层次上主要是出口业务管理模块,管理人员可根据系统设置系统管理模块查看其他业务员的客户信息,也即所有信息管理成树状。客户信息分为国外客户和国内厂商两部分。(2)对外合同管理模块对外合同管理模块主要完成合同信息维护(包括新建、修改、删除、复制、打印合同和设置合同状态)、进行成本预测、对合同进程进行管理以及查询合同有关信息等功能。对外合同特别是出口销售合同是出口业务依据之一,对外合同的签订是业务进行的必要过程,也是业务文档的必要组成部分,不可缺少。对外合同根据业务的实际进度分中止、新建、已确认、已批准、结束等几种状态。只有处于中止或新建状态的合同允许删除,处于新建状态的合同允许修改。另外只允许业务员处理自己的合同。具体操作包括:1. 新建外销合同:新建一份外销合同,业务员需要录入合同编号、客户编号。合同编号里包含的信息有:签约时间、签约人、船期、价格条款、港口、单价、付款方式、数量等信息。2. 查询外销合同:采用查询合同编号或客户编号两种方式来查找并打开一份已存在的外销合同,在显示框会显示外销合同的合同编号、签约人、签约日期和报价单编号的信息。3. 修改外销合同 修改一份已存在的外销合同,是否能进行修改要看系统的流程定义是否允许修改。4. 删除外销合同 删除一份已存在的外销合同,是否能删除要受系统流程定义的控制。保存外销合同 保存新建或修改过的外销合同。(3)对内合同管理模块对内合同管理模块主要完成维护收购合同信息(包括新建、修改、删除、复制、打印合同)和查询收购合同有关信息的功能。对内合同尤其是收购合同一般根据外销合同的需要而签定,因此,外销合同先于收购合同,由业务员自己签订收购合同。(4)明细单处理模块明细单处理模块主要完成明细单信息维护、成本跟踪、业务进程控制和明细单查询功能。明细单是联系一票出口业务各环节的文字说明。对外合同根据业务的实际进度分中止、新建、已确认、已批准、结束等几种状态。只有处于中止或新建状态的合同允许删除,处于新建状态的合同允许修改。另外只允许业务员处理自己的合同。(5)业务单据制作模块业务单据除合同、明细单等主要单据外,还包括许可证、商检证等辅助单据。(6)信息查询模块信息查询模块提供与外贸业务相关的非本子系统处理信息的查询及统计输出功能,查看本系统以外信息的窗口。主要有:海关的税收信息、许可证配额情况、仓储查询、信用证查询、单证查询、保险费查询、运费查询、财务信息查询几类。2、财务管理子系统:财务会计基本完成的是记账、算账的核算功能,而财务管理则要通过预算、核算、控制和分析功能的综合运用帮助企业领导者制订经营决策。人工核算的财务核算方式,难以实现销售业务数据的实时传递、汇总和查询,很难适应企业高速发展的需要。随着企业的迅速发展,企业决策层和管理层对信息的要求越来越高,运用计算机对生产经营活动进行现代化管理己迫在眉睫。财务管理作为外贸企业管理活动的核心,除了发挥传统的核算功能外,还要全面、及时、准确地反映外贸企业的人、财、物等信息,辅助企业领导进行经营决策。为了使公司的管理更加规范化、现代化、科学化,能够充分适应现代市场竞争快速、瞬息万变的特点,要随时随地掌握企业内部信息和外部市场信息,做到事前有预测,事中有控制,事后有核算。图3-3 财务管理子系统功能模块图财务管理子系统功能模块说明:(1)账务处理模块账务处理模块可以自动进行银行对账,打印输出会计期间内的现金日记账、总账、各类明细账,按科目、时间、金额等组合查询明细账,计算费用率、查询业务合同、预测单、控制单、明细单等内容及输入费用和处理内部往来账目等工作。(2)报表处理模块报表处理模块可以通过设置各类报表的计算公式,自动产生会计业务所需要的资产负债表、损益表、会计报表和成本表。并且提供自定义报表功能,由用户自定义报表并将其转化为内部报表。(3)固定资产核算模块固定资产核算模块功能主要是建立固定资产卡片和台账,对固定资产进行分类统计、查询、汇总和分析。同时提取折旧和大修理基金。(4)工资核算模块工资核算模块根据每月人事处联网传来的工资册,自动编制全部核算内容的凭证,并自动入账,使工资核算实现自动化。(5)销售核算模块销售核算模块对销售发票进行审核,自动编制记账凭证,将销售核算凭证打印输出,并可对进出口业务按部门、科室、每笔业务等不同条件进行成本、税金、利润等情况的查询。(6)核销退税管理模块核销退税管理模块主要产生出口收汇情况登记表和出口货物退税申请表。(7)资金管理模块资金管理模块可以显示公司每天的资金需求量,资金占用情况。3、库存管理子系统:通过仓库管理系统,可以清楚知道库存数量、积压资金,进行库存积压、报警,情况,仓库一进一出要进行记录、查询,查看某时间段各仓库物料进出累计、缺货损耗查看仓库某物料某时间段进出情况。要对仓库信息进行管理,首先要对仓库的物料进行编号,因为中小企业仓库的原材料一般品种繁多,至少有几百种,要清晰将它们分门别类进行管理,一定要进行编号,而且编号的位数要一致,物料的编号要有代表性,一看就知道属于什么类别和什么名称,即“见名知义”这样既简化了以后对表单的物料录入工作,又可以清晰分辨物料。图3-4 库存管理子系统功能模块图库存管理子系统功能模块说明:(1)仓库单据维护模块仓库单据维护模块完成仓库单据(进仓单、出仓单、报损单、报溢单)的录入、修改、查询和复核记账工作。(2)单据复核记账模块单据复核记账模块对已经输入的进仓单、出仓单、报损单、报滥单等仓库单据复核记账。复核记账后的单据任何人不能修改。(3)库存统计查询模块库存统计查询模块按月统计生成库存月报表,分品名(货号)进行累计,并提供按单据类型、品名、时间查询明细数据的功能。4、核销单管理子系统功:出口业务是需要核销单的,核销单的使用需要管理。当业务部领取时,输入“核销单申领表”,以便系统管理。系统能统计和跟踪使用情况,如每个核销单号,是谁领的,用于那个合同,那些没有返回等,核销单管理子系统负责此项功能。5、费用报销子系统:通过费用报销子系统,可以随时查询每位公司员工的报销单据并对费用报销进行统计。6、修改子系统:资料修改子系统除系统管理员外,任何人都无权修改自己输入的记录。资料修改子系统有很强的索引功能,使修改人能很方便的查到要修改的资料。7、查询子系统:资料查询子系统负责所有资料的查阅,设计合理,使用方便,可以快捷的查询所需资料。8、统计子系统:资料统计子系统有很强的索引功能,能完成各种资料项目的统计。例如:出口合同统计、进口合同统计、资金占压统计、库存管理统计、资金周转统计、利润统计、报销单统计、核销单申领表统计、配额申领单统计等等。9、系统维护子系统:系统维护子系统是专门为公司系统管理员设定的,利用该子系统,系统管理员可方便快捷的维护系统的安全性。例如系统数据的导入导出、用户的级别、密码管理等等。外贸管理系统的各大功能模块,它们即相对独立,彼此间又有一定联系。外贸业务系统是外贸系统的核心,企业申请表、进口清单、出口清单是业务管理的基本内容。其中财务管理为业务管理提供依据,而查询统计子系统使得业务系统更加明了,便于经理层对公司业务进行实时监控,其他几个子系统都为业务子系统进行服务。系统软件架构在三层c/s结构的系统框架下,对于每一个具体的系统而言,都可以抽象的划分为三个逻辑层次,即:表示层,业务层和数据层。1、表示层指的是在应用程序中,直接展示给用户的部分,因此有时也被称为是客户界面层。通过表示逻辑层,可以实现用户和后台业务层之间的对话,提供接口。并且,表示层还用于收集数据和显示处理完毕后的数据。2、业务层也就是应用逻辑层或者应用服务器,即常说的中间层。业务逻辑层相当于应用程序的本体,它包含了与核心业务规则相关的逻辑,也就是将具体的业务处理逻辑地编入程序中,是联系表示层和数据层的“桥梁”。它可以响应用户发送的请求,执行某种业务规则,业务层是一个应用程序中最重要的部分。3、数据层数据逻辑层用于实现所有典型的数据处理活动,包括数据的获取、修改、更新以及数据库内部的触发器、存储过程等相关活动,从而将数据服务和应用程序的其它组件分开。图3-5 典型的三层分布式系统的构架结构从图3-5中可以看到,三层逻辑层可以分别实现于不同的开发平台,并且所有的用户同时共享中间应用逻辑层。在客户端只需要安装客户端应用程序,用于负责和用户进行数据交互以及与应用服务器进行数据交互。业务层,即应用服务器中间层负责接收从客户端传递来的请求,进行业务处理,根据业务逻辑转化成为相应的数据库请求,并且通过数据库引擎传递给数据库,然后将数据库处理的结果返回到客户界面。作为第三层的数据层,则主要是响应应用逻辑层发送过来的请求,对数据按要求进行处理,并且将处理的结果返回到应用逻辑层。所谓的三层结构,是指在逻辑上的抽象划分,而不是在实际的布局上一定要分三个物理位置来分布部署表示层、中间业务层和数据层。在实际开发的过程中,可以根据实际情况,把业务层和数据层部署到一台服务器上,或者把表示层和业务层部署到一台服务器,或者部署到更多的计算机上。但是,在实际的业务中,一般都是把三层结构的系统分别部署到不同的机器上,以充分发挥分布式三层结构系统的优点。三层分布式c/s结构的优点,主要表现在下面各个方面:1、很大程度上提高了系统的安全性。与二层c/s结构系统中,客户端直接与数据库服务器打交道的情况不同,在三层c/s结构下,客户端不直接与数据库服务器发生数据交互,而是访问应用程序服务器的中间层,由应用程序服务器与数据库服务器进行通信,同时在中间层控制对数据库的访问权限。在这种情况下,就很大程度上防止了客户端对数据库进行非法的操作,无形中对数据库又增加了一层保护,提高了数据安全程度。2、业务处理集中。由于在三层结构系统中,所有的通用业务处理都集中在业务逻辑层,而不是由每一个客户端表示层来分别处理,因而可以保证所有的用户都执行一致的业务逻辑,而不会产生对同一业务,出现不同用户处理方法不一致的现象,同时还可以避免由于每个客户端分别复制、处理数据而带来的数据冗余。3、系统维护和升级比较简单。在三层的结构下,表示层只是一个尽可能简单的操作界面,负责给用户提供交互界面和显示数据。而真正的业务逻辑,则都集中编写在中间层中,统一部署在应用程序服务器中。实际使用时,由各个客户端分别调用中间层,然后再由中间层实现对数据库的访问。这样,当业务逻辑发生变动的时候,无需重新编写客户端的程序,只要重新修改包含业务逻辑的中间层,然后重新进行发布,就可以实现系统的更新。客户端不需要进行任何的变动,甚至都不会注意到后台的变化。这样,就解决了二层结构中系统不能随时更新升级的问题,优化了系统的可扩充性,使系统更加富有弹性,适用于多变的实际情况。4、系统的可移植性强。由于在实际业务中的核心逻辑都是封装在中间层的,而客户端只是通过通用的通信协议,访问预先规定的接口,来实现对中间层的访问。因而在这种情况下,可以很方便的把中间业务层从一个物理位置移植到另一个物理位置。而在客户端几乎不需要做任何的修改,只要使客户端访问新的中间层地址,就可以实现和以前一模一样的操作。5、提高了系统效率并且降低了硬件配置要求。由于数据分布在不同的机器上,同时将较重的处理负荷分配给中间业务层,因此可以很大程度上减低客户端的负荷,提高系统运行效率,降低对系统硬件配置的要求。在三层的结构体系下,由于中间层的介入,数据的传递过程也相应的发生了调整。在这种情况下,是由客户端的数据集clientdataset来发出请求命令,将此命令传递给中间层,中间层接受这一请求命令,并对数据进行处理后,向数据库发出请求命令,数据库进行响应,进行数据更新。在三层结构下,数据的传输过程如图3-6所示。图3-6 三层结构下数据通道示意图在整个系统结构中,居于核心的是web服务器,通过强大的系统集成方法可以在应用软件中将关系数据库sql server、事务处理系统和其它应用系统进行紧密集成,还可以提供对文件系统的访问。数据服务层负责连接到数据库,构建类型化结果集,然后将该结果集从对象的方法中返回。数据服务层由一组数据访问组件webdata构成。这组数据访问方法实际上充当了分离的datset对象的一个包装器。webdata的每个实例都表示了到数据源的一个连接,并向客户端能够返回一个包含一个或多个datatable对象的dataset。建立这个组件后,接着就向组件增加一组方法。第一个方法名为querydataset,它返回填充了数据的类型化数据集的引用。第二个方法名为up_de_insertdata,它把类型化数据集作为一个参数接收,并将数据集中的变化提交到后台的数据库中。 web服务在外贸系统中的应用 web技术概述web服务是近两年提出的一种新的面向服务的体系结构,是一种基于对象/组件模型的分布计算技术,其中定义了一组标准协议,用于接口定义、方法调用、基于internet的构件注册以及各种应用的实现。web服务建立在http、xml和soap等开发标准协议基础之上,用于接口定义、方法调用、基于internet的构件注册以及各种应用的实现。web服务以消息的形式提供服务,它使用基于xml标准的消息作为数据交互的基本方法,这使得web服务完全实现了与编程语言、系统平台和对象模型的无关性。web服务可以使用任何编程语言和对象模型在任何平台上实现,并且任意的应用程序都可以使用web服务。只要描述web服务功能的接口、消息序列和通信协议不变,web服务和客户端应用程序的改变不会影响对方。web服务需要在异构的网络环境中使用,而在这个环境中又存在多种不同的操作系统、对象模型和编程语言,所以web服务应具有以下特征:1、松散耦合,web客户仅使用自描述的、基于文本的消息与web服务通信。2、便捷的通信,所有连接到internet上的系统和设备度可以与web服务通信。3、协议的通用性,web服务利用标准的internet协议(如http,smtp等),解决的是而向web的分布式计算;而corba、dcom、rmi使用私有的协议,只能解决企业内部的对等实体间的分布式计算。4、完全的平台、语言独立性,web服务进行了更高程度的抽象,只要遵守web服务的接口即可进行服务的请求与调用。而corba、dcom、rmi等模型要求在对等体系结构间才能进行通信。如corba需要每个连接点都使用orb(object request broker,对象请求代理),dcom需要每个连接点都使用windows平台,rmi需要每个连接点都使用java,否则双方是不能通信的。5、通用的数据格式,通过使用被广泛支持的、标准的xml协议来进行数据交换,使得所有支持这一标准的系统都可以理解web服务的消息。wsdl(web service description language)定义了一套基于xml的语法,将web服务描述为能够进行消息交换的服务访问点的集合。wsdl的定义为:wsdl完全基于xml,它把网络服务描述为一组在包含面向文档或面向过程信息上执行操作的端点。当用户获取了web服务的wsdl文档后,就能从中得知web服务所处的位置、web服务包含的方法以及每个方法的参数和返回值的类型等信息,用户根据这些信息就可以调用方法了。在wsdl里面支持四种访问入口调用的模式:1、单请求(one-way):服务接收一条消息。2、通知(notification):服务发送一条消息。3、请求/响应(request-response):服务接收一条消息并发送一条相关的响应消息。4、要求响应(solicit-response):服务发送一条消息并接收一条相关的响应消息。web服务的体系结构是一种动态的集成方案,所有的服务都可以通过uddi标准动态地被发现、绑定和使用,容易适应系统的变动,提高系统的灵活性和伸缩性,完全屏蔽了不同软件平台的差异实现了不同平台、应用在分布式环境下的信息分布存储与共享,实现了企业异构应用环境下高度可集成性。所设计的外贸管理系统是基于web服务的系统,它可以让每层集中在一个特定的角色上。通常包括一个数据层,一个应用服务器层企业规则组件,以及使用这些组件的客户端程序,采用这种分层的开发方法可得到一个更便于扩展的外贸企业应用,同时也提高了组件的重用性,使应用程序更加容易创建和维护,客户端人机界面部分的程序开发工作得以简化并且系统的安全性得到提高,最重要的是使用户可以基于web的应用程序跨越internet访问数据。服务层实现根据系统的功能划分,中间层应包括部署在web服务器上web组件和安装在远程处理服务端上的远程访问对象组件。下面以合同全程监控的web服务组件和远程对象组件的实现来说明中间层的实现过程。1、合同监控系统web服务组件的实现首先创建一个名为webdata的web连接,它包括一些方法,如:connectdatabase-数据库的连接createcontractdata-合同监控数据生成querycontractdata-合同监控数据查询合同监控系统web服务webdata的实现算法代码如下:/导入系统类,定义变量public class webdata public function connectdatabase(byval myconnectionas string) as boolean/数据库的连接 oldbcon.connectionstring=myconnection try oldbcon.open/尝试连接数据库 catch/根据实际情况进行异常处理 return false end try if o1dbcon.state=true then/向应用程序返回连接成功标识 else return false end if oldbcon.closeq end function public function createcontractdata()/合同监控数据生成 /变量定义if not(参数is nothing) thenfor i=0 to procdurevalues.length - 1 /取参数值,并分别传递给对象实例 next end if /执行数据生成过程 if执行成功then /执行正常处理,返回结果 else /执行异常处理 end if /关闭数据库连接,退出 end functionweb服务中的dowebdata方法创建了一个对webdata的引用。一旦创建了这个新对象的实例,那么就可以调用此对象的querydataset方法,向其传递连接数据库服务器的连接字符串和查询字符串,然后从此web方法中返回结果集。这样的优点在于:如果需要修改数据的来源,不必对客户端应用程序作任何修改,而只需要web服务组件。实现的示例算法如下:public function dowebdata(byvalmyconnectionasstring) as datasetdim custds as dataset=new dataset()/定义数据集实例dim webqd as webdata=new webdata()/定义一个新的webdata对象实例/custds=webdata.querydataset(myconnection)/调用数据查询服务returncust ds/返回结果集end function2、通过远程处理技术方法来实现合同全程跟踪组件的配置如下所示:在远程处理对象服务器上放置合同数据分析组件contractdataanalysis以及完成进度计算组件schedulecomplete和数据存储组件datastore。合同数据分析组件用于采集单个合同实时执行数据,以分析执行情况。完成进度计算组件用于计算当前各项任务完成进度情况,并返回结果数据。数据存储组件将前端的更新数据存储于数据库服务器中,远程处理对象组件与数据库服务器的采用ado.net技术进行交互。在这个系统中,各个组件都是以远程对象的模式编写的。根据调用关系来区分服务器与客户端。远程处理对象服务器上的组件是远程对象服务器,而前端客户机程序就成了该远程对象的客户,因为它要调用这些远程对象。它们之间通过远程处理技术技术连接,使用tcp通道通信,数据以而进制方式传输,这样就可以保证在多用户连接的情况下数据的传输率。具体实现分别包括对服务端和客户端的算法。服务器端算法:public class contractdataanalysisdim mychannel as new tcpchannel(8023)/定义tcp通道channelservices.registerchannel(mychannel)/注册通道remotingconfiguration.registerwellknowservicetype(server,gettype(contractdataanalysis), getcontractdata,wellknownobjectmode.singlecall)end classpublic function getcontractdata(strcontract as string) as boolean/具体功能代码客户端算法:public class clientpublic sub btcallservicees_click(byval strcontract as string)dim my0bj as contractdataanalysisdim mychannel as new tcpchannelchannelservices.registerchannel(mychannel)/注册通道myobj=ctype(activator.getobject(gettype(contractdataanalysis),tcp:/ :8023/server), contractdataanalysis)/激活远程服务端服务if isnothing(my0bj) thenerr.raise(8000,”无法创建代理!”)elsemyobj.getcontractdata(strcontract)/调用远程服务端对象end ifend sub在web服务的getstockdata方法中需要通过远程处理技术调用远程计算机上远程对象anystockserve的getstock方法。示例算法如下:public function getstockdata(byval sq1str as string) asdoubledim stockquanlitas new double()dim than as new tcpchannel(8012)/创建通道实例channelservices.registerchannel(chan)myobj=ctype(activator.getobject(gettype(anystockserver)tcp:/localhost:8023/stockserver),anystockserver)/注册通道stockquantity=myobj.getstock(sq1str)/调用远程服务端对象return stockquantity/返回结果end functionweb技术的特点和局限性web服务的主要目标是跨平台的可互操作性。为了达到这一目标,web服务完全基于xml(可扩展标记语言)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。使用web服务为本系统带来极大的好处。1、跨防火墙的通信应用程序有成许多用户,而且分布在各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。在这种情况下,使用dcom或corba就不是那么简单,通常也不便于把客户端程序发布每一个用户手中,中间层组件换成web服务,就可以从用户界而直接调用中间层组件,从而解决了跨防火墙的通讯。2、软件和数据重用软件重用的形式很多,重用的程度有大有小。最基木的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。用web服务集成应用中的各种功能,为用户提供

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论