3.3 总体架构
总体架构包括项目各方面的分层逻辑架构、总体分层架构、系统开发架构、网络部署架构以及软硬件设备配置等。
3.3.1 总体逻辑架构
北京市房屋全生命周期管理信息平台主要包括数据中心、应用支撑平台(又包括数据交换、数据共享与应用支撑组件)、公共服务门户等几部分内容的建设。北京市房屋全生命周期管理信息平台从逻辑架构上分为四层,即应用层、服务层、数据层、基础设施层,其总体架构如图3.4所示。
图3.4 平台总体架构
1.基础设施层
基础设施层主要包括用于部署两个系统的网络环境、软件设施、硬件设施、网络设施。其中,本期项目建成的新《北京市房屋全生命周期管理信息平台》部署于政务网,预售项目专题地图系统将部署于互联网。
2.数据层
数据层就是数据中心。数据中心负责房屋基础数据的统一存储、分析和管理。数据中心包含房屋基础数据库、共享数据库、应用服务数据库、决策支持数据库和管理支撑数据库5个数据分区。
• 房屋基础数据区:由房屋基础数据、房屋空间数据、产权交易等业务基础数据和房屋基础空间数据库组成。
• 共享数据区:包括房屋项目数据、房屋测绘数据、房屋权属数据、拆迁数据、交易数据等交换共享数据,可分成专属共享区、公共共享区等。
• 应用服务数据区:包括统计汇总以及应用服务模型等。
• 决策支持数据区:包括多维分析、数据挖掘、决策支持等数据仓库数据。
• 管理支撑数据区:由应用支撑数据组成,包括各类元数据、配置管理数据、运行维护数据等。
3.服务层
服务层主要指封装的应用服务,包括用于预售地图专题系统的地图服务和路径分析服务、用于房屋平台的交易信息服务和权属信息服务。
4.应用层
应用层主要指应用系统,主要包括数据编辑工具、决策分析等。
3.3.2 总体分层架构
平台开发采用遵循J2EE平台规范的企业级软件应用面向服务架构(SOA),采用符合国际标准的Web服务集成技术构建,开发分层逻辑架构如图3.5所示。
平台的最下层是一个无缝集成的系统后台数据库,存放平台中所有的空间数据和非空间数据,使用大型关系数据库Oracle 10g来管理。对于空间数据的访问与管理,需要通过ESRI的空间数据库引擎ArcSDE来完成,而对于普通的非空间数据,可以通过JDBC来访问与管理。本平台的应用服务层将使用数据交换工具软件Microsoft SSIS(SQL Server Integration Services)、ArcGIS Server等。应用支撑平台包括一系列的Java功能组件,可分数据交换、数据共享与应用支撑组件三大类。门户展现是用户操作界面。
数据中心中的非空间数据通过“数据交换共享服务平台”中的数据交换工具从业务库中加载与更新,而空间数据则通过“应用支撑平台”中的SOAP风格的Web服务从测绘业务系统中上传。同时,利用“数据交换共享服务平台”中的ETL工具,构建查询汇总报表以及数据仓库。
图3.5 平台分层逻辑架构图
应用支撑平台包括数据交换、数据共享与应用支撑组件3部分。
数据交换部分集成数据交换软件的功能组件,使数据交换功能的开发简便、维护方便。通过统一的规范和标准,将各业务应用系统(如权属、交易与测绘等)中需要交换的业务成果数据按照约定的数据格式提交到平台数据中心。按照平台制定的规范,对交换的数据、交换方式进行描述,消除各方面产生的差异,实现信息的高度共享和网络管理,保证数据交换行为的透明、简便、可靠、安全、易于扩充。约定统一的数据交换服务方式和服务内容,实现平台与业务应用系统、区县系统、委外单位和部级系统的数据交换服务。具备数据写入、读取、同步等交换服务方式,以及用户权限管理、交换策略管理、日志管理、事务协同、监控管理等功能。数据交换工具将利用Microsoft SSIS产品进行物理设计。
为支持业务系统以及其他应用对数据中心数据与信息共享的要求,应用支撑平台将提供REST风格的Web服务。
应用支撑组件是一些基于查询统计、MIS应用、GIS应用和三维应用等工具化组件模块,为应用服务提供功能组件,减少应用服务的开发难度,实现应用服务通用功能组件的共享,为应用服务提供统一的查询、分析、GIS二维应用、三维应用服务引擎,提高系统的可用性。
公共服务门户通过门户技术,实现针对不同用户需求的应用设置,实现功能布局、界面风格个性化定义,发布信息查询、业务分析、测绘档案管理、二维GIS、三维数据模型、数据整合等各种应用。
3.3.3 系统开发架构
系统应用支撑平台以SOA思想为指导,以Web服务技术为手段,采用J2EE的开发架构,集成SQL Server DTS等专业的数据交换功能组件,并辅助定制开发的共享功能组件,共同形成一个功能完善、架构合理、扩展性强的数据交换共享平台,系统开发架构如图3.6所示。
图3.6 系统开发架构
房屋平台最底层是房屋数据中心,数据源主要是交易、登记物业、住保、房屋安全、地下空间、经纪机构等各业务数据库,各业务数据库中存放的主要是非空间的业务数据,这些库采用的是大型关系数据库管理系统Oracle,对于这些库中的空间数据应用空间ETL工具,通过数据抽取、标准化、转换、原子化以及加载等过程,最终存入共享库、决策库中。共享库、决策库也采用Oracle来存储与管理。
为了满足系统的扩展性,为了能提供混搭基础,为了能让业务人员也能编程查询与展示空间数据,在数据层的基础上,设计了统一数据资源服务和统一GIS服务。对于共享库中的业务数据,通过DWR服务来访问Oracle数据库对外统一提供数据资源服务。对于共享库中的空间数据,是通过对外统一的GIS服务来通过的。服务层通过ArcSDE访问存储在Oracle中的空间数据。二维地图服务、空间数据服务、空间分析服务、地理处理服务等通过ArcGIS Server来发布。三维地图服务使用CityMaker Server来发布。
房管综合平台通过调用数据资源服务,实现房地产市场预警预报、房屋管理、楼宇经济等功能。该系统主体为B/S结构,以My Eclipse 6.5为集成开发环境,Web服务器采用流行的Apache Tomcat 6.0来实现,后台使用Java语言来开发,前台使用HTML、JavaScript、CSS以及Dojo、FushionChart来开发,实现AJAX应用。
3.3.4 部署架构
建立完善的软硬件环境及系统部署架构,保证系统的运行效率,达到快速响应、安全运行等目的。部署架构设计考虑以下特点。
1.高可靠性(HA)
利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
2.高性能计算(HP)
充分利用集群中每一台计算机的资源,实现复杂运算的并行处理。
3.负载平衡
把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。