FuseESB Enterprise理论及架构思想

本文详细解析了官方对FuseESB的定义,包括其作为开放、基于标准的集成平台,如何通过服务导向架构原则和标准化打包框架简化不同应用间的整合。文中引用了David Chappell和维基百科的定义,强调了ESB在企业计算基础设施中的作用。 FuseESB的特点包括轻量级特性、基于OSGi框架的简化、FAB机制、支持JSR208和多种底层服务连接能力。其架构分为Kernel层、Service层和Applicaton层,提供了丰富的功能如异步消息传输、智能转换和路由、安全性和事件驱动架构。此外,文章解释了FuseESB如何激活部署的Bundle,以及其内核作为mini版操作系统的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方对FuseESB的定义:

Fuse ESB is an open, standards based integration platform. It reduces the complexity of

integrating disparate applications by leveraging the service oriented architecture principles

and standardized packaging frameworks.

1. ESB理解

    David Chappell 在Enterprise Service Bus一书中对ESB的定义:

    An ESB is a standards-based integration platform that combines messaging, web services,

    data transformation, and intelligent routing to reliably connect and coordinate(调整) the

    interaction of significant(有意义) numbers of diverse(不同的) applications across extended

    enterprises with transactional integrity(完整性).
                                                                                                           —David A. Chappell

 

    Wikipedia对ESB的 定义:

    An ESB generally provides an abstraction layer on top of an implementation of an enterprise

    messaging system, which allows integration architects to exploit(使用) the value of

    messaging without writing code. Contrary(与...相反) to the more classical(古典的) enterprise

    application integration (EAI) approach of a monolithic(单片) stack in a hub(集中) and spoke

    architecture,  the foundation of an enterprise service bus is built of base functions broken

    up into their constituent parts, with  distributed deployment where needed, working in

    harmony(协调) as necessary.
                                                                                                           —Wikipedia

    松散耦合对ESB的定义:

    An ESB acts as a shared messaging layer for connecting applications and other services

    throughout an enterprise computing infrastructure. It supplements(补充) its core
    asynchronous messaging backbone(骨干) with intelligent(智能) transformation(转换) and

    routing to ensure messages are passed reliably(可靠). Services participate in the ESB using

    either web services messaging standards or the Java Message System (JMS). Originally

    defined by analysts(分析家) at Gartner, ESB is increasingly seen as a core component in a

    service-oriented infrastructure.
                                                                                                           —looselycoupled.com

    ESB提供的四大服务:

    (1) Transport mediation

    (2) Dynamic message transformation

    (3) Intelligent routing

    (4) Security

2. FuseESB的Features

    (1) 轻量级的,可以运行在多个平台上;

    (2) 使用OSGi Framework简化应用程序组件;

    (3) 提供了一个FAB(Fuse Application Bundle)机制来自动化创建和管理OSGi Bundle.;

    (4) 支持JSR208:JBI;

    (5) 很容易的与其他的底层服务:传输协议和数据格式连接;

    (6) 使用标准,尽可能的降低依赖;

    (7) 支持Event-driven architecture.

3. FuseESB架构

    架构图将附件:The Fuse ESB Architecture.rar.

    FuseESB采用分层架构的思想,主要分三个层次:

    (1) Kernel层

    基于Apache Karaf, 十一个基于OSGi的运行环境,提供了一个轻亮级的容器,用于部署各种组件和应用程序。提

    供一下Features:

    Console:Shell环境,便于配置FuseESB组建;

    Logging: 提供日志功能;

    Deploymnet: 部署OSGi Bundle,WAR,FAB;

    Fuse Application Bundle:自动化创建和管理OSGi Bundle;

    Provisioning:Aplication客来自热部署,Maven仓库,远程下载;

    Configuration: 监控/etc目录下配置文件的改变;

    Security: 提供基于JAAS的容器实例,消息服务的安全;

    OSGi Container:支持Equinox和Felix;

    Dependency injection framework: 支持Blueprint和Spring.

    (2) Service层

    由内嵌的服务的接口和实现组成,与应用层进行交互,使用用户开发的应用程序来访问和使用Service层的服务。

    提供以下Features:

    Messaging:提供基于ActiveMQ的支持;

    Routing and Integration: 提供基于Camel的支持;

    Web Service: 提供基于CXF的支持,创建JAX-WS web services;

    RESTful services:提供基于CXF的支持,创建JAX-RS web services;

    JBI:支持JBI1.0;

    Transaction Manager:支持基于Spring的JTA的;

    Normalized Message Router (NMR):用于在OSGi 容器中的各种应用Bundle之间传递消息。

    (3) Applicaton层

    提供大量的API共用户访问Service层,以开发应用程序。

4. How Fuse ESB Enterprise Activates a Deployed Bundle?

     Fuse ESB的内核就像一个mini版的操作系统,它负责创建和管理一个运行环境,用于部署的应用程序。它负责

     提供一个执行环境用于满足应用程序中每个Bundle的MAINFES.MF文件的需要,通过读取Blueprint或Spring配

     置文件,它创建每个Bundle所需的资源,如果Bundle是Service Provider则注册服务至OSGi Service Registry,

     这样Service Consumer可以使用这个注册的服务并使用他。

     详见下面的:Figure 2.2. Steps in activating a deployed route.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值