关于中间件的理解

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 我的理解是中间件是“面向软件开发或集成商的不是面向最终客户”的软件。 主要任务是帮助用户灵活、高效地开发和集成复杂的分布式系统。 最突出的特点是其网络通信功能。 中间件可以理解为把分布式软件的通用功能抽象出来作成软件半成品,相当于工程预制件,由软件开发集成商挑选适合自己的部分使用。 分布式软件系统的最大特点是异构,不同硬件、操作系统等等,所以中间件第一要解决的应该就是这个问题,所以最早的中间件也是这一类的。JVM 一处编译到处执行就是这个思想的实践产品,平台中间件,或低层中间件,接下来可能就是ODBC了,解决了异构环境的不同数据库的访问,有些产品也算是半成品,如hibernate。 COBRA此类中间件解决了更复杂的问题,异构应用系统的相互访问,跨平台数据通信。之后才有了RMI和DCOM。 消息中间件解决分布系统的数据传输。 日志中间件,安全中间件,目录中间件,事务处理(交易)中间件等。 高级中间件有工作流, 门户中间件, 最后是面向专业领域的中间件。 用服务器又称为“应用服务器软件平台”(Application Server Software Platform,简称为ASSP),是最重要的一类中间件软件。中间件软件市场的演进,创造了许多种类的中间件,也使得清楚地了解中间件解决方案更加复杂化。 关于中间件很好的论述: http://tech.ccidnet.com/pub/html/tech/middleware/index.htm http://www.360doc.com/content/05/0908/13/494_11133.shtml http://middleware.csdn.net/page/78ece7b4-8a64-4e40-9782-6e3cc571cabb http://www.onlyit.cn/mba_article/at_h/at_h_01550_353.htm http://www.ciotimes.com/lb/20100511/speech/201005111545.html http://it.bbn.com.cn/detail.phtml?infoid=63667 http://www2.ccw.com.cn/04/0427/a/0427a27_3.asp baidu “分析中间件”
posted @ 2010-06-27 17:11  就是喜欢  阅读(1503)  评论(1编辑  收藏  举报