面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

  面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML标准通用标记语言的子集)/Web Service技术之后的自然延伸。SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。SOA系统是一种企业通用性架构。

  案例分析:描述了如何使用“面向服务的体系结构中的服务创建场景”实现模式来解决与帐户开立项目案例研究相关的业务和 IT 挑战。

  1,使用外部服务

计划在业务流程中使用此外部服务。更新 ESB服务注册中心,将一个入口添加到此外部服务,然后这项服务就可以使用了。还需要更新服务注册中心,以便包含该服务的元数据。ESB 将有效地虚拟化该服务。当一个服务使用者向 ESB 发送请求时,该服务使用者将得到一个回应。必要时,ESB 可以在运行时决定是否使用备用提供商。当备用服务具有不同的消息 schema 时,ESB 可以将该请求转换为所需的 schema,代表使用者发出请求,并将该响应转换回用户所需的形式。整个流程对请求者应用程序(如业务流程)是透明的。

  2,创建新服务

使用 Rational Software Architect 中的工具从 WSDL 中生成 EJB™ 代码来创建新服务。还将生成映射代码以解析 SOAP 请求消息,因此,EJB 可以看到 Java 形式的消息并在 SOAP 中生成从 Java 返回的响应消息。开发人员无需 XML 知识就可创建服务。具体的工作(如查询记帐)是标准的 Java 编程。可以使用 Web 服务向导来生成简单的测试应用程序来实验该服务。

  3,将现有应用程序作为服务直接公开

许多现有应用程序平台和企业信息系统提供了将现有应用程序功能作为服务直接公开以供重用的能力。此方法一般很少需要或根本不需要编程,这就极大地减少了开发与测试的时间与成本。即使那些对现有应用程序或企业信息系统(如 CICS)不太懂或者根本不懂的开发人员也可以利用向导轻松地将现有的应用程序功能作为服务公开。

  4,将现有应用程序作为服务间接公开

适配器和连接器提供了间接访问各种平台上的应用程序的功能,如 z/OS® 上的企业信息系统(例如,CICS、IMS 和 SAP)。该适配器或连接器提供一个 Java API,从而将开发人员屏蔽开,他们无需了解后端应用程序。通过将该适配器或连接器的 Java 代码作为服务包装起来,可以将该应用程序功能作为服务公开和使用以及供重用。此实现模式称为间接公开模式。

  5,使 WebSphere Message Broker 流支持服务

WebSphere Message Broker 流已经存在,支持服务是作为服务重用的快速、直接的方法。

当需要转换消息和传输协议以及需要整合消息数据时,应考虑使新的 WebSphere Message Broker 流支持服务。WebSphere Message Broker 流提供了可供业务服务组合使用的诸如安全性和审核之类的基础结构服务。WebSphere Message Broker 使用的 JMS 和 WebSphere MQ 是进行可靠消息传递的综合性行业标准,同时还是一种广泛采用的、包括 IMS 连接性在内的业务到业务的集成技术。提供一个耦合了中介的服务实现。利用 WebSphere MQ 进行基本的消息传递和 Web 服务流动。

  6,使 IMS 事务支持服务

IMS TM 资源适配器使用 J2EE Connector Architecture (JCA)标准进行消息传递,使此选项成为最广泛采用的 IMS 连接选项,且具有当今最高的服务质量。提供一个耦合了中介的服务实现。如果客户使用 WebSphere Application Server 创建中间层组件,则最佳集成选项一般是使用 IMS TM 资源适配器的 J2C。

SOA架构设计的案例分析的更多相关文章

  1. 关于SOA架构设计的案例分析

    关于SOA架构设计的案例分析 面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.它可以根据需求通过网络对松散耦合的粗粒度应 ...

  2. MyBatis架构设计及源代码分析系列(一):MyBatis架构

    如果不太熟悉MyBatis使用的请先参见MyBatis官方文档,这对理解其架构设计和源码分析有很大好处. 一.概述 MyBatis并不是一个完整的ORM框架,其官方首页是这么介绍自己 The MyBa ...

  3. dubbo源码解析五 --- 集群容错架构设计与原理分析

    欢迎来我的 Star Followers 后期后继续更新Dubbo别的文章 Dubbo 源码分析系列之一环境搭建 博客园 Dubbo 入门之二 --- 项目结构解析 博客园 Dubbo 源码分析系列之 ...

  4. 老徐FrankXuLei 受邀为花旗银行讲授《微软WCF服务分布式开发与SOA架构设计课程》

    老徐FrankXuLei 受邀为花旗银行上海研发中心讲授<微软WCF服务分布式开发与SOA架构设计课程> 受邀为花旗银行上海研发中心讲授<微软WCF服务分布式开发与SOA架构设计课程 ...

  5. 《深入理解mybatis原理1》 MyBatis的架构设计以及实例分析

    <深入理解mybatis原理> MyBatis的架构设计以及实例分析 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构 ...

  6. SOA架构设计和相关案例分析

    一.SOA概念 1.定义: SOA,是一个组件模型,面向服务的体系架构,它将应用程序的不同服务通过这些服务之间定义良好的接口和契约联系起来,不涉及底层编程接口和通讯模型.服务层是SOA的基础,可以直接 ...

  7. 企业SOA架构设计理论

    SOA简介 SOA(Service-Oriented Architecture,面向服务架构)是一种将信息系统模块化为服务的架构风格.拥有了服务之后,我们就可以迅速地将这些服务按不同方式重新组合,从而 ...

  8. SOA架构设计经验分享—架构、职责、数据一致性

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

  9. SOA架构设计(转发)

    阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...

随机推荐

  1. linux下华为HSPA模块MU609的驱动问题

    环境: CPU: s3c2416 Linux: 3.6 模块: HUAWEI MU609 SIM卡: 移动3G卡.移动4G卡 首先,拿到MU609模块后,第一要做的是对模块进行一些熟悉与了解,那么资料 ...

  2. spring主要产品

    Spring Framework   * Spring Web Flow   * Spring Web Services   * Spring Security (Acegi Security)   ...

  3. 被AppStore拒绝理由(一)

    July 8, 2015 at 7:06 AM 发件人 Apple 17.1 - Apps cannot transmit data about a user without obtaining th ...

  4. HotSpotVM 线程实现浅析

    今天来看下HotSpotVM在Linux下的线程模型. Thread.start HotSpot Runtime Overview 中说道, There are two basic ways for ...

  5. Spring源代码解析和配置文件载入

    Spring类的继承结构图: Spring运用了大量的模板方法模式和策略模式,所以各位看源代码的时候,务必留意,每个继承的层次都有不同的作用.然后将同样的地方抽取出来,依赖抽象将不同的处理依照不同的策 ...

  6. B1047 理想的正方形 RMQ

    大家吸取我的教训,想好再写.我码了好长时间,最后发现算法处理的是另一个问题,我处理的是正方形情况的,才能用我优化之后的记忆化搜索,然而矩形就凉了. 先看一下题吧: Description 有一个a*b ...

  7. fopen文件目录问题

    程序当前目录下.如果是在 VC 里面运行的, 这个目录是工程的目录. 如果是双击 exe 运行的, 这个目录就是 exe 所在的目录.

  8. bzoj3687简单题(dp+bitset优化)

    3687: 简单题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 861  Solved: 399[Submit][Status][Discuss] ...

  9. JavaScript中的+= 是什么?

    +=表示相加并赋值,“i+=5”与“i=i+5”是等效的. 类似的运算符还有-=,*=,/=. i-=5等价于i=i-5; i*=5等价于i=i*5: i/=5等价于i=i/5.

  10. ZOJ2477 Magic Cube

    题目: This is a very popular game for children. In this game, there's a cube, which consists of 3 * 3 ...