使用ESB实现企业应用持续集成

在文章《Evolutionary integration with ESBs》原文地址( http://www.infoq.com/articles/Evolutionary-integration;jsessionid=343FB1F9A91896EF664974C580B0B34D) 作者以一个具体的应用阐述的了ESB给企业应用集成带来的作用。

作者首先给出了一个案例:

Kjetil 和 Rune 在挪威的阿尔卑斯附近开了一家滑雪服务公司,为了盈利,他们要构建一个系统为滑雪者提供有用的信息。

 

使用ESB实现企业应用持续集成_第1张图片

  1. 用户发送一封含有关键字“powder”的邮件到一个特定的地址。
  2. PowderAlert应用程序定期查询邮件账号,收取邮件,并存储用户的邮件地址。 
  3. PowderAlert从一个公共的站点收集有用的滑雪信息。这些信息通过邮件发送给 PowderAlert application.
  4. PowderAlert定期收回这些有用信息的邮件。
  5. 将这些邮件发送给用户。
  6. 用户阅读邮件

 Skiinfo 提供邮件和短消息两种报警信息。

作者首先给出了传统使用Spring实现的框架架构。

Spring 支持通过 JavaMailSender 和 SimpleMailMessage发送邮件. 他们使用Hypersonic SQL做数据库. 因为他们不喜欢SQL,所以使用Hibernate 和 Annotations的结合 . 他们认为2006年的Java程序应该使用Java5的新语言特性是

程序有两个模块:核心和web. 核心包含领域模型和各种service,包括查询邮件服务器,查询数据库,发送邮件。web部分主要包括启动处理查询邮件和用户接口的servlet 

接下来作者使用Mule ESB来实现同样的功能

使用ESB实现企业应用持续集成_第2张图片

将PowderAlert application 分为几个粗力度的服务

  • The Mail server
  • The SkiInfo site
  • The PowderAlert core service(s)

所以要做的工作就是

  • 创建Mule Endpoints, 和mailserver 交互.
  • 将 PowderAlert core services 转换成 UMO components.
  • 创建 Transformers 转换email messages 成 UMOEvent objects.

    使用ESB实现企业应用持续集成_第3张图片

    总结

    Mule 的作用是透明地将其他系统集成到主应用中来。这样,集成新的系统的时候,对主应用PowderAlert的影响最小。

  • 译者:

    简单了说这个系统的主要功能,就是把邮件从一个邮箱取出来,处理后转发到另一个大家订阅的邮箱。

    如果用传统的j2ee方法,你需要用servlet或者去quarz实现定时功能。然后用javamail接口取邮件,以及发送邮件。还要处理邮件的解析和转换。

    有了ESB上面的功能。例如定时取邮件,发送邮件这些功能都被封装好了,你只需要通过配置文件配置一下,这些功能全有了。

    通过配置实现点到点的企业应用集成,更符合SEDA的思想。



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=775659


    你可能感兴趣的:(企业应用)