ApacheCamel简介

ApacheCamel简介

    • 1.AC的目的:
      • ESB要求:
    • 2.AC简介:

1.AC的目的:

为了实现SOA框架,企业需要一套ESB系统,而通过在AC组件基础上二次开发即可达到该目的
ESB全名:企业服务总线,是SOA架构思想的一种实现思路。

ESB要求:

  1. 无论业务系统向外部公布的服务使用哪种调用协议,都可以通过ESB技术进行兼容和转换。

  2. 无论调用协议携带哪一种消息描述格式,通过ESB中间层也可以实现互相转换。

  3. 服务监控管理(注册、安全、版本、优先级)
    既然ESB要对原子服务进行集成,考虑的问题就比较多了。
    首先业务提供提供的服务可能会周期性的变化(迭代、升级)…等复杂情况。
    那么ESB的实现软件中应该有一套功能,能够保证再这样的情况下集成服务依然能够工作。

  4. 还要有一套完整的功能保证服务集成的安全性和权限。
    作为被集成的业务系统,ESB中如何集成它提供的原子服务,前者是不需要关心的。

  5. 服务集成和编排
    为了将多个服务通过ESB技术进行集成,形成一个新的服务,ESB技术必须能够进行服务编排。
    服务编排的作用就是明确原子服务执行的先后顺序、判断原子服务执行的条件、确保集成后的新服务能够按照业务设计者的要求正常工作。

2.AC简介:

Apache Camel 是一个非常强大的基于规则的路由以及媒介引擎,该引擎提供了一个基于POJO的 企业应用模式(Enterprise Integration Patterns)的实现,你可以采用其异常强大且十分易用的API (可以说是一种Java的领域定义语言 Domain Specific Language)来配置其路由或者中介的规则。
通过这种领域定义语言,你可以在你的IDE中用简单的Java Code就可以写出一个类型安全并具有一定智能的规则描述文件。
这与那种复杂的XML配置相比极大简化了规则定义开发。
当然Apache Camel也提供了一个对Spring 配置文件的支持。
Apache Camel 采用URI来描述各种组件,这样你可以很方便地与各种传输或者消息模块进行交互,其中包含的模块有 HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF Bus API。
这些模块是采用可插拔的方式进行工作的。Apache Camel的核心十分小巧你可以很容易地将其集成在各种Java应用中。

Camel的基本原则之一是它不会假设你需要处理的数据类型。这是一个重要的观点,因为它使开发人员有机会整合任何类型的系统,而不需要将数据转换为规范的格式。

Camel提供更高层次的抽象,使您可以使用相同的API与各种系统进行交互,而不管系统使用的协议或数据类型如何。 Camel中的组件提供了针对不同协议和数据类型的API的特定实现。开箱即用,Camel支持80多种协议和数据类型。其可扩展的模块化体系结构允许您实现并无缝插入支持您自己的协议,专有或非专有协议。这些架构选择消除了不必要的转换需求,使Camel不仅更快,而且非常精益。因此,它适合嵌入到其他需要Camel丰富处理能力的项目中。

Apache Camel 官网

系列博客参考文章:

http://camel.apache.org/direct.html
《架构设计:系统间通信(34)——被神化的ESB(上)》
《架构设计:系统间通信(35)——被神化的ESB(下)》
《架构设计:系统间通信(36)——Apache Camel快速入门(上)》
《架构设计:系统间通信(37)——Apache Camel快速入门(中)》
《架构设计:系统间通信(38)——Apache Camel快速入门(下1)》
《架构设计:系统间通信(39)——Apache Camel快速入门(下2)》

你可能感兴趣的:(ETL)