2002-10-08 09:21
Web services协调 只闻楼梯响
〔IDG News〕业者多年来一直想象以软件产生企业流程(business process)的模型,并可以任意结合,也就是Web
services协调(orchestration)。防火墙内的原生服务与日俱增的同时,Web services协调益发引人兴趣。但整合厂商指出,Web
services堆栈的协调层仍未「上菜」。Microsoft、IBM、Sun与BEA
Systems等标准先驱,还在「厨房」中忙碌。
业界原先预期,定义Web
services协调的两项XML标准提案,Microsoft的XLANG(BizTalk采用)与IBM的WSFL(Web Services Flow
Language),现在应该已合并为单一的World Wide Web
Consortium(W3C)提案,但事实不然。在此同时,Sun、BEA、SAP与Intalio已引介第三项候选技术:WSCI(Web Service
ChoreographyInterface)。以上三项提案,再加上Intalio的BPML(Business Process Markup
Language)与ebXML的BPSS(Business Process Schema
Specification)之间功能相似。
XLANG、WSFL与WSCI提到两个不同的协调层。一层处理事务协调的公协议,WSFL与WSCI称之为整体模式(global
model),另一层描述私协议,WSFL称之为流程模式(flow
model)。XLANG同时满足两层的需求,但定义较不明确。最理想的状况是,由一项W3C提议精确地分离以上两者,但如何做还不明朗。
以上三种XML文法(grammar)定义了序列、循环、产生(spawning)、条件执行与例外处理的程序设计语言结构(construct)。XLANG与WSCI根植于称为pi-calculus的正式代数;pi-calculus制作的平行、讯息导向运算促使协调过程趋于困难。
程序语言中,XML是一种差劲的语法,而BizTalk开发者期待更为程序设计师上手的技术。对XLANG使用者而言,Microsoft的BizTalk产品经理DavWascha表示,解决方案正在开发中。他指出,XML应可用来指定服务编排(choreography),但不用于建置上。如Microsoft以C#实验时展现的典型语法,可以较自然的方式执行动作。
与其相似的是,Java建置了BEA的WebLogic
Workshop中定义的Web
services语法,而Collaxa的ScenarioBeans以Java混合工作流程卷标(tag),建立让开发者使用上较易了解的JSP(JavaServer
Pages)暗喻(metaphor)。
然而管理XML的共享公协议必须语言中立。在此层面中,以上三项协议都会探究描述提供静态WSDL接口的服务之间动态互动的文法。对于服务协调一事,必须面对的问题包括关联(correlation)、长执行期的交易及人类可用的撷取(human-usable
abstraction)等。
讯息关联
BEA的WebLogic
Workshop可简化对话过程。开发者可宣告一项服务为「对话性质」,而ID则附加于后续的讯息流中。在SOAP(Simple Object Access
Protocol)标头上做个小动作,.Net
客户端也可以加入WebLogic型式对话。一般而言,协调是多对多的对话,但其中并非每一个参与者都理解SOAP。
BEA技术主任David
Orchard问道:「是否要将具有对话ID的讯息中的某一定点标准化。或者要在接口层定义关联?」采用后者方案的包括EDI、RosettaNet与其它相关者。
即使每个人都能以SOAP对话,但讯息结构的本质未明。SOAP路由似乎适合当基础设计,但IBM电子商业标准策略主任Bob
Sutor不视此为必要的组件。他表示:「大概有人认为SOAP路由是必要的,但不采用还是可行。」
长执行期交易
延迟批准购货单是松散连结(loose
coupling)技术的典型动机之一。BizTalk中已有支持此脚本的设计。
当订单程序被中断时,光是自动回复仍嫌不够。商业合约通常会规定赔偿,例如处罚与罚金。这种赔偿必须明确定义于整体模式之内。XLANG与WSCI也内含此功能的语法。
以XLANG、WSFL与WSCI规格展示的范例是牵涉到旅客、旅行社与航空公司的机票票务设计。XML呈现此系统的方式可让形形色色的软件系统协调运作。但这些文件的阅读者(或撰写者),别指望能了解其间进行的XML动态行为,此外,图表不只是好看而已,它们相当重要。
标准制图表系统可能使用UML(Universal
ModelingLanguage),并在协调中扮演重要的角色。但Collaxa执行长EdwinKhodabakchian指出,现实世界中企业流程的复杂性远超出图表所能呈现。
Khodabakchian表示:「我们需要更多使用个案。」Microsoft的Wascha、IBM的Sutor与BEA的Orchard都同意。没有人认为目前的任一规格是最终定案,它们都必须经过试验的步骤,Web
services才能真正协调。
本文原载于环球咨询网站