配置考虑
一个网络应用应该能够在各个阶段配置它的组成服务,包括编译、静态连接、安装、启动时甚至是运行时。配置一个网络应用的步骤包括命名和定位服务、将服务连接到一个或多个应用的地址空间。这些步骤能以静态和动态的完成,如下所讨论。
l 静态 与 动态 命名
应用程序能够按照他们服务的命名是静态的还是动态的分类。
静态命名服务: 将服务的名字在编译时或者(and/or)静态连接时与存在的对象代码相关。如Echo。
动态命名服务: 将服务名字与对象代码的绑定推迟到服务的执行时。因此,代码即使在编写、编译甚至连接时都无需被标识。只有到应用开始执行相应的服务时才开始标识这段代码。如Telnet。
l 静态 与 动态连接
应用程序还可以根据服务的连接是动态还是静态的分为静态连接和动态连接。
静态连接 在编译时或和静态连接时建立一个完全可执行的应用程序。
动态连接 插入或者移开对象到或者是从一个进程的地址空间。现代操作系统同时支持显式和隐式的动态连接。
l 静态 与 动态配置
动态配置指初始化能够提供动态命名服务应用的过程。当与动态连接、线程/进程建立机制结合,这种动态配置的应用能够被扩展到安装/启动或运行。这种扩展有利于以下配置相关的问题:
Ø 功能子集:动态配置简化了运行于一系列OS平台应用程序家族的功能子集的开发步骤。举例来说,通过精细的配置服务,应用既能运行于嵌入应用中也能用于企业的网络应用。如一个网络浏览器既能运行于PDA上也能运行在PC上。
Ø 工作负载均衡 因为工作负载在运行时经常变化,因此很难确定相关应用服务的特征参数。因此,通过多次试验,对备选的应用配置选项在网络环境下进行论证是有必要的。比如这个特定服务(如图像处理)一个服务端和多少个客户端的搭配时最合理的。服务分配在客户端和服务端的多少也很容易形成瓶颈。太多的服务(功能)在服务端,可能会在导致服务端的瓶颈,太多的服务(功能)在客户端,又会在客户端配置有限的情况下形成瓶颈。
动态服务的再配置 高度可用的网络应用比如在线事务处理或实时远程过程控制等关键任务系统可能需要灵活性很高的动态重配置管理性能。举例来说,很可能需要在不中断其他服务的基础上,加入其他的服务或新版本的服务。重配置协议基于显示动态链接机制,能够大大增强网络应用的功能和灵活性。因为它为整个应用带来了无需终止其他服务进程/线程就可以在运行时增加、删除、修改的服务。