【webservice】关于完整的webservice发布系统的开发思路

假如知道webservice的服务端、客户端是怎么弄了,但是没弄过复杂业务的webservice,可以参考一下这个示例工程(菜鸟请看,老鸟勿喷)。

该webservice接口工程实现的业务如下:

1、身份验证:调用方(下称“用户”)的账号密码是否正确;

2、接口状态:该webservice接口是否共享公开;

3、权限:调用方是否具有访问权限;

4、流量:用户在单位时间里的访问次数;

5、日志记录:记录用户访问该接口的参数、时间、是否成功调用;

这里重点是提供方案哦,大概地,设计这个webservice服务端的类如下:

import common.action.ServiceUtil;

public class ThisServer extends SuperServer{

private String interfaceName="This_Service";//接口名,log日志记录用

public String tXZL_QueryQry(String interfaceUser, String interfacePassword, String query1, String query2){ //供外部调用的方法

String methodName = "tXZL_QueryQry";//方法名,log日志记录用

String parameters = query1+"_"+query2;

int responseCode = 0;  //接口调用结果码,0为成功调用

if( check(interfaceUser, interfacePassword) ){//1、身份验证:调用方(下称“用户”)的账号密码是否正确;

responseCode  =  1;

ServiceUtil.error(responseCode,  interfaceUser ,  interfaceName, methodName , parameters  );//ServiceUtil进行log日志记录(录入到表或者log文档,代码自行实现吧)

}

if(  ServiceUtil.checkITF( interfacePassword) ){ //2、接口状态:接口是否共享开放;

responseCode =  2;

ServiceUtil.error(responseCode,  interfaceUser ,  interfaceName, methodName , parameters  );//日志记录

return ""+responseCode  ;

}

if(  ServiceUtil.checkAuth(interfaceUser, interfacePassword) ){//3、权限:调用方是否具有访问权限;

responseCode  =  3;

ServiceUtil.error(responseCode,  interfaceUser ,  interfaceName, methodName , parameters  );//日志记录

return ""+responseCode;

}

if(  ServiceUtil.checkFlow(interfaceUser, interfacePassword) ){//4、流量:用户在单位时间里的访问次数;

responseCode  =  4;

ServiceUtil.error(responseCode,  interfaceUser ,  interfaceName, methodName , parameters  );//日志记录

return ""+responseCode;

}

if( responseCode ==0 ){

try{

xxxxxxxxxxxxxxxx.........; // 主要的业务代码;

ServiceUtil.error(responseCode,  interfaceUser ,  interfaceName, methodName , parameters  );//日志记录

return ""+responseCode+“..............”;

}catch(Exception e){

responseCode = 5; //接口异常

ServiceUtil.error(responseCode,  interfaceUser ,  interfaceName, methodName , parameters  );//日志记录

}

}

}

}

上面代码省略了细节部分,其实省略掉的代码,大概就是数据库查询、字符串比较等等。那么,webservice接口按照这样的套路进行开发,另外可以写一个jsp系统用于接口、用户的配置,例如接口管理、用户管理、接口权限配置、接口流量配置、接口调用日志分析,当然,前端要好看,功能在细节上要到位,最后就能够整合成完美运行的webservice接口发布系统。

转载请说明出自Whilejolly:http://blog.csdn.net/seedingly/article/details/39050613

时间: 2024-10-08 01:43:36

【webservice】关于完整的webservice发布系统的开发思路的相关文章

牛腩新闻发布系统后台开发总结

在牛腩的前1-17集视频中,详细讲述了新闻发布系统的开发流程,在视频中还实现了代码的编写和调试.就我自己的感受来看,视频中讲的内容都在机房收费系统中运用或见识过,不是新的东西.但是以前对这些知识的理解都是阶段式的,在牛腩视频中,把这些知识都串联了起来,形成了一个整体,即为融会贯通,总结为下图: 这里面既有软件工程的内容,也有数据库的知识,开发新闻发布系统用的是三层的架构,ASP.NET的编程语言,在视频中还用到了简单工厂设计模式,这些都是学过的知识,是对CS知识的总结和运用,理解起来也没有什么问

简析GeoServer服务的内部文件组织以及GeoServer自动化服务发布工具的开发思路

1.前言 通过GeoServer发布的服务,在GeoServer内部有固定的文件组织和构造.如果对该文件组织和构造有足够的了解,可以通过此规则来自己开发GeoServer服务的发布工具,简化工程人员的操作流程.此篇文章将跟大家一起探讨其中规则. 2.了解GeoServer中与服务相关的基本文件 在GeoServer的Data文件夹中有如下文件: 其中,workspaces文件是图层服务相关的配置文件存放处. styles文件夹是style相关文件的默认存放处. 2.1workspaces文件夹

webservice之简单创建和发布(一个加法运算)

webservice之简单创建和发布(一个加法运算) 开发工具 visual studio 2010 WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互. WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.后来微软做了ASP.NET Web Se

Axis2发布webservice(4)—webservice的异步调用

一,发布一个webservice,代码如下 package com.hoo.service; public class AsynchronousService { public String execute() throws InterruptedException{ //让当前线程睡眠5钟,展示异步调用 Thread.sleep(5000); return "done"; } } 二.发布Service,参见前面教程,不多讲 三.RPC方式异步调用: import java.io.I

真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService

WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-RPC到现在成熟的.支持RPC调用与消息传递的JAX-WS都经过了市场的考验,十分成熟,而且使用JAX-WS开发WebService的收益是很大的,它是轻量级的. 我们使用JAX-WS开发WebService只需要很简单的几个步骤:写接口和实现=>发布=>生成客户端(测试或使用). 而在开发阶段我们

Axis2发布webservice(4)—WebService的session管理

一.WebService中添加session管理代码,用到了MessageContext类和ServiceContext类.代码如下: package com.hoo.service; import org.apache.axis2.context.MessageContext; import org.apache.axis2.context.ServiceContext; public class LoginService { //登陆方法 public boolean login(Strin

WebService学习总结(一)——WebService的相关概念

一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),

WebService到底是什么?WebService平台技术、WebService开发、适用场合

一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于浏览器的富客户端应用程序(RIA),当然后一种技术相对来说更加的时髦一些(如现在很流行的Html5技术),这里

安卓项目-利用Sqlite数据库,开发新闻发布系统

本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基于上篇文章基础之上进行深入学习的.程序员带你学习安卓开发-XML文档的创建与解析 Sqlite数据库: Sqlite数据库是在安卓中使用较广泛的数据库.其为简单.轻巧的Sql类文件型数据库.因以简单的文本形式保存,所以安全性不是很高.只要拿到sqlite数据库文件就可以得到数据.所以这就决定了sql