一.中间件:
1.认识中间件:
中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。
中间件应具有如下一些特点:
①满足大量应用的需要;
②运行于多种硬件和OS平台;
③支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互;
④支持标准的协议;
⑤支持标准的接口。
2.中间件的优势及弊端:
优势:
中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件就几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
弊端:
多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。
3.技术现状:
1、从计算环境来看:中间件面对的是一个复杂、不断变化的计算环境,要求中间件技术具有足够的灵活性和可成长性;
2、从资源管理的角度来看:操作系统和数据库管理系统管理的是有限资源,资源种类有限,资源量也有限,而中间件需要管理的资源类型(数据、服务、应用)更丰富,且资源扩展的边界是发散的;
3、从应用支撑角度来看:中间件需要提供分布应用开发、集成、部署和运行管理的整个生命周期的总体运行模型;
4、从应用的角度来看:利用中间件完成的往往是复杂、大范围的企业级应用,其关系错综复杂,流程交织。例如客户关系管理系统需要集成多个企业内部应用,而供应链管理则涉及企业之间的应用集成。
因此,由于网络应用的复杂性,特别是分布、异构和自治等特点,决定了中间件技术和产品的形态多样性。中间件技术已经形成一个丰富的谱系(图1),并正在向上(应用框架和普适服务)和向下(融合操作系统、数据库管理系统的功能)两个方向不断延伸,并在向更宽广的应用领域拓展。
中间件分类(IDC的分类):大致可分为六类:终端仿真/屏幕转换中间件、数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件。
4.需求发展方向:
可成长性
Internet是无边界的,中间件必须支持建立在Internet之上的网络应用系统的生长与代谢,维护相对稳定的应用视图
适应性
环境和应用需求不断变化,应用系统需要不断演进,作为企业计算的基础设施,中间件需要感知、适应变化,提供对下列环境的支持:
■ 支持移动、无线环境下的分布应用,适应多样性的设备特性以及不断变化的网络环境
■ 支持流媒体应用,适应不断变化的访问流量和带宽约束
■ 在DRE(DIstributed Real-time Enbeded)环境下,适应强QoS的分布应用的软硬件约束
■ 能适应未来还未确定的应用要求
可管理性
领域问题越来越复杂、IT应用系统越来越庞大,其自身管理维护则变得越来越复杂,中间件必须具有自主管理能力,简化系统管理成本。
■ 面对新的应用目标和变化的环境,支持复杂应用系统的自主再配置
■ 支持复杂应用系统的自我诊断和恢复
■ 支持复杂应用系统的自主优化
■ 支持复杂应用系统的自主防护
高可用性
提供安全、可信任的信息服务
■ 支持大规模的并发客户访问
■ 提供99.99%以上的系统可用性
■ 提供安全、可信任的信息服务
提示:
详见百度百科,中间件_360百科 http://baike.so.com/doc/2154861-2280034.html
二:服务端软件:
Apache-httpd、微软IIS、nginx、google-web-server、tomcat
三:客户端软件:
火狐(firefox)浏览器、谷歌浏览器(chrome)、IE、苹果浏览器(safari)