2009年7月3日星期五

SOASuite_003:用Oracle SOA Suite 10g 开发BPEL

开发工具:Oracle JDeveloper Studio 10.1.3.4.0。
运行环境:Oracle SOA Suite 10.1.3.1.0 + Oracle Database 10gR2 Express Edition。
实验目的:通过亲自动手操作,更好地理解BPEL,掌握BPEL。

实验1. 实验准备

实验2. 同步调用

OrderBooking本身是个异步的BPEL Process,它所调用的CreditRatingService是个同步的BPEL Process(一个Operation 带有输入和输出参数),调用将一直被阻塞直到获得结果。


在OrderBooking调用CreditRatingService的Partner关系中,OrderBooking是服务的请求者,CreditRatingService是服务的提供者。因为一个Role最终要对应到WSDL中的一个portType。同步调用使用一个portType就可以拿到结果,因此不需要设置My Role。

实验3. 异步调用OrderBooking本身是个异步的BPEL Process,它所调用的RapidDistributors是个异步的BPEL Process(调用Operation 只带有输入参数),调用不会被阻塞。



结果将通过另外一个Operation返回。

在OrderBooking调用RapidDistributors的Partner关系中,OrderBooking是服务的请求者,RapidDistributors是服务的提供者。因为异步调用需要2个Operation才能完成,因此需要设置2个Role(Partner Role 和 My Role),对应2个WSDL中的portType。同步调用使用一个portType就可以拿到结果,因此不需要设置。

实验4. 并行操作
实验5. 条件分支
实验6. 异常处理
实验7. 数据转换
实验8. 使用File Adapter进行读操作
实验9. 使用File Adapter进行写操作
实验10. 使用数据库Adapter进行数据插入操作
实验11. 人工工作流
实验12. 使用Sensors
实验13. 使用Notifications


附加实验
实验1. 使用correlationSets
WS-Addressing 和correlationSets 都能够实现异步调用,其实现原理完全不同。
WS-Addressing一般用于2个partner之间的异步交互:A > B >A。
correlationSets 一般用于2个以上的partner之间的异步交互:A > B > C > A。
实验2. 调用BPEL
实验3. 使用Decision Services with Rules Engine

实验4. 实现动态BPEL 流程
实验5. 使用WSIF 进行集成

没有评论: