中间件Study-了解什么是中间件
一.中间件含义:中间价是位于各种平台(硬件和操作系统)和各种应用之间的通用服务。
帮助应用实现高效的、可靠的消息
使应用之间实现便捷的互联互通
高效、可靠构建企业应用
实现分布式应用的快速搭建和部署
注:中间件是软件;在应用软件和系统软件之间;是一类软件,不是一种。
二.中间件的优势
用户服务层:提供信息浏览,服务定位,主要实现用户界面,保证用户界面的友好性和统一性
业务处理层:实现客户的全部业务逻辑
数据服务层:实现数据定义、存储、备份、检索等功能。主要有数据库系统实现。
例:
广泛应用的标准结构:用户使用访问标准浏览器通过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)
三.中间件领域划分
一般分为两类:
底层中间件,用于支撑单个应用系统,常用中间件有交易中间件、应用服务器、消息中间件、数据库访问中间件;
高层中间件,用于系统整合,包括企业用集成中间件、工作流中间件、门户中间件等,常与多个应用系统进行交互
另外还有应用中间件、业务架构中间件、移动集成中间件、数据量访问中间件等。
例:
- 事务处理(TP:TransactionProcessing)监控器:为发生在对象间的事务处理提供监控功能,以确保操作成功实现。
- 分布式计算环境(DCE:DistributedComputingEnvironment):指创建运行在不同平台上的分布式应用程序所需的一组技术服务。
- 远程过程调用(RPC:RemoteProcedureCall):指客户机向服务器发送关于运行某程序的请求时所需的标准。
- 对象请求代理(ORB:ObjectRequestBroker):为用户提供与其他分布式网络环境中对象通信的接口。
- 数据库访问中间件(DatabaseAccessMiddleware):支持用户访问各种操作系统或应用程序中的数据库。
- 信息传递(MessagePassing):电子邮件系统是该类中间件的其中一种。
- 基于XML的中间件(XML-BasedMiddleware):XML允许开发人员为实现在Internet中交换结构化信息而创建文档。
四.中间件作用
主要为各种应用程序抽象出通用的公共部分,以降低应用的开发的复杂程序
1】负责客户机和服务器间的联接和通讯
提供客户机与应用层的高效率通讯机制;提供应用层不同服务器之间的互操作机制;提供应用层与数据库之间的联接和控制机制
2】提供一个多层结构的应用开发和运行平台
提供一个应用开发框架,支持模块化的应用开发;提供交易管理机制,保证分布式教育处理结果的一致性;提供应用的负载均衡和可用性;提供应用的安全机制;提供应用的管理功能等。
- 中间件的重要性
- 缩短了开发周期
- 节约应用程序开发成本
- 降低故障率
- 减少软件维护
- 提高质量
中间件Study-了解什么是中间件的更多相关文章
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...
- nodeJs,Express中间件是什么与常见中间件
中间件的功能和分类 中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我们想做的事情.Express文档中对它的作用是这么描述的: 执行任何代码.修改请求和响应对象.终结请求-响应循环.调用 ...
- redux 中间件 --- applyMiddleware 源码解析 + 中间件的实战
前传 中间件的由来 redux的操作的过程,用户操作的时候,我们通过dispatch分发一个action,纯函数reducer检测到该操作,并根据action的type属性,进行相应的运算,返回st ...
- asp.net core 系列之中间件进阶篇-编写自定义中间件(middleware)
中间件是被用到管道(pipeline)上来处理请求(request)和响应的(response). asp.net core 本身提供了一些内置的中间件,但是有一些场景,你可能会需要写一些自定义的中间 ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理
.NET Core中间件的注册和管道的构建(1)---- 注册和构建原理 0x00 问题的产生 管道是.NET Core中非常关键的一个概念,很多重要的组件都以中间件的形式存在,包括权限管理.会话管理 ...
- 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...
- ASP.NET Core 中间件详解及项目实战
前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的,比较贴合实际应用,算是对中间件的一个深入使用了,不是简单的Hello World,如果你觉得本篇文章 ...
- ASP.NET Core真实管道详解[1]:中间件是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 <ASP.NET Core管道深度剖析[共4篇]> 中围绕着一个经过极度简化的模拟 ...
随机推荐
- c# json总结
json确实很好用,但是网上写的很多都很复杂,不适合自己,然后每次写了又记不住,又要反复找,所以将其中的代码写下来.以后看这个就可以了 都引用了 Newtonsoft.Json 1.ashx,asmx ...
- Django自定义模板
定义simple_tag步骤 一.创建templatetags文件 首先在app下创建templatetags文件:名字不许叫这个,不能改变. 二.在文件中创建一个py文件 文件名自定义 三.在创建的 ...
- begin
经历了一段时间的使用Github发表个人博客,我的感受就是很装逼,但是很麻烦--,因为都是自己手动弄的,还不如博客园方便,还有自己买了域名,但是SEO却提不上起,或者说压根就没有 --#,所以说,经过 ...
- 为什么FFT时域补0后,经FFT变换就是频域进行内插?
应该这样来理解这个问题: 补0后的DFT(FFT是DFT的快速算法),实际上公式并没变,变化的只是频域项(如:补0前FFT计算得到的是m*2*pi/M处的频域值, 而补0后得到的是n*2*pi/N处的 ...
- php中trait(性状)与generator(生成器)
PHP中trait(性状)与generator(生成器) 一.trait (性状) 最近在看Josh Lockhat的<Modern PHP>,这本书很薄.但是其中给出了一个很重要的学习方 ...
- oracle--存储过程--bai
--1 无入参最简单的存储过程 create or replace procedure hello_proc as v_name varchar2(20); v_age number; begin v ...
- UP Board 超详细开箱评测
前言 原创文章,转载引用务必注明链接. 江浙沪就是好,昨天发货今天收到.另外爱板太省了,外包装小纸箱还是6s钢化膜的重复利用. 注意:拍照自带抖动功能,画质大家凑合着看.冬日天气干燥,手触摸板子前建议 ...
- Linux学习之让进程在后台可靠运行的方法详解
我们经常会碰到这样的问题,用 telnet/ ssh 登录了远程的 Linux 服务器http://www.maiziedu.com/course/592/,运行了一些耗时较长的任务, 结果却由于网络 ...
- 移动端自适应:flexible.js可伸缩布局使用
http://caibaojian.com/flexible-js.html 阿里团队开源的一个库.flexible.js,主要是实现在各种不同的移动端界面实现一稿搞定所有的设备兼容自适应问题. 实现 ...
- 记一次WinForm中屏蔽空格键对按钮的作用
事件的起因是在做一个项目功能时,添加快捷键关闭声音,这个键最终选择了空格键,但是当按下空格键时,会把窗体中获取焦点的控件(比如按钮,文本框等)的单击事件触发,所以要屏蔽这个现象. 开始使用各种方法,在 ...