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

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

二.中间件的优势

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

例:

  广泛应用的标准结构:用户使用访问标准浏览器通过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. Scala中apply的用法

    Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every fun ...

  2. centos 安装lnmp

    1:查看环境 cat /etc/redhat-release 2:关闭防火墙 chkconfig iptables off 3:配置CentOS 6.0 第三方yum源(CentOS默认的标准源里没有 ...

  3. Theano Graph Structure

    Graph Structure Graph Definition theano's symbolic mathematical computation, which is composed of: A ...

  4. 【总结】Javascript基础

    1.Javascript的数据类型 Number String Boolean Undefined Null Object 如下图,其中Number.String.Boolean.Undefined. ...

  5. swift实现水仙花数

    //: Playground - noun: a place where people can play import Cocoa for var a in 1...4{ var b = 4 - a ...

  6. Spring MVC学习笔记——文件上传

    1.实现文件上传首先需要导入Apache的包,commons-fileupload-1.2.2.jar和commons-io-2.1.jar 实现上传就在add.jsp文件中修改表单 enctype= ...

  7. Java数据结构——平衡二叉树的平衡因子(转自牛客网)

    若向平衡二叉树中插入一个新结点后破坏了平衡二叉树的平衡性.首先要找出插入新结点后失去平衡的最小子树根结点的指针.然后再调整这个子树中有关结点之间的链接关系,使之成为新的平衡子树.当失去平衡的最小子树被 ...

  8. 使用Gitblit 在windows 上部署你的Git Server

    Gitblit: 在windows 上部署你的Git Server 前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器.学着部署使用 ...

  9. Service Provider Interface

    @(Java)[SPI] Service Provider Interface API的一种设计方法,一般用于一些服务提供给第三方实现或者扩展,可以增强框架的扩展或者替换一些组件. 结构 Servic ...

  10. JS 循环给li绑定参数不同的点击事

    以下内容纯属个人理解,不正确的地方还请大神留言,不胜感激! 源代码:(按个人方式选用一种即可) <ul> <li>1</li> <li>2</li ...