一.中间件含义:中间价是位于各种平台(硬件和操作系统)和各种应用之间的通用服务。

帮助应用实现高效的、可靠的消息
使应用之间实现便捷的互联互通
高效、可靠构建企业应用
实现分布式应用的快速搭建和部署
注:中间件是软件;在应用软件和系统软件之间;是一类软件,不是一种。

二.中间件的优势

用户服务层:提供信息浏览,服务定位,主要实现用户界面,保证用户界面的友好性和统一性
业务处理层:实现客户的全部业务逻辑
数据服务层:实现数据定义、存储、备份、检索等功能。主要有数据库系统实现。

例:

  广泛应用的标准结构:用户使用访问标准浏览器通过Internet和http协议访问服务方提供的Web服务器,Web服务器解析用户浏览器提出的请求,如果是页面请求,则通过http协议返回用户要浏览的页面。如果有数据库操作的请求(修改、添加记录等),则这个需求则传给Web服务器和数据库之间的中间件,由中间件再向数据库提出操作请求,得到结果返回给Web服务器,Web服务器把数据库操作的结果形成html页面 ,再返回给浏览器。

1.CGI(公共网关接口)
是一种Web站点上可以用来访问Web站点的用户交互的各种程序的标准(允许用户在浏览器上访问数据库,完成各种数据库操作)
缺点:执行效率低,因为Web服务器支持并发访问,对每个数据查询请求都要启动一个CGI进程
2.ASP(Active Sever Pages)
ASP是一种开放的应用程序环境
3.JSP(Java sever Page)

三.中间件领域划分
一般分为两类:
底层中间件,用于支撑单个应用系统,常用中间件有交易中间件、应用服务器、消息中间件、数据库访问中间件;
高层中间件,用于系统整合,包括企业用集成中间件、工作流中间件、门户中间件等,常与多个应用系统进行交互

另外还有应用中间件、业务架构中间件、移动集成中间件、数据量访问中间件等。

例:

  1. 事务处理(TP:TransactionProcessing)监控器:为发生在对象间的事务处理提供监控功能,以确保操作成功实现。
  2. 分布式计算环境(DCE:DistributedComputingEnvironment):指创建运行在不同平台上的分布式应用程序所需的一组技术服务。
  3. 远程过程调用(RPC:RemoteProcedureCall):指客户机向服务器发送关于运行某程序的请求时所需的标准。
  4. 对象请求代理(ORB:ObjectRequestBroker):为用户提供与其他分布式网络环境中对象通信的接口。
  5. 数据库访问中间件(DatabaseAccessMiddleware):支持用户访问各种操作系统或应用程序中的数据库。
  6. 信息传递(MessagePassing):电子邮件系统是该类中间件的其中一种。
  7. 基于XML的中间件(XML-BasedMiddleware):XML允许开发人员为实现在Internet中交换结构化信息而创建文档。

四.中间件作用
主要为各种应用程序抽象出通用的公共部分,以降低应用的开发的复杂程序
1】负责客户机和服务器间的联接和通讯
提供客户机与应用层的高效率通讯机制;提供应用层不同服务器之间的互操作机制;提供应用层与数据库之间的联接和控制机制
2】提供一个多层结构的应用开发和运行平台
提供一个应用开发框架,支持模块化的应用开发;提供交易管理机制,保证分布式教育处理结果的一致性;提供应用的负载均衡和可用性;提供应用的安全机制;提供应用的管理功能等。

  • 中间件的重要性
  • 缩短了开发周期
  • 节约应用程序开发成本
  • 降低故障率
  • 减少软件维护
  • 提高质量

中间件Study-了解什么是中间件的更多相关文章

  1. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  2. nodeJs,Express中间件是什么与常见中间件

    中间件的功能和分类 中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我们想做的事情.Express文档中对它的作用是这么描述的: 执行任何代码.修改请求和响应对象.终结请求-响应循环.调用 ...

  3. redux 中间件 --- applyMiddleware 源码解析 + 中间件的实战

    前传  中间件的由来 redux的操作的过程,用户操作的时候,我们通过dispatch分发一个action,纯函数reducer检测到该操作,并根据action的type属性,进行相应的运算,返回st ...

  4. asp.net core 系列之中间件进阶篇-编写自定义中间件(middleware)

    中间件是被用到管道(pipeline)上来处理请求(request)和响应的(response). asp.net core 本身提供了一些内置的中间件,但是有一些场景,你可能会需要写一些自定义的中间 ...

  5. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  6. .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理

    .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理 0x00 问题的产生 管道是.NET Core中非常关键的一个概念,很多重要的组件都以中间件的形式存在,包括权限管理.会话管理 ...

  7. 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?

    ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...

  8. ASP.NET Core 中间件详解及项目实战

    前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的,比较贴合实际应用,算是对中间件的一个深入使用了,不是简单的Hello World,如果你觉得本篇文章 ...

  9. ASP.NET Core真实管道详解[1]:中间件是个什么东西?

    ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 <ASP.NET Core管道深度剖析[共4篇]> 中围绕着一个经过极度简化的模拟 ...

随机推荐

  1. 格式工厂 v4.0.0 最新去广告绿色纯净版

    最好用的多媒体格式转换利器:格式工厂现已更新至v4.0,此次更新加入最新的HEVC(H265)编码,MP4,MKV的压缩比大幅度提高!格式工厂,轻松转换一切你想要的格式!利器在手,转换不愁! 格式工厂 ...

  2. Datatables事件

    DataTables格式化渲染加上的html代码按一般方式绑定事件可能会没效果,通过以下方式可以解决 $(document).on("click","#checkchil ...

  3. 将上传图片转成base64(转)

    效果如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"><titl ...

  4. supermpa配置遇到的问题

    环境 vs2010  supermap idesktop7.1.2  iobject7.1.2.net windowform 问题 在安装iobject7.1.2 64位时 在vs中的工具箱是不显示s ...

  5. js正则表达式(1)

    定义正则: var reg = new RegExp('a'); //实例化对象,参数是我们想要制定的规var reg = /a/; //简写方法 正则的常用方法: 1.test():在字符串中查找符 ...

  6. matlab下二重积分的蒙特卡洛算法

    %%monte_carlo_ff.m %被积函数(二重) function ff=monte_carlo_ff(x,y) ff=x*y^2;%函数定义处 end %%monte_carlo.m %蒙特 ...

  7. Web API系列(一)设计经验与总结

    在移动互联网的时代, Web服务已经成为了异构系统之间的互联与集成的主要手段,各种 Web服务几乎都采用REST风格的Web Api来构建. 通过Http协议的形式来. 以Get/Post方式发送请求 ...

  8. redis技巧--IP地址查询对应城市

    场景: 根据IP地址判断用户所在地,虽然网上有好多篇了,但我记录一个一看就懂的,不用看超长文字再自己理解了. 我们有城市和IP地址段的对应关系,如: 上海: 202.127.0.0 ~ 202.127 ...

  9. 微软压力测试工具 web application stress

    转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba  铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...

  10. Unity3D 动态改变地形

    直接获取TerrainData进行修改即可 using System.Collections; using UnityEngine; using UnityEditor; public class D ...