服务组件体系结构(Service Component Architecture,SCA)是下一代编程模型,此编程模型提供了三种异步调用模式。您可以使用那些模式异步地调用目标 SCA 服务,而不需要知道请求和响应消息是如何“魔法般地”进行处理的。本文阐述在发出异步请求时所发生的情况,以及 SCA 运行时如何处理消息系统中的异步消息。了解如何开发中介处理程序来监视 SCA 异步消息,以及如何使用中介处理程序来分析异步调用。
IBM® WebSphere® Integration Developer 和 IBM WebSphere Process Server 是用于组装和执行 SCA 应用程序的功能强大的平台。SCA 的一个重要特性在于,它与传输协议无关,这意味着业务应用程序开发人员可以集中精力处理业务逻辑。作为开发人员,您唯一需要知道的事情在于,您能够以同步或异步的方式向服务发送请求,而不需要知道请求消息是如何进行处理的。服务也决不需要知道请求来自于何处。请求可能来自于 Java™ Message Service (JMS) 队列、HTTP 请求,或者甚至来自于套接字请求。所有这些传输信息对服务提供者和请求者是完全透明的。
但是系统架构师、服务维护团队和技术专家需要知道幕后发生的事情。本文将阐述那些过程。
图 1 所示的拓扑可以帮助您发现 SCA 运行时异步行为。该拓扑包括两个模块:Caller
和 Callee
。Caller
模块包含两个实现类型为 Java 的 SCA 组件。第一个 Java 组件 (Caller
) 异步地调用同一个模块或另一个模块中的 Callee
组件。最终用户确定该调用是否以跨模块的方式发生,以及所使用的是哪一种调用类型。
图 1. 示例拓扑
![示例拓扑](figure1.gif)
在 WebSphere Integration Developer 中构建 Caller
和 Callee
模块以后,WebSphere Integration Developer 将为每个模块生成相关的 Java 2 Platform, Enterprise Edition (J2EE) 构件。这些构件是了解 SCA 运行时行为的关键。例如,对于 Caller
模块,您将获取如图 2 所示的构件。
图 2. WebSphere Integration Developer 中的 Caller 模块的构件
![WebSphere Integration Developer 中的 Caller 模块的构件](figure2.jpg)
在将应用程序部署到 WebSphere Process Server 以后,您可以在 SCA 系统总线中看到以下目的地已自动地生成(请参见图 3)。
图 3. SCA 系统总线中的目的地
本文转自IBM Developerworks中国