某大中型企业在全国各城市共有15个左右的分支机构,这些机构已经建设了相关的关系型数据库管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。PH软件公司承接了该大中型企业信息管理系统的升级改造开发任务。该软件公司的领域专家对需求进行深入分析后,得到的部分系统需求如下。
(1)开发一个网络财务程序,使各地员工能在Internet上通过VPN技术进行财务单据报销和处理。
(2)为了加强管理,实现对下属分支机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行挖掘分析,拟在该企业总部建设数据中心。
PH公司在设计该财务程序的体系结构时,开发项目组产生了以下分歧。
(1)架构师许工认为应该采用客户机/服务器(C/S)架构风格,各分支机构财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销账务的,也需要安装这个客户端才能进行。
(2)架构师郭工认为应该采用浏览器/服务器(B/S)架构风格,各分支机构及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机。
在架构评估会议上,专家对这两种方案进行综合评价,最终采用了C/S和B/S相结合的混合架构风格。
结合你的系统架构经验,请用600字以内的文字简要说明该工程项目采用C/S和B/S相结合的混合架构风格的设计要点及其优点。
参考答案:设计要点如下(包含但不限于以下内容)。
①在该企业总部局域网上部署财务Web服务器及其相关的数据库服务器,两种服务器之间采用C/S架构;总部局域网上提供C/S和B/S两种并存的架构风格,根据不同的应用需求和客户需求进行灵活的选择。
②若项目资金充裕,则在各分支机构局域网中也采用类似于企业总部的部署风格;若项目资金不足,则在各分支机构财务部门局域网中采用C/S架构,部署应用服务器及相关的数据库服务器,然后将集中处理的后期财务数据通过VPN技术上传至总部局域网的相应服务器中。
③在外出差的员工和各分支机构的普通员工通过VPN技术访问企业总部局域网上的Web服务器,查看相关的信息(如报销流程和报销结果等)。
采用C/S和B/S混合架构的优点如下(包含但不限于以下内容):
①充分发挥了B/S与C/S体系结构的优势,弥补了二者的不足。
②客户请求和信息发布采用B/S架构,保持了瘦客户端的优点,客户机只利用浏览器即可完成所有的应用需求。
③数据库的请求和响应操作采用C/S架构,通过在Web/应用程序和数据库之间建立ODBC/JDBC连接来完成数据库的连接和请求响应,能完成大量数据的批量录入请求。
④系统的部署、维护及数据更新方便,不存在完全采用C/S结构带来的客户端维护工作量大等缺点。
⑤将服务器端划分为Web服务器和Web应用程序两部分。Web应用程序采用组件技术实现三层体系结构中的商业逻辑部分,达到封装源代码、保护知识产权的目的。
⑥对原基于C/S架构的应用,只需开发用于发布的Web界面,就能升级到这种混合架构系统中,从而最大限度地保护了原有投资。
解析:依题意,该项目采用C/S和B/S相结合的混合架构风格的设计要点如下。
(1)在该企业总部的内部局域网上部署Web服务器(安装有网络财务程序)及其相关的数据库服务器,两种服务器之间采用C/S架构风格。总部内部的局域网上提供C/S和B/S两种并存的架构风格,根据不同的应用需求和客户需求进行灵活的选择。例如,针对总部的普通员工,选用B/S架构风格,允许这部分员工通过浏览器查看相关报销流程和报销结果;针对财务部专职工作人员,选用C/S架构风格,提高大批数据的处理速度和响应速度,提高数据审批等处理安全性。
(2)综合考虑项目的具体资金预算情况,如果在项目资金充裕的情况下,则各分支机构内部局域网中也采用类似于第(1)点企业总部的部署风格;若项目资金不足,则在各分支机构财务部门内部局域网中采用C/S架构风格部署一台应用服务器及其相关的数据库服务器,然后将集中处理的后期财务数据通过虚拟专用网(VPN)技术,上传到企业总部局域网的相应服务器中。
(3)在外出差的员工和各分支机构的普通员工通过VPN技术访问企业总部的局域网上的Web服务器,查看相关报销流程和报销结果等内容。
采用C/S和B/S混合架构风格的优点如下。
(1)充分发挥了B/S与C/S体系结构的优势,弥补了二者的不足。充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。
(2)客户请求和信息发布采用B/S架构,保持了瘦客户端的优点,客户机只利用浏览器即可完成所有的应用需求。装入客户机的软件可以采用统一的WWW浏览器,而且WWW浏览器和网络综合服务器都是基于工业标准,可以在所有的平台上工作。
(3)数据库的请求及响应操作采用C/S架构,通过在Web应用程序和数据库之间建立ODBC/JDBC连接来完成数据库的连接和请求响应,能完成大量数据的批量录入请求。
(4)系统维护及数据更新方便,不存在完全采用C/S结构带来的客户端维护工作量大等缺点,并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S存在的固有缺点。
(5)将服务器端划分为Web服务器和Web应用程序两部分。Web应用程序采用组件技术实现三层体系结构中的逻辑部分,达到封装源代码,保护知识产权的目的。
(6)对原基于C/S体系架构的应用,可以保留原有的某些子系统,只需开发用于发布的WWW界面,就能很容易地升级到这种体系架构,使得原有系统或资源无须大的改造即可连接使用,从而使得原有系统的资源投资得到最大限度的保护。
(7)通过在浏览器中嵌入ActiveX控件,可以实现在浏览器中不能实现或实现起来比较困难的功能。例如通过浏览器进行报表的应答。