宁波市教育信息化公共服务平台(一期)建设方案内容摘要:

rsion of control: IOC))的简单概念之上。 业务层应该负责下面的问题:  处理应用的业务逻辑和业务校验  管理事务  允许与其他层进行交互的接口  管理业务级对象之间的依赖性  加入了表现和持久层之间的灵活性,以便它们不需要彼此进行直接通信  从表现层暴露上下文给业务层以获得业务服务  管理从业务层到表现层的实现  领域模型层 最后,因为我们要解决实际的问题的 WEB 应用,我们需要一套在不同的层间移动的对象。 领域模型层包含的是表达实际业务对象的对象,比如 Student, Teacher, Unit 等等。 这一层允许能让开发者不再构 建和维护不必要的数据传输对象 DTO 来匹配其领域对象。 例如, Hibernate 允许你读取数据库信息到一个领域对象的对象图中,以便你可以在离线的情况下将其表现在 UI 层中。 这些对象可以被更新并跨过表现层发送回去,然后进行数据库更新。 14 另外,你不再需要将对象转变成 DTO,因为它们在不同的层间移动时可能会丢失事务。 这种模型允许 JAVA 开发者能够以 OO 风格的方式很自然的处理对象,而不用编写额外的代码。 . RabbitMQ RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。 ( 1) 消息中间件 传统的数据交换技术的局限性: 1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行; 2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常; 3)点对点通信:客户的一次调用只发送给某个单独的目标对象。 消息中间件较好的解决了以上问题。 发送者将消息发送给消息服务 器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。 这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。 高级消息队列协议( AMQP)是一个异步消息传递所使用的应用层协议规范。 作为线路层协议,而不是 API(例如 JMS2), AMQP 客户端能够无视消息的来源任意发送和接受信息。 现在,已经有相当一部分不同平台的服务器和客户端可以投入使用。 消息队列技术是分布式应用间交换信息的一种技术。 消息队列可驻留在内存或磁盘上 ,队列存储消息直到它们被应用程序读走。 通过消息队列,应用程序可独立地执行 它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 消息队列 (Message Queue)的 API 调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读出而提供信息交换。 消息队列可用在应用 中以执行多种功能,比如要求服务、交换信息或异步处理等。 中间件是一种独立的系统软件或服务程序,应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络通讯。 它在计算机系统中是一个关键软件,它能实现应用的互连和互操作性,能保证系统的安全、可靠、高效的运行。 中间件位于用户应用和操作系统及网络软件之间,它为应用提供了公用的通信手段,并且独立于网络和操作系统。 中间件为开发者提供了公用于所有环境的应用程序接口,当应用程序中嵌入其函数调用,它便可利用其运行的特定操作系统和网络环境的功能,为应用执行通信功能。 15 如 果没有消息中间件完成信息交换,应用开发者为了传输数据,必须要学会如何用网络和操作系统软件的功能,编写相应的应用程序来发送和接收信息,且交换信息没有标准方法,每个应用必须进行特定的编程从而和多平台、不同环境下的一个或多个应用通信。 例如,为了实现网络上不同主机系统间的通信,将要求具备在网络上如何交换信息的知识(比如用TCP/IP 的 socket 程序设计);为了实现同一主机内不同进程之间的通讯,将要求具备操作系统的消息队列或命名管道 (Pipes)等知识。 面向消息的中间件( MOM)系统,例如发布 /订阅队列,没有作为 基本元素实现。 反而通过发送简化的 AMQ 实体,用户被赋予了构建例如这些实体的能力。 这些实体也是规范的一部分,形成了在线路层协议顶端的一个层级: AMQP 模型。 这个模型统一了消息模式,诸如发布 /订阅、队列、事务以及流数据,并且添加了额外的特性,例如更易于扩展,基于内容的路由。 ( 2) MQ的基本概念  队列管理器 队列管理器是 MQ 系统中最上层的一个概念,由它为我们提供基于队列的消息服务。  消息 在 MQ 中,我们把应用程序交由 MQ 传输的数据定义为消息,我们可以定义消息的内容并对消息进行广义的理解,比如:用户的各种类型的数据文件 ,某个应用向其它应用发出的处理请求等都可以作为消息。 消息有两部分组成: 消息描述符 (Message Discription 或 Message Header),描述消息的特征,如:消息的优先级、生命周期、消息 Id 等; 消息体 (Message Body),即用户数据部分。 在 MQ 中,消息分为两种类型,非永久性(nonpersistent)消息和永久性 (persistent)消息,非永久性消息是存储在内存中的,它是为了提高性能而设计的,当系统掉电或 MQ 队列管理器重新启动时,将不可恢复。 当用户对消息的可靠性要求不高, 而侧重系统的性能表现时,可以采用该种类型的消息,如:当发布股票信息时,由于股票信息是不断更新的,我们可能每若干秒就会发布一次,新的消息会不断覆盖旧的消息。 永久性消息是存储在硬盘上,并且纪录数据日志的,它具有高可靠性,在网络和系统发生故障等情况下都能确保消息不丢、不重。 此外,在 MQ 中,还有逻辑消息和物理消息的概念。 利用逻辑消息和物理消息,我们可以将大消息进行分段处理,也可以将若干个本身完整的消息在应用逻辑上归为一组进行处理。 16  队列 队列是消息的安全存放地,队列存储消息直到它被应用程序处理。 消息队列以下述方 式工作:  程序 A 形成对消息队列系统的调用,此调用告知消息队列系统,消息准备好了投向程序 B;  消息队列系统发送此消息到程序 B 驻留处的系统,并将它放到程序 B 的队列中;  适当时间后,程序 B 从它的队列中读此消息,并处理此信息。 由于采用了先进的程序设计思想以及内部工作机制, MQ 能够在各种网络条件下保证消息的可靠传递,可以克服网络线路质量差或不稳定的现状,在传输过程中,如果通信线路出现故障或远端的主机发生故障,本地的应用程序都不会受到影响,可以继续发送数据,而无需等待网络故障恢复或远端主机正常后再重新运行。  通道 通 道是 MQ 系统中队列管理器之间传递消息的管道,它是建立在物理的网络连接之上的一个逻辑概念,也是 MQ 产品的精华。 在 MQ 中,主要有三大类通道类型,即消息通道, MQI 通道和 Cluster 通道。 消息通道是用于在 MQ 的服务器和服务器之间传输消息的,需要强调指出的是,该通道是单向的,它又有发送 (sender), 接收 (receive), 请求者 (requestor), 服务者 (server)等不同类型,供用户在不同情况下使用。 MQI 通道是 MQ Client 和 MQ Server 之间通讯和传输消息用的,与消息通道不同,它的 传输是双向的。 群集 (Cluster)通道是位于同一个 MQ 群集内部的队列管理器之间通讯使用的。 ( 3) MQ的工作原理 17 首先来看本地通讯的情况,应用程序 A 和应用程序 B 运行于同一系统 A,它们之间可以借助消息队列技术进 行彼此的通讯:应用程序 A 向队列 1 发送一条信息,而当应用程序 B需要时就可以得到该信息。 其次是远程通讯的情况,如果信息传输的目标改为在系统 B 上的应用程序 C,这种变化不会对应用程序 A 产生影响,应用程序 A 向队列 2 发送一条信息,系统 A的 MQ 发现 Q2 所指向的目的队列实际上位于系统 B,它将信息放到本地的一个特殊队列-传输队列(Transmission Queue)。 我们建立一条从系统 A 到系统 B 的消息通道,消息通道代理将从传输队列中读取消息,并传递这条信息到系统 B,然后等待确认。 只有 MQ 接到系统 B 成功收到信息的确认之后 ,它才从传输队列中真正将该信息删除。 如果通讯线路不通,或系统 B不在运行,信息会留在传输队列中,直到被成功地传送到目的地。 这是 MQ 最基本而最重要的技术 确保信息传输,并且是一次且仅一次 (onceandonlyonce)的传递。 MQ 提供了用于应用集成的松耦合的连接方法,因为共享信息的应用不需要知道彼此物理位置(网络地址);不需要知道彼此间怎样建立通信;不需要同时处于运行状态;不需要在同样的操作系统或网络环境下运行。 三、 建设内容 1. 云平台 教育 云通过对虚拟化资源池( 硬件、开发平台或服务) 的管理,实现对资源 合理调度分配的基础性平台。 他可以对 这些资源可以动态地重新配置,调整到一个可变负载或者可变规18 模的系统中,从而允许获得最佳的资源利用率。 其主要支持以下几个方面设计  外部托管 将 服务托管在 市教育云中心 ,并从这里提供给 各个应用系统或平台。 服务通过 宁波市教育科研网 提供,并且服务的处理发生在 教科网内部防火墙以外, 服务 本身可以 跨越物理和安全的边界 进行调度访问。  服务交付 教育云平台 的功能 都 作为某种形式的服务存在。 服务之间在本质上有着很大的差异,但是 在 编程接口和用户接口 上具有相应的规范性,可以更加便捷地实现服务交付。  简化 的管理 对系统和资源的管理简化 :实现 自动化的管理,以满足系统可扩展性的要求; 同时实现用户自助服务,以加快业务处理流程和程序化的资源访问,有助于将系统和资源集成到企业的管理框架之中。  资源的经济性 提供了资源的经济性,压缩了资源总成本投资,具体体现为: 第一,没有了固定购买的需求。 第二服务提供商的规模经济效应使得他们能够通过购买商品化硬件和经过精细调整的运营流程来优化企业的成本结构。  多租户 教育云可以 被多个组织机构(又称多租户 ,每个区教育机构都可以作为一个租户来看待 )同时使用着,并且引入了一系列机制来保护和隔 离每个租户的数据和使用。 汇聚所有 租户 使用的资源是实现可扩展性和节约成本的重要因素。 19 . 虚拟化及云 OS 物 理 机 网 络 、 电 源 、 I S C S I虚 拟 机 云 存 储海 量 数 据 处理 平 台应 用H O S T云 监 控 、 云 资 源 调 度 、 云 安 全 管 理 作为教育系统的基本设施,其应用必然构建在云平台基础之上,提供不同操作系统和应用支撑环境的虚拟主机服务,这些虚拟主机的资源可以根据应用的需要进行灵活配置,动态调度、智能监控,实现系统计算资源、存储资源、网络资源的统一分配和调度,也就是 IAAS层。 同时,考虑应用系统的通用性要求,提供支撑各种协议的云存储系统和支撑分布式扩展的 NOSQL 数据库,为 PAAS和 SAAS 层提供数据库服务和存储服务,并提供各种应用和开发语言的 API 接口。 如下图所示: 20 软 件 即 服 务平 台 即 服 务基 础 设 施 即 服 务应 用学 业 评 估 电 子 邮 件在 线 聊 天 工具. . .平 台编 成 语 言A p l s开 发 环 境虚 拟 化管 理 虚 拟 化 计 费硬 件内 存 计 算 存 储主 机 托 管固 定 资 产 电 源 冷 却 带 宽 云平台系统提供如下的服务:  实体机资源管理  虚拟机模板建立  从模板建立虚拟机  从 ISO 建立虚拟机  共享安装软件管理  虚拟机用户管理  虚拟机资源监控和调整  USB 资源管理(包含软件狗)  虚拟机备份和克隆、导入导出  虚拟机关机、开机、休眠、快照、删除  虚拟机恢复  虚拟机动态迁移  虚拟机远程桌面和 ssh  虚拟机与本机资源共享及控制  虚拟机安装软件动态上传和共享空间管理  虚拟机和实体机安全管理  虚拟机磁盘静态和动态增加 21  虚拟机光盘管理  实体机共享存储管理  系统日志管理  对应机器的磁盘挂接到另一个虚拟机等等 这些功能要求有统一的平台和界面进行远程管理,并且要求在虚拟化时支持同类型 OS的内存共享、容许大页面, . 云存储 云存储层次结构框架分为:底层的本地或局域虚拟存储层和虚拟资源层、三种不同类型的云存储层、安全访问接口层和应用层、贯穿三种不同类型的云存储层,主要用于虚拟资源管理系统对云存储层和安全访问接口层进行管理,从基 础的存储层到展现的应用层,始终贯穿着云存储安全管理。 具体的层次结构由下至上包括:本地或局域虚拟存储层和虚拟资源层、分布式高可靠性大文件云存储层、基于表的结构云存储层、流数据云存储层、云存。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。