当前位置: 首页 > 编程日记 > 正文

应用基于资产的开发到 SOA 的服务中1

SOA 的主要原则之一是在整个 SOA 生命周期中将服务视为可重用资产。因此,务必在 SOA 中对服务应用正式的资产开发流程和指南。本文可帮助 IT 架构师、项目经理和 SOA 管理员全面了解一些主要 IBM 产品如何协作来帮助有效地在 SOA 中将服务作为可重用资产进行创建、使用和管理。

IBM 提供了各种用于 SOA 和基于资产的开发工具。各个产品和技术均提供了大量的文档,但没有任何一篇文章总结如何将来自基于资产的开发领域和 SOA 实现领域的这些产品结合使用,以帮助处理 SOA 实现中的服务重用难题。本系列文章将通过两个部分对此问题进行讨论。

SOA 是一种创建企业 IT 体系结构的体系结构风格,其中将业务作为一组相关联的服务集成到一起,以实现业务和支持业务的信息系统之间较为紧密的关系。SOA 中的服务作为可重用资产。通过维护可重用服务的存储库,组织可以快速构建新流程作为现有服务的编排集,也可以更改现有编排。

基于资产的开发讨论的是通过使用(重用)具有内聚性且有恰当记录的软件构件开发软件解决方案。它讨论的是对软件开发进行恰当的组织,以便利用之前的投资,并影响将来投资的性质。这样可通过重用资产和构件来解决重复出现的问题,从而帮助提高开发速度和减少成本和风险。

服务是 SOA 中的主要可重用资产之一,基于资产的开发原则可以应用于 SOA 实现中,以有效地创建、使用和管理服务。本文将说明如何利用供基于资产的开发和 SOA 实现使用的 IBM 工具实现此目标。请注意,除了服务之外,SOA 可能还有其他可重用资产,如业务流程模型、参考体系结构和设计模式。不过本文的重点是服务资产。




回页首

IBM 提供了各种用于资产开发和 SOA 实现的工具。图 1 显示了其中一些主要工具的概述,并给出了通常使用这些工具的不同角色。(查看图 1 的放大图。)



最有用的资产开发工具包括 Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer、IBM Rational Asset Manager 以及大量 IBM Rational Software Delivery Platform 的其他开发与测试工具(有关这些产品的更多信息,请参见本文最后的参考资料部分。)

Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer 提供在进行基于资产的开发过程中可能会涉及的活动、人物、角色和交付内容。此插件设计为提供可用指南,以便确保作出正确的业务决策、投资集中在正确的项目上而且根据基于资产的开发定义和捕获了恰当的指标。本文剩下的部分将此插件用于基于资产的开发和资产治理部分分别称为 基于资产的开发插件 (Asset-Based Development Plug-in)资产治理插件 (Asset Governance Plug-in)

Rational Asset Manager 是协作型软件开发资产管理解决方案,可帮助组织创建、修改、治理、查找和重用任何类型的开发资产,将服务作为 SOA 活动和系统开发资产一部分包括了进来。经过测试的资产存储在 Rational Asset Manager,以供开发团队重用。

其他 IBM 的 SOA 工具系列中的产品包括:

  • IBM Rational Software Delivery Platform
  • IBM Rational Unified Process for Service-Oriented Modeling and Architecture Plug-in V2.4 for Rational Method Composer
  • IBM WebSphere® Integration Developer
  • IBM WebSphere Process Server
  • IBM WebSphere Business Modeler
  • IBM WebSphere Business Monitor
  • IBM WebSphere Business Services Fabric
  • IBM WebSphere Service Registry and Repository

请注意,此列表仅仅给出了在基于资产的开发和 SOA 实现的常见操作中使用的主要产品。其中一些工具也可以用于其他用途,如传统的 Java™ 2 Platform Enterprise Edition (J2EE) 应用程序开发或业务流程建模。(有关这些产品的相关资料,请参见参考资料部分提供的链接。)

可以从各种角度分析这些工具,包括工具的范围和功能或使用工具的角色。无论您的角度如何,都务必注意这些工具并不是独立存在和使用的(即使支持各种角色)。

一方面,SOA 实现可能会使用上面提到的 SOA 产品来建模、组装、部署和管理服务,而另一方面却使用 Asset-Based Development and Asset Governance Plug-in for Rational Method Composer 的流程和指南,以确保 SOA 中的服务确实是可重用资产。




回页首

图 2 显示了分别在 IBM SOA Foundation 白皮书和基于资产的开发插件中描述的 SOA 和资产生命周期(请参见参考资料部分提供的这些条目的链接)。此图表明,SOA 实现经历建模、组装、部署和管理阶段的过程中,可以在每个不同的阶段创建、使用和管理可重用资产。



在建模阶段,可以在 WebSphere Business Modeler 中重用业务流程模型来建模新流程或分析现有流程模型。RUP® for Service-Oriented Modeling and Architecture Plug-in for Rational Method Composer(以下称为 RUP for SOMA 插件)提供 SOA 建模的指南。基于资产的开发插件和 RUP for SOMA 插件可以在 SOA 实现中同时使用,以在建模 SOA 时获得基于资产的开发好处。用于基于资产的开发和 RUP for SOMA 的 Rational Method Composer 插件部分提供了关于此主题的更多信息。

在组装和部署阶段,可以在 WebSphere Integration Developer 中使用现有服务来编排新业务流程。组合业务服务可以通过对现有业务服务进行组装得到。作为 IBM WebSphere Business Services Fabric Industry Content Packs 中的可重用资产提供的行业特定业务服务也可以用于组装组合业务服务。此类组合业务服务利用 WebSphere Business Services Fabric 平台的功能来将业务级别的元数据外部化,从而增强其在不同的业务生态系统中的重用性。可以通过在 WebSphere Service Registry and Repository 中查找已部署的服务来实现服务的运行时重用。(本文并不提供关于使用上述产品组装和部署服务资产的详细信息。有关相关文章,请参见本文参考资料部分提供的链接。)

在 SOA 的管理阶段,可以从资产的角度监视服务,以评估服务资产的重用。这样可帮助从重用的角度评估 SOA 实现所带来的业务价值。可以将服务发布到资产与服务存储库,以方便管理。而且,影响管理活动的 SOA 治理与资产治理密切相关。本文剩下的部分将说明如何结合使用不同的 IBM 工具来帮助在 SOA 实现中将服务作为资产加以管理和治理。




回页首

IBM 的面向服务的建模与体系结构(Service-Oriented Modeling and Architecture,SOMA)提供了用于建模 SOA 的方法和流程。RUP for SOMA 插件中提供了关于在 SOA 中使用建模的指南。要了解用于基于资产的开发和 RUP for SOMA 的插件之间的关系,请参见图 3,其中显示了基于资产的开发插件中描述的资产生命周期功能模式。



作为资产,SOA 中的服务遵循资产生命周期。RUP for SOMA 插件提供的指南用于建模服务。由于建模服务的工作是服务创建的早期阶段,因此 RUP for SOMA 插件对应于基于资产的开发插件中指定的资产生命周期的创建阶段。如图 3 中所示,在服务资产创建阶段,可以使用 RUP for SOMA 提供的支持指南建模服务。

图 3 显示了 RUP for SOMA 流程如何对应到基于资产的开发生命周期中。图 4 显示了此视图的另一个方面,即基于资产的开发如何对应于 RUP for SOMA 指定的服务建模阶段。在 RUP for SOMA 的每个阶段,都可以应用 RUP for Asset-Based Development 插件中提供的原则。例如,在 SOMA 标识阶段,可以搜索和标识现有资产,以便通过基于资产的开发的使用方面的机制从现有资产存储库中对其进行重用。在 RUP for SOMA 流程中建立的流程模型可以使用基于资产的开发生命周期的创建阶段的指南发布到资产存储库。请注意,这是抽象视图。创建自定义流程的具体细节不在本文的讨论范围内。






回页首

治理通常处理如何定义存储库、策略、机制和测定链,以在上下文中建立管理任务。IT 治理处理与 IT 关联的决策权限。另外还涉及用于控制和衡量 IT 决策和执行方法的策略和机制。

资产治理对 IT 治理进行了扩展,以资产生命周期为重点,以确保基于资产的开发的业务价值。它是改进 IT 治理的催化剂。

类似地,SOA 治理是 IT 治理的扩展,以组织的 SOA 中的服务、元数据和组合应用程序的生命周期为重点。

IBM 提供用于资产和 SOA 治理的 Rational Method Composer 插件,以帮助组织定义和实现其治理活动。这两个插件定义了一个包含四个阶段的流程:规划、定义、实现和衡量各自的治理领域。

由于 SOA 实现将服务作为可重用资产对待,因此可能会需要 SOA 治理和资产治理方面的指南。例如,在 SOA 治理的定义阶段,还可以为服务资产定义资产存储库。可以定义将服务发布到存储库的工作流。可以为服务重用定义策略。您可以从资产治理插件获得关于此类活动的指南。IBM Rational Method for SOA Governance Plug-in V 1.0 for Rational Method Composer(以下称为 SOA 治理插件)可以作为实现 SOA 治理过程中涉及的角色、流程和职责的总体指南。

图 5 显示了在更为通用的 IT 和业务治理上下文中资产和 SOA 治理的细节之间的关系。



SOA 和资产治理之间之所以存在重叠部分,是因为 SOA 中的服务是需要资产治理所定义的治理机制的可重用资产。SOA 治理的非重叠部分包含更多活动,如在对 SOA 进行治理过程中涉及的组合服务的部署和服务安全性。另一方面,资产治理可能包括除服务资产以外的更多资产(如用户界面组件和流程模型)相关的活动。除了 SOA 实现外还涉及基于资产的开发的组织可以使用资产治理插件提供的指南来对其非 SOA 资产进行治理。这就解释了为何图 5 中存在资产治理非重叠部分。

根据组织的 IT 治理政策,可能有成员同时属于 SOA 治理委员会和资产治理委员会,以保持两个治理组织活动的一致性。

转载于:https://www.cnblogs.com/desmend/archive/2008/04/22/1165776.html

相关文章:

用Piranha来实现WEB的负载均衡

简述:利用(LVSPiranha)基于完整开源软件的架构可以提供一个简单的负载均衡及高可用的服务架构。LVS 集群采用 IP 负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率(在DR模式下),将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故 障,…

SQLServer数据库试题及答案

选择题:(20分) 1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___) A、只存在一对多的实体关系,以图形方式来表示。 B、以二维表格结构来保存数据,在…

php中怎样阻止网页进行跳转,阻止php页面跳转方法

阻止php页面跳转方法一、 header 函数header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。参数void header (string string [,bool replace [,int http_response_code]])可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。…

张宏江:人工智能的长远发展需要有人坐冷板凳

从金山 CEO 退休两年后,除了在源码资本任职投资合伙人,张宏江又在刚刚成立不久的北京智源人工智能研究院担任首届理事长,致力于推动不同行业分享大数据,让从事基础研究院所和 AI 的创业公司更容易获得数据。作为一个横跨产学研、投…

Python 中的进程、线程、协程、同步、异步、回调(一)

在进一步之前,让我们先回顾一下各种上下文切换技术。 不过首先说明一点术语。当我们说“上下文”的时候,指的是程序在执行中的一个状态。通常我们会用调用栈来表示这个状态——栈记载了每个调用层级执行到哪里,还有执行时的环境情况等所有有关…

php iis6 安装ssl证书,在IIS下部署SSL证书实现HTTPS

HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。谷歌已经制定了一项长远的计划,它的最终目标是将所有通过HTTP协议呈现的网页标为“不安全”,对于站长来说,部署SSL证书来迁移到HTTPS是一个现实和重要的问题,那么…

今晚8点直播 | 微软亚洲研究院副院长刘铁岩:机器学习技术前沿与未来展望

人工智能正受到越来越多的关注,而这波人工智能浪潮背后的最大推手就是“机器学习”。机器学习从业者在当下需要掌握哪些前沿技术?展望未来,又会有哪些技术趋势值得期待? AI科技大本营联合华章科技特别邀请到了微软亚洲研究院副院…

11月最佳机器学习开源项目Top10!

整理 | Jane出品 | AI科技大本营过去一个月,我们从近 250 个机器学习开源项目中挑选出了最受大家关注的前十名。这些项目在 GitHub 上平均 Stars 数为 2713。这些项目涉及由 Google AI Research 开源的 BERT 预训练模型、DeepMind 开源的图网络库、Facebook Researc…

notepad php发布网站,谈谈如何把WordPress部署到服务器上

第一次部署本网站,稀里糊涂差不多用了大半天,真是惭愧呀,很想狠狠的抽自己一下。老子信了你的邪!!!废话不多说,大概的步骤是:前奏1.注册域名--云主机购买--域名备案--域名解析(dodo也是首次对这…

单列索引和复合索引的使用

表结构: mysql> desc car; ----------------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------------- | id | int(3) | NO …

java学习1

工作了很久,以前学的技术都差不多忘了,为了不荒废技术,现在开始起学习java,并将学习中遇到的问题加以记录。问题1、Exception in thread "main" java.lang.NoClassDefFoundError解决方法:这类问题导致的可能…

ICLR 2019高分论文抢先看,谁是第一?

作者 | 非主流出品 | AI科技大本营 ICLR 2019 将于明年的 5 月 6-9 日在美国路易斯安那州的新奥尔良市举行。本届大会共收到近 1600 篇投稿,相比 ICLR 2018 的 935 篇,以及 ICLR 2017 的 490 篇,几乎每年都在翻番。此前,ICLR 一直…

招行java开发面试,面经:Java后台开发-招行网络科技

一面:留学党的惯性凌晨面试1内容:自我介绍Final关键字数据库(mysql/oracle二选一)数据库调优脏幻不可重复读(mybatis/radis二选一)基本操作(批量插入/如何保证一致性)几种创建新对象方法我成功引导向了反射的诸多应用TCP/UDP老生常谈的区别和三挥四握问题…

puppet相关问题统计

1、 notice: Run of Puppet configuration client already in progress; skipping 解决方法: 部分情况下puppet服务会无法启动,且会提示puppet已经启动,这个时候需要删除一个文件。 rm /var/lib/puppet/state/puppetdlock …

WebForm中DataGrid的20篇经典文章

1、DataGrid动态模板列更新数据并且分页的例子 http://www.cnblogs.com/lovecherry/archive/2005/03/26/126102.html 2、DataGrid动态添加模板列的一个例子 http://www.cnblogs.com/lovecherry/archive/2005/03/25/125526.html 3、DataGrid实现增删(带提示&#xff…

Kotlin基本语法和使用

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性。 Kotlin是使用Java开发者的思维被创建的,Intellij作为它主要的开发IDE。对于 Android开发者&#…

java注解返回不同消息,Spring MVC Controller中的一个读入和返回都是JSON的方法如何获取javax.validation注解的异常信息...

Spring MVC Controller中的一个读入和返回都是JSON的方法怎么获取javax.validation注解的错误信息?本帖最后由 LonelyCoder2012 于 2014-03-14 03:16:27 编辑标题可能有点绕,看代码就明白了:这是我的User类:import org.hibernate.…

三摄正普及,四摄在路上?谷歌逆天AI算法,只做单摄虚化

作者| 琥珀出品| AI科技大本营想要提高拍照效果,想必对于多数手机厂商而言,给手机塞进更多的摄像头似乎成了当前主流做法,例如“普通摄像头景深摄像头”、“黑白彩色摄像头”、“广角长焦摄像头”……不过,偏偏有这么一家企业反其…

TBContact -- 导出ThunderBird邮件地址本

我写的一个导出ThunderBird邮件地址本的小工具,使用了多线程。其功能有:1 自动检测系统是否装有ThunderBird,并列出所有的地址本文件*.mab。2 可以手工指定一个或多个地址本文件。3 自动检测每个地址本文件里的联系人个数。4 导出每个地址本文…

Linux基础知识入门测试

记录于51CTO的测试题: 第 1 题 Linux中,默认的管理员帐户名称是 A. Administrator B. Admin C. root D. user 第 2 题 在Linux中,如果在文本模式下,可以通过下述的方法进入x window A. 执行startx B. 执行start …

jsp mysql 图片路径,请教JSP中怎么向MySql中存入和取出图片

当前位置:我的异常网 Java Web开发 请教JSP中怎么向MySql中存入和取出图片请教JSP中怎么向MySql中存入和取出图片www.myexceptions.net 网友分享于:2015-08-27 浏览:138次请问JSP中如何向MySql中存入和取出图片?1 直接把图片存入数据库2 把图片的…

开源 | IBM、哈佛共同研发:Seq2Seq模型可视化工具

作者 | Ben Dickson译者 | 刘旭坤编辑 | Jane出品 | AI科技大本营近年来随着深度学习和神经网络技术的发展,机器翻译也取得了长足的进步。神经网络结构越来越复杂,但我们始终无法解释内部发生了什么,“黑箱问题”一直困扰着我们。我们不清楚程…

h3c l2tp ***配置

远程用户-------internet-------F100 采用l2tp方式sysname XXXX //设备名称#l2tp enable //开启l2tp功能 #firewall packet-filter enablefirewall packet-filter default permit#undo connection-limit enableconnection-limit default den…

Blockchain与Big Data将碰撞出怎样的火花?

区块链技术热潮席卷全球,正在与各种新兴技术深入融合——大数据也不例外,卓有远见的企业已将区块链作为未来发展重点。数据开放的大势下,如何保护隐私与安全是大数据领域的难点与挑战。凭借可信与安全的特性,区块链令越来越多高价…

机器学习之开源库

机器学习库(1)scikit-learn [http://scikit-learn.org/] Python下做机器学习,首推scikit-learn。该项目文档齐全、讲解清晰,功能齐备,使用方便,而且社区活跃。 (2)Orange …

arduino跑python,尝试在我的Arduino和stu上执行Python3.7.2中的代码

提前谢谢你。在我会尽量简短。在我有一个ArduinoIDE,有一个串行端口,工作正常。我下载了python3.7.2、PySerial和VPython。全部安装完毕。在通过我的MacBook终端安装了PySerial。sudo easy_install pyserialPassword: Searching for pyserialBest match:…

揭开Windows XP 系统安全模式的密秘

经常使用电脑的人可能都听说过,当电脑出了故障时,Windows会提供一个名为“安全模式”的平台,在这里用户能解决很多问题--不管是硬件(驱动)还是软件的。然而你会使用这个安全模式么?今天我们就来带您认识一下…

matlab文档型数据导入,MATLAB-数据导入

MATLAB-数据导入在MATLAB中导入数据意味着从外部文件加载数据。 importdata函数允许加载不同格式的各种数据文件。它具有以下五种形式-Sr.No.Function & Description1A importdata(filename)Loads data into array A from the file denoted by filename.2A importdata(‘…

专访百度熊辉:有人转AI纯粹因为好找工作,这样的人不是我想要的

2018 年初,学术界的明星人物,美国罗格斯-新泽西州立大学教授、ACM 杰出科学家、长江学者熊辉加盟百度,担任百度商业智能实验室主任以及百度人才智库主任。 从计算机博士到商学院教授,再从学术圈到工业界,熊…

活下去,是一种信念 !

2008年5月12日14:28分以来,读着不想看到的文字和数据,看着不愿看见的图片和画面,已经成了我的主要生活内容。即便是艰难收拾好心情坐在电脑前的此刻,耳边回响的依然是那种撕心裂肺的痛哭和感天动地的呼喊,眼前浮现的依…