虽然今天结束了连续的艳阳天,下了半天雨,又闷又热,但我心情灰常的好。两个月过去了,断断续续,一点一点磨到现在,我的所谓的业务编排系统终于有东西可以用来演示啦!
我做的这个系统的用途嘛,是GIS的一部分,就是将现有的WebService通过BPEL语言来组合编排,这个编排方式当然是图形化操作了,而且操作越简单越好,复杂详细的编排工具Eclipse和Netbeans都有免费的了,也不用我造轮子了……
先说下雏形的大概的架构吧。前台,也就是业务编排的操作界面,由Flex完成;服务信息的提高和将逻辑转换成BPEL代码的工作由后台Java写的服务端完成;前台向服务器获取服务信息数据通过REST方式通信,在flex里叫HttpService;其他逻辑数据对象的交互通过RemoteObject的方式通信,也就是在服务器端用blazeds互译Java对象和Flex对象。服务端整体是从SpringSide3的mini-service示例扩展出来的,或者说是套用了它的组织框架,然后添加了自己的东西(它本来就是这个用处嘛~),最终是Spring + Hibernate + Jersey + Blazeds的构成。
代码就不晒了,乱七八糟的还没加像样的注释,之前的文章也说了,在谷歌上开源了,就晒点截图吧:
左侧第一组数据是测试数据,正好用来说明结构,当然最终是要把图标换掉的。Operation节点可以拖放到Receive、Reply和Invoke这类活动节点上,实现操作设置。
这是从服务器传回的“翻译”好的BPEL代码。
之前的博客也都提到了,虽然从没接触过Flex,但第一感觉好,就冒着风险用了。事实感觉上手确实挺容易的,很多工具设计得挺周到的,配合FlexBuilder自带的帮助示例和艾睿网上的示例,基本不用找资料书从头学来。最喜欢的是flex的xml数据处理方式,点(.)和@完成了大部分操作,一点不拖沓!Blazeds也不错,可以直接和Java类互转,交互起来比较方便的。
说到Blazeds,不得不说说我混乱的通信方式,说实话,差点再用上WebService,这样三剑客就齐了……最先用到的是Blazeds,毫无疑问就是被它的直接对象映射吸引的。后来在做左侧树结构数据的时候,突然想到了REST,因为我一直认为REST就是用来获取数据的(我管它叫做面向资源的架构,嘿嘿),顺便也学一点新知识吧,就用了。WebService是我接触最早的通信方式,却一直没正式用过,SpringSide里集成了熟悉的CXF,却最终被无情地抛弃了……对于Blazeds还要提一点,我最容易犯的是,将flex里的类映射到Java的接口上,会报错的,折腾死我了~
还有一样最折腾我的就是Hibernate了,毛病还是出在解决方案一大堆的延迟加载上,session啊session,你让我拿什么来爱你~~最终我还是采用了死办法,用Dao取出数据的时候顺带Hibernate.initialize了。
在这之后的工作还有很多,比如几个应用框架的集成(程序运行起来会产生很多applicationContext,明眼人应该知道怎么回事了吧~),剩余业务组合逻辑的实现……最显而易见的界面的美化还没排上号呢~
- 大小: 41.4 KB
- 大小: 32.5 KB
分享到:
相关推荐
BPEL(Business Process Execution Language)是一种用于描述企业服务编排和服务导向架构(SOA)中的业务流程的XML规范。它允许开发者定义复杂的业务流程,这些流程可以调用Web服务和其他可交互的业务组件。在本实例...
标题提到的“我自己写的BPEL建模工具雏形 含源代码”是一项个人项目,它提供了一个基础的图形用户界面,允许用户通过拖放图形元素来设计BPEL流程。这个工具的初步实现虽然还不具备完整的功能,如BPEL流程的分析和...
在SOA中,服务通过BPEL进行编排,形成复杂的业务逻辑,使得不同系统间的服务可以协同工作。 ### 7. BPEL与WS-BPEL标准 正式的BPEL规范名为WS-BPEL(Web Services Business Process Execution Language),由OASIS...
Business Process Execution Language(BPEL)是一种用于编排Web服务的业务流程执行语言,它是基于XML的,专为实现企业服务总线(ESB)上的复杂业务流程而设计。BPEL提供了一种标准的方式来描述服务之间的交互,使得...
**BPEL**(Business Process Execution Language),即业务流程执行语言,是一种基于Web服务的技术,用于定义和执行复杂的业务流程。它允许用户通过组合现有的Web服务来构建新的复合服务。 **BPEL的重要性:** - **...
接下来,我们通过一个具体的示例来了解如何构建一个可执行的BPEL业务流程,并将其部署到Oracle BPEL Process Manager中。为了方便理解,这里假设已经成功安装了Oracle BPEL Process Manager,并且使用的是默认端口...
- **流程构建步骤:** 创建BPEL业务流程通常涉及定义服务间的交互逻辑,如调用顺序、条件分支、循环等。 - **示例部署:** 在本教程中,我们将创建一个简单的业务流程,并将其部署到Oracle BPEL Process Manager环境中...
业务流程建模语言(Business Process Execution Language,简称BPEL)是用于构建企业级业务流程的重要规范和标准,尤其在面向服务架构(Service-Oriented Architecture,SOA)中发挥着核心作用。BPEL的设计目标是将...
**BPEL2.0(Business Process Execution Language 2.0)**是Web服务业务流程执行语言的第二版,它是一种用于编排Web服务的XML格式的语言,主要用于定义和执行复杂的业务流程。BPEL2.0是SOA(Service-Oriented ...
在SOA中,业务流程执行语言(WS-BPEL,Web Services Business Process Execution Language)是一种关键规范,用于描述和执行复杂的业务流程。WS-BPEL是一个基于XML的编程语言,专门用于编写业务流程,其中每个步骤...
Oracle BPEL(Business Process Execution Language)是一种基于XML的编程语言,用于构建企业服务总线(ESB)上的业务流程和服务编排。它是SOA(Service-Oriented Architecture,面向服务架构)的重要组成部分,允许...
BPEL,全称Business Process Execution Language,是用于编排Web服务的一种标准语言,它允许开发者将多个Web服务集成到一个业务流程中,以实现更复杂的业务逻辑。BPEL的核心在于提供了一种方式,使得企业能够利用已...
1. **企业内部业务流程自动化**:利用BPEL将企业的各个业务系统连接起来,实现自动化工作流。 2. **企业间业务协作(B2B)**:不同企业之间通过Web服务进行业务流程的协调和集成。 3. **SOA架构中的服务编排**:在面向...
1. **跨系统集成**:BPEL4WS特别适合于跨系统的业务流程集成,能够连接不同组织内部的不同Web服务,实现复杂的服务编排。 2. **事务管理**:支持复杂的事务管理机制,如补偿事务(Compensation),即当业务流程中的...
BPEL,全称Business Process Execution Language,是一种用于描述业务流程和服务编排的XML语言。它允许开发者将多个Web服务组合成复杂的业务流程。Eclipse BPEL Designer是Eclipse IDE的一个插件,提供了一个可视化...
- **可执行业务流程**:这类业务流程能够直接被计算机系统执行,用于模拟实际业务交互中参与者的具体行为。 - **抽象业务流程**:此类业务流程主要用于描述高层次的概念或流程结构,不包含所有具体的执行细节,通常...
BPEL是一种用于编排Web服务的编程模型,它允许开发人员将多个服务组合成复杂的业务流程。这本书的出现是为了帮助开发者更好地理解和应用BPEL技术,解决实际工作中遇到的问题,提升业务流程自动化的能力。 BPEL的...