论文部分内容阅读
现代软件的开发过程中,体系结构设计越来越得到重视。软件体系结构不仅指导软件开发的各个过程,也能作用于开发后的软件生命周期阶段,尤其是降低软件维护与演化的高难度与高成本。本文主要针对长春理想科技有限公司iEAI服务器系统,提出了基于iEAI内核的iEAI服务器体系结构设计方案。本文首先分析了iEAI服务器的功能需求。分析了客户端与服务器间的远程通信方式。分析了远程通信中涉及的数据处理功能,包括数据的编码解码、数据的安全以及通信时的通信负载处理。接着根据功能划分,本文分析了iEAI服务器的其他部分功能服务。在分析过程中,本文采用UML对需求进行了分析和建模。分析了iEAI服务器需求后,本文介绍了四个重要的系统体系结构模式Layer、MVC、Broker和MicroKernel,分别介绍了它们的实现特点,分析了它们的优点。接着,根据iEAI服务器的特点,参考了四个体系结构模式的设计思路,本文提出了iEAI服务器的体系结构设计方案,即基于iEAI内核的iEAI服务器体系结构设计方案。该方案将iEAI服务器分解为iEAI内核、系统通信服务、分布式服务器集群管理、消息服务、安全服务、存储服务、工作流引擎、Web服务、日志服务等若干组件,每个服务组件都有自己的对外接口。在通常情况下,组件与组件之间的通信都是通过函数调用的方式进行。在本文的体系结构设计方案中,组件与组件之间的通信不是采用直接的函数调用方式,而是采用基于iEAI内核的服务/响应协调方式。在服务器启动之初,服务器上的所有组件均须在iEAI内核中注册。一个组件需要另一个组件提供服务时,它将需要的服务打成Request请求包交给iEAI内核,再由iEAI内核转发给相应的服务组件。服务组件接收到Request请求后,执行相应的服务,生成Response响应包发给iEAI内核,再由iEAI内核将响应包转发给服务请求的发出者。与函数调用这种组件间通信方式不同的是,本文采用的组件间通信方式松<WP=62>散了服务器组件间的耦合度,提高了系统的可维护性和组件的可重用性。由于每个组件在提交服务请求时并不需要知道提供服务的组件的位置,它只需要知道iEAI内核的存在,因此,这种组件间通信方式也实现了组件间的位置无关性,使得更易于搭建分布式运行环境。iEAI内核除了协调组件间的通信外,它还负责iEAI服务器的启动、初始化、停止等,负责管理服务器中的各服务组件,包括各组件的装载、启动、初始化、停止等。当需要为iEAI服务器增加或者裁减某个功能服务时,只需修改iEAI内核少量代码即可完成对组件的加载和卸载,这种修改不会影响到被加载和被卸载的组件以及其他服务组件。因此,这种体系结构也在一定程度上提高了iEAI服务器的可伸缩性。在介绍了iEAI服务器的体系结构设计后,本文接着给出了iEAI服务器部分组件的设计和实现。最后,本文给出了需要进一步完善的工作,包括设计更高效的编码解码算法和研究组件的动态替换和升级。