一. 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的多层体系结构框架,在多层架构设计方面积累了丰富的经验:

业务实体设计:ORM(Object-Relational Mapping)即关系型数据库和业务实体对象之间作一个映射是目前架构上必须的技术之一,是整个架构数据访问层的基础。罗智在EBS架构上参照目前开源典型的ORM实现并结合公司内的使用习惯,提炼出了完整的统一的ORM实现,成为Web组的公共资源。

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结构的数据,使WebUIXslt使用  
Com+事务的应用 数据操作的回滚,  
异步实现-消息队列 对于站点比较耗时且用户不是很关心的操作采用异步方式  
缓存,负载平衡 提供网站运行性能、响应的速度  
Http处理解析 完全自主实现Http解析管道,自定义HttpRuntime设计HttpModule设计HttpReceiver设计HttpSender设计HtmlSender设计FormViewState设计  

...

   

..

   

.

   

 


posted on 2007-07-17 16:10  望天  阅读(1102)  评论(1编辑  收藏  举报