设计课题,中间件方案,ACE

网络程序复杂性

固有复杂性,由所在领域存在的主要难题造成

选择合适的通信机制,并设计良好的协议来有效使用这些机制
有效使用并发机制,使系统获得可预计的,可靠的高性能
设计合理网络服务,以有效利用现有计算资源,并降低将来的维护成本
管理和配置服务,以获得最大程度的系统可用性和灵活性

偶发复杂性,源自开发网络应用软件时使用的工具和技术

缺乏类型安全,可移植,可扩充的原始os api
算法分解的广泛使用,无谓地造成网络应用程序在维护和扩充的困难
网络应用中,核心概念和功能的不断发现和创造,造成软件生命周期的成本无谓的居高不下

4个设计空间

通信空间
并发空间
服务空间
配置空间

面向对象中间件体系结构

主机基础设施中间件 host infrastructure middleware(对os并发和进程间通信机制进行封装,以获得面向对象编程能力)

分布式中间件 distribution middleware(使用并扩充了主机基础设施中间件,使得一些网络编程任务自动化,包括:连接管理和内存管理,整编,解编,端点和请求多路分离,同步,多线程,使用分布式中间件,程序员就可以像开发独立应用程序那样开发分布式应用程序;只需要向目标对象请求操作,不必关心目标对象的位置,语言,OS或硬件)

公共中间件服务 common middleware service(扩展了分布式中间件,定义了更高层次,独立于特定领域的服务,例如,事件通知,日志记录,持久性,安全可恢复事务)

特定领域中间件服务 domain-specific middleware service (可以满足特定领域,如电信,电子商务的特定需求)

ace层次体系结构

  1. networked service compnets layer
  2. framework layer(acceptor, connector,service handler)
    • 事件多路分离和分发框架,ACE Reactor,ACE Proactor
    • 连接建立和服务初始化框架,Acceptor-Connector,将“主动和被动初始化角色”同“初始化结束之后,通信对等服务所执行的应用处理”分离开来
    • 并发框架,Active Object,Half-Sync/Half-Async,将方法的执行和方法的请求,同步处理和异步处理分离开来
    • 服务配置器框架,Component Configurator
    • 流框架,Pipe and Filters
  3. c++ wrapper facade layer
    • 将函数和数据封装在类型安全的面向对象接口中,占代码的50%
  4. os adaptation layer
    • ACE_OS ACE开发者需要了解,占代码的10%
时间: 2024-10-23 02:54:37

设计课题,中间件方案,ACE的相关文章

开放接口/RESTful/Api服务的设计和安全方案

总体思路 这个涉及到两个方面问题:一个是接口访问认证问题,主要解决谁可以使用接口(用户登录验证.来路验证)一个是数据数据传输安全,主要解决接口数据被监听(HTTPS安全传输.敏感内容加密.数字签名) 用户身份验证:Token与Session开放接口Api服务其实就是客户端与服务端无状态交互的一种形式,这有点类似REST(Representational State Transfer)风格.普通网站应用一般使用session进行登录用户信息的存储和验证(有状态),而开放接口服务/REST资源请求则

loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1

参考:http://blog.sina.com.cn/s/articlelist_5314188213_1_1.html loadrunner 场景设计-手工场景方案(Schedule)设计 Part 1 A.   定义方案schedule 在 Scenario Schedule面板中,选择一个方案schedule,或通过点击New Schedule定义一个新的方案 定义schedule: a.新建schedule:点击新建按钮(可选) b.重命名schedule:在Schedule Name输

扁平化设计与配色方案Flat UI

这篇文章将展示很多很酷的范例,甚至还提供了一个免费的用户界面工具包供你下载和使用.但如果是你自己的话,你打算怎么做?给点提示,色彩是扁平化趋势中最重要的一部分. 扁平化设计进修 扁平化设计你可以通俗的理解为:使用简单特效,或者无特效来创建的设计方案,它不包含三维属性.诸如投影.斜面.浮雕.渐变等特效都不要在设计中使用. 扁平化设计给人的感觉通常都很简洁,即使它可以做的很复杂.简单.直接.友好的特性也使得它广受移动界面和时尚网站设计的青睐. 想了解更多扁平化设计趋势,可以看之前的这篇文章.分享一个

大牛是怎么思考设计SQL优化方案的?

今天我们看看,大牛是怎么思考设计MySQL优化方案的,在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程.很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据

大数据量数据库设计与优化方案(SQL优化)

转自:http://blog.sina.com.cn/s/blog_6c0541d50102wxen.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性

大数据量数据库设计与优化方案

转自:https://www.cnblogs.com/zuizui1204/p/9197248.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. 在一个系统分析.设计阶段,因为数据量较小,负荷较低.我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要

设计一个中间件的访问日志组件

对任何一个系统,一个强大的日志记录功能是相当重要且必要的,根据日志的记录可以及时掌握系统运行时的健康状态及故障定位.然而作为web容器存在另外一种日志--访问日志.访问日志一般会记录客户端的访问相关信息,包括客户端ip.请求时间.请求协议.请求方法.请求字节数.响应码.会话id.处理时间等等.通过访问日志可以统计访问用户的数量.访问时间分布等规律及个人爱好等等,而这些数据可以帮助公司在运营策略上做出抉择. 如果让你来设计一个访问日志组件你会如何来设计?你应该很快就会想到访问日志的核心功能就是将信

15.app后端怎么设计用户登录方案

在很多app中,都需要用户的登录操作.登录,就需要用到用户名和密码.为了安全起见,暴露明文密码的次数越少越好.怎么能最大程度避免泄露用户的密码呢?在登录后,app后端怎么去验证和维持用户的登录状态呢?在本文中,给出了一套用户登录的解决方案,以供大家参考. 1. 保证登录的安全性,最起码要使用https协议 避免信息的泄露,最简单的方案是所有涉及到安全性的api请求,都必须要使用https协议. HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议

Django【设计】settings方案

配置文件: 目标:配置文件,默认配置和手动配置分开,参考django的配置文件方案,默认配置文件放在内部,只让用户做常用配置 /bin/settings.py(手动配置) PLUGIN_ITEMS = { "nic": "src.plugins.nic.Nic", "disk": "src.plugins.disk.Disk", } API = "http://127.0.0.1:8000/api/server.ht