本文描述了一种新工具,该工具是在alphaWorks网站上发布的Emerging Technologies Toolkit version 1.1 (ETTK),它采取用统一建模语言(Unified Modeling Language,UML)定义的流程并生成相应的BPEL和WSDL文档来实现该流程。这种性能用于突出对象管理组(OMGs)模型驱动体系结构(MDA)创始的一些优点:提高开发过程中的抽象水平,因此获得更高的生产率, 更好的质量,能够隔离于技术的根本改变。
如此多的XML ...
随着面向服务的体系结构(SOA)的出现,应用程序开发经历了一次彻底改变。这种架构合并了基于XML的标准,例如WSDL、简单对象访问协议(SOAP)、统一描述、发现和集成协议(UDDI)和现在的BPEL。然而,当您能做更多的事情时,开发任务的大小和复杂性已经提高,并且开发者会发现他们沉迷于文档和语法中,而迷失了他们工作的主要目标。另外,开发人员的目标在发生变化,标准本身也处在发展之中。因而,为了能快速的采用Web服务,开发者正在寻找解决复杂、高效和技术改变问题的答案。
UML到BPEL的映射工具能够获得用UML工具(例如:IBM Rational的XDE或Rose)开发的流程模型,并且能将它们转换为正确的BPEL和WSDL文档来实现该流程。 Emerging Technologies Toolkit version 1.1 (ETTK)是测试有趣的新技术的环境,并且现在具有两种格式:autonomic和webservices。本文重点介绍后者——webservices。
BPEL是什么?
BPEL提供了一种XML注释和语义,用于指定基于Web服务的业务流程行为。使用合作伙伴的交互方式,定义了该BPEL4WS流程。合作伙伴可以将服务提供给流程,也可以向流程请求服务,或者参与到流程的双向交互中。BPEL通过指定顺序来编排Web服务,这对服务集合的调用来说意义深远。BPEL还针对每个服务分配了合作伙伴的责任。您可以使用它来指定合作伙伴的公共接口和可执行流程的描述。
BPEL 1.1是该规范的最新版本。它除了澄清术语之外,还允许较好的变量范围和附加的事件处理程序。有关该规范的最新版本和BPEL介绍,请参阅最前面的两篇相关内容链接。
为什么使用UML?
UML是一种OMG标准,该标准提供了一种可视化的建模表示法,这对设计和了解复杂的系统很有效。
UML具有下列几种通用优点:它是众所周知的面向对象(Object-Oriented ,oo)建模表示法,具有非常容易理解的图形表示法以及一套丰富的语义集来捕获OO系统的关键特征。 UML广泛地应用于面向对象的软件开发,还常用于定制的、基于组件的软件开发、业务流程建模和系统设计。这使大部分UML经验能被应用到成熟的Web服务技术中。
扩展UML
扩展或定制UML的特性对MDA来说是很必要的;可以通过定制UML来支持系统建模,这种系统是需要完全或部分的部署到Web服务基础架构上。本文主要介绍模板(stereotypes)。模板(stereotypes)是一种对模型的元素进行分类的方法。例如,如果您有一个表示顾客的类,那么您可以附加<
下面部分,我将介绍一种UML配置文件(Profile),可以通过构建与BPEL4WS(Web服务业务流程执行语言)相对应的一套语义结构来支持建模。同时还将描述BPEL4WS映射,BPEL4WS映射可以从适合配置文件的UML模型自动生成Web服务制品(BPEL、WSDL、XSD)。
下面部分将展示实际的BPEL例子以及UML配置文件(Profile),并重点讲述关键概念。
自动化业务流程的UML配置文件(Profile)
这部分通过一个例子介绍了UML配置文件子集,该例子定义了一个简单本的贷款批准流程。在本例中您将会在ETTK的README文档中发现转换器。它可以被总结为如下所示:
“在收到贷款请求时,将请求的数值与数值(10000)比较。如果请求的数值比较少,那么将调用Assessor服务,否则将将调用Approver服务。如果Accessor认为该请求的风险比较高,它也将被传递给Approver。当Approver完成或者Accessor接受时,将会返回批准信息。”BPEL流程是有状态的并包含实例,所以在BPEL中,这种情况都会被作为一个LoanApproval流程而实现,对于被处理的每个实际贷款申请,LoanApproval流程都会有一个实例。每个实例都用BPEL变量来捕获它自己的状态。在UML配置文件中,流程被表示为<
图 1.用于BPEL流程建模的UML类
通过活动图可以清楚的描述类的行为。图2显示了贷款批准流程的活动图。例如,invokeAssessor活动显示为带有圆角的长方形。执行的操作显示为活动的入口条件;例如,riskAssessment(一个变量)被设置为检查服务的结果。通过UML分区(也作为泳道)来表示流程中通信的合作伙伴:customer、assessor以及approver。每个分区中显示了往合作伙伴发送或者接收信息的活动。箭头表示流程执行活动的顺序。注意分派(assingment)活动没有放到一个分区中;它描绘了发生在它自身流程内的活动,该流程不需要外部服务。
图 2贷款批准流程的活动图
应答(reply)活动向顾客返回响应,完成流程的处理。每个活动都有一个描述性的名称和输入活动来细化活动执行的工作。
| 共4页: 1 [2] [3] [4] 下一页 | ||
|
|
· BPEL的异常管理 · BPEL的基本活动介绍 · 史玉柱切断源代码泄露.. · 在PPC上安装pythonce · WindowsMobile应该如何.. · 如何用正则删除不包含.. |
· 溯本追源XML和Java:掌.. · 泛型编程与设计新思维 · 用Java实现多线程服务.. · 基于UML的高校图书馆管.. · 基于UML的高校图书馆管.. · 自动开启小键盘上NumLo.. |
|
|||
| · 交换机的安全配置与安.. · SSL VPN详细知识 · 深入了解PGP加密技术 · 电信运营商封堵非法ADS.. · SAN存储技术 · U盘病毒从认识到防范 · 服务器基础知识入门 · 服务器维护与应用基础 |
· Sniffer安全技术从入门.. · Windows Server 2008 .. · 路由器设置与口令恢复 · 华为新员工因压力大自.. · Sendmail邮件服务器 · 脚本攻击和防范 · 加密与解密技术 · 我是黑客我怕谁——讲.. |
||
|
|||
| · 三层交换技术专题 · SQL Server入门到精通 · 刀片服务器基础 · Windows远程桌面应用 · 深入了解PGP加密技术 · Solaris 10 配置管理 · Cisco IOS · SSL VPN详细知识 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · 木马原理与防范 · Exchange Server专题 · FreeBSD使用教程 · Sniffer安全技术从入门.. · 常用交换机典型配置 · TCP/IP协议专题 |
||
|
|||
| · 刀片服务器基础 · 三层交换技术专题 · Windows远程桌面应用 · RAID——磁盘阵列基础 · 邮件服务器专题 · SSL VPN详细知识 · Sniffer安全技术从入门.. · 常用交换机典型配置 |
· Linux 集群技术专题 · 路由器设置与口令恢复 · 网络钓鱼 · Exchange Server专题 · Windows发展史 · 木马原理与防范 · 软件插件 · MySQL基础与配置 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·ASP.NET 2.0 Web Part编.. ·ASP.NET 2.0 Web Part编.. |
·ASP.NET 2.0 Web Part编.. ·ASP.NET 2.0服务器控件之.. |
| ·基于LVS的互联网应用 ·Awstats处理多apache日志 |
·Solaris 10源码安装编译.. ·GNU源码安装借用YUM排除.. |
| ·“企业信息化”的建设将.. ·看《致命连线》电影,学.. |
·理解业务安全将提升IT人.. ·售前工程师的成长(五)---.. |
| · 电信运营商封堵非法ADSL.. · 年初17大热门技术 年底.. · 计算机网络维护入门 |
· 如何使用Nikto漏洞扫描.. · 如何恢复受损的PGP加密.. · 网络边界安全问题怎样解.. |
| · Visual Studio 2005开发.. · 测试开发人员参考手册 · BEA会被甲骨文成功收购.. |
· 年初17大热门技术 年底.. · 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. |
| · 微软在欧盟反垄断中输掉.. · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 |
· 弃高端主板竞争?英特尔.. · IBM起诉华硕侵犯其多项.. · 服务器维护与应用基础 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 希捷承认部分硬盘暗藏病.. · 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. |