Mule与其它web应用服务器的区别
跟JBoss、Tomcat或其它web应用服务器相比,Mule有何不同?虽然他们有一些重要的相同点,不同点可以归结为你想达到的目标是什么。某些种类的应用对于Mule来说比较容易去编写、部署和管理,其它种类的应用可能对于web应用服务器来说比较容易编写、部署和管理。
首先来看看相同点:
- 它们都允许你同时运行多个应用。
- 它们都提供应用容器。换句话说,两者都提供一个应用可以运行的环境,扮演一个应用代码与操作系统中介的角色,并且提供数据库访问、更简单的网络通信、内存管理、生命周期管理以及其它服务。
- 它们都允许你在运行时管理你的应用。
不同点:
由于Mule的核心业务是作为一个集成平台,其工作方式与web应用服务器不同。Mule专注于以下三件事情:
- 作为应用平台将数据从一个地方转移到另一个地方——通常在转移途中转换数据使其在其它端点可读。
- 向其它应用输出服务。
- 汇集服务。
简单地说,创造Mule的目的是使得“软件--软件”的交互更加容易。而web应用服务器的设计目的是使得“软件--末端用户”的交互更加容易。如果你需要实现一个用户接口,一个web应用容器通常是一个更好的选择。这并不意味着Mule不可能实现它,而是因为这样做可能是浪费时间,将问题复杂化了。
Mule
|
web应用服务器
|
---|---|
Mule 支持面向服务的架构 |
web应用支持多层架构 |
Mule 专注于集成不同的应用、数据库以及云服务 |
web应用专注于与末端用户进行交互 |
Mule 应用是无状态的、事件驱动的 |
web应用是有状态的 |
与此相反的是,web应用服务器支持一种多层架构,将表示、处理和数据管理在逻辑上分为不同的层。使用一个web应用服务器很容易在表示层提供一个图形用户界面,但是它不包含类似Mule的集成功能,而后者允许它无缝连接到数据库或者其它服务。要实现这样的目的,你必须写一些额外的自定义代码。
Mule应用被建造成一系列轻量级的、无状态的组件,存在于一个被称为flow的事件驱动的处理链中(关于flow的更多介绍,请参见笔者翻译的“开源ESB框架Mule基本概念介绍”一文)。数据进入、流经、流出一个Mule应用,将其它应用、数据库、企业系统或者云服务互相连在一起。通过将独立的服务保持在flow元件的各个端点,Mule支持面向服务的体系结构。
你可以顺利地将Mule嵌入到一个web应用服务器中,例如Tomcat或JBoss,你也可以将其它任意web容器嵌入到Muleflow中。利用Mule来进行服务的集成和汇集工作(这正是设计Mule的本意),使用一个应用服务器来处理末端用户的交互,这样能够提供一套完整的功能。
英文原文:How Mule Differs from a Web Application Server
Mule与其它web应用服务器的区别的更多相关文章
- JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器
注意:此为2009年的blog,注意时效性(针对常见服务器) APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...
- 【转】WEB服务器与应用服务器的区别
https://blog.csdn.net/liupeng900605/article/details/7661406 一.简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器 ...
- WEB服务器与应用服务器的区别
一.简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先要理解什么是WEB?WEB可以简单理解为我们所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就 ...
- 容器、应用服务器和web服务器的区别
什么是容器 servlet没main()方法.它们受控于另一个java应用,这个java应用称为容器(Container)Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向serv ...
- WEB 容器、WEB服务和应用服务器的区别与联系
Web容器: 何为容器? 容器是一种服务调用规范框架,j2ee大量运用了容器和组件技术来构建分层的企业级应用,在J2EE规范中,相应的有Web Container和EJB Containe ...
- Web服务器、应用程序服务器、web应用服务器、反向代理服务器
参考链接:https://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html 首先我们来了解什么是服务器(server) 一般来说,serve ...
- 走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- WCF 、Web API 、 WCF REST 和 Web Service 的区别
WCF .Web API . WCF REST 和 Web Service 的区别 The .Net framework has a number of technologies that allow ...
- OpenResty 是一个全功能的 Web 应用服务器
OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过众多进行良好设计的 ...
随机推荐
- Ice_cream's world I
Ice_cream's world I Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) ...
- ARM LDR伪指令使用方法具体解释
LDR伪指令 10.45 LDR pseudo-instruction 功能:把一个32位马上数或一个32位的内存地址载入到一个寄存器中. 注意:这里描写叙述的是LDR伪指令,而不是LDR指令 ...
- 命令行分析java线程CPU占用
1.使用top命令找出占用cpu最高的JAVA进程pid号 2. 找出占用cpu最高的线程: top -Hp -n 1 3. 打印占CPU最高JAVA进程pid的堆栈信息 jstack pid &g ...
- VisualStudio.DTE 对象可以通过检索 GetService() 方法
DTE dte = (DTE)GetService(typeof(DTE)); string solutionDir = System.IO.Path.GetDirectoryName(dte.Sol ...
- 去掉firefox点击按钮时的虚线边框
去掉火狐里面点击按钮时候的虚线边框 button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[t ...
- js常用正则表达式汇总
常用的前台正则表达式汇总. 1.手机号验证 手机格式以1开头,现有的手机格式一般为13.14.15.17.18等 var regMobile = /^1[34578]\d{9}$/; //或者为/^1 ...
- LINQ 操作符(二)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 11i - 12 How To Set Email Style Preference For All Users At Once?
(文档 ID 578574.1) In this Document Goal Solution Workflow Information Center, Diagnostics, & ...
- c# 异步调用简单例子(转载)
首先来看一个简单的例子: 小明在烧水,等水烧开以后,将开水灌入热水瓶,然后开始整理家务 小文在烧水,在烧水的过程中整理家务,等水烧开以后,放下手中的家务活,将开水灌入热水瓶,然后继续整理家务 这也是日 ...
- 杭电OJ—— 1084 What Is Your Grade?
What Is Your Grade? Problem Description “Point, point, life of student!” This is a ballad(歌谣)well kn ...