Pattern 即模式是SOA资产的重要组成部分。创造和使用模式促进了软件再应用。一个模式一旦被设计出来,就可以被反复的使用。模式的可重用性潜在地降低了制造成本。RSA中的模式这种特殊的资产遵循RAS(Reusable Asset Specifications)所制定的标准, 通过遵循这些统一的规范,可以更加便利利用地使用模式。本文介绍了基于RSA模式的相关概念,并以一个简单的例子说明如何开发及调试模式插件。
引言
SOA体系架构具有提高企业IT资产利用率、提高系统适应性等特征,能够根据用户的业务需求和变动快速做出调整,保证服务上市时间;同时也强调通过建立一定的标准,实现研发成果可重复利用性,来降低成本。SOA很重要的方面就是资产重用,可重用的软件组件、设计、代码是软件开发企业最重要的资产。资产重用一直以来都是软件开发追求的重要目标之一。资产重用可以缩短软件开放周期,提高软件质量。Rational Software Architect (RSA)提供了通过支持模型和代码模板开发模式插件来达到软件重用目的机制,可以实现各个层次的软件重用。可重用的软件组件、设计、代码是软件开发企业最重要的资产。
本文是将向大家介绍如何在RSA 中创建自己的模式,并利用RSA的代码模板和模式的结合更加促进软件的重用。
相关概念介绍
SOA:面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
Pattern : Pattern是解决某类特定问题的一般性方法。IBM Rational pattern实现从一个初始UML2.0 Model 到另一个应用该模式的UML2 Model, 也可以称之为Model to Model Transformation. 模式设计的关键之处就在于找出可重复的结构和过程,并将它们转化到可重用的模式之中。模式的设计者可以应用RAD中的框架完成一个最简单的到非常复杂的模式设计。
Asset:资产是SOA中的重要元素,RAS(Reusable Asset Specifications)标准提供了系列的工具来方便管理和共享Pattern Assets,提供分类、搜索、组织和文档功能。模式通过分发和重用来实现他的最大价值。Pattern 是一种独特类型的RAS资产。
MDD(Model Driven Development):模型驱动开发技术的主要思想是在模型这一更高的抽象层次来构造软件系统,从而使架构设计师和软件开发人员专注于"业务逻辑"而不是编程细节,代码可以通过手工或自动的方法从模型中自动生成。Pattern在RAD中的应用过程就是模型驱动开发的过程,它实现的是Model 到 Model转化。
开发流程
一般模式插件的开发主要分为以下几步:
1. 以RSA提供的项目模板为基础,建立Project。
2. 建立Pattern,并设定相关参数,包括Pattern名字,参数,基本描述,所属的组等等。
3. 扩展点编程,扩展点主要分为三部分:
针对各个参数内部类的expand()方法,这个方法根据使用pattern时的bind动作和终于上来了unbind动作又被重载为两个方法。
在参数设置时,有可能设定参数之间的依赖关系,那么在参数内部,又会生成一个内部类,并生成的方法update(), update也会有多个重载,扩展相应的update()方法,就可以对相关联的参数发生变化是进行处理。
隐性扩展点,在Project显示给出的扩展框架之外,还有一些隐性的扩展点完成更多的功能,下面分别介绍:
protected IStatus validToAddArgument(PatternParameterValue.Proposed proposed)
public IStatus validToCreateArguments(AbstractPatternInstance instance, IPatternMetatype metatype)
……
这些隐性扩展主要完成对应用在Pattern参数上的元素进行更进一步的验证,以保证绑定的参数能够符合要求,这些验证包括类型、Stereotype等各类,从而配合基本扩展点完成一些复杂的工作。
4.调试,发布Pattern 插件。
范例
范例是一个Simple Cache Pattern, 这个Pattern为一般的服务访问提供缓冲功能,降低系统开销,提高响应速度。应用该Pattern后将在Model内生成一个类,该类实现或继承目标对象(接口或类),将从服务提供者中获得的数据缓存,并用它们作为客户端请求的响应。这个Pattern定义了Service, getEntry, CacheSize 和Timeout四个参数,这四个参数分别表示在应用这个Pattern时的必要设置。Service制定要应用pattern的对象(是Interface或者是Class),getEntry表示要应用缓存的方法,CacheSize表示需要Cache空间的大小,Timeout用来表示Cache失效时间。
步骤一:应用RSA提供的Pattern工程模板创建项目
1. 选择菜单File -> New ->Project->Plug-in Development -> Plug-in project,弹出如下窗口,在Project name 中为项目命名为com.ibm.pattern.cache,其他保持缺省设置即可
2. 点击Next按钮,弹出如下窗口,保持缺省设置:
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突