首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
负载均衡
sftp
grafana
ssh
服务器
tengine
apache
容器
vagrant
grep
devops
debian
shell
nginx
k8s
touch
log4j
centos7
centos
unix
awk
ftp
zsh
4层
syslog
运维
docker
fabric
kubectl
linux
server
交换机
dns
ubuntu
colors
crontab
sudo
jenkins
tomcat
压力测试
curl
port
service
cron
路由器
7层
当前位置:
开发笔记
>
运维
> 正文
中间件的概念与演变
作者:手机用户2502883723 | 来源:互联网 | 2017-08-17 21:31
中间件的概念与演变--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
从Tuxedo、应用服务器,到EAI、构件、SOA,究竟什么才是中间件?
什么是中间件?在一个具体的应用项目之中,到底能不能够不用中间件?这也是中间件厂商经常被问到问题之一。之所以有此一问,说明了用户只是知道了中间件,听说其很重要,但并真正不知道什么是中间件。
我们最早知道的中间件是一个称为Tuxedo的东西,实质上它是一个交易中间件。1998年IDC公司对于中间件有一个定义,并根据用途将其划分为6个类别。如今所保留下来的只有消息中间件和交易中间件,其他的已经被逐步融合到其他产品中了,被包裹进去了,在市场上已经没有单独的产品形态出现了。例如,当时有一个叫屏幕数据转换的中间件,其主要是针对IBM大机终端而设计产品,用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面,类似的东西当时都称为中间件。但随着IBM大机环境越来越少,盛行一时的此类中间件如今已经很少再被单独提及。
2000年前后,互联网盛行起来,随之产生了一个新的东西,就是应用服务器。实际上,交易中间件也属于是应用服务器,为了区分,人们传统的交易中间件称为分布交易中间件,因它主要应用在分布式环境下,而将新的应用服务器,称为J2EE中间件,到目前为止,这都是市场上非常热门的产品。
EAI概念出来之后,市场上又推出了一些新的软件产品,例如工作流、Portal等,但从分类上不知道怎么归类,向上不能够划归应用,往下又不能归入操作系统,于是就把它归入了中间件,如此中间件的概念更加扩大了。目前,市场上对于中间件,各家的说法不一,客观上也导致了理解上的复杂性。
如今,市场上又推出了很多新的概念,例如三层结构、构件、Web服务,其中风头最劲的当属SOA(面向服务的架构)。实际上,他们都不是一个产品,而是一种技术的实现方法,是开发一个软件的一种方法论。我们知道,最早软件开发方法就是编程、写代码的,其缺点在于无法复用,为此提出了构件化的软件开发方法,通过把编程中一些常用功能进行封装,并规范统一接口,供其它程序调用,例如我们开发一个新软件,可能要用到构件1、构件2、构件3,那么,我们只要对其进行本地组装,就可以得到我们想要的应用软件。在互联网得到普及重视之后,软件开发方法在构件化基础上又有新发展,核心思想是软件并不需要囊括构件,所需要的仅仅是构件的运行结果,例如编写一个通信传输软件,就可以到网上寻找构件,并提出服务请求,得到结果后返回,而不需要下载构件并打包,这就是现在所说的SOA。想要现实SOA,就要规范构件接口,同时还要规范构件所提交的服务结果,如此,新的软件开发的思想才能够行的通。但SOA并不是一个产品,而是一种思想方法,而实现这种方法的基础,如今看来只有中间件。
那么,到底什么才是中间件,什么不是中间件?中间件应该具备两个关键特征:首先要为上层的应用层服务,这是一个基本条件;此外,又必须连接到操作系统的层面,并且保持运行工作状态,具备了这样两个特征才能称为中间件。现在很多人把开发工具也称为中间件是不合适的,因为开发工具开发出来的软件,并不依赖开发工具与底层操作系统连接。
服务器
分布式
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
运维
大量研发 销售 产品 设计 市场 岗位!
关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ...
[详细]
蜡笔小新 2023-12-13 21:02:32
linux
Oracle优化新常态的五大禁止及其性能隐患
本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ...
[详细]
蜡笔小新 2023-12-12 12:55:55
nginx
一句话解决高并发的核心原则
本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ...
[详细]
蜡笔小新 2023-12-12 10:56:24
linux
Centos下安装memcached+memcached教程
本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ...
[详细]
蜡笔小新 2023-12-10 17:10:24
shell
解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ...
[详细]
蜡笔小新 2023-12-10 13:37:58
linux
rhel5.5搭建网关+LAMP+postfix+dhcp的步骤和配置方法
本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ...
[详细]
蜡笔小新 2023-12-14 17:13:20
linux
数字账号安全与数据资产问题的研究及解决方案
本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ...
[详细]
蜡笔小新 2023-12-12 19:43:01
linux
期待已久的革命:金融科技+分布式金融
在当前金融科技 ...
[详细]
蜡笔小新 2023-12-12 12:33:21
linux
OpenStack及其构成简介
本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ...
[详细]
蜡笔小新 2023-12-12 06:47:38
linux
Python开源库和第三方包的常用框架及库
本文介绍了Python开源库和第三方包中常用的框架和库,包括Django、CubicWeb等。同时还整理了GitHub中最受欢迎的15个Python开源框架,涵盖了事件I/O、OLAP、Web开发、高性能网络通信、测试和爬虫等领域。 ...
[详细]
蜡笔小新 2023-12-11 18:24:06
ssh
SpringBoot整合SpringSecurity+JWT实现单点登录
SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ...
[详细]
蜡笔小新 2023-12-11 08:21:41
ssh
javascript和java的关系,JavaScript和java的关系
Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ...
[详细]
蜡笔小新 2023-12-11 04:03:31
apache
Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ...
[详细]
蜡笔小新 2023-12-09 19:14:50
apache
2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ...
[详细]
蜡笔小新 2023-12-09 19:11:31
apache
ElasticSerach初探第一篇认识ES+环境搭建+简单MySQL数据同步+SpringBoot整合ES
一、认识ElasticSearch是一个基于Lucene的开源搜索引擎,通过简单的RESTfulAPI来隐藏Lucene的复杂性。全文搜索,分析系统 ...
[详细]
蜡笔小新 2023-12-09 10:36:06
手机用户2502883723
这个家伙很懒,什么也没留下!
Tags | 热门标签
负载均衡
sftp
grafana
ssh
服务器
tengine
apache
容器
vagrant
grep
devops
debian
shell
nginx
k8s
touch
log4j
centos7
centos
unix
awk
ftp
zsh
4层
syslog
运维
docker
fabric
kubectl
linux
RankList | 热门文章
1
我的桌面上总有DAAddrBar……怎么取消?
2
Outlook中转移大批电子邮件的方法
3
PAT 团体程序设计天梯赛练习集 L1008. 求整数段和
4
Oracle RAC(Real Application Clusters)とは
5
[leetcode]53. 最大子序和S
6
网站性能优化利器:LightHouse全面检查各项指标,多种优化方案可选
7
C++和C++程序员快要被市场淘汰了?
8
在android里面第三方SDK如何复用应用的TCP连接session?
9
python datetime.strptime,python strptime strftime
10
django 搭建mysql数据库全过程
11
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' execut
12
Autoware 进行 Robosense16 线雷达与 ZED 双目相机联合标定!
13
centos系统_CentOS系统没有javac命令
14
寝室只有一个网络端口,由五台电脑共同使用。我们用两个四孔路由连接,求连接和设置方法。
15
ASAv931安装初始化及ASDM管理
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有