面向服务的架构(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. POJ题目1947 Rebuilding Roads(树形dp)

    Rebuilding Roads Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9957   Accepted: 4537 ...

  2. 【独立开发人员er Cocos2d-x实战 011】Cocos2dx 3.x命令行生成APK具体解释

    Cocos2d-x 3.6项目打包生成apk安卓应用文件,搭建安卓环境的步骤有点繁琐.但搭建一次之后,以后就会很快捷! 过程例如以下: 一.下载安卓环境:搭建Android环境须要用到Android ...

  3. 详略。。设计模式1——单例。。。。studying

    设计模式1--单例 解决:保证了一个类在内存中仅仅能有一个对象. 怎么做才干保证这个对象是唯一的呢? 思路: 1.假设其它程序可以任意用new创建该类对象,那么就无法控制个数.因此,不让其它程序用ne ...

  4. C++对象内存布局 (一)

    一.前言 在看了皓哥的C++对象的布局之后:http://blog.csdn.net/haoel/article/details/3081328.感觉自己还是总是不能记得很清楚,故在此总结一下C++对 ...

  5. bzoj 1026 [ SCOI2009 ] windy数 —— 数位DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1026 蛮简单的数位DP,预处理 f[i][j] 表示 i 位数,以 j 开头的 windy ...

  6. RPC通信框架——RCF介绍

    现有的软件中用了大量的COM接口,导致无法跨平台,当然由于与Windows结合的太紧密,还有很多无法跨平台的地方.那么为了实现跨平台,支持Linux系统,以及后续的分布式,首要任务是去除COM接口. ...

  7. Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  8. java web支持jsonp跨域

    jsonp跨域请求处理 Jsonp(JSON with Padding) 是 json的一种"使用模式",可以让网页从别的域名(网站)那获取资料,绕过同源策略(若地址里面的协议.域 ...

  9. C# List常识之经常被忽略的常识

    最近在接收前辈的代码,越来越会发现有很多.net已经封装好的方法可以使用,我们却不知道,然后自己去For/Foreach循环解决自己的需求问题 总的来说:当下很忧伤啊.总结了几个经常需要用却不知道的方 ...

  10. [Swift]实现优先队列PriorityQueue

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...