跟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应用服务器的区别的更多相关文章

  1. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  2. 【转】WEB服务器与应用服务器的区别

    https://blog.csdn.net/liupeng900605/article/details/7661406 一.简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器 ...

  3. WEB服务器与应用服务器的区别

    一.简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先要理解什么是WEB?WEB可以简单理解为我们所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就 ...

  4. 容器、应用服务器和web服务器的区别

    什么是容器 servlet没main()方法.它们受控于另一个java应用,这个java应用称为容器(Container)Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向serv ...

  5. WEB 容器、WEB服务和应用服务器的区别与联系

    Web容器:    何为容器?    容器是一种服务调用规范框架,j2ee大量运用了容器和组件技术来构建分层的企业级应用,在J2EE规范中,相应的有Web Container和EJB Containe ...

  6. Web服务器、应用程序服务器、web应用服务器、反向代理服务器

    参考链接:https://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html 首先我们来了解什么是服务器(server) 一般来说,serve ...

  7. 走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  8. WCF 、Web API 、 WCF REST 和 Web Service 的区别

    WCF .Web API . WCF REST 和 Web Service 的区别 The .Net framework has a number of technologies that allow ...

  9. OpenResty 是一个全功能的 Web 应用服务器

    OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过众多进行良好设计的 ...

随机推荐

  1. Difference Between Mod_Python & Mod_Wsgi | eHow

    Difference Between Mod_Python & Mod_Wsgi | eHow     x    YES    NO    Why not?     Thanks for he ...

  2. Android学习总结——Service组件

    从Service的启动方式上,可以将Service分为Started Service和Bound Service.在使用Service时,要想系统能够找到此自定义Service,无论哪种类型,都需要在 ...

  3. 多点触控插件Hammer.js

    插件描述:Hammer.js是一个开源的,轻量级的javascript库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件. 使用方法: <script src=<span class ...

  4. SQL SERVER 2005 请求失败或服务未及时响应

    出现的问题如图所示,在开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager中,打开 ...

  5. EF 事务处理 (InnoDB Engine的MySQL表也可以)

    备忘 1. 亲测(可以嵌套使用) using (TransactionScope scope = new TransactionScope()) { //操作1 XXEntities.Current. ...

  6. XML及PullParser解析

    一.什么是XML 1.概念:extensive markup language(可扩展的标记语言) XML是一种通用的数据存储和交换格式,与平台无关,与编程语言无关,与操作系统无关.给数据集成和交互提 ...

  7. c#&.NET3.0高级程序设计-02 Enum Demo

    Enum 实例 using System; using System.Collections.Generic;   public class MyClass {     enum EmpType    ...

  8. [jquery] 图片热区随图片大小自由缩放

    在图片上直接画出带超级链接热区元素map和area相信大家并不陌生,Dreamweaver等网页制作软件都有直接在图片上绘制带超级链接的热区工具,但是直接绘制的热区是不能随着图片自适应放大和缩小的,现 ...

  9. java poi 导入excel

    最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包  http://pan.baidu.com/s/1sjPuWDR pack ...

  10. python-整理-面向对象

    python的类和perl的类有相似之处,类的方法的第一个参数是表示类的对象自己,相当于c#的this python中定义类 class person: ''示例类,人'' count=0; def ...