中间件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)

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

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

例:

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

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

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

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

Django进阶(路由系统、中间件、缓存、Cookie和Session

路由系统 1.每个路由规则对应一个view中的函数 url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage), url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}), 2.根据app对路由规则进行一次分类 rl(r'^web/',include('web.urls')), 1.每个路由规则对应

第三百一十六节,Django框架,中间件

第三百一十六节,Django框架,中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的settings模块中,有一个 MIDDLEWARE变量,其中每一个元素就是一个中间件(也就是一个中间件模块的一个类),如下. settings模块中 #中间件 MIDDLEWARE = [ 'django.middleware.security.Securit

Django学习系列之中间件

中间件的定义 中间件是一个.一个的管道,如果相对任何所有的通过Django的请求进行管理都需要自定义中间件 中间件可以对进来的请求和出去的请求进行控制 中间件是一类 django请求生命周期 自定义中间件 process_request(self,request): 请求到达之后之后先执行这个中间件 process_view(self, request, callback, callback_args, callback_kwargs): process_exception(self, requ

linux中web服务中间件软件及服务端和客户端软件

一.中间件: 1.认识中间件: 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务.面向服务的体系结构等中应用比较广泛. IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能. 该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那

node中express的中间件之methodOverride

methodOverride中间件必须结合bodyParser中间件一起使用,为bodyParser中间件提供伪HTTP方法支持. index.html代码: 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>向服务器上传文件</title> 6 <script type=&quo

数据库中间件汇总对比

1. 什么要用数据库中间件 传统的架构模式就是 应用连接数据库直接对数据进行访问,这种架构特点就是简单方便. 但是随着目前数据量不断的增大我们就遇到了问题: 单个表数据量太大 单个库数据量太大 单台数据量服务器压力很大 读写速度遇到瓶颈 当面临以上问题时,我们会想到的第一种解决方式就是 向上扩展(SCALE UP) ,不断增加硬件性能.这种方式只能暂时解决问题,当业务量不断增长时还是解决不了问题.特别是淘宝,facebook,youtube这种业务成线性,甚至指数级上升的情况 此时我们不得不依赖

express 中间件

[express 中间件] 中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量. 1.应用级中间件 应用级中间件绑定到 app 对象 使用 app.use() 和 app.METHOD(), 其中, METHOD 是需要处理的 HTTP 请求的方法,例如 GET, PUT, POST 等等,全部小写

[转]Nodejs基础中间件Connect

Nodejs基础中间件Connect 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开20-30个网页都很流畅.Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低.非常适合小型网站,个性化网站,我们自己的Geek网站!! 关于作者 张丹(Conan),

用UseMiddleware扩展方法注册中间件类

用UseMiddleware扩展方法注册中间件类 .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除了直接用ApplicationBuilder的Use()方法注册中间件外,还可以使用ApplicationBuilder的扩展方法UseMiddleware()注册中间件.这种情况下可以注册类型,这个方法会通过反射解析这个类型,并把它包装成Func<