论文部分内容阅读
随着计算机网络的发展,软件工程师在构建、维护和增强高质量的分布式应用软件面临着严峻的挑战,开发者必须对许多复杂问题有深入了解,比如服务的初始化和分布、并发控制、流控制、错误处理、事件循环机制,以及容错。这些在开发中反复出现的、与效率、可扩展性和健壮性相关的设计挑战常常独立于应用特有的需求。成功的开发者通过应用适当的模式和相应的中间件来解决这些挑战。但是,传统上,这些模式是被锁在专家级开发者的头脑里、或是深埋在复杂的系统源码中。
本文结合实习公司中的短信平台系统中的短信网关项目,首先研究了开发灵活、高效的并发网络化应用程序所涉及的各种设计维度、模式和原则方面的知识。
然后,对一种开发并发网络应用系统的主机基础设施中间件-ACE工具包及相关技术进行了研究。ACE(Adaptive CommunicationEnvironment)自适配通信环境对操作系统的并发机制和IPC进程间通信机制进行了封装,提供了集成的可复用C++包装外观(wrapperfacade)和组件来完成常见的通信软件任务。这些任务包括事件多路分离、事件处理器分派、连接建立、路由、应用服务的动态配置,以及并发控制等等,它还包含了许多设计模式的实现。
最后,介绍如何运用ACE的面向对象技术与可复用的软件框架结构等知识实现了对短信网关的设计和实现,给出一个开发和优化复杂分布式系统的实际解决方案。