`
walwal
  • 浏览: 2401 次
社区版块
存档分类
最新评论

业务流程编排器学习笔记 (2) —— 调用JAVA服务

阅读更多
 

概念

SCA导入:一个SCA组件,可以模拟成其他应用,供SCA其他组件调用,它再调用真正的应用。它可以绑定成Web服务、EJBJMS(包括MQ)、SCA模块等。

介绍

用户输入一个名字,返回“Hello+用户名。

架构

一个流程,一个SCA导入(绑定为Web服务)。

<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 287.25pt; HEIGHT: 42.75pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape>

<v:shape id="_x0000_s1026" style="MARGIN-TOP: 7.95pt; Z-INDEX: -1; LEFT: 0px; MARGIN-LEFT: 351.5pt; WIDTH: 103.5pt; POSITION: absolute; HEIGHT: 2in; TEXT-ALIGN: left; mso-position-horizontal: right" type="#_x0000_t75" wrapcoords="-157 0 -157 21488 21600 21488 21600 0 -157 0"><v:imagedata o:title="" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png"></v:imagedata><w:wrap type="tight"></w:wrap></v:shape>流程

三个活动:

l         Receive:流程的起点,接收外部的消息;

l         Invoke:调用Java服务;

l         Reply:流程的终点,返回结果。

两个变量:保存消息。

开发Java服务

1.         创建一个动态Web应用项目(WID自动创建相应的EAR项目),项目名称: HelloService

2.         创建一个Java类,类名:HelloService,包名:bpe.samples.invoker,代码如下:

public String hello(String name) {<o:p></o:p>

   System.out.println("Hello, " + name);<o:p></o:p>

   if (name==null || name.length()==0) {<o:p></o:p>

      return "Hello World!";<o:p></o:p>

   } else {<o:p></o:p>

      return "Hello, " + name;<o:p></o:p>

   }<o:p></o:p>

}<o:p></o:p>

3.         Java类生成Web服务,WID将自动将其部署到WPS上:

a)         Web服务类型为Java Bean(还有其他类型,如:EJBISODADX等);

b)        Web服务运行时为IBM WebSphereWID支持的还有Apache Axis 1.0IBM SOAP);

c)        WSDL样式为文档/文字(还有RPC/文字、RPC/编码);

d)        安全性配置为没有安全性WID支持XML签名、XML加密)。

4.         打开浏览器,输入http://localhost:9080/HelloService/services
/HelloService?wsdl
,查看WSDL

开发流程

1.         创建一个Module项目,项目名称:Invoker

2.         HelloService生成的WSDL文件HelloService导入到Invoker中。

3.         创建一个新的WSDL,名称InvokerProcess,文件夹bpc/samples

4.         WSDL中创建一个方法operation1,参数input1,类型为string,返回output1,类型为string

5.         创建一个流程,流程名InvokerProcess,文件夹bpc/samples,使用现有的WSDL文件InvokerProcess

6.         将导入的WSDL文件HelloService拖拽到流程中,自动生成一个流程伙伴连接。

7.         在流程中拖拽一个Invoke活动,将其与HelloService伙伴连接绑定,并将其入参与变量Input1绑定,出参与变量Output1绑定。

8.         打开装配图,将创建的业务流程拖入到装配图中。

9.         将导入的WSDL文件HelloService拖拽到装配图中,将其作为一个带Web服务绑定的SCA导入组件,选择现有的Web服务端口HelloService,将其命名为HelloServiceImport1

10.     将流程InvokeProcessHelloServiceImport1连接到一起。

11.     WID自动生成的EAR项目HelloServiceEARInvokerApp部署到WPS中。

运行

见示例1

分享到:
评论

相关推荐

    基于Java和Vue的smart-flow业务流程编排框架设计源码 - smart-flow

    本源码提供了一个基于Java和Vue的smart-flow业务流程编排框架的设计。项目包含536个文件,其中包括299个Java文件、102个JavaScript文件、28个Vue文件、26个XML文件、23个TypeScript文件、18个CSS文件、8个SVG文件,...

    java制作的流程引擎

    【Java制作的流程引擎】是一种基于Java编程语言开发的流程自动化工具,它的核心目标是帮助企业或组织实现工作流程的自动化管理。这样的引擎通常包括一系列组件和功能,使得开发者能够定义、执行和监控复杂的业务流程...

    Camel服务集成,服务编排操作文档

    服务编排是指将多个独立的服务组合成一个工作流程。在Camel中,这可以通过使用DSL(Domain Specific Language)来完成,例如Java DSL或XML DSL。开发者可以定义数据如何在不同服务之间流动,控制流程中的错误处理和...

    BPEL流程编排发布实例

    BPEL(Business Process Execution Language)是一种用于描述企业服务编排和服务导向架构(SOA)中的业务流程的XML规范。它允许开发者定义复杂的业务流程,这些流程可以调用Web服务和其他可交互的业务组件。在本实例...

    广播电视节目编排课件(一)——收视率数据在节目编排与评估中的应用.doc

    【广播电視节目编排课件(一)——收视率数据在节目编排与评估中的应用】 在当今的媒体环境中,收视率数据成为衡量电视节目成功与否的关键指标,对于节目编排策略的制定至关重要。收视率不仅反映了观众的选择,更...

    Oracle SOA 套件——Oracle BPEL 流程管理器

    4. **基于BPEL的流程配置器**:允许将服务组合成复杂的业务流程,利用业务流程执行语言(BPEL)实现流程编排。 5. **业务规则引擎**:支持自动化执行企业策略,提高决策过程的效率。 6. **网络服务管理器和安全...

    IBM讲解:基于SOA的业务流程管理——技术和实践

    2. **服务编排**:这是BPM的核心,通过定义流程模型,将不同的服务按照特定的逻辑顺序进行组合,形成完整的业务流程。 3. **服务执行与监控**:一旦流程定义完成,IBM的BPM工具可以自动执行这些流程,并提供实时...

    smart-flow 是一个轻量、灵活的业务流程编排框架

    Smart-Flow 是一个专为业务流程设计的轻量级、高度灵活的编排框架。它旨在帮助开发者轻松实现复杂的业务逻辑,并提供了一套强大的工具来处理流程中的条件分支、子流程以及业务组件的异步与降级操作。在本文中,我们...

    wso2 esb 服务编排

    【WSO2 ESB服务编排】是企业级服务总线(Enterprise Service Bus)中的一种重要功能,它允许开发者通过组合、路由、转换和管理多个服务来创建复杂的业务流程。WSO2 ESB是开源软件供应商WSO2提供的中间件产品,它作为...

    Java分布式应用学习笔记

    Java分布式应用学习笔记 在Java世界中,分布式应用是指由多个独立组件通过网络通信协同工作的系统。这种架构模式常用于构建大规模、高可用性、可扩展的系统。本笔记将深入探讨Java分布式应用的核心概念、技术和实践...

    专业的JAVA版本业务流程设计工具-可视化流程定制工具-遵循WFMC标准

    Biz FlowModeller业务流程建模工具-商业动态流程设计利器 [详细内容请访问网站:http://www.teamingsoft.com]

    nflow:nFlow是经过协调的业务流程编排解决方案。 它可以用作微服务协调器(Saga模式),业务流程引擎或持久性有限状态机。

    nFlow是经过协调的业务流程编排解决方案。 根据您的来源,您可以通过以下任意一种方式查看nFlow: 微服务协调器(如) 保证交付计算 替换 持久 主要特点 非声明性-工作流定义为代码 可视化-可以在可视化工作流程 ...

    基于Java的在线购物系统的设计与实现(源代码+系统)下载.zip

    开发者可能使用了Java SE(标准版)进行后端服务的编写,利用其强大的类库和API来处理业务逻辑、数据处理、系统交互等功能。此外,Java EE(企业版)可能被用于构建分布式应用,如使用Servlet、JSP等技术实现动态...

    业务系统架构的锐变与进化——美团点评境内度假交易系统融合实践 共28页.pdf

    2. **流程融合**:通过抽象和编排的方式,实现了不同业务线下单流程的标准化,减少了流程差异带来的问题。 - **抽象**:将各个业务线的共同特征抽象出来,形成一套通用的流程模板。 - **编排执行**:根据抽象后的...

    java之基于流程编排的自动化测试工具.zip

    我们引入独特的流程编排功能,轻松定义、管理和执行测试流程。TestHub 插件式架构扩展能力无限,适用于自动化测试、流程调度及其他自动化任务。TestHub 提供直观易用界面,直观设计测试流程。简单拖放和连接步骤构建...

    RHCE9认证之Kubernetes容器编排工具学习笔记

    RHCE9 认证之 Kubernetes 容器编排工具学习笔记 Kubernetes 是 Google 公司开源的容器编排工具,提供了自动部署、扩展、管理和维护容器的功能。Kubernetes 的核心概念包括 Pod、ReplicaSet、Deployment、Service 和...

    智能专线业务编排系统架构设计与实现.docx

    - **业务理解的大脑**:编排器负责理解业务需求并将其转化为具体的网络配置命令。 - **灵活的设计与加载**:通过层次化的服务架构,使得业务设计更加灵活且易于加载。 - **编排引擎优化**:针对现有流程引擎的不足...

    简单的工作流例,JAVA开发的

    例如,你可以编写一个服务类,封装这些API调用,以便在业务代码中更方便地使用工作流功能。 6. **示例分析**:文件"ofbiz简单的工作流例"可能包含了Apache OfBiz框架下的一个工作流示例。Apache OfBiz是一个开源的...

    JavaEE学习笔记

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...

Global site tag (gtag.js) - Google Analytics