oracle soa
C2B2的 Shanny Anoep向我们展示了如何使用Oracle的集成服务软件SOA Suite。
介绍
Oracle SOA Suite允许您构建集成服务以连接不同类型的系统:基于文件的数据库,数据库,SOAP服务等。
您可以使用SOA Suite的介体,BPEL流程,业务规则和Spring组件,使用Oracle JDeveloper将这些服务构建为SCA组合。
然后可以将完成的SCA组合部署到SOA Suite环境中以开始处理。
在本教程中,我们将使用JDeveloper构建简单的集成服务,该服务将使用Mediator组件轮询目录以获取传入的XML文件,删除文件并将文件写入另一个位置。
先决条件
为了完成本教程,您需要安装以下软件:
– JDK 6u21 / 7u10或更高版本安装JDK后,请确保将JAVA_HOME环境变量设置为安装位置。
– Oracle JDeveloper Studio Edition 11.1.1.17 (注意:最新版本是JDeveloper 12c,但是该版本尚不支持SOA Suite开发。)
–用于JDeveloper的SOA扩展11.1.1.7.0安装JDeveloper后,可以通过打开JDeveloper并导航至帮助>检查更新以安装“ Oracle SOA Composite Editor”的菜单栏来安装SOA Suite扩展。
创建JDeveloper SOA组合项目
第一步是创建一个新的JDeveloper应用程序,其中将包含一个新的SOA Composite项目。
1.使用默认角色打开JDeveloper
2.使用“文件”>“新建”打开“新库”,然后选择“ SOA应用程序”
您可以根据需要命名应用程序,它将用作包含实际代码的JDeveloper项目的容器。 如果“ SOA应用程序”不存在,则需要首先安装SOA扩展。
3.命名应用程序后,要求您命名项目; 我们将选择“ FileProcessor”。 在这里,您可以看到已经选择了“ SOA”,因此SOA库将可用,并且向导完成后将生成一个Composite.xml。
4.在“项目SOA设置”屏幕中,询问您复合材料应包含的内容。 选择“与调解器复合”选项。 中介器是此处列出的最简单的组件,通常用于在SOA Suite中的组件之间验证,转换和路由请求。
5.创建项目后,显示的第一个屏幕是“ Create Mediator”屏幕。 将其命名为“ FileMover”,并将模板保留在“稍后定义接口”上。
现在,您将打开一个SOA Suite项目,其中的Composite.xml定义了整个应用程序以及包含Mediator配置的.mplan文件。
创建文件适配器
6.从“应用程序导航”屏幕中打开Composite.xml。
如果打开Composite.xml文件,您将看到Mediator是存在的唯一组件。 没有什么东西可以通过中介器传递消息,也没有输出。 让我们添加文件适配器来轮询文件,将它们通过中介器传递,然后再次发送出去。
7.将FileAdapter从Component Palette拖到Composite设计屏幕中的Exposed Service泳道。
8.将打开“文件适配器配置向导”。 将其命名为“ FilePoller”,然后在向导中选择以下选项:
下一步中的第3步: “从操作和架构中定义(稍后指定)”。
步骤4:选择“读取文件”作为操作,因为我们将轮询文件系统上的文件。
步骤5: Directory = c:incoming(或存在的任何其他目录)
步骤6:输入“ * .xml”作为通配符,以便我们仅提取.xml文件。
步骤7:保持“轮询频率”选项为默认设置。
步骤8:选中“不需要本地格式翻译”框。
在这种情况下,我们对操作内容不感兴趣,因此可以选中此框。 通常,您将选择一个适用于传入文件的XML模式,以便稍后可以验证或转换XML内容。 另一种选择是构建本机格式架构,该架构会将纯文本中的内容转换为XML元素。
9.创建另一个FileAdapter,但是这次将其拖到“ Exposed Services”游泳通道中。 此FileAdapter将写入文件。 在向导中选择以下选项:
步骤2:服务名称= FileWriter
步骤3:界面=根据操作和架构进行定义(稍后指定)
步骤4:选择写入文件
第5步:目录= c:传出 (或传入目录以外的任何其他目录)
文件命名约定:outbound_%SEQ%.xml
步骤6:选中“不需要本地格式翻译”框。
连接文件适配器和介体
在“复合设计”屏幕中,您现在将看到三个组件:传入FileAdapter,介体和出站FileAdapter。 为了使消息从左到右流动,我们需要连接组件。
10.将箭头从FilePoller拖动到Mediator组件的左箭头。
通过连接箭头,FilePoller拾取的每个文件现在都将作为请求发送到Mediator。 然后,我们可以从Mediator将请求路由到其他组件,例如BPEL,或通过“公开引用”之一路由到外部系统。
11.将右箭头从Mediator组件拖动到FileWriter上的箭头。
集成服务的流程现已完成。 FilePoller将每分钟轮询一次目录,一旦检测到.xml文件,它将发送给Mediator,Mediator会将其路由到FileWriter。 该文件将在轮询目录中删除,并写入传出目录。
构建部署工件
为了测试服务,需要将Composite部署到正在运行的SOA Suite环境中。 您可以构建一个部署构件(一个JAR文件),或者在JDeveloper中建立一个Application Server Connection并通过该构件进行部署。 我们将构建一个SAR文件,因此您可以通过Fusion Middleware Control Web界面将其部署到SOA Suite环境中。
12.在Application Navigator中右键单击Project。 选择“部署”以打开“部署向导”。
13.选择“部署到SAR文件”,然后在下一步中将选项保留为默认选择。
14.部署向导完成后,JDeveloper将开始构建可部署的JAR文件。 在“部署日志”屏幕中,您将看到以下消息:
[01:13:20 PM] Wrote Archive Module to C:JDevelopermyworkSOASuiteAppFileProcessordeploysca_FileProcessor_rev1.0.jar
测试应用程序
通过融合中间件控制Web界面部署JAR文件,它将开始直接轮询并立即移动文件。
15.打开您正在运行的SOA Suite环境的Fusion Middleware Control Web界面。 默认URL为: http:// <主机名>:7001 / em
16.导航到soa-infra屏幕,下拉菜单“ SOA Infrastructure”位于其中。
17.选择“部署”,然后从文件选择对话框中选择创建的JAR文件。 其他所有内容都可以保留为默认选项。
部署完成后,在您在FilePoller中指定的目录中创建一个新的.xml文件。 一旦FilePoller检测到它,您将在FMW屏幕中看到一个新的Composite实例,您可以检查输出目录以查看它是否起作用。
提示:可以通过转到“融合中间件控制”屏幕中“文件适配器”的“属性”屏幕来更改目录位置和轮询频率。
源代码
本教程的完整代码可以在C2B2的GitHub上找到
下一步
下一步,我建议尝试通过定义架构并使用Mediator的验证和转换功能来尝试处理XML消息。
之后,我建议您研究其他组件,例如BPEL和业务规则,以实施更复杂的集成服务。 还要检查组件面板中的各种适配器,以连接到FTP服务器,数据库,Web服务等。
作者简介 – Shanny Anoep是C2B2 Consulting的高级中间件顾问。 Shanny在Oracle融合中间件和Java / JEE技术方面拥有广泛的知识,并在荷兰,英国和新加坡的金融,公用事业,电信和互联网行业的大型组织中担任过技术顾问和内部开发人员的经验。
翻译自: https://jaxenter.com/getting-started-with-oracle-soa-suite-development-106473.html
oracle soa