收藏 分销(赏)

基于中间件技术平台构建企业化电子商务系统.pdf

上传人:曲**** 文档编号:3139339 上传时间:2024-06-19 格式:PDF 页数:55 大小:4.36MB
下载 相关 举报
基于中间件技术平台构建企业化电子商务系统.pdf_第1页
第1页 / 共55页
基于中间件技术平台构建企业化电子商务系统.pdf_第2页
第2页 / 共55页
基于中间件技术平台构建企业化电子商务系统.pdf_第3页
第3页 / 共55页
基于中间件技术平台构建企业化电子商务系统.pdf_第4页
第4页 / 共55页
基于中间件技术平台构建企业化电子商务系统.pdf_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、基于中间件技术平台构建企业化电子商务系统演讲人:黄浩I吸电子商务系统的技术特点:应用场景层面数据实时性的高敏感价格、信息同步的一致性等受制于企业级系统的约束如支付,受事务性影响-海量非事务性访问+定规模事务性访问事务性访问如:订单结算、支付等非事务性访问具有互联网应用特点,如查询、展现等 信息访问具有互联网系统特点、信息处理具有企业系统特 点I吸电子商务系统的技术特点技术架构层面 关注数据的糅合(Mashup)-关系数据库性能数据的水平及垂直分割与NoSQL结合-不固定的架构设计思路可能偏互联网方向,也可能偏企业系统方向分布式部署事务缓存机制事务迁移、事务恢复、事务批量处理较为严格的安全机制部

2、分功能使用HTTPS及数字证书:核心构成电子商务网站会员中心子系统客户服务子系统管理及监控子系统;蠶鬻|应用按口I支付系统:应用接口搜索 子系统电子商务网站会员中心子系统供应商管理子系统数据挖掘 及分析 子系统:应用接口-支付系统接口物流系统接口电子商务客户服务子系统电子商务管理及监控子系统c:辅助子系统供应商管理子系统搜索子系统-数据挖掘机分析子系统以互联网型电子商务基于长尾理论的消费模式需要面对至少 百万级个体用户以及每年数以百万的订单 数据。具有明显的互联网应用特点,并大 量使用互联网技术。在线协作平台不有互联网公司运作经营,不需要考虑供应链系统集成。很多时候 提供在线的集成平台。关注用

3、户体验不应用技术带有非常明显 的互联网特色,更加关注用户体验,包括 页面展示、交互方式、访问速度、定向推 荐等。企业信息化的一部分企业有自己其他的 信息系统(如ERP),电子商务系统需要考 虑与其他系统间实现数据的同步,确保信 息的一致性。供应链集成更多面向企业的销售、采购、分销等。需要实现与企业上下游各个环 节的数据通信和信息同步。如将电子商务 订单转换为生产计划、采购计划等。业务流程的价值为电子商务的交易带来 更多的且更为灵活的处理方式,如合同、招投标、订金、发票等过程。企业在实施电子商务面临的问题缺乏面向互联网的成熟技术团队绝大多数优秀的互联网技术人员都集中 少数几家公司。寻找个优秀的互

4、联网技术人才远远难 过于寻找个优秀的企业系统技术人员。缺乏成熟及可复用的技术方案电子商务大多使用开源技术,并且缺 乏个相对成熟稳定的技术方案。各个电子商务企业使用的技术架构差 异非常大,完全靠团队自行摸索缺乏对整体视角的认识每个人都可以看到浮在水面的 电子商务网站,但是很难知道 电子商务网站背后的系统架构 和系统构成。无法解决与企业系统间协同交互大多电子商务企业不得不将电子商务与传 统的商务信息从业务上进行完全隔离。通过接口开发的方式,将系统的接个 个打通。I吸传统电子商务技术运用特点:界面展示 LAMP方案-模板技术 动态内容静态化将内容生成静态HTML页面基于互联网的Web优化,如Ya h

5、o的Web优化建议:系统间集成-大多使用REST风格纯HTTP交互 传递Json格式字符串 采用Base64码传递二进制数据进行交互 特殊报文(Protocol Buffer)-简单地基于Web的集成与支付系统(包括银行、第三方支付系统)传统电子商务技术实现方式持久化存储结合关系型数据库,并利用NoSQL优化 MySQL集群+NoSQL缓存对持久化数据进行垂直或横向切分-非结构化的信息存储比如订单、挂单,有时直接以网页文件的方式存储 使用最简单的事务甚至不使用事务 基本放弃RM,比如使用iBatis-基本放弃基于数据库的内容检索使用基于索引文件的内容搜索-比如使用hibernate-lucen

6、e对实体生成索引文件-比如定时对数据库内容进行基于Lucene的索引生成传统技术方案的主要问题缺乏独立的软件及技术方案提供几乎所有的方案都来自于电子商务企业内部团队技术方案缺乏共性,差异比较大不同的电子商务公司使用的技术方案差异性很大:几乎都偏向互联网应用层面-大多重点关注电子商务网站及用户体验更加关注web层面,忽视了基础架构层面几乎与企业系统隔离在架构、技术以及业务各个层面缺乏与企业系统的互通 为何要选择中间件技术构建企业电子商务系统能做什么从系统架构的角度看待电子商 务系统的建设,而非传统的人 机交互层面。给技术人员个 全新的思考。中间件技术在处理系统集成层 面有先天的优势,而企业系统

7、与电子商务系统的无缝整合是 企业化电子商务系统最为关键 的环。无法做什么中间件技术无法构建电子商务 网站,尤其是人机交互的用户 体验,页面展现等,需要大量 结合运用互联网技术。在电子商务的业务领域,比如 依赖分析、行为意向分析、定 向推荐等,需要技术人员设计 实现。基于中间件技术构建电子商务系统:另外一个视角在企业电子商务系统建设思路上考虑个新的方式结合传统企业应用技术和互联网应用技术设计实现电子商务系统关注与企业系统之间的协同与交互利用中间件产品实现与企业系统之间的数据、应用及流程的集成,避免电子商务成为企业整个信息化中分割的一部分。比如与企业订单系统、进销存系统、物流系统的对接在架构及技术

8、实现层面提供可复用的解决方案利用较为成熟的中间件技术产品,解决电子商务系统中的某些问题实现基础架构的快速搭建系监管统控理具基于 Portlet 门户技术内容管理Web开发框架IDE表现伝/用户交互层丿服治务理具监控与治理业务流程BPM/BPEL_Web服务数据建模 数据拾掘商业智能业务建模DM&BI业务架构层 数据ETL企业服务总线ESB主数据管理单点登录MDMSSO应用架构层软件架构层堆栈应用服务器云计算平台 分布式计算 缓存/内存数据库基础技术架构层X操作系统/硬件服务器层/硬储存设备层网络层%基于中间件的企业电子商务系统架构用户交互服务平台面向组件的Web技术动态内容静态化模板技术移动客

9、户端网站模板及框架!1 Web开发框架Web服务11 REST服务|服务平台HTTP代理/负载均衡器+URL页面缓存(AHS/Ngix+Squid)业务架构层 应用架构层电子商务网站业务系统数据持久化组件)配置管理组件 应用开发框架性能分析 电子商务基础支撑平台I日志组件规则引擎)流程引擎(BPMN/BPEL),意向分析 关系网络统计报告与报表电子商务挖掘及分析子系统数据挖掘 商务智能系统 健康 与监控 管理.分布式调用框架 Web服务支持作业调度 企业服务总线ESB数据集成中间件ETL/EAI基础架构层为 MQ实现业务操作负载均衡MQ实现业务操作负载均衡:.简单案例乙MQ实现业务操作负载均衡

10、:技术运用通过多个Consumer机制,实现消息的负载处理 其原理类似于生产消费线程(并不是所有MQ都支持)可以有效应对瞬间大批量订单,降低DoS攻击的影响。通过负载均衡,可以确保重点客户的订单处理-设计多个处理队列,将重点客户的订单发送至特定的队列,从而确保处理的高 效和优先级。-实现服务质量等级差-基于队列的消息处理可以采用单队列多消费者模式,也可以采用多队列多消费者模式-避免单个队列有过多的消费者,否则消息分发本身将耗费太多资源可以根据订单类型、地域来设置消费者和消息队列通过消息的优先级设置优化处理-通过MQ的优先级机制,以及Consumer顺序实现部分订单优先处理乙MQ实现业务操作负载

11、均衡:相关建议避免业务操作所产生消息的先后约束性具有先后顺序约束关系的操作可以利用有序消息-不是所有MQ都支持,并且会弱化MQ的负载均衡作用:业务场景-使用MQ,将实时存储和处理订单改为异步处理应用前提是订单的存储和处理能力远小于HTTP请求。秒杀、竞价、限时抢购等系列瞬时大量业务操作避免瞬时过大的并发访问导致网站崩溃。:技术运用同负载均衡相反,主要是通过MQ消除并发冲突为处理队列只设置个消费者相当于分布式系统环境下的单实例模式只设置个队列、个消费者iimiMQ串行化并发操作:相关建议仅当处理操作不支持并发操作时考虑考虑增加消息过滤及消息合并,避免重复操作消息:业务场景更新基于Lucene的索

12、引文件 Lucene更新文件索引需要对文件生成写锁一将索引同步生成改为发送消息给MQ,然后统一先后处理索引生成,避免出现 同步锁而索引更新失败的情况。动态更新配置文件信息时更新配置文件产生的写锁冲突生成动态词库时产生的写锁冲突匕MQ实现延迟并缓冲的操作:技术原理-利用MQ的消息存储空间实现操作及访问的缓冲 一般来说,MQ的消息存储空间可以达到100,000+*一般来说,MQ的吞吐量可以达到10,000+消息/秒 *:网络带宽和消息本身大小及消息持久化与否会决定具体量值匕MQ实现延迟并缓冲的操作:技术运用 实现跨系统应用间的分布式缓冲结构 平衡各个应用子系统的负载压 化波峰为波谷,平衡不同时间段

13、的负载压 合理设置MQ的相关配置-牺牲可靠性,提高吞吐能力(1,000,000+条消息/秒)-结合中央式缓存,提高缓冲空间-不立即处理提交的请求,通过MQ缓冲当消息积累到定数量或者延时,进行消费消费者采用主动消费和基于监听器(MessageListener)的方式相结合消费者消费时取出所有消息,对消息进行合并处理一将重复的消息进行过滤-在业务层面进行定制,对无效的操作(比如执行、取消)进行丢弃匕MQ实现延迟并缓冲的操作:应用场景用户修改信息导致需要频繁地通知或发布事件会员修改门店,重新反复生成门店静态网页内容-当然可以使用延迟动态装载+缓存的方式避免这个问题应用场景操作上下文创建的代销占操作较

14、大比重时频繁地写1,写入数据库,初始化、关闭资源的代销较大-通过Buffer实现批量的写入主要是跨应用节点的行为,比如发邮件、发短信、协同处理等-需要延迟进行的操作当在管理控制平台修改相关规则后,需要延迟定时更新一将规则修改后数据同步消息放在Buffer队列中,通过定时消费者进行处理跨系统事件通知机制事件及时并发处理能力远小于事件分发能力与事件数量时数据ET L-跨系统间的数据同步:系统间数据同步集成中间件服务器ERP系统集成中间件前置机Z数据ETL-跨系统间的数据同步数据ET L-跨系统间的数据同步:技术运用利用数据库的改动实现数据间的增量变更Delta Change利用数据库自带的闪回机制

15、racle的flashback,SQL Server的snapshot机制设计中间存储表-针对不支持闪回的数据库,进行定期的更新将数据库变动转为DML脚本-通过前置机的API方式,传递系统数据如通过Spring的事件机制或RM插件,将数据变动通过AP碉用传 入前置机,再转换成统一格式。-数据格式与数据通信协议跨网络间通信可以考虑使用MQ数据格式可以考虑SD,或其他文本格式(如JSON、XML)、二 进制数据格式(如Protobuf)数据ET L-跨系统间的数据同步:相关建议-不应使用基于触发器的方式 尽量不要对业务操作数据进行同步,会带来严重性能影响 大规模数据同步,考虑使用数据库工具 Mic

16、rosoft DTS/Oracle Stream 复制/MySQL Replication:业务应用场景-实现库存数据的实时同步当传统渠道销售商品后,通过ETL更新电子商务挂单数量避免电子商务系统与其他系统之间出现的数据不一致情况-实现商品目录等基础数据的同步确保电子商务系统中的编码、名称能与企业系统一致可以考虑使用MDM实现,但实质上,ETL是MDM的重要组成部分服务总线实现分布式应用集成:技术原理接入适配/数据、协议转换/事件通知/服务管理同步/异步:Web Service/J MS服务总线实现分布式应用集成:技术运用通过ESB提供的服务接入屏蔽各个系统间的分布式差异应用程序通过ESB获取

17、其他应用功能的信息并调用通过ESB提供的服务封装屏蔽系统间的技术架构差异 ESB服务封装方式因产品而异 基于SCA的服务封装和基于SD的数据封装 基于RMI(Java对象序列化)的数据访问-基于WebService的服务的封装 基于MQ消息的封装定制化实现与其他开源分布式协议的兼容-比如:Hessian.Protobuf分布式通信的对象序列化及接口封装支持相比起传统基于RMI分布式调用,可以实现多种调用方式-同步调用、异步单向调用、异步双向调用等-能够更为有效地接入企业不同的应用系统服务总线实现分布式应用集成:相关建议-在ESB基础上定制实现分布式调用框架屏蔽对ESB本身的调用,避免业务逻辑与

18、ESB间的耦合屏蔽中间信息(服务、数据)格式,生成POJ对象和基本API接口-定制开发应用开发框架扩展Spring,在传统开发框架上支持分布式调用框架避免系统内应用服务调用通过ESB中转,对性能有严重影响:业务应用场景-跨应用系统流程接入比如:电子商务下单预留库存生成财务应收账单-实现B2B银行支付新的支付模式,如预付冻结、支付解冻等操作服务总线实现电子商务服务平台:技术运用利用SOA架构思想,将整个电子商务系统服务体系化对系统内部,梳理子系统、模块间的关系,解耦应用对系统外部,定义服务接口,实现服务的接入和输出-服务接口的规范与协议采用自描述的服务描述-使用标准化Web服务,通过XML Sc

19、hema来描述服务数据标准在现有Poj。的基础上,增加其他方式的适配-Hessian,Json,以及REST风格XML结合MQ,实现异步服务处理机制,提高服务能力-通过ESB管理并监控服务 服务的注册、获取、版本管理等 了解服务的质量、服务的响应时间、出错率等等 实现服务的流量控制I吸服务总线实现电子商务服务平台:相关建议关注内部分布式通信与外部服务接入异同 合理考虑使用分布式通信协议 包括WebService,Hessian 服务元数据的自解释 多客户端支持-Web客户端语言-企业应用语言性能-基于HTTP的文本型服务输出应考虑支持Gzip压缩上下文安全性-WS-Security-Token

20、技术:比如淘宝平台使用的Session Key(255位)?定制开发服务监控及治理平台服务总线实现电子商务服务平台:业务应用场景内部子系统SOA架构的梳理将部分业务功能服务化,比如结算支付、基础框架功能、合同处理 等-实现非Web化的系统访问支持非Web化的电子商务订单-方便会员企业系统的对接,提供EDI/EbXML多种订单处理方式移动客户端的接入-确保系统的处理逻辑与web操作间实现松耦合。-构建服务平台将电子商务系统的服务发布给客户或第三方,实现平台的增值-实现业务逻辑层面的重用,支持移动客户端访问对重要的接口和环节进行定义,实现第三方服务接入-可以对接入、输出的服务响应时间、服务质量进行

21、监控和统计分析iimi业务流程一定制灵活的交易流程:技术运用通过工作流机制,将业务逻辑节点解耦将电子商务的交易过程分解成多个步骤,从而灵活交易模式将业务模块进行水平解耦,将系统分解成多个子系统,并通过工作 流机制实现子系统间的相互业务衔接-利用流程定义工具来定制交易流程基于WFMC的工作流,适合单个系统内部流程 BPEL/BPMN,适合跨系统间组织的业务流程:相关建议对于只涉及单个系统内部的流程最好不使用BPEL/BPMN对于简单或者几乎标准化的交易过程,可以考虑固化封装 流程iimi业务流程一定制灵活的交易流程:业务应用场景针对企业电子商务(B2B)的交易流程交易流程会在普通消费型电子交易流

22、程上增加不同的环节和节点-合同处理:增加合同创建、变更、签章、法律认证等环节-支付方式:增加预付定金、分期付款、收验发票等环节-企业管控:增加订单审核、财务审批等多个操作环节。-在传统交易方式上变更的多种交易模式竞价购买、竞拍购买-需要灵活定制的结算和订单处理规则促销及优惠规则:包括折扣、返券、优惠等多种形式下单规则:团购、秒杀、同行提货等%分布式缓存构建中央数据缓存I吸分布式缓存构建中央数据缓存:技术运用将各个节点的缓存独立出来,使用专用缓存构建中心星状 的分布式缓存应用避免整个网络拓扑中节点间相互通信造成的网络堵塞当web应用节点增多,服务器间通信将大大占据网络带宽实现应用节点的柔性横向扩

23、展缓存节点本身可以进行负载均衡-合理设置缓存服务器之间通信 Web缓存与应用缓存间的数据同步缓存的失效机制及刷新处理分布式缓存构建中央数据缓存:相关建议为避免缓存宕机引发的数据灾难,缓存需要实现热备对于关键性的缓存数据,需要考虑持久化备份尽量避免有状态信息数据的缓存有状态信息数据一般无法被及时flush掉极大规模应用时,异常情况下有状态数据的恢复容易造成灾难当web应用节点过多时,考虑进行分隔处理建立多个星状的缓存通信网络,彼此间相对独立 Web缓存与应用缓存间的同步处理-比如Session中央缓存与后期数据数据缓存间的关系处理分布式缓存构建中央数据缓存:应用场景将Http Session存储

24、在中央缓存上 避免应用节点之间的Session的复制和同步 减少每个应用节点的资源占用,并实现session的快速恢复 依赖于应用服务器的机制,有的服务器在本地依旧会保存当前节点 创建的所有Session,而有的服务器只缓存定数量的Session将Web组件的ViewState存储在中央缓存上减少web应用节点对于ViewState的存储存储的 Key 包括 ViewState 的 id 和 Jsessionld将数据持久访问层的对象查询放在中央缓存上将中央缓存作为RM的二级缓存将MQ服务端的消息临时存储在缓存上当瞬间非持久化消息量过大,存储在缓存上避免拒绝服务帮助实现MQ负载均衡节点间的数据

25、切换I吸内存数据库实现事务缓存机制:技术运用将同步性的数据库事务变为异步性的事务操作 降低事务锁冲突带来的访问瓶颈 减少并发的事务量,降低数据库的瓶颈 利用波峰波谷原理,将部分事务延迟到系统闲时提交-利用内存数据库存储事务操作的上下文利用RM的原理,存储原始对象、修改对象及执行顺序-便于提交、回滚事务-提交时包括prepare和commit两个操作-存储临时性的事务状态避免频繁地事务补偿带来的代销-事务缓存与消息延迟处理的区别前者的执行有依赖性,并直接写入持久性存储前者是一系列操作,并需要保证原子性I吸内存数据库实现事务缓存机制:相关建议内存数据库节点的崩溃会导致事务数据丢失需要平衡事务缓存与

26、事务日志事务缓存后操作成功与失败对电子商务系统的反馈机制事务缓存后写入持久性存储的操作可能会出现失败处理逻辑可以视为失败消息的延迟获取,而非事务的延迟提交事务失败续写:利用事务日志,再次写入持久性存储事务补偿机制需要考虑事务缓存的数据与数据库数据一致性问题事务缓存不能代替传统事务处理,只能作为性能优化的考虑对于一致性要求严谨的数据操作,建议不要考虑事务缓存I吸内存数据库实现事务缓存机制:业务应用场景事务缓存与异步处理逻辑的区别对于业务来说,事务提交是完成的,只是物理上没有写入持久性存 储。-不需要同步得到反馈的事务应用某些信息修改,会员资料认证、会员信息等。订单修改-临时性的事务中间状态比如限

27、时结算支付的订单比如已经提交其他系统处理等待反馈的数据(如提交支付的订单,提交审批的合同)iimiWeb开发框架基于组件的Web开发:技术运用-借助基于组件的开发框架实现组件重用包括服务端和客户端可重用Widget-服务端:JSF1.2+组件开发技术、Taperstry.Wicket-客户端:基于Jquery定制实现IDE的开发集成技术实现应用开发框架的集成-封装互联网技术支持提供円ax支持-包括局部刷新、局部提交,甚至Ajax Push机制封装动态内容静态化及模板技术-封装缓存的调用基于Yahoo的关于35个web优化实践的页面内容优化跨浏览器支持-移动客户端浏览器支持(基于WML)M云计算

28、PaaS平台应用前景探讨I IHH1 J云计算Pa a S平台应用前景探讨/-柔性的横向扩展能力简化目前的负载均衡模型,并能提供 柔性的横向扩展能力。合理并适度地利用硬件资源降低服务器之间的部署及管理成本。简化的分布式应用编程减低基于中间件的应用编程难度提供新的分布式计算模型,降低分布 式应用的编程难度整合的上层应用支持根据标准化协议,整合各类中间件 之间的通信为上层应用提供基础平台架构,中 间件产品的应用不会带来底层架构、层次的大的变动.j We have a dream.iimi云计算PaaS平台应用前景探讨 I have a dream.JEE 7 Platform云计算下编程模型-J

29、N DI将在云环境全局化或虚拟全局化,支持动态跨JVM资源注入与获取-JPA/JDBC/JMS云计算环境下的编程模型新的云环境部署规范-WAR/EJB/WS的云环境部署部署描述符的改进新的负载均衡模型-WAR中的Session处理 VMWare收购SpringSource带来的思考基于Spring的新分布式计算模型与框架-动态注入新虚拟化JVM的Bean实例-Bean实例级别的负载均衡门户技术应用前景探讨:门户技术简介服务端门户技术 Portal及Portlet:JSF168/268,JEE规范组成-主要运用于企业内部门户、内容管理网页模板技术:SHTML/Velocity/FreeMarke

30、r-主要运用于互联网服务应用(门户网站、电子商务等)-客户端门户技术基于Ajax的客户端门户技术-主要运用于互联网客户端展现,包括各类小工具:.Portal 与 Portlet 的思考优势:应用服务器原生支持,与标准服务端web技术的缺点:I吸门户技术应用前景探讨为何考虑Portal/Portlet技术标准化的模型与其他web技术的兼容-与传统JSP相关技术的兼容-与JSF的兼容:通过JSF-Portlet Bridge-完善的辅助功能日志功能-访问日志性能日志认证与授权-单点登录-基于URL的权限模型及权限管理功能快速开发支持 IDE工具门户技术应用前景探讨目前Portal/Portlet需要考虑的改善客户端渲染支持独立缓存支持独立缓存应用接口,支持负载均衡应 用下的中央式独立缓存;在生命周期 中支持缓存时效性处理Ajax应用包括:局部刷新、提交及推送 客户端基于CSS/D HTM L的结构渲染静态化支持需要在生命周期中增加对于只读性访 问的静态化优化支持。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服