软件体系结构代表了系统公共的高层次的抽象,它是系统设计成败的关键。其设计的核心是能否使用重复的体系模式。传统的应用系统体系结构从基于主机的集.....
四、开发组织机构
传统软件的开发组织一般由分析员、设计员、程序员和测试员组成。对一个小的应用系统来说,一个熟练的开发人员,可能兼顾以上多个角色。但对CBSD来说,因为中间件开发与应用系统集成往往是分开进行的,因此整个开发过程由六个角色来完成,他们是:
中间件开发者 也是中间件供货商,这些大多数是中间件中间件提供者。
应用中间件集成者 针对某应用领域将已有中间件组合成更大的中间件模块或容器, 作为系统部署的基本单元。
应用系统部署者 将系统部署基本单元放入选定的平台环境或基本框架中,完成软件定制的要求。
开发平台服务器供应商 提供服务器、操作系统和数据库等基本软件。
应用系统开发工具供应商 提供中间件公共设施服务。
系统管理员 配置硬件、网络和操作系统,监督和维护应用系统者。
这六个角色的工作专业性很强,要兼顾成为多面手很不容易。目前已形成中间件开放市场,而且还很火红。这也是当今软件人才大战所遇的一个困惑。因此,在CBSD中,如何组织好开发队伍尤为重要,必须按本企业所具备人才来组织。特别重要的是:开发初期必须选好标准框架,以及统一的开发指导方针,保证在整个开发过程中,各角色能随时互相沟通。一般来说,CBSD的人员素质决定了中间件的重用率。
五、构造方法
传统应用软件的构造是用白盒子方法,应用系统的实现全在代码中,应用逻辑和数据粘结在一起。而CBSD 的构造是用白盒子和黑盒子相结合的方法。基于中间件的框架是用两个概念来支持演变:第一个概念是中间件有很强的性能接口,使中间件逻辑功能和中间件模型的实现都隐藏起来。这样,只要接口相同,中间件就可以被替换。
第二个概念是隐式调用,即在基于中间件的框架中,从来不直接给中间件的接口分配地址,只在识别中间件用户后才分配地址。因此,中间件用户只要了解接口要求和为中间件接口提供的引用后的返回信息 (该引用可能是一个中间件,也可能是一个中间件代理。对中间件用户来说,中间件代理就是中间件,不用区分) 。中间件接口的信息并不存入中间件内,而是存入中间件仓库或注册处。这样才能保证中间件替换灵活,并很容易利用隐式调用去重新部署中间件。由于中间件的实现对用户透明,因此也使中间件能适应各种不同的个性化要求。为此,中间件提供自检和规范化两个机制。自检保证在不了解中间件的具体实现时,就能获得中间件接口信息。例如, JavaBean提供的自检机制是Reflection和BeanInfo, 通过Reflection 可直接获得Bean中间件的全部方法,通过BeanInfo可直接获得中间件的许多复杂信息。
规范化允许不访问中间件就可以修改它,如JavaBean提供的规范化是property sheet和customizer(定制器)。 通过property sheet提供一组简单参数,修改Bean的属性。复杂的修改由用户通过定制器设置参数完成。