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