中间件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篇]> 中围绕着一个经过极度简化的模拟 ...
随机推荐
- Android基础总结(四)
网络图片查看器 确定图片的网址 发送http请求 URL url = new URL(address); //获取连接对象,并没有建立连接 HttpURLConnection conn = (Http ...
- Android 横竖屏+碎片的应用
最终效果展示: 项目介绍: 通过碎片的方式显示标题列表和内容,其中也牵涉到横竖屏的知识 项目代码下载:http://files.cnblogs.com/files/Laopengblog/%E7%A2 ...
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊
2002: [Hnoi2010]Bounce 弹飞绵羊 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 9071 Solved: 4652[Submi ...
- 小尝试一下 cocos2d
好奇 cocos2d 到底是怎样一个框架,正好有个项目需要一个游戏框架,所以稍微了解了一下.小结一下了解到的情况. 基本概念 首先呢,因为 cocos2d 是基于 pyglet 做的,你完全可以直接用 ...
- Zabbix监控nginx-rtmp status(json版)
与前面的文章 zabbix监控nginx-rtmp status(html版)区别只在于取值的页面不一样 http://127.0.0.1:81/control/get/all_streams sta ...
- 【技巧】为ComboBox添加自动提示
一.需求来源 最近有个项目用到了ComboBox控件,在演示的时候,要对Word文档中选中部分添加符合DocBook标准的标签,这些标签是DocBook中元素的集合,数据量不多,大概170多个吧,但是 ...
- myql Connect
mysql折腾笔记 2014-01-05 10:58 经常吹嘘自己玩过各种数据库. redis, mysql, sqlite, mongodb..常用数据库都不在话下,不料今天却在远程连接mysql上 ...
- 使用Microsoft Web Application Stress Tool对web进行压力测试
Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法.Web 压力测试通常是利用一些工具,例如微软 ...
- Active Record 数据迁移
1.创建controler: welcome ;action: index $ rails generate controller welcome index 2.创建名为Article的model定 ...
- Linux基础知识整理
一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...