惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
L
LINUX DO - 热门话题
月光博客
月光博客
B
Blog
博客园 - 叶小钗
美团技术团队
D
Docker
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
The Register - Security
The Register - Security
博客园_首页
The Cloudflare Blog
I
InfoQ
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
C
CERT Recently Published Vulnerability Notes
AWS News Blog
AWS News Blog
Spread Privacy
Spread Privacy
V
Visual Studio Blog
博客园 - Franky
Cloudbric
Cloudbric
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Webroot Blog
Webroot Blog
博客园 - 【当耐特】
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
N
News | PayPal Newsroom
人人都是产品经理
人人都是产品经理
H
Heimdal Security Blog
L
LangChain Blog
PCI Perspectives
PCI Perspectives
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
Schneier on Security
Schneier on Security

博客园 - 望天

Web 2.0 网站架构不可或缺的图书 值得收藏的146条民间小偏方 回龙观常用电话 AJAX页面呈现模式选择 AJAX富客户端开发 Ajax框架介绍 ASP.net 大文件上传 实现 架构师要了解那些?? witLuo介绍 网络负载平衡转发技术简介(转载) 双网卡实现负载均衡技术的实现与原理 AOP方法调用消息截获(之realproxy) Server Application Unavailable 事务处理可选方式 C# 注册COM+组件步骤 在分布式事务中登记时出错 由TObject原码对类的内存分配 TOrderedList类 TStream类
EBS架构及实现业务特点
望天 · 2007-07-17 · via 博客园 - 望天

一. 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设计  

...

   

..

   

.