ESB开发WebService接口

1 概述

在进行系统间集成时经常利用WebService,但是从建立WebService和调用的重复性和维护性的工作量都相当大。

首先简单介绍一下,ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

2 预期读者

1. 数通畅联新进员工

2. 广大技术爱好者

3 名词解释

AEAI ESB:应用集成平台主要作为企业信息系统的“龙骨”来集成各业务系统,一般称之为企业服务总线(Enterprise Service BUS,ESB),在数通畅联软件的产品家族中应用集成平台命名为AEAI ESB。

Web Server:是一种开发web服务的技术规范,按照web services规范开发的web服务组件,可以用来进行企业应用系统集成。

传输服务: 必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。

多种服务集成方式:如HTTP ,WEB等。

通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;

服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;

服务质量: 事务,服务的可交付性等;

服务等级: 性能、可用性等

4 总体思路

1. 简单的账号、密码验证接口,输入账号及密码验证成功与否。

2. 初步了解WebService相关知识

5 实现步骤

5.1 简单参数与简单返回值

首先创建WS服务,样例为Demo,别名“账户”, 本WebService服务里面只有一个操作operation1, 两个入参(userCode、userPassword)及一个出参(RESULT),与DemoOperation1子流程绑定。通过向浏览器传入words参数,执行子流程的业务。服务地址在右侧,可以通过它来定位本WebService服务。

1. 在添加的操作上右键点击,在弹出的页面中选择需要绑定流程的位置,点击OK后将在对应位置自动生成基本的流程,可到对应位置进行流程的编辑,本例将样例创建于基础样例中。

2. 在子流程中创建流程。

a) 首先接收参数(账号、密码)通过判断是否为空,并添加到全局变量中。

b)通过分支判断如果账号密码为空则直接输出。

c) 如果有值,则进行数据库查询,并判断是否正确并输出

3. 利用soapUI测试,结果如下图:

5.2 简单参数与简单返回值

复用样例Demo,别名“账户”, 本WebService服务里面只有一个操作operation2, 添加对象参数及一个出参(RESULT),与DemoOperation2子流程绑定。通过向浏览器传入words参数,执行子流程的业务。服务地址在右侧,可以通过它来定位本WebService服务。

1.  在入参过多的情况下可以采用添加对象参数的形式,在项目下创建com.xcorp.xproject.model包,在保重创建参数类,如下图:

2. 流程图复用简单参数与简单返回值,并在代码中进行扩展开发,如下图:

a) 接收新建的参数类,并获取参数。

b)  分支及判断与上例一致,在输出节点是我们通过jsonObject对象返回,如图:

3. 利用soapUI测试,结果如下图:

5.3 对象参数与简单返回值

首先创建WS服务,样例为UserCode,别名“账户”, 本WebService服务里面只有一个操作test, 一个入参对象reqInfo及一个出参(RESULT),与UserCodeTest子流程绑定。通过向浏览器传入words参数,执行子流程的业务。服务地址在右侧,可以通过它来定位本WebService服务。

1. 在项目下创建com.xcorp.xproject.model包,在保重创建参数类,如下图:

2.  在子流程中创建流程。

a) 首先接收对象参数(账号、密码),并添加到全局变量中。

b) 通过分支判断如果账号密码为空则直接输出。

c) 进行数据库查询,并判断是否正确并输出

3. 利用soapUI测试,结果如下图:

5.4 简单参数与ResultStatus返回值

首先创建WS服务,样例为UserCode,别名“账户”, 本WebService服务里面只有一个操作test1, 两个入参对象userCode、userPassword及一个出参对象(RESULT),与UserCodeTest1子流程绑定。通过向浏览器传入words参数,执行子流程的业务。服务地址在右侧,可以通过它来定位本WebService服务。

1. 在项目下创建com.xcorp.xproject.model包,在保重创建参数类,如下图:

2.  在子流程中创建流程。

a) 首先接收对象参数(账号、密码),并添加到全局变量中。

b) 进行数据库查询,并判断是否正确并输出

3. 利用soapUI测试,结果如下图:

5.5 简单参数与返回值对象List

首先创建WS服务,样例为UserCode,别名“账户”, 本WebService服务里面只有一个操作test3, 一个入参对象reqInfo及一个出参(RESULT)list集合,与UserCodeTest3子流程绑定。通过向浏览器传入words参数,执行子流程的业务。服务地址在右侧,可以通过它来定位本WebService服务。

1. 在项目下创建com.xcorp.xproject.model包,在保重创建参数类,如下图:

2. 在子流程中创建流程。

a) 首先接收对象参数(账号、密码),并添加到全局变量中。

b) 进行数据库查询,并判断是否正确并输出

3.  利用soapUI测试,结果如下图:

6 心得总结

以上为笔者通过ESB进行的Web Service接口的开发,实现不同类型的入参及不同类型出参的演示的操作。

在工作中,要学会对自己锁定的目标坚定不移。否则,遇到困难,只要有机会,有退路,我们就会本能地尝试绕过,或者退却。只有瞄着目标不放,我们才会 穷尽全力推翻,或者跨越那些障碍。通过这篇文档的整理编写使笔者对以往做过的内容也加深了记忆。善于记录,勤加整理,温故知新,才能使自己更快成长。

时间: 2024-08-04 01:38:57

ESB开发WebService接口的相关文章

EJBCA开发 webService接口调用

<转载请注明出处> 摸索这个东西好长时间了,资料太少无从下手找了个EJBCA的类似论坛的东西 一点点找入口..... 分享下:http://sourceforge.net/p/ejbca/discussion/132019/,有问题 里面的人很快会回答的,但是 他们是做盈利机构的有些问题.. EJBCA SVN路径:https://svn.cesecore.eu/svn/ejbca/tags/Rel_3_9_7/ejbca   这是3的版本 有其他的自己找吧. 一.先介绍下接口调用: EJBC

使用cxf开发webservice接口

项目中经常用到开发webservice接口,及调用webService接口.这里讲解如何使用cxf开发webService接口. 一.webservice介绍及理解 webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间的交互.        比如,平台平台淘宝.京东想获取其他快递公司数据接口,需快递公司开放数据接口.       那么 webservice就是出于以上类似需求而定义出来的规范:无需关心对方什么平台上开发以及使用何种语言开发.       只关心调用

JMeter5.1开发WebService接口脚本

WebService接口地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getSupportCity 调用结果 下面可以获取到Content-Type及请求体的内容 请求头信息 请求体 运行结果 原文地址:https://www.cnblogs.com/UncleYong/p/10990172.html

visio studio2010 在win10下 开发webservice接口以及部署调用

环境 : win10 企业版 + visio studio2010 (自动安装的,.net 4) win10操作系统中需要安装internet信息服务,见一下步骤,如果找不到,请使用操作系统的企业版本: 1.进入控制面板->程序和功能,点击进入 "启用或关闭Windows功能": 2.找到 Internet Infomation Services 应用程序功能,我这里全都选上了,具体的每个功能的影响,我目前还不是很清楚: 点击确定,进行安装即可. 3.打开Visio Studio

webservice接口的开发和调用

一.开发webservice接口的方式 1.使用jdk开发 2.使用第三方工具,如cxf.shiro等 二.使用jdk开发webservice接口以及调用 首先定义一个天气预报的接口,Weather @WebService public interface Weather { String queryWeather(); } 定义一个实现类,实现该接口 @WebService public class WeatherImpl implements Weather{ public String q

基于Axis1.4的webservice接口开发(代码开发)

一.开发环境: 我的开发环境是MyEclipse 2015+Apache-Tomcat-8.0.21. 二.代码开发: 1.新建一个Web Project工程,并导入jar包(Axis1.4的环境搭建在上一篇博客http://www.cnblogs.com/zhukunqiang/p/7124977.html中有介绍): 1.在com.ll.server包下新建java类,工程结构目录如下: 2.java代码如下(由于该项目用于测试,简单点无所谓): package com.ll.server;

webservice 之 使用cxf开发WebService服务器端接口

摘要:webservice 不是一种新技术,它是一种跨平台,跨语言的规范,用于不同平台,不同语言开发应用之间的交互. cxf:是java主流的WebService实现框架. 接下来开始 使用cxf开发WebService服务器端接口 1.新建一个maven项目: 2. 项目用jdk1.7(因为1.7有webservice的默认实现)项目结构如: 3. 首先新建接口,HelloWorld.java: package com.wh.webservice; import javax.jws.WebSe

利用MyEclipse开发一个调用webservice接口的程序

上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选中--New  Webservice Client 2:选中JAX-WS,下一步 3:在WSDL URL里面写入接口的测试地址 ↓接下来WSDL VAlidation竟然报错了,如何解决请往下看 把localhost换位主机IP地址 下一步 ,OK 通过通过验证 客户端会默认给我们选中需要导入的包

使用CXF开发WebService服务器端接口

CXF作为java领域主流的WebService实现框架,Java程序员有必要掌握它. CXF主页:http://cxf.apache.org/ 简介:百度百科 今天的话,主要是用CXF来开发下WebService服务器端接口,明天写下开发客户端接口: 这里用Maven. 首先建一个Maven的j2se项目: 项目的jre用1.8,因为1.8有webservice的默认实现.不要用1.5 不然下面你用我的代码会有问题,用1.5的话,还需要另外加jar包,这里为了大家省事,要换成1.8; 根据规范