在SOA领域中,业务流程执行语言(BPEL)拥有属于自己的集成系统和自动化工作流,为协调完全异构系统而提供一致的流程。在过去的五年里,BPEL还没有经历过任何重大的变化,但是却从供应商那得到了更多的支持。专家们认为,支持并不是没有代价的,如果开发人员将BPEL用于自动化技术流程中,并且避免过度的个性化定制,他们可以运用技术手段解决一些常见问题。
根据全球咨询公司Capgemini的解决方案架构师Léon Smiers所说,BPEL最初目的是为了帮助实现企业业务端点。Smiers认为,只有部分已经改变了的标准端点才能作为较好的用户接口,BPEL重点已经转向企业技术端点,这样更有利于实现不同技术服务的集成。
业务流程执行语言优势
Smiers说,BPEL用于小型或大型集成服务,有助于连接抽象的信息和具体的路由信息,如同联合几个可以被视为一项业务的工艺流程。例如,一个公司可以使用一个发票、一个业务流程,但是从多部门使用的角度来看,那个发票也需要更新第二个信息系统及SAP应用。他补充道:“从业务角度出发,你正在输入发票信息,这项内容只需要一个步骤,但是技术却需要三个步骤才能完成,那么你就必须将系统集合在一起。”
Nauman Noor是纽约的一个管理咨询师,他认为,将BPEL应用于保险行业就充分验证了其有效性的观点。顾客可能会为了查看汽车保险报价而访问一个网页,输入汽车入库地址,基于该地区提供其他车辆VIN的服务所提供的信息而得出保险报价。在后端,BPEL工具会记录下该地址,并将其转变成为VIN服务可以接收的格式。他说,检索信息后,BPEL工具会将信息从VIN服务发送到流程的下一个地点。
Noor说:“这些工具使用BPEL代替BPMN(业务流程建模符号)的原因是BPEL能够处理强大的错误信息。”以保险行业为例,BPEL可以用次级路径来发送VIN码,但是他说这个过程中应该会发生一次错误。
Smiers认为,作为中间件的一个标准组建,执行过程中会出现许多标准,BPEL未来会有较长的闲置周期。BPEL有助于规范环境及允许重用流程。他说:“我们想使用BPEL的一个原因是要降低解决方案的风险等级。”反过来说,在不同结构的系统中也会使其节约成本。
根据Noor所说,重复使用流程和代码往往是企业使用BPEL的强大推动力。许多第三方工具使用相似的BPEL流,开发人员可以重复使用代码而不是重新再来。他说:“BPEL可以节约维修成本,也可以减少投入市场的精力和时间。”
Noor补充道:“软件架构师通过使用BPEL应该感到舒适,知道从供应商工具所获得的支持已经相当成熟了,同时也已经取得了很多成果。”
业务流程执行语言存在的不足
然而,BPEL确实也有其缺点。Noor说:“标准是由委员会制定的,因此通过使用供应商工具而实现互操作性非常困难。”他说,例如,某公司为了实现BPEL使用Oracle,想要转换成Tibco需要改变工作流,扩展部分也极具挑战性。
Noor认为需要提到的另外一个问题是,新开发项目大多数是以用户为中心,其中许多迭代程序都可以直接使用。BPEL本身不适合这种敏捷开发,因为通过使用工具来路由电子邮件或者在用户为中心的环境中有所实现是不现实的。他说:“你不会把工作流从BPEL分离出来。”
BuildAutomate是一家坐落于弗吉尼亚州阿什的咨询公司,其创始人兼首席执行官Vaughn Bullard说:“BPEL存在的问题是,有很多问题是它无法解决的,例如人工流程。”他说,关于BPEL有一个称为BPEL4People的额外规范,但是该规范还未实现多久。
根据Bullard所说,此时就应该从两个角度来分析BPEL。BPMN是另一个标准,主要用于以人员为导向的流程。他说,尽管BPEL不适合以人员为中心的流程,但是它仍然是大公司所支持的较好的定义标准,并不会在短期之内消失。
根据Noor所说,BPEL也执行与正常语句相对立的语句来描述业务流程。他说:“最典型地,对于较小的措施以及敏捷开发来说,团队可以通过避免使用常规语言(如BPEL)来缩减开销,通过定制开发项目来获得最终的结果。”
Smiers 认为,BPEL的另外一个问题与SOA中的问题有关。他说,许多次,开发人员想要对其进行严格定义,但是那样做只能让应用程序更难执行,需要更昂贵的维护成本,这种现象也不仅仅发生在BPEL中。“人们忘记了它的存在是有原因的。”
Smiers说,开发人员有时候也想从中间件中提取所有功能,但是这通常不在BPEL中完成。他说:“将事物联系在一起是好的想法,”但是对于批量处理来说,这个过程需要许多循环,就不能实现其最初的想法。
有了固定供应商的支持以及成熟的解决方案后,BPEL就可以实现了。开发人员使用BPEL可以维持系统的一致性,因为有许多供应商也使用BPEL,因此他们认为BPEL会越来越为人所接受,与BPMN一样也会实现业务自动化功能。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突