当前位置:文档之家› Oracle SOA Suite 11g入门实例(一)

Oracle SOA Suite 11g入门实例(一)

Oracle SOA Suite11g入门实例(一)一个端到端的SOA组合实例

Author:maolin.chen

Creation Date:June17,2010

Last Updated:August20,2010

Document Ref:

Version: 1.1

文档控制更改记录

内容目录

文档控制 (ii)

1.准备篇 (2)

1.1.简介 (2)

1.2.环境搭建 (2)

1.3.学习目标 (2)

2.实战篇 (3)

2.1.设计SOA组合 (3)

2.2.部署SOA组合 (12)

2.3.测试&监控SOA组合 (19)

3.未结与已结问题 (25)

未结问题 (25)

已结问题 (25)

1.准备篇

1.1.简介

本文主要介绍一个端到端(End2End)的覆盖完整的生命周期的SOA组合(Composite)

实例(非常简单,不执行任何有用的任务),包含设计开发,部署,测试,监控等阶段。

1.2.环境搭建

环境搭建请参考《Oracle SOA Suite11g环境搭建手册for linux》

本系列文档所使用的环境与《Oracle SOA Suite11g环境搭建手册for linux》中使用的

环境略有差异,但基本不影响操作。本系列文档使用如下环境:

服务器OS:Solaris10SPARC

应用服务器:WebLogic10.3.2

数据库:Oracle XE for Windows

SOA版本:Oracle SOA Suite11g11.1.1.2

RCU版本:11.1.1.2

Jdeveloper:11.1.1.2

服务器主机名:sp-eump-cms

服务器AdminServer端口:7801

服务器soa_server1端口:8801

服务器bam_server1端口:9801

1.3.学习目标

在学习完本文内容之后,你将掌握以下过程的基本操作步骤和工具使用方法:

——设计一个简单的SOA组合

——部署一个基本的SOA组合

——测试和监控SOA组合

2.实战篇

本章将为大家手把手讲解如何构建一个SOA组合应用,这个极其简单的SOA组合应用由

一个SOAP绑定(SOAP binding),一个调解器(Mediator),一个BPEL流程组成。

我们还将测试和监控这个组合应用。

2.1.设计SOA组合

2.1.1打开JDEVLOPER,点击New Application,

Application Name:SOA-first-composite

Application Template:SOA Application

NEXT,

Empty Composite,

接下来,界面应该会像下图一样。

接下来,我们给组合应用添加一个SOAP绑定,暴露给外界,这样外界就能像访问普通Web Services一样访问这个SOA组合。

拖动Web service到Exposed Services区域,

Name:receive(可以自定义名称)

Type:Service

WSDL URL:点击右边的小齿轮,生成一个WSDL文件

下面是定义WSDL的消息模式,这里我们使用默认的单个字符串模式,全部输入框都保持默认即可。

小提示:当jdevloper向你展示了一个对话框,而你不知道如何选择或填写的时候,不妨

点击对话框左下角的Help按钮,通常情况下,在弹出的帮助文件里会有详细的指导。

确定之后,在Port Type中就出现了默认的execute_ptt端口。

这样我们就完成了SOAP绑定的设计。接下来我们来设计一个调解器(Mediator),从功能角度讲,Mediator就是10g里面的ESB,都是实现消息过滤,转换,路由的功能,仅仅是换了个名字而已,据说是ORACLE整合BEA的相关产品后的作品。

这里我们仅仅使用Mediator作为一个通道,不涉及详细的功能,我在后续文档中会有专题介绍。

拖动Mediator到Components区域,

Name:SOAP2BPEL

Template:Define Interface Later(选择此项,可以让我们稍后再定义调解器的细节配

置)

接下来,我们创建一个bpel流程,简单起见,我们也只是做一个空的BPEL流程,不包含任何内容。

拖动BPEL Process到Components区域,

Name:emptyBPEL

Template:One Way Bpel Process(单向流程,即仅接受调用,不返回任何信息)Expose as a SOAP service:不选择.(如果勾选此项,那么这个BPEL流程就拥有一个独立的SOAP访问地址,可以像普通WEB SERVICE一样被外部程序调用,这里,我们

不想他暴露给外界,仅仅希望在本SOA组合内被调用)

点击OK。

接下来我们来组装我们设计的3个组件,SOAP绑定,调解器(Mediator),BPEL流程方法很简单,就点住一个图标的小三角,拖到另一个图标的小三角上。

先拖动Receive的小三角到SOAP2BPEL的左边小三角上

再拖动SOAP2BPEL的小三角到emptyBPEL的小三角上。如下图所示

至此,你的组合应用看上去应该像下图这个样子:

最后我们要做的是确保我们的输入净荷数据(imcoming payload data)顺利的从Mediator到BPEL PROCESS,因此我们需要在Mediator里做输入/输出映射(mapping),双击SOAP2BEPL组件,打开Mediator详细定义页面,

点击Using Transformation后的“映射”按钮

拖动receive.wsdl里的inp1:input到emptyBPEL.wsdl里的的client:input。

这里我们就实现将receive SOAP绑定的参数传递给emptyBEPL流程,这里还有很多函

数可以对参数进行转换和调整,后面的文章我们会介绍到。

最后,点击Save All,一个简单SOA组合应用就设计完成了。

2.2.部署SOA组合

下面我们介绍如何部署我们刚刚设计的SOA组合应用。

点击View,Application Server Navigator,

右键Application Servers,New Application Server

在下图中选择默认的Standalone Server,除非你在Jdeveloper集成的Weblogic里搭建的SOA域(一般不建议这么做),

在下图中给连接取一个名字,例如soa11g.

输入Weblogic的用户名和密码(安装域时指定的),

指定SOA服务器的主机名或域名或IP,管理服务器(AdminServer)的端口号,如果你没有修改过,默认应为7001,指定SOA所在域的名称(在安装SOA域时指定的),我的为soa_domain。

下一步,点击Test Connection,8项全部成功后方可完成,否则,检查前几步指定的信息是否有误。

右键MyFirstComposite,Deploy,MyFirstComposite,

下图中,第一项是直接部署到应用服务器,第二项是打包成SAR包(文件后缀仍然是.jar),然后人工部署到应用服务器。经笔者测试,直接部署到应用服务器不一定能成功,经常会报一些莫名其妙的错误,估计为开发工具不成熟所致。但由于直接部署到应用服务器操作方便,因此这里我们选择直接部署到应用服务器,后文我们会提到如何人工部署SAR到应用服务器。

New Revision ID:指定本次发布的程序的版本号。

Mark composite revision as default:指定本次版本为默认版本。因为SOA组合应用支持同一组合的多个版本共存于当前运行环境,客户端在调用本组合时,可指定版本号,也可不指定,当不指定版本号的时候,系统就使用默认的版本。

Overwrite any existing composites with the same revision ID:覆盖服务器上相同版本号的组合。

相关主题
文本预览
相关文档 最新文档