iOffice.net V9采用SOA平台架构设计,其中:
1. 数据层:数据层负责持久化用户录入的结构化数据及非结构化物理文件。
2. 基础层:基础层提供V9多个有特色的基础服务,这些服务构成了V9的运作核心,是V9平台的主要核心竞争力部分。
3. 应用层:应用层是V9开发的应用模块,他们不是必须的,但可提供多种应用能力,而且是插件式结构,即装即用。
4. 表现层:是用户与V9各应用的交互界面,基于Http协议,可支持浏览器,移动终端及智能终端等多种设备。
平台物理架构
V9平台采用基于SOA技术的服务器群集部署架构。群集部署的特点:
1. 服务的部署可横向进行分割。基于不同的服务应用范围,不同的服务可部署到不同的服务器上,改变了以往所有服务都部署到同一服务器的部署方式。一些数据运算负荷比较大的应用,还可将应用服务再行切割,分别部署到两台或多台服务器上。
2. 服务的部署可纵向进行分割。具体到某一特定服务,从前端、应用服务到数据库,可分别部署到不同的服务器上。
3. 不同的服务间的调用在应用层进行,通过SOA技术进行通信。
4. 不同的服务通过单点登录机制汇入公共门户进行集中展现。
采用群集架构,优点表现在:
1. 能突破单服务器架构的性能扩展瓶颈。V9平台的实施,可以从单一服务器开始,当单一服务器性能达到临界边缘时,可把服务从单一服务器分离迁移出来,部署到新的服务器上,达到性能的提升。
2. 能充分地使用服务器的资源。各个服务可部署到不同的服务器中,也可将使用率比较低的服务集中部署到一台服务器上。由于各个服务运行在独立的进程空间中,这样就能突破单一进程内存空间的物理限制,充分使用服务器的内存资源。
3. 服务之间互相独立。由于各个服务间运行在不同的进程空间,因此它们是互相独立的,单一服务的设计可不再需要考虑资源的占用,也不必担心某一服务出错导致整个系统服务中断,这样,服务的实现过程可更加快捷,减少开发工作量。
4. 服务的设计遵循SOA设计契约,可方便地由第三方程序进行调用,实现开放性。企业可按照公开的服务契约进行开发调用,使用V9先进的功能部件,如流程引擎,表单,沟通服务等开发或扩展原有的应用系统。
平台中的每个服务都遵循一致的设计模式,分为以下几部分:
1. 数据库:存放数据,可以是任意数据库体系。
2. EDM组件包:基于ORM框架技术的数据实体代码,负责同数据库交互,查询及操作数据。
3. Svc组件包:服务代码,定义服务的接口及实现服务。
4. WCF组件包:基于Microsoft WCF技术的服务宿主代码,服务宿主可以是命令行,Windows服务或Web服务。
5. Web组件包:基于Microsoft ASP.Net技术的展现层代码,包括页面及Web控件。
平台内部各服务间的交互有两种模式:
1. 服务层调用:消费者服务的Svc组件通过WCF技术调用提供者服务中的Svc组件提供的服务。
2. 控件调用:消费者服务的Web组件可包含提供者服务提供的Web控件,该Web控件通过WCF技术调用提供者服务中的Svc组件提供的服务。
V9平台架构加入了单元测试体系,单元测试体系的存在,能确保软件的品质不会因为频繁的修改而下降。单元测试体系存在于Svc包的实现代码及Web包的Controller代码中。