应用支撑平台技术白皮书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用支撑平台技术白皮书
版本:1.9
白杨应用支撑平台技术白皮书版本控制
版本号修改时间修改内容修改人审阅者
1.0 2007-07-21
创建,从老版概述文档迁移白杨
白杨
修正文档组织结构(6.3.3 -> 6.4);
1.1 2007-08-09
纠正个别措辞
新增 web 应用扩展库说明白杨
1.2 2008-01-04
加入 bz2 算法支持白杨
1.3 2008-03-19
更新 AIO 框架;新增 SCGI 支持白杨
1.4 2009-12-02
重构文档;新增 HTTP 支持白杨
1.5 2010-04-27
新增 Web 框架性能比较表白杨
1.6 2010-06-13
新增HTTP Pipelining描述白杨
1.7 2010-07-06
白杨
1.8 2010-08-25
根据近期底层库的调整新增 LRU
Cache等组件
白杨
1.9 2010-08-27
新增典型的Web应用节点工作模型
说明
白杨应用支撑平台技术白皮书前言
白杨应用支撑平台从2002年发布第一版以来已有超过8年的历史了。在这8年多里,我一共为支撑平台编写了超过50万行C/C++代码。其中最基础也是最重要的libutilitis库基本上是完全由我亲手实现的。因为要实现libutilitis中包含的大量跨平台功能封装,除了原本就比较了解的Windows平台,我也逐渐熟悉并喜爱上了Linux、FreeBSD/NetBSD/OpenBSD、OpenSolaris等优秀的操作系统。
对于支撑平台中的其它库,我的主要做法就是以libutilitis为基础,设计一套界面/框架。然后依赖没有版权问题而且品质稳定的第三方代码来实现具体功能。例如:libcrypto中的密码编码学和数据压缩算法;libaudioio中的音频编解码器等等。
多年来,基于支撑平台的各种产品已被广泛部署于兴业银行(China CIB)、中石油(CNPC)、华安保险(Sinosafe Insurance)、淘宝网()、法兴银行(SOCIETE GENERALE)、德尔福汽车(Delphi)、美联航(United Airlines)、GE(美国通用电气)、贝塔斯曼(Bertelsmann)等各大企业的生产环境中。生产环境下的大范围部署不但为上层应用提供了可靠的、平台无关的底层环境,也进一步检验了可靠性、稳定性、可移植性、高效性等各方面指标。
白杨应用支撑平台技术白皮书目录
版本控制............................................................................................................................................................................I 前言...................................................................................................................................................................................II 目录.................................................................................................................................................................................III 1概述. (1)
2总体构架 (2)
3跨平台基础功能库-LIBUTILITIS (4)
3.1基础模块-BASE (5)
3.1.1.基础模块底层 (5)
3.1.2.基础模块界面层 (5)
3.2系统工具模块-SYSUTIL (8)
3.2.1高效IO框架 (11)
3.3通用工具模块-FACILITY (12)
3.3.1.Web扩展框架 (16)
3.3.2典型Web案例 (21)
3.3.3FastCGI?SCGI?HTTP! (27)
4跨平台密码编码学算法库-LIBCRYPTO (28)
4.1密码编码学算法模块-ALGORITHM (28)
4.1.1支持的块加密算法 (29)
4.1.2支持的流式加密算法 (30)
4.1.3支持的公钥算法 (31)
4.1.4支持的散列算法 (31)
4.1.5支持的消息验证算法 (31)
4.1.6支持的数据压缩算法 (31)
4.1.7支持的数据编解码算法 (32)
4.1.8优质随机数生成算法 (32)
4.2通用工具模块-FACILITY (32)
5跨平台音频IO库-LIBAUDIOIO (33)
6跨平台国际化GUI组件框架-LIBMLGUI (35)
6.1文件系统扩展 (37)
6.2国际化组件库 (37)
6.3快速帮助框架 (39)
6.3.1快速帮助机制 (40)
6.3.2扩展的快速帮助机制 (41)
6.4通用图形控件 (41)
7应用支撑平台的错误处理机制 (45)