(完整版)智慧校园技术路线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.1 架构设计方法
面向对象的架构设计:通过抽象、封装、模块化和层次化,从架构设计上确保软件实现的结构化、灵活性和可复用。
关注分离的架构设计:通过分层、面向方面和容器等设计模式,将需求和架构分析结果中交织、混沌的软件元素关系梳理清楚,使性质不同的关注面被分割而独立,进而实现分而治之。
通过面向对象和关注分离的设计思想和相关实现技术,可以尽可能促使技术架构及其支撑的企业级行业应用的具有良好、清晰的层次结构,能够封装变化,具有足够的灵活性和可复用能力。
智慧校园平台架构设计将按照下图所示的关系,通过对应用模式的技术实现分析设计,
从而达到对应用系统进行技术支撑的目的。
1.1.2 基于SOA的数字化校园架构设计
基于SOA架构的数字化校园设计及实现的核心是建立SOA架构的技术标准,学校的不同厂家、不同产品、不同运行环境、不同开发工具开发的应用系统信息系统遵循该技术标准,进行业务应用组件化和服务化,实现了松散型、低耦合的集成,不同的信息系统可以相互调
用功能服务。
1. 基础设施
基础设施是学校数字化校园的软硬件支撑,对于SOA架构来说特别是支撑中间,包括:SOA标准:SCA、SDO、BPEL、WSDL、SOAP、UDDI、JMS、WEBSERVICE等企业服务总线:ESB
流程管理器:BPM
2. 基础平台
基础平台是数字化校园的应用软件支撑,包括统一信息门户平台、统一身份认证平台、数据中心平台、移动与通讯平台、运维服务平台等,提供数字化校园的基础服务
3. 组件服务
组件服务包括组件服务管理平台、公共组件服务、业务组件服务,实现组件服务的管理,包括组件服务的注册、发布、查询、调用等。
4. 信息服务
为学校各类用户提供高效、便捷、丰富的信息服务
1.1.3 SOA技术标准
SOA架构的IT业界技术标准主要有:服务组件架构SCA与服务数据对象SDO。
基于开放标准采用的相关技术有:
✧可扩展标记语言XML(Extensible Markup Language)
✧简单对象访问协议SOAP (Simple Object Access Protocol)
✧Web服务描述语言WSDL (Web Services Description Language)
✧统一描述、发现和集成(Universal Description, Discovery and Integration)
✧JAVA消息服务JMS ( Java Message Service)
✧企业服务总线ESB(Enterprise Service Bus)
1. 服务架构模型SCA
SOA的实施需要建立在两个标准之上,一是各应用系统对外的服务定义标准,二是流程的标准。
在SOA体系中,服务定义标准是采用WSDL,流程标准是采用BPEL。
SOA模型体现了对已有系统或新上系统提供的标准、开放接口或数据进行组件化,并封
状成服务WEB SERVICE,通过BPM根据BPEL规范根据需要对各种服务进行流程重组形成新的服务并提供给需要者。
2. 服务数据对象SDO
服务数据对象SDO确立服务间各种数据源调用接口API,同时定义数据服务的方法,如Webservice,数据的格式如XML、JSON等。
1.1.4 开发平台
基于J2EE平台,主体代码采用Java编程语言和服务器端Java技术(如EJBs、Servlet、JSP、JNDI、JDBC和RMI等13种)开发。
J2EE平台是目前为企业级应用所提供的分布式、高可靠性、先进性的解决方案。
Java 作为基于Web的软件业的公共标准,其独立于操作系统,独立于服务器的“跨平台性”,使其“一次编写,到处运行”,是最适合运行于互联网上软件的编辑语言。
Java相对于嵌入HTML 并受限于用户端显示的编程能力有限的脚本语言,其完整的编程能力可开发具有强大“业务逻辑”的应用程序。
我们使用Java相关技术配合先进的开发和管理工具完整地执行于整个软件开发生命周期中。
1.1.5 开发框架
应用开发框架的技术主要包括:
⏹前台展现技术:JSP、jQuery、JSTL;
⏹后台业务逻辑技术:Spring、HttpClient、Dubbo/osgi、Mybatis、Log4j。
应用开发框架如下图所示。
⏹前台视图层通过控制器调用服务层服务,调用的方式为Ajax,报文格式为Json。
调用规范为后台
模块名/service/类名(去掉Service后缀,即模块名).方法名.json,比如usermgr/service/UseMgr.getUserInfoByUserId.json。
⏹服务层:对外提供业务服务。
⏹业务逻辑层:负责具体的业务逻辑处理、以及事务处理等。
⏹原子服务层:抽象的公共原子服务,可在多个系统间共享,采用Dubbo/OSGI的方式对服务进行
管理和使用。
数据访问层:负责数据库数据的读写。
采用Mybatis技术实现数据访问层功能。
1.1.6 应用开发框架
应用开发框架的技术主要包括:
⏹前台展现技术:JSP、jQuery、JSTL;
⏹后台业务逻辑技术:Spring、HttpClient、Dubbo/osgi、Mybatis、Log4j。
应用开发框架如下图所示。
⏹前台视图层通过控制器调用服务层服务,调用的方式为Ajax,报文格式为Json。
调用规范为后台
模块名/service/类名(去掉Service后缀,即模块名).方法名.json,比如usermgr/service/UseMgr.getUserInfoByUserId.json。
⏹服务层:对外提供业务服务。
⏹业务逻辑层:负责具体的业务逻辑处理、以及事务处理等。
⏹原子服务层:抽象的公共原子服务,可在多个系统间共享,采用Dubbo/OSGI的方式对服务进行
管理和使用。
数据访问层:负责数据库数据的读写。
采用Mybatis技术实现数据访问层功能。
1.1.7 采用面向对象的组件技术
面向对象的组件技术是一种完全独立于硬件和操作系统的开发环境,着重于开发构成应用程序“业务对象”的可重复使用的组件,利用这些组件顺利地建立分布式应用程序。
应用平台模块间相对独立,接口清晰,内部的业务流程升级和改造与其它模块无关,所有模块基于组件如EJB、Web Services开发,可插拔,并为将来学院二次开发提供开发API。
1.1.8 基于物理的三层结构
应用系统平台的开发及运行结构要基于后台数据库的三层架构,即Web应用服务器、中间件应用服务器和数据库服务器,任何应用服务器需要访问数据库服务都需要通过中间件应用服务器,并且根据需要可以把Web应用服务器、中间件应用服务器和数据库服务器部署在不同的VLAN里,以加强安全性。
1.1.9 负载均衡、中间件集群实现
1).四层交换负载均衡:
采用负载均衡器来实现硬件级的四层交换负载均衡,或采用LVS来实现软件的四层交换负载均衡。
2).通过第三方软件来实现负载均衡,同时实现页面请求的缓存。
通过Nginx实现反向代理服务器集群,同时作为静态页面和图片的缓存。
3).通过web服务器的配置来实现负载均衡
即通过Nginx 将客户请求均衡的分给weblogic1,weblogic2....去处理。
1.1.10 web应用开发架构思路
1).应用开发实现MVC架构三层架构进行web应用开发;
2).页面尽可能静态化以减少动态数据访问,对于内容发布类业务采用通元成熟的CMS系统来生成静态的内容页面;
3).采用Memcached集群实现数据缓存;
4).采用独立的图片服务器集群来实现图片资源的存储及WEB请求。
1.1.11 数据存储
1).数据库拆分,把生产数据库和查询数据库分离;
2).通过读写分离技术提高数据库扩展能力;
3).采用高效的网络文件共享策略,采用图片服务器来实现页面的图片存储。
1.1.12 部署架构
智慧校园平台的部署架构如下图所示:
上图中标记灰色的服务器不在一期规划范围内。
部署架构中各个部分所辖内容如下:
接口设计主要包括应用系统集成接口、认证接口、数据交换接口等接口设计。
1.2.1 应用系统集成接口
应用系统集成接口设计将在基于服务Webservice上扩展其他接口模式,所有的集成提供开放的组件、服务接口,只要进行简单的配置即可,包括:
•Web Service
•URL资源功能服务
•Iframe集成服务
•RSS集成服务
•API集成服务
•Portlets集成服务
1.2.2 认证接口设计
开放的认证接口,支持不同开发语言(Java、.net、ASP、PHP、c/c++、COM、Radius 等接口)、不同应用服务器平台实现的应用系统的认证集成方式,提供WebService、API等方式。
1.2.3 数据交换接口设计
基于数据交换管理工具,所有的交换周期、交换模型、交换方式等由用户进行设置或选择,数据交换管理工具解释执行。
交换接口方式包括:
✧文件交换:XML文件、DBF文件、EXCEL文件、TXT文件等;
✧标准数据交换:共享视图、SQL操作;
✧采用MQ、WebService 、ESB数据服务的交换方式;。