技术开发 频道

开发SOA组合应用程序来支持业务服务

【IT168 技术文章】

    引言

    组合应用程序提供了集成现有面向服务的体系结构(Service-Oriented-Architecture,SOA)服务和/或创建能够以不同方式进行组合的新服务的能力。组合应用程序的关键是使用 SCA 将可重用软件资产作为 SOA 服务实现创建。我们使用 WebSphere Process Server、WebSphere Portal、WebSphere Service Registry and Repository、WebSphere Enterprise Bus、WebSphere Portlet Factory 和 WebSphere Application Server 及其相应的开发工具开发了一个金融领域的示例组合应用程序。所选择的场景提供了一些示例,这些示例说明了开发高效组合应用程序所需的不同特性的实现。我们将首先通过这些示例场景来说明组合应用程序的好处和挑战。最后,我们将分析 IBM 产品中的技术特性以及可以如何将其用于开发组合应用程序。

    在本文中,我们首先定义了组合应用程序、变化点、角色、用例、运行时环境,并给出了一个业务意图列表,为了创建支持业务服务的组合应用程序,需要实现这些业务意图。

    本系列的后续文章将更为详细地对几个相关问题进行分析,包括多重租赁 (Multi-tenancy) 设计模式、应用选择器和业务规则来实现动态性、发布服务、自助模式和资产、使用动态配置文件的可配置用户界面、自动构建和部署、使用 CEI 开发可度量应用程序以及其他类似的主题。

    什么是组合应用程序?

    SOA 组合应用程序定义为“一组解决特定业务问题或任务的动态服务组件。组合应用程序经常提供一组服务,而这些服务又可能属于其他组合应用程序。”业务服务是业务单位选择在其边界公开的服务,通过接口与其客户、合作伙伴或其他业务单位连接。业务服务实现有意义的业务流程或任务。组合应用程序由一个或多个组件或组件聚合组成,而其中每个组件或组件聚合会公开一个服务接口。组合应用程序为业务服务提供支持。

图 1. 用于进行零售银行贷款发放的组合应用程序

    正如图 1 中所示,组合应用程序对一系列可配置服务进行编排。例如,在此示例中矩形与公开业务服务的业务组件对应,如 Validate。红线指示组合应用程序的特定用例所遵循的调用序列。沿着红线,将依次接受贷款申请,生成信用记录,然后验证、分析和提供贷款。批准贷款后,必须对其进行初始化、配置、结算并记录。最后,将发起对话,以与客户进行沟通。

    在此上下文中,服务组件体系结构(Service Component Architecture,SCA)是面向服务的组件模型。它提供涵盖无状态会话 EJB、Web 服务、传统 Java 对象(Plain Old Java Object,POJO)、Web 服务业务流程执行语言(WS-Business Process Execution Language,WS-BPEL)流程、数据库访问、企业信息系统(Enterprise Information System,EIS)访问和其他服务实现的抽象,如下面的图 2 中所示。SCA 将业务逻辑与基础设施逻辑分离开来,因此程序员能够集中精力处理业务问题。

图 2. SCA 实现类型
0
相关文章