设为首页 收藏本站
查看: 1890|回复: 0

[经验分享] EBS架构及实现业务特点

[复制链接]

尚未签到

发表于 2015-9-22 13:40:12 | 显示全部楼层 |阅读模式
一. EBS架构及实现业务特点
  
1.1 概述
  
  EBS框架是纯自主设计、自主实现的基于XSLT + XML + .Net平台及SQLServer的经典网站架构设计,它在网站开发具有易扩展、快速开发等优势,其架构设计中涵盖了认证授权、缓存机制、负载平衡、实体映射、异步处理、大容量日志、事务等重要技术实现。
  
  
1.2 EBS架构适合于实现的业务特点及优势
  
  其实每个架构只有建立在特定的业务实现上才能成为一个专业的企业应用解决方案,这也是开源框架与企业级应用架构的区别。前者开源框架是一些通用的解决方案主要着眼于技术实现和典型案例实现上,而企业级应用架构主要关注于自己本身业务特点的实现上,怎样以优良的设计使得架构拥有优秀的业务变化响应能力。所以,我们分析了Bitaec架构是怎样突出配合我们的业务特点的。
  针对GEA购销类型的商务平台网站,分析后具有以下典型特征:

  • 整体界面布局一定,
  • 网站用户与服务器交互频繁, 用户可能随时在向服务器提交数据和向服务器查询数据
  • 交互界面及局部功能变化频繁,由于市场业务需要会引起重要业务界面的流程、呈现、局部功能经常发生变化
  • 有各类角色对应不同的栏目的需求,及其他相关的权限管理
  • 事业部及市场特别重视网站数据正确性、安全性和能及时的响应业务变化
  重点:我们目前所作的网站如GEA都属于Web1.0“发布”类型的网站,客户重点关注于界面功能易用性、快速响应业务上;针对这点,由于Bitaec架构采用Xslt页面呈现方式,可以通过Xslt文件的修改配置快速地改进界面的显示及易用体验;即是在提升网站易用、快速响应界面变化的业务特点的最佳实践架构。
  
  
  
1.3 技术积累
  
  经过这么久的沉淀和积累,EBS框架以及我们Web项目组在诸多方面已经有了自己的技术、经验的积淀。
  
1.3.1 架构设计方面
  
  系统框架设计:EBS架构是一个B/S的多层体系结构框架,在多层架构设计方面积累了丰富的经验:


  
  各层的简单说明:
  DataService
  是数据服务层,协调与数据源的通讯,从数据源中读写数据。
  Entity
  是业务实体层,它描述了业务实体的各种属性。
  Data
  是方法调用截获层,它在运行时截获方法的调用,并根据不同类型的调用,启动相关的后台程序流程。
  
  Façade
  是对Data层方法的再包装。Data层的方法按技术路线分类,而Façade层的方法按业务规则分类。
  Xml
  是数据转换层,把Entity数据转换为Xml结构的数据,方便WebUI层Xslt使用。
  Rule
  是业务规则层,它强制实施业务规则,数据的一致性和完整性采用com+技术。
  Web UI
  用户界面层,接收用户的输入,并把结果显示给用户。
  业务实体设计:ORM([size=-1]Object-Relational Mapping)即[size=-1]关系型数据库和业务实体对象之间作一个映射是目前架构上必须的技术之一,是整个架构数据访问层的基础。罗智在EBS架构上参照目前开源典型的ORM实现并结合公司内的使用习惯,提炼出了完整的统一的ORM实现,成为Web组的公共资源。
  [size=-1]Web表示层设计:Web表示层采用MVC模式设计。自定义的HttpHandler作为控制器,接收用户的请求。一旦控制器接收请求,便开始装载页面xslt文件,xslt文件设定了数据的呈现格式,数据本身由控制器向xml组件发出查询得到。
  Xslt控件积累:已有常用控件资源积累,如BitaecLable、BitaecDropdownlist、BitaecAJAXCompany、HTMLEditer、BitaecTree等;XsltControl控件类似于ASP.NET中的控件,在框架里,专门有一个DLL(BitAEC5.Framework.XsltControls.DLL)来完成解析,也可以扩展ICreateXsltControl接口实现新的XsltControl。
    XsltControl控件的引入,减少了大量公共模板的引用,也就减少了每个Xslt文件在加载的时候需要的内存,也节省了大量写Xslt模板的时间。还可以写出一套schema结合IDE的智能感知技术提供各项属性帮助。与原来用模板转换的方式还有一个最大的不同的地方就是,用模板转换是Xslt转换引擎转换,用XsltControl方式是依赖于DOTNET的Xml类库,不再涉及到Xslt
  数据网关统一处理设计:数据网关提供统一的处理方式, 分为两种情况: 通过操作流步骤定义配置自动处理数据提交和自定义Rule层方法处理表单数据。突出点:通过第一种操作流配置的形式大大的减少了开发表单提交时的代码,也是表单处理更直观简单!
  菜单权限管理设计:网站都有各种级别的会员以及各种权限的管理员,Bitaec框架有针对目前业务的菜单、以及操作权限的详细设计
  配置文件统一设计:网站部署及更新都涉及到十到二十或更多的配置文件,架构设计了统一的配置文件访问、管理的方式
  事务设计:实际上所有用于更新数据源的面向商业的应用程序都需要事务处理支持。通过提供四个基本担保,即众所周知的首字缩写ACID:可分性,一致性,分离性,和耐久性,事务处理将用于确保包含在一个或多个数据源中的系统的完整性。
  Web日志及统计设计(异步机制):网站架构中有一重要任务,就是日志的记录和各种请求的访问统计。这些是为提供知识挖掘、支持业务决策解决方案必须的基础,是业务决策者比较关心的内容之一。

  缓存设计:架构中缓存是一个非常重要的机制和模块,针对常用页面的缓存机制、以及配置文件等固有资源的缓存办法设计。
  
1.3.2 技术点积累
  
技术点说明 
序列化的巧妙应用实体序列化->XML节点迭代器(XPathNodeIterator);配置文件直接反序列化成实体对象 
AOP技术DataLogic层的类都是继承于ContextBoundObject类,加上描述截获处理信息的Attribute就可以在每个方法调用之前,之后插入一段公共的处理方法,这样可以把大量的获取数据,提交数据的步骤放到截获处理的类里面来实现,使得后期编写DataLogic层的代码变得非常少和简单 
扩展对象,Xslt转换把Entity数据转换为Xml结构的数据,使WebUI层Xslt使用 
Com+事务的应用数据操作的回滚, 
异步实现-消息队列对于站点比较耗时且用户不是很关心的操作采用异步方式 
缓存,负载平衡提供网站运行性能、响应的速度 
Http处理解析完全自主实现Http解析管道,自定义HttpRuntime设计HttpModule设计HttpReceiver设计HttpSender设计HtmlSender设计FormViewState设计 
...

  
..

  
.

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117295-1-1.html 上篇帖子: EBS FORM(10g)开发步骤 下篇帖子: EBS打开报错FRM-92095:Oracle JInitiator版本太旧,请安装版本1.1.8.2或更高版本(转载)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表