1,SOA----一种架构准则,其中心内容是把IT资产描述和公开为(远程)服务。然后可以把这些服务以松散耦合的方式作为高级业务流程的一部分,从而在面临IT异构性时提供业务灵活性。
一种设计方法,其目标是重用应用中立的服务,从而提高IT适应性和效能。
SOA是一种企业集成的解决方案,它利用Web services 和业务流程执行语言(Business Process Execution Language,BPEL)。这些技术提供开放的、基于标准的集成,该集成通过组合消息传递技术和 XML 及各种Web services 标准来提供互操作性。一旦开发了Web service 接口,您就可以使用BPEL 来定义和编排业务事务,最终使遗留系统转变成全新的现代信息系统。
2,(远程)服务,是指提供远程调用能力的组件。提供了功能。可以为远程的客户端提供服务。EJB,JMS,Corba,COM,Web Service等远程调用机制,就是这里说的服务。
3,Web Services是SOA的原料。它解决了其他远程调用机制的兼容性问题。它与任何语言和平台无关。几乎所有远程调用机制都可以生成Web Services。Web Services是远程服务的世界语。
尽管SOA未必一定是用Web Services,但是SOA概念的提出和今天的热火朝天,主要是由于Web Services这种远程服务的世界语,消除了企业IT资产远程重用的障碍。
4,ESB(Enterprise Services Bus)企业服务总线
Corba有服务器,发布和管理Corba远程服务;COM组件业有服务器DCOM,发布和管理Corba远程服务;JMS,EJB也有服务器J2EE,发布和管理J2EE平台下的远程服务。
Web Services可以被各类中间件服务器发布。但是,还没有管理它们的服务器。如,J2EE服务器没有管理Web Services的功能。
ESB(Enterprise Services Bus)企业服务总线,就是这样一个Web Services的中间件服务器。它发布和管理所有的Web Services,正如EJB容器使用JNDI发布和管理所有的远程EJB一样。
ESB服务器是Web Services的储存、管理之地。是SOA取得Web Services的地方。这也有助于SOA开发人员管理、寻找和重用Web Services。
5,BPEL(Business Process Execution Language)业务程序执行语言。也有叫作BPEL4WS或BPELWS,意思是:使用Web Services的业务程序执行语言。
意思都是一样的。
这是工作流语言/业务程序管理语言的扩展,它是能够使用Web Services为业务程序服务的业务程序。
xPDL是一种业务程序语言规范。jBPM提供了扩展JPDL语言。它使用了类似UML的活动图。可以使用业务程序变量、脚本语言、ActionHandler实现类。因为它是只使用java的POJO类的业务程序引擎。所以可以使用java的一些特性。
实际上,我们也可以使用POJO来代表Web Services,间接的调用Web Services。但是,由于它是JPDL语言,依赖于Java,所以,该业务程序定义不能够直接被不同的语言平台所使用!
BPEL虽然只是业务程序管理引擎的扩展,但是它只使用Web Services,从而有一些特殊的要求。
1,它不使用任何特定的编程语言。Web Services是一种脱离特定语言实现的描述语言。所以,在BPEL中,我们也不能使用任何特定的语言。
2,在JPDL中,我们可以在ActionHandler中委派Web Services执行业务逻辑。但是,我们可以在ActionHandler中使用Java语法执行特定的功能。
在BPEL中,我们唯一能够使用的就只有现有的Web Services,所以,我们必须提供编程语言的一些语法机制,帮助我们仅仅使用BPEL语法就可以完成业务流程。
但是,请注意,可能我们最终无法脱离特定的语言来构建BPEL。
现在已经提出了BPELJ这种Java扩展的BPEL。
阅读(732) | 评论(0) | 转发(0) |