APP下载

沈阳机床客服网架构设计

2014-12-30陈海利

科技创新与应用 2014年3期
关键词:系统架构软件工程

摘 要:沈阳机床一直比较注重“科技兴产”。顺利完成集团分配的工作任务之外,还不遗余力的将生产流程中的重要环节优化完善,使生产效率不断提高、安全性得到加强。文章从架构层面解析了沈阳机床客服网的设计原则和考虑。为沈阳机床客服网的高效、稳定可扩张的需求做了概念设计。

关键词:软件工程;系统架构;交互模式

1 需求分析

沈阳机床客服网作为沈阳机场服务系统的资模块,必须达到以下的要求。与前期开发的沈阳机床客服管理系统无缝的结合,充分利用沈阳机床客服管理系统的计算资源和能力,提供优质可靠的服务。通知为了满足企业将来开发的管理系统,让基于沈阳机床客服网的计算能力得到延伸,避免二次开发,系统要以面向服务的形式开发。并向用户暴露各种外部服务的接口以供调用。

2 设计思路

由需求向设计转换。设计是从需求向产品转化的过程,在需求调研阶段,我们确定了系统的功能、系统的质量要求和系统的约束条件。他们都将在不同程度上影响我们的设计。不同的需求,影响架构的原理也不相同。在设计过程中,我们并不是自定向下的又顶层架构做起,而是着眼于更大的目标,由关键需求确定架构。再由其它需求验证,证实他们在现有的框架下可行。如果不可行,则认为遇到技术障碍,需要改善现有的设计。

3 系统分层架构设计

在开发基于沈阳机场客服网过程中,由于应用的复杂性(开发新功能,和原有的系统集成、为未来的系统做设计)。我们需要对系统分层,划分和封装不同的关注点,包括功能性的关注点和基础设施的关注点。否则将系统的关注点业务逻辑,数据获得,报文处理等放在一起处理,破坏了系统的松耦合性。导致各产品组件的独立开发、配置和部署更加复杂。将不同的关注点分离的另一个原因是系统不同因素的变化速率不同。例如系统的界面通常比核心功能变化的快,核心功能比数据库变化的快。修改之应当限定在有限的范围内,而不影响其他的部分——任何涟漪效应都应该避免。沈阳机场客服网,可以划分为四层,系统的边界是用操作系统和互联网。系统内部层次的划分如图1所示。

图1

系统的表现层,我们可以以区分不同的应用包括现有的沈阳机床客服网,以及其它的可能潜在开发应用。在业务处理层,他们其实都是调用同一套业务处理接口。业务处理的对象的来源复杂,他们分别是传统的业务信息数据库,地理信息数据库和webservice服务。在该层我们将数据的访问抽象为统一的接口,以DAO层api的形式暴露给用户,用户不用知道数据的来源。通过层次划分,让每层中得到几个完备的、内聚的、功能相关的Domain Object。严格封装并模块化了同一抽象层次上不同职责的模块。

发送客户端请求和从网络接收回复涉及到各种底层的进程管理,比如连接管理、超时处理和错误侦查等。这些处理如果和数据获得和处理混淆在一起,就会影响系统的松耦合性。因此封装一个特化的Cilent Request Handler,它可以代表客户端组件封装和执行所有的不同进程间的通信任务。客户组件通过它向网络发送响应,并接受响应。在Client Request Handler内部对所有客户端的网络资源实施集中化的执行和管理,可以提高分布式应用的服务质量,尤其是延迟的时间、吞吐量和可伸缩性和资源的利用。客户端在向地图服务发送请求时,由特定的IPC机制进行封装,通信对客户端是透明的。在client request handler 内部,为了处理网络访问的并发性问题,需要对访问的线程进行同步。由于客户每天次访问量不高,我们对ip连接上使用了一个同步锁,每次访问只有一个用户可以进入。(客户访问量不高,切允许访问失败)。

4 可扩展性研究

系统要持续的与已有系统和新开发的系统集成,并且用户界面希望在将来能够支持移动客户。尽管这些改动让存在差异,应用的所有版本基本都是基于一个公共的架構和功能和核心。这样的目的是系统集成过程中不会出现核心框架的修改。Microkernel架构实现了应用所有版本共享的功能,为系统的持续集成某个版本的特有功能提供了基础设施。内部实现是在我完备的特定版本的功能;外部服务实现特定版本的用户界面或API(图2)。对于要增加的外部服务,只需要间响应的内部服务和Microkernel连接起来,并提供合适的外部服务实施其中的功能。

图2

5 交互协议

基于Microkernel的架构设计,我们需要使用一种基于http请求的访问协议来作为系统的API。我们选择了基于restful架构风格的api,REST这个词,它是Roy Thomas Fielding在他2000年的博士论文中提出的。Thomas认为改变应用程序的互动风格比改变互动协议,对整体表现有更大的影响。于是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。Representational State Transfer又称表现层状态转化,所谓“资源”,就是网络上的一个实体,或者说是网络上的一个具体信息。

其消息形式如下

GET /location # 获取locatin列表

获取的返回数据格式如下

{

Alt: "39.9057";

Lng: "105.2715"

}

6 结束语

沈阳机床客服网设计通过分层,内设设计,交互方式设计充分满足了易用性,可扩展性的要求。是一套行之有效的解决方案。为指导沈阳机床客服网编码提供了有效的逻辑架构。

作者简介:陈海利(1987-),男,河北省沧州市,同济大学软件工程专业硕士生在读硕士,研究方向:数据挖掘、软件工程。

猜你喜欢

系统架构软件工程
面向管理信息系统开发的软件工厂技术研究
人工智能在智能机器人系统中的应用研究
基于云计算的多媒体网络学习平台系统架构
依托工作室的软件工程实践教学研究
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
企业大数据建设的技术瓶颈
关于如何创新和完善计算机软件工程管理的探讨