利用常用的集成开发环境(IDE)和中间件设计轻量型ESB

本文介绍了实现一个自产的轻量型">企业服务总线 (ESB) 的设计蓝图,该企业服务总线利用了常用的集成开发环境 (IDE) 和中间件。本文中的场景使用了 IBM® WebSphere® Application Server V8(一个用于 Java EE 应用程序的强健的部署环境)和 IBM Rational® Software Architect(提供了工具来设计、开发、测试和打包要部署到应用服务器上的 Java EE 应用程序)。

业务场景

挑战

为了满足业务需求,一家服务提供商需要在一年内提供其应用程序的多个版本。每个版本都需要更新现有服务协议,并将一个新的 Web 服务版本部署到一个生产环境中。

最富有成本效益的解决方案通常是将单一服务实例部署在生产环境中,以减少维护成本。但是,由于预算限制或维护计划,服务用户并不总是会在新版本发布后尽快采用它。此场景迫使服务提供商托管多个服务版本来支持客户需求。

解决方案

WebSphere Enterprise Service Bus (WebSphere ESB) 和 WebSphere DataPower® Appliances 都提供了强健的 ESB 功能,支持在服务用户和提供商之间动态路由和转换请求。这些功能使服务用户能与处理请求的服务实例分离开来。通过利用 ESB,服务提供商可签署多个服务协议,而无需在生产环境中托管服务的多个实例。

当只需要 WebSphere ESB 和 WebSphere DataPower 中提供的功能的子集时,客户可以选择将轻量型的 ESB 功能构建到他们的 Java EE 应用程序中,以满足其项目的特定需求。

实现轻量型 ESB 的蓝图

实现一个轻量型 ESB 的蓝图应包含多个层,以处理接收、路由、转换和响应客户请求所需的不同功能。本文给出的蓝图包含以下 4 个层:

路由层 -- 一个 Java API for RESTful Web Services (JAX-RS) RESTful 端点,用于 URL
模式匹配和请求路由。 中介层 -- 在数据内容级别管理客户端与特定服务版本之间的请求的中介和映射模块。 服务调用层 -- 服务协议的管理器,用于构建需要的请求,调用一个物理服务端点,以及在响应中返回内容。 多协议监听器层 -- 一个监听器服务,比如 WebSphere MQ、Java Message Service (JMS),或另一个供非 JAX- RS 客户端应用程序加入轻量型 ESB 的服务。

图 1 显示了这个轻量型 ESB 蓝图的 4 层的高级设计和界面:

图 1. 轻量型 ESB 蓝图的设计和界面

在真实示例中应用这个轻量型 ESB 蓝图

下面的示例展示了该蓝图的一个真实使用场景:

一个服务提供商将其 MyService 的当前产品实例从版本 A 更新到版本 B。 MyService 版本 B 的安装会导致 MyService 版本 A 被淘汰,因此服务提供商仅支持 MyService 版本 B 的一个实例。 服务提供商与 ESB 设计团队合作定义必要的路由、中介和服务调用逻辑,以对新客户和现有客户提供持续的支持。 ESB 设计团队利用该蓝图实现一个支持两个 MyService 版本的客户端解决方案。

时间: 2024-12-03 05:05:11

利用常用的集成开发环境(IDE)和中间件设计轻量型ESB的相关文章

跟老齐学Python之集成开发环境(IDE)_python

当安装好python之后,其实就已经可以进行开发了.下面我们开始写第一行python代码. 值得纪念的时刻:Hello world 如果是用windows,请打开CMD,并执行python. 如果是UNIX类的,就运行shell,并执行python. 都会出现如下内容: Python 2.7.6 (default, Nov 13 2013, 19:24:16) [GCC 4.6.3] on linux2 Type "help", "copyright", "

Visual Basic集成开发环境的元素

集成开发环境的元素 Basic 的工作环境常常是指集成开发环境或 IDE,这是因为它在一个公共环境里集成了许多不同的功能,例如,设计.编辑.编译和调试.在大多传统开发工具中,每个功能都是以一个独立的程序运行,并都有自己的界面. 本节,将讨论以下主题: 1.启动(Visual Basic IDEvbconStartingVisualBasicIDE)启动和运行. 2.集成开发环境元素(vbconIntegratedDevelopmentEnvironmentElements)介绍 IDE 的不同组

《我和PIC单片机:基于PIC18》——2.2 MPLAB IDE集成开发环境

2.2 MPLAB IDE集成开发环境 MPLAB IDE软件由MICROCHIP公司出品,专门用于为其旗下的PIC单片机及dsPIC数字信号处理器开发应用程序.MPLAB IDE软件提供了一个完整的PIC开发过程支持,因此被称为集成开发环境(IDE).为了更好地理解集成开发环境的概念,我们需要先来了解一下单片机系统的开发过程. 2.2.1 单片机系统开发过程 PIC单片机组建单片机系统时,其开发过程一般要经历以下几个步骤: 1)创建设计方案.根据所需的功能要求,决定最适合的PIC单片机型号,并

T-SDN “IDE集成开发环境”,开启传送业务创新的新篇章

1 传送网SDN大势所趋 随着物联网.云技术.互联网+.4K.VR(虚拟现实)等技术蓬勃发展,"联接"逐渐成为了人类社会的基本诉求,重要性不亚于空气和水.各种业务应用呈现出爆发式的增长,背后潜藏着巨大的网络带宽需求.过去几年,运营商从互联网汲取经验,创新实践,这更让运营商逐渐认识到广覆盖的网络才是自身最大的竞争优势,是投身互联网商业的竞争力源泉. 传统语音业务的不断萎缩和各种新型业务的冲击使得运营商急需加速ICT转型,通过业务创新实现流量经营.带宽经营.以往运营商的业务创新往往要持续数

Delphi5的集成开发环境(IDE)

启动Delphi5,进入它的集成环境,你可以看到如下图所示四个窗口,这四个窗口是开发Delphi应用程序的主要工具. 在Delphi5的主窗口中,包含了Delphi的标题栏.桌面管理器.菜单栏.加速栏和组件板五部分,它是管理其他窗口和Delphi集成开发环境的工具.其中加速栏提供了文件查看.保存.打开.关闭.添加和删除等功能:组件板用于按类放置各种组件,单击某个选项卡的标签,该选项的卡下的组件就显现出来:桌面管理器(如下图所示)是新版本的Delphi提供的新功能,它允许我们定制自己的IDE,并将

VS.NET IDE(集成开发环境) 开发环境界面介绍

VS.NET IDE(集成开发环境) 开发环境界面介绍 本文章基于VS.NET BETA2版本,发行版本可能会与本文章介绍内容不同 作者:闻怡洋 http://www.vchelp.net 目录 主界面 菜单与工具条 属性窗口 帮助功能 对话框资源编辑 菜单,工具条资源编辑 图片,图标编辑 代码编辑 VS.NET的IDE环境和以前相比更加强大,而且将VC,VC#,VB的开发界面全部都集中到一起,建立一解决方案依托的代码项目组织.但新的IDE对资源要求非常高,并且目前稳定性不是很好.但我们可以相信

Windows下的Objective-C集成开发环境(IDE)

Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1)   使用苹果的平台,集成开发环境使用Xcode.但如果没有苹果平台,想在Windows环境下学习Objective-C,可以采用以下两种方法: 2)   在Windows环境下设置一个苹果虚拟机,但这对个人电脑的性能要求较高,不是所有个人电脑都可以,而且虚拟机的运行速度也较慢: 3)   采用Codeblocks IDE开发环境,对其进

Wing IDE 4.0.4发布 Python编程语言集成开发环境

Wingware的Wing IDE已发布4.0.4版本,一个专门为Python编程语言设计的集成开发环境. Wing IDE是一个跨平台的Python IDE,提供了一个专业的代码编辑器VI,Emacs和其他键绑定,自动完成,通话时间提示,重构,一个强大的图形调试器,版本控制,单元测试,搜索和许多其他功能. 在4.0.4版本中的变化: * History in shells stores whole entered blocks, not individual lines and allows

【超全整理】J2EE集成开发环境MyEclipse使用心得汇总

一.首先我们为什么需要MyEclipse? 下面允许我做一些简要的介绍: 应该大家都知道另一个MyEclipse的近亲--Eclipse的优点:免费.程序代码排版功能.有中文汉化包.可增设许多功能强大的外挂.支持多种操作系统(Windows. Linux.Solaris.Mac OSX)等等. 而 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发.发布