1、武汉光庭导航数据(武汉)有限公司Wuhan KOTEI Informatics Co.,LTD. 1OMS 系统设计方案Ver.1.0武汉光庭导航数据(武汉)有限公司Wuhan KOTEI Informatics Co.,LTD. 2编 制: 张枫林 审 核: 批 准:日 期: 2013-12-10 日 期: 日 期:3变 更 履 历日期 版本号 修改说明 修改人 核准人2013-12-10 1.0 创建 张枫林4目 录1 概述 42 需求分析 .52.1. 系统整体架构 .52.2. OMS 系统需求 51) 易用性和友好性 62) 数据集成与共享 63) 耦合度 63 总体规划 .73.1
2、. 系统架构设计方案 71) 三层 B/S 架构 72) 基于 WebServices 的统一数据交换技术 83) 面向 MVC 的实现路线 .84) 系统扩展性 .93.2. 软件整体设计方案 103.3. 系统安全性 .103.4. 其他设计原则 .114 系统功能规格 124.1. 数据定向分发 .124.2. 数据标准化转换 154.3. 追溯查询 164.3.1 近期数据查询 .174.3.2 历史数据查询 .184.4. 跨系统查询 .2054.4.1 查询 204.4.2 配置 214.5. 系统管理 234.5.1 接口管理 234.5.2 规则集管理 .344.5.3 基本属
3、性设置 .384.5.4 系统代码设置 .394.5.5 日志管理 434.5.6 字典管理 4561概述OMS 管理系统的建设,是为了加强公司各系统平台之间的信息共享,减少各系统平台之间的数据不一致,提高各系统平台的信息利用效率等目标。通过该系统可以提高用户的工作效率,减少数据的重复输入,降低成本以及减少人为错误。在今年刚刚闭幕的中国共产党十八届三中全会上,中国政府提出提高社会和企业信息化水平,加强信息化的运用,加大信息化的整合,加快信息化的发展,大力加强信息化建设,统筹推进“四化”进程。建设 OMS 管理系统,能进一步提高和强化企业的信息化管理水平,提高各个子系统平台的信息共享,提高工作效
4、率及减少人为错误。72需求分析系统整体架构2.2. OMS 系统需求根据前期需求调研,结合各个系统业务实际,OMS 管理系统包含数据定向分发、数据标准化转换、追溯查询、跨系统查询和系统管理模块。系统功能如下图所示:8O M S 管理系统追溯查询业务系统 - 物流系统物流系统 - 业务系统数据类型转换数据长度转换历史数据查询W E B 报表接口日志查询标准化规则管理接口服务管理数据代码管理字典转换管理数据标准化转换数据定向分发 系统管理异常处理验收查询出库复核查询物流码查询 跨系统查询接口日志管理系统日志管理主动推送定时轮询1) 易用性和友好性系统具备可视化的工作界面,功能设计合理实用,易于操作
5、使用,各类用户无须专业培训,即可快速掌握软件基本操作。软件提供联机帮助说明,用户可个性化设置(如快捷方式、界面布局等)和深度应用。2) 数据集成与共享系统采用 SOA 架构,可以高效、方便的为其他应用系统提供服务,同时也调用其他应用系统,使得数据在各个零散的系统中共享。3) 耦合度OMS 系统和各应用系统之间既独立又相互联系, OMS 系统本身是一个独立的接口服务平台,系统上线后通过各种配置将其他应用系统关联起来。93总体规划3.1. 系统架构设计方案1) 三层 B/S 架构系统采用三层 B/S(浏览器/服务器模式)架构,基于 Web 互联网技术,主要事务逻辑在服务器端实现,能有效地保护数据平
6、台和管理访问权限,服务器数据库也很安全。用户不必另外安装客户端软件,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。同时 B/S 架构已经逐渐成为目前信息化建设的默认标准,采用浏览器/服务器的体系机构将能够大幅度降低系统的使用和维护成本,更符合大多数用户的使用习惯。采用三层体系结构的优点:1、开发人员可以只关注整个结构中的其中某一层;2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;4、有利于标准化;5、利于各层逻辑的复用。102) 基于 WebServices 的统一数据交换技术采用面向管理、服务的方式来建设本系统,在数据交换服
7、务、应用服务、资源汇集、重组、注册和发布服务是采用 WebServices 部署在网络上的对象(或组件)集合技术。它采用对象组件技术、使用标准的 Internet 协议、将功能展示在互联网和企业网内部。它的基石是以 XML 为主的、开放的 Web 规范技术,因此具有比任何现有的对象技术更好的开放性。W e b 服务注册中心W e b 服务W e b 应用前端业务组件后端W D S L支持组件数据库U D D I 注册表Web服务客户S O A P绑定发现发布外部 W e b 服务S O A POMS 管理系统设计和建设是基于 SOA 的整体构架思想,采用 XML 的数据交换技术和基于WebSe
8、rvices 服务进行业务系统整合和集成支持。以 XML 数据交互引擎,实现异构系统间 XML数据的传输、迁移等服务,完成数据抽取、加载、发布和订阅模板以及数据格式的转换。以WebServices 技术进行业务集无缝集成和互操作的可信整合。通过标准化接口、标准化服务描述、发布、发现等,解决了全局业务调用、集成,整合、个性服务等问题。实现基于应用的业务协作,为应用系统集成提供全新的应用集成手段,使得所有的业务应用系统,可以通过 WebServices 技术进行相互调用,并通过流程重组以及流程整合提供多种新型的、跨业务系统的应用,真正能够实现业务流互联互通、各类应用业务集成与发展。3) 面向 MV
9、C 的实现路线模型-视图- 控制器(Model-View-Controller,MVC)体系结构模式将一个交互式应用程序分为三个组件。模型包含应用问题的核心数据、逻辑关系和计算功能,它封装了所需的数据,提供完成问题处理的操作过程,还为视图获取显示数据提供访问其数据的操作;视图向用户显示信息;控制器以事件触发方式处理用户输入,并为每个输入事件提供了相应的操作服务。视图和控制器共同构11成了用户接口。MVC 模式是. NET 应用程序开发中被广泛使用的一种体系结构,它将传统的输入、处理和输出模型转化为图形显示的用户交互模型。.NET 平台上,模型层负责表达和访问商业数据,执行商业逻辑和操作,同时控
10、制层也可以访问其功能函数以完成相关的任务。视图层负责显示模型层的内容,它从该层取得数据并指定这些数据如何被显示出来,它也会将用户的输入传送给控制器。控制层负责定义应用程序的行为,它可以分派用户的请求并选择恰当的视图用于显示,也可以解释用户的输入并将它们映射为模型层可执行的操作。4) 系统扩展性系统在设计时,充分考虑到系统的通用性、扩展性。在选择技术实现时做到可配性强、配置灵活,以适应不同情况下用户的需求,使系统能够运行在多种不同的平台之上。充分考虑应用以及今后业务的可能扩展,随着数据量的增加和运行节点的扩展,系统能够随着硬件和系统软件的升级或增加,具有良好的可扩展性。应用软件应具有良好的开放性
11、,遵循业界相关标准,支持开放的标准接口,使整个系统成为一个统一的整体。应用支撑平台模块间相对独立,接口清晰,内部的业务流程升级和改造与其它模块无关,所有模块基于组件 Web Services 开发,可插拔。123.2. 软件整体设计方案OMS 管理系统采用基于 SOA 的分布式服务架构方案,通过该方案可以使 OMS 满足未来企业高速发展需要的高性能、高可靠性、高可扩展性的需要。依据这套方案,我们将系统进行如下的划分(详细部署图见图): Web 服务集群 基于 SOA 的服务组件,用于提供 OMS 的所有业务处理。 Web 应用程序集群 供用户管理和查询的用户友好的可视化界面。 数据库读写分离
12、利用 Oracle 数据库的主从数据库热备功能,实现读写数据库的数据同步。应用服务器在写数据时访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库。 分布式缓存(Memcached) 加快数据访问速度,减轻后端应用和数据存储的负载压力。 负载均衡服务器 利用开源的业界广泛使用的 Nginx 服务器实现负载均衡,以提升 OMS 的性能和可靠性。133.3. 系统安全性系统支持 SSL 加密通讯协议,使用 SSL 可以对通讯内容进行高强度的加密,以防止数据在网络传输时被窃取。3.4. 其他设计原则实用性和可行性:主要技术和产品具有成熟、稳定、实用的特点,实用性放在首位,既便于用户使用,又
13、便于系统管理。先进性和成熟性:系统设计采用超前思维,先进技术和系统工程方法,同时兼顾思维的合理性,技术的可行性,方法的正确性。不但能反映当今的先进技术和理念,而且具有发展潜力,能保证未来若干年内占主导地位。开放性与标准化原则:OMS 接收和发送的数据都是基于 标准的 XML 数据,J2EE、.NET 等其他平台都是可以很方便的与 OMS 进行对接。可扩充性及易升级性:适应应用不断拓展的需要,应用平台的软硬件环境有良好的平滑可扩充性。安全性和保密性:充分考虑信息资源的共享,注意信息资源的保护和隔离,分别针对不同的应用和不同的网络通信环境,采取不同的措施,包括系统安全机制、数据存取的权限控制等。系
14、统架构中各层应采用成熟的、符合技术标准服务器、中间件、数据库产品。系统应保证 Window XP Professional 客户端的正常使用,浏览器建议采用 IE7.0 以上版本,并在 TT、Firefox 等主流浏览器上测试通过。144系统功能规格本章将详细描述各个模块的需求功能规格,会给出具体的页面布局及页面所展示的信息内容,即 Web 应用开发中称为低保真页面的页面蓝图,更为精细的大小、位置由 UI 设计师在实际 Web 开发时给定。对于后台数据处理模块给出详细的处理流程图。4.1. 数据定向分发数据定向分发分为主动推送、定时轮询和客户上传数据资料三种方式。各方式的系统活动图如下所示:1
15、5act 上上上上上上上上上、上上OMS上上 上上上上上上上上上上上上上上上上上上上上上上上、上上上上上上上上上上上上上上DB上上上上上上上上上上上上上上、OMS上上上上 LMIS上上上上上上上上上上、上上上上上上上上上上上、1、LMIS、Web、2、主动推送16act 上上上上上上上上上上上上 OMS上上上上上上上上上上 LMIS上上、上上上上、上上上上上上上上上上上上上上上、上上上上上上上上上上上上上上上、 上上上上上上上上上上上上上上上上DB上上上上上上上上 上上上上上上上上、上上上上上上上上上上、上上上上、1、RTX2、3、1、LMIS、Web、2、定时轮询17act 上上上上上上上上
16、上上上上上上 OMS上上上上 LMIS上上、上上上上上上 上上上上上上、上上上上上上、上上上上上上上上上上上上上上上上上上上、上上上上上上上上上上DB上上上上上上上上上上上上上上上上上上上上上上、上上上上上上上上、1、LMIS、Web、2、客户上传数据资料4.2. 数据标准化转换通过预先定义好的数据标准化转换规则进行数据转换,包括业务系统-物流系统、物流系统-业务系统双向转换。其中还需要考虑异构数据库之间的数据类型、字段转义、字段位长等格式要求,对于没有定义转换规则的业务类型、转换 异常的数据系统自动向数据发送方进行异常反馈,具体流程如18下:接收到数据( X M L 、 数据库格式 、e x
17、 c e l )根据数据接口类型读取指定的转换规则其他转换规则普通规则转换 日期规则转换 数据字典转换 自定义规则基本规则是否满足否打包封装数据( X M L 格式 )是开始结束1 、 X M L 格式 : 直接通过 w e b 服务发送的数据2 、 数据库格式 : 定时轮训时从数据库查询到的数据3 、 通过文件方式上传 : x m l 格式或 e x c e l 格式是否满足是异常处理否4.3. 追溯查询为保障系统安全稳定运行,数据交换有据可查,提供接口服务流水记录查询功能。可以查询业务名称、发送数据的时间、发送方的 IP、发送方的基本信息、发 送的数据内容、转换后的数据内容、接收方的基本信
18、息、本次处19理的状态等数据。下图是追溯查询主界面:追溯查询分为近期数据查询和历史数据查询。近期数据查询查询近期业务日志(查询即时数据表),默认查询当天数据,用户可自行查询近三天,近一周,近一月的数据(快捷查询天数,需要和日志保留时间匹配,只显示保留时间内的快捷查询)。同时用户可自行设置其他的查询条件,如可根据用户,状态,数据接收方,数据发送发,操作时间段等信息进行查询过滤。如果查询时间跨年了,需要单独处理。点击查看,弹出页面(不覆盖原有页面),可查询对比转换前的数据和转20换后的数据,如果不一样,则需要区分开(如:标红),同时,需要将部分基础信息带入到查看页面,如:操作用户,操作时间,数据发
19、送发,数据接收方。如下图:4.3.2 历史数据查询查询历史业务日志(查询历史数据表),默认查询历史数据表中最新一天的数据,用户可自行设置其他的查询条件,如可根据用户,状态,数据接收方,数据发 送发,操作时间段等信息进行查询过滤。数据段的查询不允许跨年。只能查询 同一年的数据。如下图,主界面:21点击查看,弹出页面(不覆盖原有页面),可查询对比转换前的数据和转换后的数据,如果不一样,则需要区分开(如:标红),同时,需要将部分基础信息带入到查看页面,如:操作用户,操作时间,数据发送发,数据接收方。(同近期数据查询中功能一致),如下图:22追溯查询是针对业务日志进行的查询,业务日志在数据库中分成两张
20、表记录数据,一张即时数据表(业务日志保留时间内,保留时间可配置),和一张历史数据表。两张数据表结构完全相同,历史表中采用分表方式,一年一张历史表,每张历史表有十二个分表,分别记录十二个月份的日志记录。后台服务,按照系统设置的日志保留时间,从即时数据表中拿取保留时间外的数据添加到历史数据表中。4.4. 跨系统查询查询跨系统查询不涉及到界面,所以只给出基本处理流程,如下图:23跨系统查询流程图数据提供方O M S数据查询方登录系统打开验收记录查询页面向 O M S 系统发送查询请求 , 需要携带系统代码U R L : h t t p : / / w w w . o m s . c o m/ s e
21、 r v i c e / i f 1 接收请求1 、 识别请求类型2 、 识别系统代码验证合法性不合法显示错误提示页面根据请求类型和系统代码从配置表获取数据提供方的访问 U R L合法通过 U R L 获取 W E B 页面信息U R L :h t t p : / / e r p . c o m / s e r v i c e/ i f 1 查询服务获取查询返回的H T M L 数据浏览器接收并显示数据( 当前可能是第一页的数据 )点击第二页或按照其他条件筛选按钮直接连接到数据提供方显示第二页或按照其他条件筛选的结果页面4.4.2 配置配置每个系统对外提供的查询服务,以及可以被那些系统可以调用
22、,下图是配置管理界面:24区域 1 位置是常规的查询区域。区域 2 位置是查询结果区域,可以对数据进行新增、复制、修改、删除、恢复、导出、查看操作。点击 图标进行复制操作;点击 图标进行修改操作;点击 图标进行删除操作;点击 图标进行恢复操作。点击增加按钮进入新增配置页面,如下图所示:25服务名称必须填写,标识该服务的唯一名称。服务提供方必须选择,下拉框的数据从系统配置表获取。服务访问地址必须填写,为服务提供方的服务访问地址,如:https:/ IPHONE 面板式的选择方式,取值范围为GET/POST。请求参数非必填,一般用于传输权限验证信息,如数据提供方不需要验证则可不填写,可以增加多个参
23、数。数据访问方必须选择,标识该服务可以被那些系统访问,数据从系统配置表中获取,不能选择服务提供方本身。数据保存后系统后台需要自动生成一个 OMS 统一的访问地址,如:http:/ excle 文档(格式在详细设计时制定),便于共享给各个系统。4.5. 系统管理接口管理1) 模板管理为了提高系统的可用性,减少配置的复杂度,将公共的模块抽象出来,建立成单独的小模块,方便多系统间关联配置。模板维护功能包括对模板的查询、修改、删除等操作,还提供便捷的复制功能,便于快速添加相似的模板。如上图所示为模板维护主界面,区域 1 位置为查询条件,提供基本的查询条件,并提供灵活的高级查询功能。查询条件中的状态值分
24、为正常、已删除、未测试 ,未 测试表示 该模板未经过数据规则转换测试,在接口配置将不27能选择未测试通过的模板信息。区域 2 位置为查询结果区域,对于查询结果可以进行常规的操作,比如点击模板名称可以进入模板详情查看页面;点击 图标可以完成快速复制模板的功能;点击 图标 可以进入编辑模板的页面;点击 图标可以删除该模板;点击 图标可以进 行恢复操作。点击添加模板按钮进入到添加页面,如下图所示:添加模板共分为五个操作步骤(基本信息配置、交换字段配置、规则配置、保存配置、测试配置)。第一步,基本信息配置,包括定义模板名称、选择传输方向、时效性、备注信息。模板名称,定义一个本系统中唯一的名称,便于记忆
25、。传输方向需要动态生成,通过读取数据字典中系统类型的数据来生成。比如系统类型有 ERP、LMIS,则生成 ERP-LMIS、LMIS-ERP,以此类推。时效性通过数据字典读取。第二步,配置数据交换的详细字段定义,如下图:28序号为本次交互字段的顺序编号,自动增长,从 1 开始,理论上无最大值限制。数据发送方信息包含字段名称、类型、长度、数据接收方唯一编码,用于标识本接口发送的数据中每个字段的详细定义,比如商品资料下传接口需要交换 37 个字段,则需要对这 37 个字段分别进行定义。其中类型抽象成整数、浮点数、字符串、日期、大数据类型。数据接收方唯一编码为单选模式,必须选择,该字段用于传递数据接
26、收方的唯一编码,系统通过解析该编码将数据发送到对应的数据接收方。当字段被选中为唯一编码后,对应的数据接收方信息不填。数据接收方信息和数据发送方一一对应,在此不做赘述。字段描述为该交换字段的中文描述、说明信息。操作栏的 图标表示增加一个交换字段、 图标表示删除一个交换字段,至少保留一个交换字段;进行增加和删除操作时,需要保证序号的连续。第三步,规则配置, 对于各个系统间数据存在数据差异的字段指定转换规则,具体界面如下图:29系统自动将可能需要进行规则转换的字段突出显示(黄色背景标识),以提示使用者注意。其他没有提示的数据字段也可以设定转换规则,通过操作栏的 图标设置。转换规则大致可以分为四类,普
27、通规则、日期规则、数据字典规则、自定义规则,详情如下: 普通规则转换:主要涉及数值类型、字符类型的异构数据库之间的转换。转换规则见“系统功能 数据类型转换规则” 。 日期规则转换:由于日期类型种类繁多,如有的系统采用毫秒数存储,有的系统采用标准的时分秒格式存储,所以需要转换。 字典类数据转换:字典类数据在业务系统中的定义与物流系统中的定义之间的转换,例如:药品大类在业务系统的字段中定义为汉字:一类精神品、二类精神品等,但在物流系统的字段中定义为数值:1 表示一类精神品、 2表示为二类精神品。转换规则见“ 系 统功能字典数据转换规则”。 自定义规则:针对复杂的规则,支持自定义 C#函数的形式。若“数据发送方数据列” 和“数据接收方数据列”之间无需进行转换, 则不30需要进行设置;当需要进行设置时,点击操作栏的 图标进入设置界面,如下图所示:规则下拉框的数据从规则表中读取,必须选择,第一个下拉框表示规则类型,第二个下拉框表示转换规则。选择后系统需要进行校验所选的规则是否能够满足转换要求,对于不满足的要给予提示;依次对需要进行规则转换的字段进行设置后,点击下一步进入最后一步完成配置,如下图所示: