COM+负载平衡以NT系统服务的形式运行在路由器机器上,当路由器的SCM(Service Control Manager)接收到远程创建对象请求时,它把请求传递到负载最轻的机器上。实现负载平衡的一个难点是如何确定应用群集中的哪台机器是负载最轻的。COM+负载平衡引擎使用缺省的负载平衡算法,它根据每台机器上每个对象实例的方法调用的响应时间作为参考值计算出负载平衡参数,这种算法不一定是最佳算法,但对于大多数应用已经足够了。COM+也允许应用程序使用自定义的负载平衡引擎。
事务允许组件可以把一组独立的操作形成一个整体操作,事务操作要么成功,要么失败。COM+仍然支持MTS的事务语义,通过SetAbort或SetComplete完成事务操作。COM+还支持其他的事务操作模式,如果一个对象被标为“AuotAbort”,那么在事务操作过程中,若发生异常,则系统自动调用SetAbort。同样地,如果一个对象被标为“AutoComplete”,那么在每一个方法调用之后,除非此方法显式调用了SetAbort,否则系统会自动调用SetComplete。而且COM+还支持BYOT(Bring Your Own Transaction),即允许COM+组件参与非MTS事务处理环境管理的事务。
图1(b)则要简明得多,这是一个尚未实现的结构模型,但是Microsoft正在朝这个方向努力。在表现层,我们现在开发应用程序,要么使用Win32 API开发客户应用,要么利用HTML或DHTML直接把浏览器用作客户应用。在DNA结构中,FORMS+还只是一个技术框架,它将把Win32 GUI和Web API结合起来,并朝着DHTML的方向发展,我们可以从已经发布的Microsoft Internet Explorer 5的结构模型中看到FORMS+的一些端倪。在数据层,STORAGE+还只是一种提法,不过Microsft已经把数据库接口从ODBC转移到ADO和OLE DB上,这将最终促进数据层接口技术的统一。