在我的QQ空间地址留在这里
http://43990246.qzone.qq.com/?url=http%3A//imgcache.qq.com/qzone/blog/blog.html%23blogId%3D94921
写了那么久程序,也没写过一编文章,想想也还是写点什么吧,选择这个主题是因为网上相关的主题很少看到,看了不要仍板砖。
在现实的环境中各个系统和应用之间的信息交互与访问变的越来越多,现今主流的两个平台J2EE
与.NET之间的交互与访问有很多方法。
比如通过JAVA的JNI来调用DLL或SO组件来达到J2EE与.NET之间的交互.这样虽然解决了问题但是是很烦琐相对来说也不是很可靠。在J2EE与J2EE平台,.NET与.NET平台自身的信息交互与访问的方法是很多的。
我要说JAVA是很强大的,有跨平台的特性,所以我个人主张使用JAVA来做Service,我要说的也就是怎样使用JAVA来做Service。说了那么多废话,自己都觉得罗嗦。
我选用XML来做与Service交互的对象,用XML的好处显而易见,它不在乎你发出请求的是J2EE平台还是.NET平台或是其他什么平台。
1 首先建立Service
既然选用XML来做与Service交互的对象,那就先定义以下XML的request与response所需要的节点。
<1>先定义request客户请求时候提交的XML
<?xml version="1.0" encoding="UTF-8" ?>
<Request>
<Source>
<RequestorID userid="1479" password="xxx" />
</Source>
<SearchHotel>
<Country Code="中国" />
<City Code="上海" />
</SearchHotel>
</Request>
在request中Source节点有一个RequestorID子节点它的两个属性userid与password是验证客户身份用的。
SearchHotel节点有两个子节点Country 和City 是指定客户要搜索的酒店所在的国家和城市。
<2>再定义response Service解析客户请求的XML根据客户的需求返回的XML
<?xml version="1.0" encoding="UTF-8" ?>
<Response>
<ResponseHotel>
<Country Code="China" />
<City Code="Shanghai" />
<Hotels>
<Hotel>金茂凯悦</Hotel>
<Hotel>喜来登</Hotel>
</Hotels>
</ResponseHotel>
</Response>
在response中ResponseHotel节点有三个子节点Country 和City 是指定返回客户要搜索的酒店所在的国家和城市。Hotels节点又有子节点Hotel这个节点一个就代表一个酒店
一个是请求一个是响应然后返回,以上两个XML简单来说就是一个客户请求中国上海的所有酒店,然后Service返回两个。
当然这只是例子,你可以把请求和返回的XML设计的更复杂,客户可以有更多的搜索条件,Service也可以返回更详细的信息。
现在环境已经假设好了,XML也定义好了,重要的是客户怎么把XML给Service,然后Service怎么取得客户XML后,进行解析然后又返回正确的数据给客户呢,如果这样一个流程通了,那么我门就建立好了Service,并且是用XML进行通讯交互的,灵活性很高,想要多的功能只需要在XML加节点或者加新的XML,用JAVA做的Service又可以跨平台!!!想想吧这是很强大的。
下面我就说说具体实现。