51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1770|回复: 2
打印 上一主题 下一主题

[讨论] CORBA企业解决方案

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-4 11:27:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
序 言

     我们假定用户需要在一复杂的软硬件环境中编写应用程序,或是需要把一整套组件/应用程序集成到一灵活的企业级系统中。我们还假定用户强烈要求自己的应用程序能运行起来,或者自己的系统能够集成起来,但对于重新创建各个部件却不感兴趣。这样,用户就需要得到尽可能多的帮助,帮助的形式既可以是能购买到的可实现软件,也可以是能采用的技术。

     也许这种复杂性是由于用户的应用程序/企业必须运行在分布式硬件系统上而产生的,因此必须解决网络带来的边界问题。又或许用户不得不处理由于不同的组件用不同的语言编写所引起的问题;又或许这些组件需要运行在不同的操作系统上。又或许用户(作为世界上唯一的建筑师或经理)正处理一个完全同种类的环境,但应用程序/组件必须越过不同部门或公司的边界进行访问。

     如果真的出现以上情况,用户就很可能要用到对象请求代理来帮助越过这些边界—而实际上所用的代理可能就遵循着CORBA标准。使用CORBA的原因在于系统中的组件能越过这些边界进行相互通信,而用不着编写一个软件层来提供越过边界的桥梁。CORBA提出的不止是基本的通信需要,还有其他很多的内容。就像在点到点通信中,CORBA也能提供变化,如同多对多通信和存储转发一样。对象可做成安全的;对象可以存储在数据库中;数据库可以越界访问;在一单独的事务中,多个数据库可自动更新;系统可以在不同的层次上进行监控和管理;对象可以通过名字或是用户希望的属性来寻找。

     那么,本书在哪些方面可以起到作用呢?分布式系统研究大概始于1980年或更早些时候,在接近二十年的时间内,我们对它的理解不断加深。这种理解实际是集中在如接口定义、安全性、实体命名、事务、通信选择、两层或三层体系结构、数据库集成、容错性、系统管理等领域。用户如果对自己系统中重要的方面有着深刻的理解,那么就能更快更好地实现该系统。本书涉及了以上的所有领域,另外,对于CORBA环境,还给出了采取什么方法比较好的实践性建议。

     Dirk、Jason和Perry对这些领域有着深刻的了解。他们研究过调查结果,还担任过多个与这些问题相关项目的顾问。他们的贡献在论述了与现代系统相关的各个方面,并把这些方面依次和CORBA框架联系起来。CORBA在系统中很容易用来克服多种限制,本书描述了用户想要在应用层上用到的技术,以便最好地利用CORBA,并使自己的系统尽可能简单地实现。

     CORBA的发展方向何在?早期(到90年代中期),CORBA的目标是提供跨越边界的框架。第二个阶段(到1998年),内容有所丰富(安全性、事务、多通信、数据库集成等),并且在CORBA中还集成了很多其他技术。因此,CORBA在使用了COM的环境中同样工作良好;它采纳了Java作为首要语言,并加入了其他设施以允许它在企业内使用;而且CORBA能安全地越过防火墙使用。那么往后几年的目标是什么呢?

     首先,和其他技术的集成还会继续。EJB在这里很重要—或更具体地说,是在Java环境中持续加入功能设施,以允许编写多特征的客户机和服务器。CORBA和标准企业应用程序的集成也会作为有用的功能设施提供,而不是为每个应用程序编写代码。

     其次,CORBA会变得越来越容易使用,现在出现的程序员生产工具就是明证。在这里一个关键领域是客户机和服务器或至少是它们中的一部分基于脚本的生成。C++和Java代码可以以这种方式产生,这就减少了人们必须编写的和应用相关的代码数量。使用工具的其他优点在于让系统管理者有更多的监控和控制设施可用。

     第三,组件这个概念变得越来越重要。组件是一个对象,里面只含有业务级的代码,而没有和安全性、事务、命名等方面相关的代码。因此,一个组件可以给定不同的安全属性而不用改变对象的代码,在某种意义上,它可以“融”入不同的安全环境而不用改变它的代码,即使这些安全环境是以不同的方式实现的。类似地,组件是否是事务性的,不是由组件本身决定,而是由它所融入的环境(或容器)来决定。

     业务级代码和基础级代码的分离是提高生产率的一个关键方面。这样做的一个好处是软件在所需执行的环境中的变化可以留待以后证明。同样的组件可以融入一纯CORBA容器、或是一EJB容器、或是一COM容器。这样,如果组件融入一COM容器中,它可以自己用COM来进行通信,也可以在使用了自动桥梁的其他环境中进行通信。如果它融入到一CORBA容器中,CORBA就是它自身的通信环境,就需要一自动的桥梁来从COM中访问它。当这些发生时,业务级的代码不用改变。

     这些改善都在进行当中,并会减少跨越边界的软件的编写任务。自动化并不会减少对有经验的软件工程师和设计师的需要,他们对分布式计算的重要技术的理解,以及在不同的情况下如何找出最适合的技术仍然是很重要的。我非常感谢本书的三位作者,他们花了大量时间,不辞劳苦地把这些技术和CORBA关联起来,并把多年的研究和开发结果公诸于众,书中没有多余的空话。此外,他们还指出了这些技术的相关发展方向。

     Sean Baker IONA Technologies的创始人之一

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-9-4 11:29:25 | 只看该作者

目 录

目      录
译者序
序言
前言
第一部分   基      础
第1章   绪论        1
1.1   概述        2
1.2   简要的术语表        2
1.3   图形符号        3
第2章   CORBA回顾        6
2.1   CORBA的演变        6
2.2   BOA代和POA代        7
2.2.1   BOA代        7
2.2.2   POA代        7
2.3   激发生命周期        7
2.3.1   CORBA请求        7
2.3.2   激发生命周期:评估标准        9
2.3.3   激发生命周期:评估BOA代        10
2.3.4   激发生命周期:评估POA代        13
2.4   对象生命周期        17
2.4.1   CORBA对象        17
2.4.2   对象生命周期事件        18
2.4.3   早期绑定和后期绑定        19
2.4.4   CORBA对象实现的分类        20
2.4.5   CORBA对象实现和内存管理        20
2.4.6   对象生命周期:评估准则        21
2.4.7   对象生命周期:评估BOA代        21
2.4.8   对象生命周期:评估POA代        23
2.5   小结        25
第3章   CORBA服务回顾        26
3.1   核心服务        26
3.2   数据库集成和事务处理        27
3.3   可伸缩性问题        28
3.4   小结        28
第4章   简单例子概述        29
4.1   简介        29
4.2   StockWatch组件        30
4.2.1   StockWatch接口        31
4.2.2   数据库模式        32
4.2.3   扩展StockWatch的系统体系结构        33
4.3   证券管理器组件        35
第5章   性能要求        36
5.1   IDL设计的性能实质        36
5.1.1   访问模式        36
5.1.2   影响性能的重要因素        40
5.1.3   设计例子        42
5.1.4   对象的合适性        45
5.2   传递大量数据        46
5.2.1   迭代器        46
5.2.2   按值传递对象        47
5.2.3   专有的流解决方案        47
5.2.4   声频/视频流        48
5.3   小结        48
第二部分   核心服务
第6章   对象定位        49
6.1   定位对象的模型        49
6.2   CORBA对象定位服务        50
6.2.1   CORBA命名服务        51
6.2.2   CORBA交易对象服务        55
6.3   定位对象的其他方法        59
6.3.1   使用对象引用字符串        59
6.3.2   使用工厂对象        60
6.3.3   特定于ORB的方法        60
6.3.4   自举        61
6.4   选择对象定位机制        61
6.5   选择公布对象        62
第7章   消息接发        63
7.1   CORBA和消息接发        63
7.2   ORB对消息接发的支持        63
7.2.1   异步单向激发        64
7.2.2   延迟同步激发        66
7.2.3   消息接发的实现        66
7.3   面向消息中间件的需求        67
7.4   当前面向消息中间件产品        67
7.5   相关的CORBA服务        67
7.5.1   CORBA事件服务        67
7.5.2   CORBA通知服务        70
7.5.3   即将实现CORBA服务        71
7.6   多目消息接发        71
7.6.1   网络术语        71
7.6.2   网际协议IP        71
7.6.3   单目和多目        72
7.6.4   多目传送实例研究:
           OrbixTalk产品        73
7.7   小结        76
第8章   安全        77
8.1   安全的概念        77
8.1.1   认证        77
8.1.2   授权        78
8.1.3   加密        78
8.1.4   数据完整性        78
8.1.5   不可否认        78
8.1.6   证件和委托        79
8.2   企业系统安全需求和策略        79
8.2.1   分析        79
8.2.2   设计        80
8.2.3   实现        81
8.3   CORBA安全        81
8.3.1   CORBA安全服务规范        81
8.3.2   安全互操作/SecIOP规范        83
8.3.3   ORB-SSL集成规范        84
8.3.4   CORBA/防火墙规范        84
8.4   实际的解决方案        85
8.4.1   企业CORBA安全:系统的
           协调运作        85
8.4.2   内部Intranet系统        86
8.4.3   外部Internet系统        88
第三部分   数据库集成和事务处理
第9章   对象的持久性        91
9.1   简介        91
9.1.1   RDBMS与ODBMS        92
9.1.2   阻抗失配问题        92
9.1.3   对象持久性服务的特征        94
9.2   访问关系数据库        94
9.2.1   本地的SQL API        94
9.2.2   开放连接        95
9.2.3   OO SQL封装类        95
9.3   对象/关系映射        95
9.3.1   基本映射技术        96
9.3.2   水平分割        97
9.3.3   垂直分割        98
9.3.4   统一        99
9.3.5   自顶而下和自底而上        99
9.3.6   对象/关系代码生成        100
9.3.7   对象/关系映射的局限        101
9.4   对象数据库        101
9.5   数据一致性        102
9.5.1   事务        103
9.5.2   并发控制        103
9.5.3   数据同步        104
9.6   小结        105
第10章   数据库集成        106
10.1   系统体系结构        106
10.1.1   三层结构        106
10.1.2   N层结构        107
10.2   相关的OMG工作        107
10.3   集成的各方面        108
10.4   CORBA业务对象        109
10.4.1   阻抗失配        110
10.4.2   对象/关系代码生成        111
10.4.3   对象关系        111
10.5   ODBMS        112
10.6   CORBA关系服务        112
10.7   CORBA查询服务        113
10.8   特定于应用程序的解决方案        113
10.9   权衡        114
10.9.1   做实际工作的层次        114
10.9.2   事务和并发        115
10.9.3   对象标识        115
10.9.4   伺服对象管理        116
10.10   无状态伺服对象        116
10.11   有状态伺服对象        116
10.12   数据库适配器        117
10.13   海量对象CORBA系统        118
第11章   CORBA环境下的事务        119
11.1   两层和三层结构        119
11.2   客户机控制事务和服务器控制事务        119
11.3   服务器控制事务        119
11.3.1   每操作事务模型        119
11.3.2   分段事务模型        121
11.4   客户机控制事务        121
11.5   小结        122
第12章   分布式事务处理        123
12.1   事务处理        123
12.1.1   事务处理系统        123
12.1.2   事务处理监控器        124
12.1.3   对象事务监控器        124
12.1.4   ACID事务        125
12.1.5   事务管理        126
12.1.6   X/Open DTP        127
12.2   CORBA对象事务服务        128
12.2.1   总览        129
12.2.2   用OTS编程        129
12.2.3   事务资源        132
12.2.4   恢复        132
12.2.5   OTS体系结构        132
12.2.6   并发        134
12.2.7   OTS提供了多少ACID        135
12.2.8   多少ACID是合适的        136
12.2.9   事务分布的分类        137
12.3   高级的事务模型        139
12.3.1   持久队列        139
12.3.2   工作流和多事务        140
12.3.3   Saga事务        141
12.3.4   嵌套事务        142
12.4   小结        144
第13章   用户会话        146
13.1   短期事务与长期事务        146
13.2   并发控制        147
13.2.1   锁定        147
13.2.2   时间戳排序        147
13.2.3   乐观并发控制        148
13.2.4   乐观并发控制与商业DBMS        148
13.3   三层环境下的会话        149
13.3.1   客户机控制事务:OTS        150
13.3.2   服务器控制事务:每操作        150
13.3.3   服务器控制事务:分阶段        151
13.4   案例研究:保险合同管理器        152
13.4.1   系统需求        153
13.4.2   设计        154
13.4.3   体系结构        160
13.4.4   实现        161
13.4.5   管理版本的层次        162
13.5   小结        163
第四部分    可伸缩性问题
第14章   服务器资源管理        165
14.1   内存管理        165
14.1.1   对象分类        166
14.1.2   对象生命周期事件        166
14.1.3   伺服对象池模式        167
14.1.4   案例研究:股票价格迭代器        171
14.1.5   分布式内存管理        172
14.1.6   小结        173
14.2   连接管理        173
14.2.1   连接和CORBA规范        174
14.2.2   在证券管理器例子中的连接        175
14.2.3   可伸缩性的方法        177
14.2.4   小结        181
14.3   线程管理        182
14.3.1   多线程概述        182
14.3.2   多线程的CORBA客户机        183
14.3.3   多线程的CORBA服务器        184
14.4   小结        189
第15章   负载平衡        190
15.1   负载平衡的必要性        190
15.2   应用程序分区        191
15.2.1   水平应用程序分区        192
15.2.2   垂直应用程序分区        192
15.2.3   分区策略        193
15.3   复制        194
15.4   复制机制        196
15.4.1   定位机制        196
15.4.2   迁徙机制        202
15.4.3   状态管理        204
15.5   复制框架        207
15.5.1   组件复制        207
15.5.2   集中器模式        208
15.5.3   BOA激活模式        212
15.6   衡量负载平衡的花费        212
15.7   小结        214
第16章   容错性        215
16.1   什么是容错性        215
16.1.1   需要一种实用的容错方法        216
16.1.2   故障类型        217
16.1.3   故障检测        217
16.1.4   故障通知        219
16.1.5   容错与客户机        220
16.2   当前CORBA对容错的支持        220
16.3   容错性与复制        221
16.3.1   应用程序状态:服务器和
             数据库的复制        221
16.3.2   应用程序服务器策略        222
16.3.3   讨论        229
16.4   案例研究—一个高可用性的
          CORBA系统        229
16.4.1   引言        229
16.4.2   数据库复制        231
16.4.3   高可用性        231
16.5   未来CORBA对容错性的支持        235
16.6   小结        237
第17章   系统管理与维护        238
17.1   系统管理        238
17.1.1   网络管理        238
17.1.2   活动系统和系统基础设施        240
17.2   管理活动系统        240
17.2.1   应用程序监控        240
17.2.2   性能监控        242
17.2.3   存储管理        242
17.3   系统基础设施维护        243
17.3.1   调配CORBA系统        243
17.3.2   管理变动        244
17.3.3   CORBA环境中的版本化        245
17.4   小结        246
第五部分    工程化CORBA系统
第18章   工程化过程的重要性        247
18.1   CORBA和软件工程过程        247
18.1.1   对象管理组        248
18.1.2   传统软件工程过程        248
18.1.3   使软件工程过程适合于反映分布
             式处理        248
18.2   CORBA组件模型        250
18.2.1   统一建模语言        250
18.2.2   使UML适合于反映分布处理        251
18.3   建模CORBA组件        254
18.3.1   组件特性        255
18.3.2   例子        256
18.3.3   建模组件的一般原则        257
18.3.4   再论阻抗失配        258
18.4   将建模结果映射到实现        261
18.4.1   UML建模元素        261
18.4.2   实现元素        263
18.4.3   模型与实现        264
18.5   小结        264
第19章   自动化工程过程        266
19.1   CASE        266
19.2   代码生成        266
19.2.1   基于IDL的代码生成        267
19.2.2   基于模型的代码生成        269
19.2.3   对不同方法的讨论        269
19.3   过程向导        271
19.4   小结        271
第20章   结论        272
20.1   困难仍然存在        272
20.2   希望已出现在地平线上        272
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-9-4 11:36:05 | 只看该作者
各位不好意思,在无法上传文件了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-25 21:27 , Processed in 0.080159 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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