国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于B/S結構的注冊中心設計與實現(xiàn)

2015-08-07 14:18劉世龍
大眾科技 2015年3期
關鍵詞:瀏覽器頁面服務器

劉世龍

(桂林電子科技大學信息與通信學院,廣西 桂林 541004)

基于B/S結構的注冊中心設計與實現(xiàn)

劉世龍

(桂林電子科技大學信息與通信學院,廣西 桂林 541004)

企業(yè)中傳統(tǒng)集中式架構的服務注冊系統(tǒng),存在單點故障和維護麻煩的問題。針對這一問題,本文設計并實現(xiàn)了分布式結構的注冊中心。它建立在UDDI標準規(guī)范之上,便于后續(xù)擴展功能;采用B/S結構降低了成本并提高了交互性和可操作性;同時,引入MVC模型,優(yōu)化了系統(tǒng)的可維護性。文章主要介紹了該注冊中心的描述模型和關鍵技術,并對注冊中心的功能進行了分析。

B/S結構;注冊中心;MySQL

1 引言

隨著電子商務的不斷發(fā)展,它推動分布式應用模型——Web服務[1-2]的快速發(fā)展。Web服務基于UDDI[3]、SOAP[4]和WSDL[5]等開放性協(xié)議,為互聯(lián)網提供了一個松耦合的分布式計算環(huán)境。由于Web服務具有模塊化、自描述、互操作、松耦合以及與平臺無關等優(yōu)良特性,這使其得到了廣泛應用。傳統(tǒng)的服務注冊系統(tǒng)采用的是集中式的構架,實現(xiàn)單一服務的注冊中心[6-7]。然而,傳統(tǒng)的服務注冊系統(tǒng)存在集中式結構系統(tǒng)共有的性能瓶頸、單點失效且不易擴展的缺點。面向web服務模型注冊中心為分布式計算提供了一種有效地方法,面向服務架構(Service Oriented Architecture)[8]的企業(yè)服務總線具有松耦合的特點,能很好地實現(xiàn)軟件資產的復用,從而能快速,方便地構建系統(tǒng)。因此,本文設計了基于B/S結構的注冊中心,利用B/S結構,大大地降低成本,降低操作復雜度。同時,采用UDDI規(guī)范,能快速發(fā)布以及發(fā)現(xiàn)服務,具有通用性,提高了可擴展性。而MVC模型的引入,將業(yè)務邏輯、數據和界面顯示相分離,增強系統(tǒng)的可維護性。

2 基于B/S結構的計算機技術

2.1 C/S的體系結構

采用C/S體系結構,能充分發(fā)揮現(xiàn)有計算機的運算能力,可以隨著用戶的需要增減設備,具有表達能力強、分布、移植性好等優(yōu)點。然而,隨著Internet技術的廣泛應用,C/S結構顯現(xiàn)了許多不足:

(1)每個客戶活動時都必須要與服務器端的數據庫保持連接,運算資源難以得到合理的利用。

(2)在多數據庫、多用戶的情況下,可能會造成用戶等待時間過長,帶有系統(tǒng)崩潰的潛在可能性。

(3)維護和升級成本非常高,每次升級時,所有客戶端的程序都需要更新。

2.2 B/S的體系結構

Browser/Server 模式為Client/Server 模式的擴展,采用三層結構模式,分別為表示層、功能層、數據層。這種模式最大的優(yōu)點是操作簡單,客戶端只需安裝和運行瀏覽器軟件,無需安裝其他專門的軟件。B/S 結構提供了一個跨平臺的應用環(huán)境,實現(xiàn)了開發(fā)環(huán)境和應用環(huán)境的分離。

B/S結構與傳統(tǒng)的C/S結構相比,具有以下優(yōu)點:

(1)由于Web支持底層的TCP/IP協(xié)議,使Web網與目前使用的局域網做到無縫連接,從而解決了并構系統(tǒng)間的連接問題。

(2)成本降低,B/S支持任何操作系統(tǒng)和瀏覽器,對配置要求降低。

(3)系統(tǒng)的相對集中性使系統(tǒng)的維護和擴展更容易;界面統(tǒng)一,操作相對簡單

3 Java Web技術

3.1 MVC原理

MVC是一種程序開發(fā)設計模式,它實現(xiàn)了顯示模塊與功能模塊的分離。提高了程序的可維護性、可移植性、可擴展性與可重用性,降低了程序的開發(fā)難度。它主要有模型、視圖、控制器三層,其優(yōu)點如下:

(1)可以為一個模型在運行時同時建立和使用多個視圖。

(2)視圖與控制器的可接插性,允許更換視圖和控制器對象,而且可以根據需求動態(tài)的打開或關閉、甚至在運行期間進行對象替換。

(3)模型的可移植性。因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作。

(4)潛在的框架結構??梢曰诖四P徒贸绦蚩蚣?,不僅僅是用在設計界面的設計中。

3.2 Servlet與JSP技術

Servlet與JSP技術屬于Web層技術。Servlet與JSP是不同的導向,前者是程序設計人員導向,而JSP是頁面設計人員導向的,Java程序員可將服務器代碼添加到已經設計好的靜態(tài)頁面上,經過一個JSP容器對JSP文件進行解析后轉換為Servlet類交給Web服務器運行,這樣結合兩者的長處能提高工作的效率。

Servlet程序在服務器端運行,動態(tài)地生成Web頁面。與傳統(tǒng)的CGI和許多其他類似CGI的技術相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節(jié)省投資。

JSP(JavaServer Pages)技術是由Servlet技術發(fā)展而來的,基于Java語言,在跨平臺、執(zhí)行速度、擴展性等方面具有很大的優(yōu)勢。JSP 頁面實際上只是在第一次被調用的時候被編譯一次。頁面被編譯成Java Servlet類,并駐留在服務器內存中,這樣以后調用該頁面時將很快。

4 UDDI技術

4.1 統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議

UDDI(Universal Description,Discovery and Integration)的出現(xiàn)從根本上說為了解決在開發(fā)基于組件化的Web服務中所使用的技術中無法解決的一些問題。UDDI、SOAP、WSDL等都是基于XML的協(xié)議,他們都是開放的,這樣就使得在集成原有的已被廣泛接受的技術上,Web服務可以被廣泛地接受。

4.2 UDDI商業(yè)注冊

UDDI的核心是UDDI商業(yè)注冊。它使用XML文檔來描述企業(yè)以及它所提供的Web服務。UDDI提供了一種基于分布式的商業(yè)注冊中心的規(guī)范。該規(guī)范規(guī)定了UDDI商業(yè)注冊中心支持三種數據:按名稱將企業(yè)組織起來的白頁、按類別將企業(yè)組織起來的黃頁、按服務將企業(yè)組織起來的綠頁。

白頁包含有關企業(yè)自身的信息,如企業(yè)名稱,詳細的聯(lián)系人信息和企業(yè)地址等;黃頁包含有關企業(yè)所提供服務的分類信息;綠頁包含有關企業(yè)所提供的服務的技術信息,包括使用該服務所需的所有技術信息。

4.3 UDDI信息模型

UDDI XML Schema定義了四種主要的信息類型:商業(yè)實體信息(businessEntity)、商業(yè)服務信息(businessService)、綁定信息(bindingTemplate)和服務調用規(guī)范(tModel),如圖1所示:

(1)商業(yè)實體信息:businessEntity元素

“businessEntity”結構中包含有關企業(yè)及其提供的服務的所有描述性信息,如企業(yè)名稱和對企業(yè)的描述以及聯(lián)系人信息、分類以及與其它企業(yè)之間的關系。“businessEntity”結構支持“白頁”和“黃頁”。

圖1 UDDI數據結構

(2)商業(yè)服務信息:businessService元素

businessService結構是一個描述性容器,描述了由企業(yè)提供的經過分類的一組服務。這個結構的信息支持“綠頁”,是businessEntity的子結構,每個businessEntity結構可以包含一個或多個businessService結構。

(3)綁定信息:bindingTemplate元素

bindingTemplate結構包含一個服務的技術性描述信息。每個bindingTemplate對應單個 businessService 元素。該結構的信息支持“綠頁”。

(4)服務調用規(guī)范:tModel元素

“tModel”結構的內容由鍵、名稱、描述和URL元素組成。它提供有關如何與該服務交互的具體信息。

UDDI 提供了一種編程模型和模式,它定義了與注冊中心通信的規(guī)則。UDDI消息的傳輸,通過HTTP從客戶機的SOAP請求傳到注冊中心節(jié)點,然后再反向傳輸。注冊中心服務器的SOAP服務器接收UDDI SOAP 消息、進行處理,然后把SOAP響應返回給客戶機,如圖2所示:

圖2 UDDI消息的傳遞過程

5 系統(tǒng)功能的實現(xiàn)

5.1 應用程序與MySQL數據庫的連接技術

MySQL是一個精巧的、多用戶、多線程SQL數據庫管理系統(tǒng),具有強大功能、靈活性、豐富的應用編程接口(API)及精巧的系統(tǒng)結構。Java程序連接MySQL數據庫需要JDBC驅動,本文所用的驅動程序是純Java類庫,它將把JDBC的請求翻譯成特定的數據庫協(xié)議,如圖3所示:

圖3 JDBC驅動程序示意圖

5.2 系統(tǒng)的功能設計與實現(xiàn)

在本系統(tǒng)的設計中,注冊中心共有三個模塊的功能,分別為注冊、查詢和刪除。瀏覽器通過發(fā)送HTTP請求到Tomcat服務器,此時,運行在Web服務器端的Java應用程序Servlet對HTTP請求進行處理,Servlet可將業(yè)務邏輯處理好之后的數據傳送到顯示層JSP,從而在瀏覽器中顯示結果。系統(tǒng)流程如圖5-2所示:

(1)Servlet邏輯部分

Servlet負責處理業(yè)務邏輯 ,運行在Servlet容器下,由Servlet容器負責處理。本文中使用基于HTTP協(xié)議的Servlet,作為基于HTTP協(xié)議的Servlet可以通過繼承javax.servlet.HttpServlet來實現(xiàn)。HttpServlet類已經實現(xiàn)了Servlet接口并根據不同的請求(get/post)調用響應的方法(doGet/doPost)。所以,對doGet方法進行重寫來處理Get請求,對doPost方法進行重寫來用于處理Post請求。每個HttpServlet都需要一個特定的部署描述符文件來指明特征,并置于應用的/WEB-INF文件夾中,文件名一般為web.xml。

圖4 系統(tǒng)流程圖

(2)服務器Tomcat部分

Tomcat目錄下conf文件夾中存放著配置文件Server.xml,其中定義了Tomcat的端口號,默認值為8080,可設置為其他端口。配置文件web.xml定義缺省值訪問文件,當瀏覽器中輸入域名后,當缺省文件名時,服務器按<welcome-file>標簽的順序搜索規(guī)定的文件,服務器自動訪問該文件并在瀏覽器顯示。

(3)JSP顯示層部分

Servlet與JSP之間的數據交換,需設計一個類包含所有需要顯示在瀏覽器上的數據,然后通過javax.servlet.http.HttpServletRequest類下的setAttribute和getAttribute方法來傳遞,如查詢功能,需要將企業(yè)的各項信息顯示在瀏覽器上,因而在設計類的時候包含了企業(yè)的各項信息在內再傳遞到JSP頁面并顯示。

綜上所述,基于B/S結構的UDDI注冊中心具有B/S結構的跨平臺、低成本的特性、Java Web技術的跨平臺和擴展性強的特性、UDDI的分布性的特性。該注冊中心能夠將所有的符合UDDI規(guī)范的標準服務集成在開放的、標準的服務描述、發(fā)現(xiàn)和集成的平臺上,具有較好的擴展性和實用性。

6 功能測試

本系統(tǒng)實現(xiàn)了注冊、查詢、刪除等功能,我們以注冊為例進行分析。開啟Tomcat服務器,打開瀏覽器并在地址欄輸入地址:http://localhost:8080/UDDIMgr/servlet/ Servlet_Test,即可進入首頁,如圖5所示:

圖5 首頁

在首頁中點擊注冊進入注冊頁面。在注冊頁面輸入相關信息后,點擊注冊按鈕,完成注冊。在注冊頁面,帶紅色星號為必填項,缺省則不能成功注冊。同時,頁面還帶有跳轉到其他功能的按鈕,如圖6所示:

圖6 Service Regist

7 結束語

基于B/S結構的注冊中心,建立在UDDI規(guī)范上,將所有符合該規(guī)范的標準服務集成在一個標準的服務描述、發(fā)現(xiàn)和集成平臺之上,極大地降低了集成和互操作的代價。引入B/S結構這種網絡結構模式可以統(tǒng)一客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器中,降低了系統(tǒng)的維護和升級成本,并且很好地解決了跨平臺的問題,增強了交互性和實用性。

[1] 柴曉路,梁宇奇.Web Services技術、架構和應用[M].北京:電子工業(yè)出版社,2003.

[2] 張瑋.基于J2EE的Web Service的研究與構建[D].武漢:武漢理工大學,2005.

[3] W3C Group.Web Services Description Language (WSDL) 1.1 W3C Note [EB/OL].http://www.w3.org/TR/wsdl.html, 2001.

[4] W3C Group. Simple Object Access Protocol (SOAP) 1.1 W3C Note [EB/OL].http://www.w3.org/TR/2000/NOTESOAP-20000508/,2000.

[5] Clement L,Hately A,Riegen CV,Rogers T. Universal descryption discovery & integration(UDDI)3.0.2 [EB/OL]. http:// www. uddi.org/pubs/uddi_v3.htm,2004.

[6] LIU J X, LIU J, CHAO L, Design and implementation of an extended UDDI registration center for Web service graph [C] //ICWS2007:Proceedings of the 2007 IEEE International Conference on Web Services. Piscataway: IEEE 2007:1174 -1175.

[7] WANG M.Research and implementation of a highly avaliable Web services platform [D]. Xi'an: Xidian University, 2012.

[8] Heather Kreger,Vince Brunssen,Heather Kreger.面向服務的體系結構(SOA)標準面向服務的體系結構(SOA)標準[EB/OL].http://www.ibm.com/developerworks/cn/webservices/ ws-soa-standards/.

The design and implementation of the registry based on B/S structure

Traditional centralized architecture was used in the service registry system in the enterprise, so there is the single point of failure and maintenance problem. In order to solve this problem, this paper designed and implemented a distributed architecture of the registry. It is based on UDDI specification to facilitate subsequent extensions; and it uses B/S structure to reduce the cost and improve the interactivity and operability; and at the same time, the MVC model, which is introduced in the registry, optimizes the maintainability of the system. This paper mainly introduces description model and the key technology of the registry, and analyses the function of the registry.

B/S structure; registry; MySQL

TP393

A

1008-1151(2015)03-0030-04

2015-02-15

桂林市科技開發(fā)(No.20140103-5)。

劉世龍(1988-),男,桂林電子科技大學信息與通信學院碩士研究生,研究方向為智能信息處理。

猜你喜歡
瀏覽器頁面服務器
刷新生活的頁面
通信控制服務器(CCS)維護終端的設計與實現(xiàn)
反瀏覽器指紋追蹤
中國服務器市場份額出爐
得形忘意的服務器標準
計算機網絡安全服務器入侵與防御
環(huán)球瀏覽器
Web安全問答(3)
網站結構在SEO中的研究與應用
瀏覽器
长汀县| 郸城县| 龙陵县| 且末县| 阳高县| 张家口市| 沙雅县| 洛宁县| 和林格尔县| 佛学| 太仓市| 芒康县| 五原县| 临安市| 招远市| 奉节县| 子洲县| 衡水市| 沭阳县| 德保县| 瑞安市| 莫力| 开远市| 营山县| 开封县| 依兰县| 尚义县| 德昌县| 清流县| 渭南市| 红安县| 本溪市| 错那县| 含山县| 买车| 湖口县| 景泰县| 沭阳县| 芜湖市| 龙游县| 唐海县|