您的位置:程序门 -> java -> web services / xml



@webservice?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


@webservice?
发表于:2008-02-04 11:49:24 楼主
    在提出问题之前,我先说下我对webservice的理解.webservice主要是用在不同平台(os和编程语言)间功能的调用,现在能想起的一个典型例子就是用java写的程序b来调用.net所写程序提供的服务b.也就是说在整个应用系统中把b注册到一个类似jndi的"注册表"中,a这边也要访问的程序要先在那个"注册表"中登记,这样就可以用a来成功调用b了.a与b之间的数据传送是依据相关协议完成的.

webservice的优点就是可以跨平台地进行不同子系统的协作.不过它也有很明显的缺点,就是这样的跨平台调用是很周折的,要涉及到多种相关协议的解析.

有了上面的陈述后,现在说下我的问题.

工作中要对一个已有项目做些改进,那个项目中用到webservice,可除了有跟下面类似的接口外别的没见任何关于webservice的配置:
@webservice
public   interface   imenumanager   {
@get
@httpresource(location="/menus/{appid}")
public   list <menu>   getmenubyapp(   @webparam(name   =   "appid")   int   appid);

@get
@httpresource(location="/menus/{appid}/{enddate}/{isfilterdate}")
        public   list <menu>   getmenus(   @webparam(name   =   "appid")   int   appid,     @webparam(name   =   "enddate")   timestamp   enddate,   @webparam(name   =   "isfilterdate")   int   isfilterdate);

@post
@httpresource(location="/menus")
public   result <menu>   updatemenu(@webparam(name   =   "menu")   menu   menu);

@delete
@httpresource(location="/menus/{menuid}")
public   integer   deletemenu(@webparam(name   =   "menuid")   int   menuid);
}

现在我的疑问如下:
  1,由于整个项目都是用java来完成的,没有用到.net或c++这样的语言,所用服务器也是tomcat.这种情况下不有必要用webservice吗?java程序间就可以直接调用的,为什么还要多走webservice这条路呢?
  2,即使有必要用,可项目中除了像上面那样的@webservice标注外,别的地方也没看到其它的配置.这样有可能行吗?
发表于:2008-02-04 12:03:271楼 得分:0
你对webservice的作用理解有些片面,使用webservice的目的并不是只为了跨os,其目的是为了服务集成。你可以了解一下soa,虽然soa不等于webservice,但是目前soa的实现基本上用的都是webservice
发表于:2008-02-04 12:11:352楼 得分:0
合适的就是好的!   当你某一天发现,你需要集成许多东西的时候,你就会发现ws的作用。

一个系统内,跑在一个jvm里面当然没必要必须用ws.   不过如果跑在2台机器上的2个应用呢,   比如一个人力资源,一个销售,再加上一个公文呢?   都是独立的系统,都是java作的。
现在要集成,你打算怎么做??


发表于:2008-02-04 14:16:373楼 得分:0
噢,现在明白了些,很有可能我现在这个项目现在并没有直接用到webservice,它用上面的那个接口来为别的子系统来提供service.

谢谢!
发表于:2008-02-04 14:19:424楼 得分:0
我认为你真的懂了一些了!  
没错,   就算你和你同事的2个人的系统做数据交换,你们准备怎么做呢?  
ws应该是一个大家都能接受的选择。而且已经是集成接口的标准了!


快速检索

最新资讯
热门点击