码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-09-04 14:57:09      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:webservice   axis   

假如知道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


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

标签:webservice   axis   

原文地址:http://blog.csdn.net/seedingly/article/details/39050613

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!