999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Tuscany SCA遠程訪問web service

2014-08-16 09:20:43
宿州學院學報 2014年11期
關鍵詞:服務方法

唐 青

福建衛生職業技術學院信息技術教研室,福建福州,350101

基于Tuscany SCA遠程訪問web service

唐 青

福建衛生職業技術學院信息技術教研室,福建福州,350101

以基金銷售系統中代銷機構交收資金明細查詢功能為例,討論了利用Tuscany SCA訪問遠程web service的實現過程。這個過程使用servlet與Tuscany SCA構件相結合技術,通過建立web構件、servlet程序及配置servlet過濾器,實現了基于SCA的遠程調用web服務。利用這種方法實現調用遠程服務,易于理解且實現相對簡單。

SCA web服務;遠程調用;servlet

當今,在分布式應用系統開發過程中,開發者常需要遠程訪問后臺系統或者第三方系統提供的web service。客戶端訪問web service方法有很多,常見的有利用JDK中web服務API調用web service,利用Apache CXF、Axis2等一些開源框架實現對web service遠程調用。上述方法雖然較為成熟,但實現時需要編寫的程序代碼較多,較為繁瑣。本文嘗試利用Apache Tuscany SCA實現web service的遠程調用。Apache Tuscany是一個開源SOA基礎架構,主要用于服務構件的開發、組裝、發布和管理;另外,它也提供了一種輕量級遠程服務調用方法。利用這種方法實現遠程服務的調用,相對簡單且易于理解。

1 基于Tuscany SCA的遠程服務調用框架

為了更好地闡述這種調用遠程服務的方法,以基金銷售系統代銷機構交收資金明細查詢功能為例,詳細介紹利用Tuscany SCA進行遠程web service訪問的實現過程。如圖1所示,該功能在實現過程中需要通過web service方式訪問后臺清算子系統提供的Clearing Service,查詢獲得代銷機構交收資金明細數據。

圖1 采用web service方式訪問后臺清算子系統提供的Clearing Service

基于Tuscany SCA實現遠程服務調用的基本原理,使用servlet與Tuscany SCA服務構件結合技術。Tuscany SCA 允許將Java EE規范中web模塊(servlet)擴展為符合SCA規范要求的服務組件,這樣,web瀏覽器通過調用servlet就可以輕松地訪問遠程的web service。這種方式簡化了web服務器調用遠程服務的開發,同時使開發者將現有的servlet和SCA服務結合起來,大大提高了代碼的復用度。如圖2為基于SCA調用遠程服務的過程框架圖。

2 實現方式的主要步驟

為了實現基于Tuscany SCA遠程訪問web service,除開發一個用于用戶交互的JSP網頁外,還需要完成以下主要任務:(1)基于Tuscany SCA,配置一個Web構件,利用該構件,引用遠程服務ClearingService;(2)建立實現查詢功能的servlet;(3)配置TuscanyServletFilter過濾器。

2.1 配置web構件

客戶端的jsp頁面在servlet程序順利調用遠程web Service之前,必須先配置一個如圖3所示的web構件。

圖2 基于SCA的遠程調用框架圖

Web構件包括Web Client和Clearing Reference Component兩個服務組件。其中,Web Client組件用于將servlet擴展為服務組件;Clearing Reference Component是標準的通過java類來實現的服務組件,用于引用遠程服務。

圖3 Web構件圖

Tuscany SCA下web構件的建立方法:通過在/META-INF/sca-deployables/目錄下新建web.composite文件。該文件定義了web構件的組成。web.composite文件架構內容如下:

……

……

……

根據構件圖和web.composite的架構內容,需要作如下說明[1]:

(1)在web構件中定義Web Client服務組件用來引用Clearing Reference服務。

(2)表明WebClient組件允許將servlet等作為服務的具體實現,web-uri="",表明整個WAR代表一個SCA contribution,即整個站點是一個contribution,是Web Client組件的實現。

(3)在web構件中定義了ClearingReference組件,該組件又定義了一個基于Web Service的引用Clearing Service。通過這個引用,便可以調用遠程的共享服務“ClearingService”,在架構代碼中為:

其中uri值表明了這個遠程服務的uri地址。

2.2 建立servlet程序

建立一個servlet程序,通過它可以查找和使用基于SCA的web服務。但是,不同的servlet容器對SCA的支持程度不一致,有些容器完全支持SCA,有些容器部分支持SCA。對于完全支持SCA的容器,servlet代碼就可以使用@Reference注釋;而對于不完全支持SCA的容器,@Reference注釋不起作用,引用需要被設置在servlet的init()方法中[1]。

下面是基于上述兩種情況的代碼:

(1)servlet容器完全支持SCA的代碼寫法,servlet使用@Reference注釋來查詢ClearingReference服務。

publicclassQuerySettlementServlet extends HttpServlet {

privatestaticfinallongserialVersionUID = 1L;

@Reference

protectedClearingReferenceclearingReference;

(2)servlet容器不完全支持SCA的代碼寫法,servlet通過SCA Component Context來查詢Clearing Reference。Component Context是標準的SCA API。常見的Tomcat服務器是不完全支持SCA的,可以采用下面的寫法。

public void init(ServletConfigconfig) throws ServletException {

if (clearingReference==null){

ComponentContextcontext=(ComponentContext)config.getServletContext().getAttribute("org.osoa.sca.ComponentContext");

clearingReference=context.getService(ClearingReference.class, "ClearingRef-erence");

}

}

2.3 配置TuscanyServletFilter過濾器

在基于Web Service的SCA應用中,要想在Web環境中使用Tuscany提供的功能,需要在web.xml中設置TuscanyServletFilter過濾器。其工作過程如下:當應用服務器啟動、客戶端訪問jsp頁面時,服務器調用Web.xml中Tuscany Servlet Filter過濾器。在Tuscany Servlet Filter過濾器中,首先得到一個WebAppServletHost實例,Web App Servlet Host是在Web應用環境中使用的Tuscany功能提供者;在Web App Servlet Host中,得到一個SCA Domain實例,并將之放入Servlet Context上下文中,以后可藉由相應的key得到此SCA Domain實例,即jsp中成功取得SCADomain實例,根據SCA Domain實例取得Domain域中相應的組件,之后就可以調用組件中的各種業務方法了。

Tuscany Servlet Filter過濾器具體配置:在WEB-INF/目錄下創建web.xml,在web.xml文件中配置Tuscany Servlet過濾器。主要架構內容如下:

tuscany

……

tuscany

/*

……

QuerySettlementServlet

QuerySettlementServlet

……

3 基于SCA調用遠程服務示例

將定義的web構件中的組件部署到Tomcat服務器,啟動Tomcat服務器,在瀏覽器中輸入調用遠程服務的jsp頁面,并在頁面輸入要查詢的各項條件,提交后,瀏覽器去調用QuerySettlementServlet.java程序,并使用SCA ComponentContext(SCA API)來查詢ClearingReference服務,Clearing Reference服務再調用遠程服務ClearingService中的接口query All SalersSettle Statements(String strSale,Strings trFundCode,String cfDate1,String cfDate2),根據“代銷機構”“基金代碼”“起始確認日期”“結束確認日期”查詢代銷機構交收資金明細。代碼片斷如下:

protected void doPost(HttpServletRequest request,Http Servlet Response response) throws Servlet Exception,IOException {

……

ssr=clearing Reference.query All Salers Settle Statements(strSaler ID,strFundcode,cfmDate1,cfmDate2);

……}

運行結果如圖4所示。

圖4 代銷機構交收資金明細查詢結果

4 結束語

本文基于 SCA架構與servlet相結合,通過建立web構件、servlet程序及配置servlet過濾器,實現了基于SCA的遠程調用web服務。這種框架利用Tuscany SCA簡化了遠程服務的訪問方式。

[1]Simon Laws,Mark Combellack,Raymond Feng.Tuscany SCA in Action[EB/OL].[2014-06-05].http://www.open-open.com/doc/view/4cd938feb9b34d49a82f664958 a9a248

[2]吳清濤.基于Proxy模式的遠程處理框架研究[J].長江大學學報:自然科學版,2013,10(19):23-26

[3]孫佳慶,俎云霄,李巍海,等.基于JSP的Matlab遠程調用和并行處理[J].計算機科學與應用,2013(3):273-277

[4]周毅,張曉先,陳麗蓉.AUTOSAR 符合性測試適配器的實現方法[J].計算機工程,2014(1):291-294

[5]李海聞,寧敏,林福良,等.一種基于CORBA的分布式應用模型[J].計算機系統應用,2010,19(S1):33-34

[6]紐康莫,勞莫,徐涵,等.Understanding SOA with Web Service:中文版[M].北京:電子工業出版,2006:20-32

[7]劉佑平.SCA在鐵路信息共享平臺中的應用研究[D].北京:北京交通大學研究生院,2008:2-35

[8]焦烈焱,馮興智,楊洪波.SOA中國路線圖[M].北京:清華大學出版社,2009:2-223

(責任編輯:汪材印)

10.3969/j.issn.1673-2006.2014.11.023

2014-07-28

福建省教育廳B類課題科技基金項目“基于Tuslang SCA的應用開發研究”(JB13335)。

唐青(1975-),女,福建福州人,碩士,講師,主要研究方向:計算機信息系統。

TP311.5

A

1673-2006(2014)11-0079-04

猜你喜歡
服務方法
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
學習方法
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 国模在线视频一区二区三区| 久久6免费视频| 狠狠色丁婷婷综合久久| 操国产美女| 就去吻亚洲精品国产欧美| 亚洲天堂视频网站| 国产精品香蕉在线观看不卡| 美女一级毛片无遮挡内谢| 国产视频一二三区| 本亚洲精品网站| 中文字幕不卡免费高清视频| 久久国语对白| 国产情精品嫩草影院88av| 亚洲成肉网| 五月激情婷婷综合| 欧美伦理一区| www.精品国产| 国产97公开成人免费视频| 欧美a√在线| 91在线播放免费不卡无毒| 亚洲免费毛片| 久久综合伊人77777| 99视频在线免费看| 91精品国产情侣高潮露脸| 日本高清有码人妻| 一级成人a做片免费| 成人无码一区二区三区视频在线观看 | 中文字幕无码中文字幕有码在线 | 热99re99首页精品亚洲五月天| 亚洲一区二区三区在线视频| 在线看片免费人成视久网下载| 亚洲性影院| 婷婷五月在线| 亚洲福利片无码最新在线播放| 尤物亚洲最大AV无码网站| 中文字幕欧美成人免费| 亚洲欧美精品一中文字幕| 99在线视频精品| 91久久精品日日躁夜夜躁欧美| 萌白酱国产一区二区| 亚瑟天堂久久一区二区影院| 人人91人人澡人人妻人人爽| 国产精品美女自慰喷水| 欧美.成人.综合在线| 97精品久久久大香线焦| 无码中字出轨中文人妻中文中| 国产流白浆视频| 亚洲开心婷婷中文字幕| 亚洲91在线精品| 亚洲综合香蕉| 中文字幕人成人乱码亚洲电影| 国产丝袜精品| 人妻无码中文字幕一区二区三区| 欧美一区二区三区不卡免费| 国产性精品| 免费亚洲成人| 激情国产精品一区| 国产精品lululu在线观看| 在线观看亚洲国产| 日本欧美在线观看| 欧美成人一区午夜福利在线| 色老二精品视频在线观看| 91成人在线观看| 无码精品国产dvd在线观看9久| 欧美 亚洲 日韩 国产| 欧美成人看片一区二区三区| 多人乱p欧美在线观看| 超碰色了色| 99re热精品视频中文字幕不卡| 欧美色99| 夜夜操国产| 婷婷六月综合网| 另类专区亚洲| 国产精品永久不卡免费视频| 日本色综合网| 99精品在线看| 超级碰免费视频91| 婷婷色一区二区三区| 无码网站免费观看| 欧美综合区自拍亚洲综合绿色| 欧美亚洲综合免费精品高清在线观看 | 91国语视频|