最近由于工作关系接触了一部分国外的银行应用软件厂商,并详细了解了他们的软件特征和功能,其中各厂商都着重强调的一个特性就是“多实体”支持(Multiple-Entity Support)。
其实“多实体”这也不是什么新鲜玩意儿,有点类似于“多实例”(Multiple Instance)的概念,即在多个用户可以使用同一个系统而互不影响,IBM主机的分区、SQL Server 、Oracle 中的数据库实例、Web 服务器(IIS、Apache等)的虚拟主机、Windows 中的用户环境、.Text Blog 都可以算是支持多实体特性的具体表现。
多实体特性给用户带来很多好处:
- 多个用户可以共享一套系统、降低软件成本,加强资源利用
- 对于大型企业来说,其分支机构可以灵活选择共享同一个实体,或利用多个实体,或根据现阶段实际情况使用多个实体,而在将来整合成同一个实体(这项特性对于目前中国的金融企业非常有用)
- 用户可以在一个物理系统内建立多个逻辑系统,以适应开发、测试、运行的需要,而互不影响
- 多个实体可以共享全局参数,独享局部参数,从而即有利于统一管理,又有利于个性化
- … …
要在应用软件中实现多实体特性也不是很难,主要工作大概有:数据库中的各个表加一个实体标识字段,UI 入口处可以让用户选择所使用的实体,在应用软件内部做好各个实体间的认证和访问控制(授权)隔离,设计好全局参数和实体的局部参数等。
只要在前期的软件分析、设计与实现中,投入少许精力就可以实现多实体特性,但此特性将给应用软件本身带来很大增值效应,对于用户来说,这个特性是非常吸引人的。