1. 分布对象的诱惑:
中间件的对象分布对上层透明崔然非常有用,但跨进程、跨机器(还有网络)调用,影响性能!
2. 远程接口和本地接口:
1)远程访问的对象需要使用粗粒度接口,而本地访问的对象需要使用细粒度接口(优化性能时,本地接扣可以提供粗粒度对象)
2)基于1),就不能把在单进程中设计的类原封不动地搬到分布模型环境中
3)分布对象设计第一定律:不要分布使用对象!
4)怎样有效利用多处理器资源:使用集群系统(在每个处理器上都部署所有对象,每个处理器上的对象都只需要用到本地调用 -> 运行更快,还可以使用细粒度接口设计对象模型)
3. 必须使用分布的情况
1)传统客户机/服务器架构
2)应用软件与数据库
3)web服务器和应用服务器(指的是web service么? 没搞懂!)
4)不同厂商的软件包
4. 关于分布边界
1)远程外观:进程内使用细粒度对象,分布边界上放置粗粒度对象
2)数据传输对象:一般只引用其他数据传输对象和一些如字符串等原始类型对象
3)代理:用延迟加载来传递对象
5. 分布接口
1)如果两个系统使用相同的平台构建,使用系统自己的远程调用机制高效得多!(web service虽跨平台,但传输数据来回转换增加不少开销)
2)使用http协议和远程面向对象API(没弄明白怎么玩)
2)异步、基于消息的处理方式