200939124 九、發明說明: 【發明所屬之技術領威】 本發明是有關於一種於網路劉覽器(Web Browser)上 驅動應用程式的技術’特別是指一種於網路渗1覽器上非侵 入式驅動可擴展標示語言(Extensible Markup Language ’ 以下簡稱XML )應用程式的方法與系統。 【先前技術】 XML是一種用於組織及描述資料的標準’它可以使電 φ 腦很簡易地產生並讀取資料,且確保資料結構精確。xml 具有以下優點··其是可擴展的、平台獨立的,以及可支援 國際化及地區化的格式。 在網路瀏覽器的環境中,習知驅動XML應用程式之技 術是以微軟(Microsoft)的ActiveX元件之網頁技術,來檢 測網路瀏覽器端的作業系統是否有安裝XML應用程式;若 有安裝,則進一步驅動已安裝的XML應用程式;否則,以 提示語告知使用者未安裝XML應用程式。 〇 然而,習知的技術是一種必須在網頁裡植入ActiveX元 件,來偵測網路瀏覽器端的作業系統之組態資訊,藉此判 斷是否安裝XML應用程式;但是,這是屬於一種安全度較 低的侵入式技術,而且,無法應用在不能植入ActiveX元件 的網路瀏覽器中。 故,有必要尋求一解決之道,使得不需要在網頁裡植 入ActiveX元件,即可在各種網路瀏覽器的環境中,以一種 安全度較高的非侵入式技術,驅動作業系統裡的XML應用 200939124 程式。 【發明内容】 因此,本發明之目的,即在提供一種於網路瀏覽器上 非侵入式驅動XML應用程式的方法。 於是,本發明於網路瀏覽器上非侵入式驅動XML應用 程式的方法是包含下列步驟:(a)自一網路瀏覽器端傳送欲 下載一基於XML (XML-based)資料流(Stream)之一超文 件傳輸協定(Hypertext Transmission Protocol,以下簡稱 ❹ HTTP )要求(Request );( b )於該網路瀏覽器端接收一基 於標籤(Tag )資料流;(c )若該網路瀏覽器端符合一預設 之安裝條件,則以一非侵入式方式驅動一 XML應用程式, 其中,該預設之安裝條件為:該網路瀏覽器端已安裝該 XML應用程式,且已於其作業系統中註冊與該XML應用程 式相關之一延伸檔名及一多用途網際郵件擴充( Multipurpose Internet Mail Extensions,以下簡稱 MIME)協 定類型;及(d)若該網路瀏覽器端不符合該預設之安裝條 ® 件,則重導該網路瀏覽器至顯示一特定訊息之網址。 本發明之另一目的,即在提供一種於網路瀏覽器上非 侵入式驅動XML應用程式的系統。 於是,本發明於網路瀏覽器上非侵入式驅動XML應用 程式的系統是包含安裝於一網路瀏覽器端之一瀏覽器端處 理單元,以及安裝於一網路伺服器端之一伺服器端處理單 元。 該瀏覽器端處理單元包括一註冊模組、一收發模組、 200939124 判斷模組、一應用程式觸發 — 冊模組用以於該網晴器端之作業二重導模組。該註 切見益崎之作業糸統中註冊盥一 應用程式相關之一延仲播名i 〇 掇紐用n.、 ME龄類型,該收發 _ 4欲下載—基於XML資料流之-HTTP要求, 覽二二^料流,該判斷模組用以判斷該網路劇 = 設之安裝條件,若是,則該應用程式 ”且用以利用—非侵入式方式驅動該XML應用程式,200939124 IX. Description of the Invention: [Technology Leading the Invention] The present invention relates to a technique for driving an application on a Web Browser, in particular, a type of network infiltrator Intrusively-driven Extensible Markup Language (XML) application methods and systems. [Prior Art] XML is a standard for organizing and describing data. It makes it easy to generate and read data and ensure accurate data structure. Xml has the following advantages: It is extensible, platform-independent, and supports international and regional formats. In the context of a web browser, the technology for driving XML applications is based on Microsoft's ActiveX component web technology to detect whether the web browser's operating system has an XML application installed; if installed, The driver XML application is further driven; otherwise, the user is notified by the prompt that the XML application is not installed. However, the conventional technique is to construct an ActiveX component in a webpage to detect the configuration information of the operating system of the web browser, thereby determining whether to install the XML application; however, this is a kind of security. Lower intrusive technology, and can not be applied to web browsers that cannot be populated with ActiveX components. Therefore, it is necessary to find a solution, so that it is not necessary to implant ActiveX components in the webpage, and in a variety of web browser environments, a non-invasive technology with high security is used to drive the operating system. XML application 200939124 program. SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a method of non-intrusively driving an XML application on a web browser. Thus, the method of the present invention for non-intrusively driving an XML application on a web browser comprises the following steps: (a) transmitting from an internet browser to download an XML-based data stream (Stream). a Hypertext Transmission Protocol (hereinafter referred to as ❹ HTTP) request (Request); (b) receiving a tag-based data stream on the web browser; (c) if the web browser The end meets a predetermined installation condition, and drives an XML application in a non-intrusive manner, wherein the preset installation condition is: the web application has installed the XML application and has been working on the web application. The system registers an extension file associated with the XML application and a Multipurpose Internet Mail Extensions (MIME) protocol type; and (d) if the web browser does not conform to the preset The installation strip® re-directs the web browser to display the URL of a particular message. Another object of the present invention is to provide a system for non-intrusively driving an XML application on a web browser. Therefore, the system for non-intrusively driving an XML application on a web browser comprises a browser-side processing unit installed on a web browser side, and a server installed on a network server side. End processing unit. The browser-side processing unit includes a registration module, a transceiver module, a 200939124 determination module, and an application trigger-type module for the job two-redirect module of the fairer. This note can be found in Yisaki's Homework System. One of the applications is related to Yanzhong. The name is extended by i. The type of ME is used. The sender and receiver _ 4 wants to download - based on the XML data stream - HTTP requirements, Viewing the second and second streams, the determining module is configured to determine the installation condition of the network drama=, and if so, the application is used to drive the XML application by using a non-intrusive manner.
否則該重導模組用以重導該網路瀏覽器至顯示—特定訊 息之網址。 ° 該伺服器端處理單元包括—收發模組、一分析模組, 及-資料流處理模組。該收發模組用以接收由該網路瀏覽 器端所傳送之該HTTP要求,並傳送該餘Tag資料流該 分析模組用以分析該Ηττρ要求,以決定該基於^資料流 之處理方式,若其分析結果為:已知該網路瀏覽器端符合 該預設之安裝條件,則該資料流處理模㈣以產生標準的 該基於XML資料流,且該基於Tag資料流為標準的該基於 XML·資料流。 、 本發明之又一目的,即在提供一種於網路瀏覽器上非 侵入式驅動XML應用程式的伺服器端處理單元,適用於安 裝在一網路伺服器端。 於是,本發明於網路瀏覽器上非侵入式驅動XML應用 程式的伺服器端處理單元是包含一收發模組、一分析模組 ,及一資料流處理模組。 該收發模組用以接收由一網路瀏覽器端所傳送之欲下 7 200939124 載一基於XML資料流之一 HTTP要求,並傳送一基於Tag 資料流。該分析模組用以分析該HTTP要求,以決定該基於 Tag貧料流之處理方式。該資料流處理模組用以根據該分析 模組之分析結果,產生該基於Tag資料流。若分析結果為 :已知該網路瀏覽器端符合一預設之安裝條件,則該資料 流處理模組產生標準的該基於XML資料流,且該基於Tag 資料流為標準的基於XML資料流;若分析結果為:未知該 網路瀏覽器端是否符合該預設之安裝條件,則該資料流處 ^ 理模組產生加上一處理指示(Processing Instruction,以下 簡稱PI)宣告之該基於XML資料流,且該基於Tag資料流 為加上PI宣告之基於XML資料流;若分析結果為:該網 路瀏覽器端無法識別,則該資料流處理模組產生一超文字 標示語言(Hypertext Markup Language,以下簡稱 HTML) 格式資料流,且該基於Tag資料流為該HTML格式資料流 【實施方式】 © 有關本發明之前述及其他技術内容、特點與功效,在 以下配合參考圖式之一個較佳實施例的詳細說明中,將可 清楚的呈現。 參閱圖1與圖2,本發明於網路瀏覽器上非侵入式驅動 XML應用程式的系統之較佳實施例包含一瀏覽器端處理單 元1及一伺服器端處理單元2。該瀏覽器端處理單元1包括 一註冊模組11、一收發模組12、一判斷模組13、一應用程 式觸發(Trigger)模組14,及一重導模組15。該伺服器端 8 200939124 處理單元2包括一收發模組21、一分析模組22、一資料流 處理模組23,及一組態設定模組24。其中,該瀏覽器端處 理單元1之各模組,與該伺服器端處理單元2之各模組, 可分別整合成安裝於一網路瀏覽器端之軟體,與安裝於一 網路伺服器端之軟體。 對應本發明之系統,其各單元與模組間之關係與執行 步驟,將配合以下本發明於網路瀏覽器上非侵入式驅動 XML應用程式的方法,進一步地說明。 如步驟301〜302所示,當一使用者欲下載一基於Xml 資料流時,該瀏覽器端處理單元丨之收發模組12自該網路 瀏覽器端傳送對應之一 HTTP要求。 如步驟303〜304所示,該伺服器端處理單元2之收發 模組21接收來自該網路瀏覽器端的該HTTp要求;且該分 析模組22分析該HTTP要求,以決定該基於XML資料1 之處理方式。若該分析模組22之分析結果為:已知該網路 瀏覽器端符合一預設之安裝條件,則繼續進行步驟3〇5之 處理,若該分析模組22之分析結果為:未知該網路瀏覽器 端是否符合該預設之安裝條件,則繼續進行步驟3〇6之處 理,右該分析模組22之分析結果為:該網路瀏覽器端無法 識別或有其他例外(ExcePti〇n)情況發生,則繼續進行步 驟308之處理。 其中,該預設之安裝條件為:該網路瀏覽器端已安裝 〜XML應用程式,且該註冊模組u已於該網路劉覽器端 之作業系統中註冊與該XML應用程式相關之一延伸檔名及 200939124 一 MIME協定類型。在該網路伺服器端,該組態設定模組 24會於該網路伺服器端的MIME映射類之一組態設定檔内 ,加入與該網路瀏覽器端之作業系統中已註冊之MIME協 定類型相同之一設定值。 如步驟305所示,當由該HTTP要求得知該網路瀏覽器 端符合該預設之安裝條件時,該資料流處理模組23產生標 準的基於XML資料流。其中,標準的基於XML資料流係 指符合一般習知XML格式之資料流。 © 如步驟306所示,當由該HTTP要求無法得知該網路瀏 覽器端是否符合該預設之安裝條件時,該資料流處理模組 23產生加上一 PI宣告之基於XML資料流。其中,該PI宣 告係指向一份可擴展樣式語言(Extensible Style Language ,以下簡稱XSL)資源檔置放的網址,並且在該XSL資源 檔中加上欲執行之網路程式片段(Web Script)。 如步驟307所示,當經過步驟305或步驟306之處理 後,該資料流處理模組23包裝該基於XML資料流。 © 如步驟308~309所示,當由該HTTP要求得知該網路瀏 覽器端無法識別或有其他例外情況發生時,該資料流處理 模組23產生一 HTML格式資料流,並包裝一基於HTML資 料流。 如步驟310所示,該基於XML資料流(標準的基於 XML資料流或加上PI宣告之基於XML資料流),以及基於 HTML資料流可統稱為一基於Tag資料流,該伺服器端處理 單元2之收發模組21傳送該基於Tag資料流至該網路瀏覽 10 200939124 器端。 如步驟311〜312所示,該瀏覽器端處理單元1之收發 模組12接收來自該網路伺服器端之該基於Tag資料流,然 後,該判斷模組13分析該基於Tag資料流。若該基於Tag «料流為基於XML資料流,則繼續進行步驟313之處理; 若該基於Tag資料流為基於HTML資料流,則繼續進行步 驟316之處理。 如步驟313所示,該判斷模組13判斷該網路瀏覽器端 © 是否符合該預設之安裝條件;若是,則繼續進行步驟314 之處理;否則’繼續進行步驟315之處理。 如步驟314所示,當該基於Tag資料流為步驟3〇5或 步驟306所產生的基於xml資料流,且該網路瀏覽器端符 合該預設之安裝條件時’依作業系統對資料格式的優先處 理順序,該應用程式觸發模組14以一非侵入式方式驅動該 XML應用程式。其中,該非侵入式方式為:根據已註冊之 該延伸檔名及MIME協定類型,透過一微軟之物件連結與 ❹ 嵌入(Object Linking and Embedding,以下簡稱 〇LE)技 術’自動地驅動該XML應用程式。此時,該網路瀏覽器端 的應用程式接收該基於XML資料流,並依據一xml訊息 執行對應的應用程式功能。 如步驟315所示,當該基於Tag資料流為步驟3〇6所 產生的基於XML資料流,且該網路瀏覽器端不符合該預設 之安裝條件時,依作業系統對資料格式的優先處理順序, 該重導模組15根據該PI宣告,觸發該XSL資源擋中之網 11 200939124 路程式片段。 如步驟316所示,該重導模組15重導該網路瀏覽器至 顯示一特定訊息之網址。其中,若是經由步驟315之處理 者該網路劉覽器顯不之該特^訊息》‘未安裝應用 程式,訊息;否則,該網路瀏覽器顯示之該特定訊息為‘ 例外發生’訊息。 產v、’内上述,藉由本發明之系統及方法,若該網路劉覽 器端已安裝XML應用程式,則透過〇LE技術以非侵入式方 式自動地驅動XML應用程式;若該網路瀏覽器端未安裝 xml應用程式,則重導該網路瀏覽器至顯示‘未安裝 應用程式,訊息之網址;不似習知的技術,係以安全性較 低之侵入式方式,來偵測網路瀏覽器端的作業系統之組態 資訊,故’的確可以達成本發明之目的。 惟以上所述者’僅為本發明之較佳實施例而已,當不 能以此限定本發明實施之範圍,即大凡依本發明申請專利 範圍及發明說明内容所作之簡單的等效變化與修飾,皆仍 屬本發明專利涵蓋之範圍内。 【圖式簡單說明】 圖1是一方塊圖,說明本發明於網路瀏覽器上非侵入 式驅動XML應用程式的系統之較佳實施例;及 圖2是一流程圖,說明本發明於網路瀏覽器上非侵入 式驅動XML應用程式的方法之較佳實施例。 12 200939124 【主要元件符號說明】 1 ....... …·.瀏覽器端處理單 2............ •伺服器端處理單 元 元 11…… •…·註冊模組 21.......... •收發模組 12…… .....收發模組 22.......... •分析模組 13…… •…·判斷模組 23.......... • ^料k處理模組 14…… ••…應用程式觸發模 24.......... •組態设定模組 組 301-316 · •步驟 15…… .....重^模組Otherwise, the redirection module is used to redirect the web browser to the web address of the display-specific message. ° The server-side processing unit includes a transceiver module, an analysis module, and a data stream processing module. The transceiver module is configured to receive the HTTP request transmitted by the web browser end, and transmit the remaining Tag data stream. The analysis module is configured to analyze the Ηττρ request to determine the processing method based on the data stream. If the analysis result is: it is known that the web browser end meets the preset installation condition, the data stream processing module (4) is to generate a standard XML-based data stream, and the tag-based data stream is based on the standard. XML·data stream. Still another object of the present invention is to provide a server-side processing unit for non-intrusively driving an XML application on a web browser, which is suitable for installation on a network server. Therefore, the server-side processing unit of the non-intrusive driving XML application on the web browser comprises a transceiver module, an analysis module, and a data stream processing module. The transceiver module is configured to receive an HTTP request transmitted by a web browser terminal, and transmit a data stream based on the Tag data stream. The analysis module is configured to analyze the HTTP request to determine the processing method based on the Tag lean stream. The data stream processing module is configured to generate the Tag-based data stream according to the analysis result of the analysis module. If the analysis result is: the web browser end is known to meet a preset installation condition, the data stream processing module generates the standard XML-based data stream, and the Tag-based data stream is a standard XML-based data stream. If the analysis result is: it is unknown whether the web browser end meets the preset installation condition, the data stream processing module generates a processing instruction (hereinafter referred to as PI) announcement based on the XML The data stream, and the Tag-based data stream is an XML-based data stream with a PI declaration; if the analysis result is: the web browser side is unrecognizable, the data stream processing module generates a hypertext markup language (Hypertext Markup) Language, hereinafter referred to as HTML) format data stream, and the Tag data stream is the HTML format data stream. [Embodiment] © Regarding the foregoing and other technical contents, features and effects of the present invention, one of the following reference patterns is used. The detailed description of the preferred embodiments will be apparent. Referring to Figures 1 and 2, a preferred embodiment of the system for non-intrusively driving an XML application on a web browser comprises a browser-side processing unit 1 and a server-side processing unit 2. The browser processing unit 1 includes a registration module 11, a transceiver module 12, a determination module 13, an application trigger (Trigger) module 14, and a redirection module 15. The server unit 8 includes a transceiver module 21, an analysis module 22, a data stream processing module 23, and a configuration setting module 24. The modules of the browser-side processing unit 1 and the modules of the server-side processing unit 2 can be integrated into a software installed on a web browser, and installed on a network server. The software of the end. Corresponding to the system of the present invention, the relationship between each unit and the module and the execution steps will be further explained in conjunction with the following method for non-intrusively driving the XML application on the web browser. As shown in steps 301-302, when a user wants to download an Xml-based data stream, the transceiver-side processing unit 12 of the browser-side processing unit transmits one of the corresponding HTTP requests from the web browser. As shown in steps 303-304, the transceiver module 21 of the server-side processing unit 2 receives the HTTp request from the web browser; and the analysis module 22 analyzes the HTTP request to determine the XML-based data. The way to deal with it. If the analysis result of the analysis module 22 is: it is known that the web browser end meets a preset installation condition, then the processing of step 3〇5 is continued, if the analysis result of the analysis module 22 is: unknown If the web browser end meets the preset installation condition, proceed to step 3〇6, and the analysis result of the analysis module 22 is: the web browser end is unrecognizable or has other exceptions (ExcePti〇 n) If the situation occurs, proceed to step 308. The preset installation condition is: the web browser has an XML application installed, and the registration module u has registered with the XML application in the operating system of the web browser. An extension file name and 200939124 a MIME agreement type. On the network server side, the configuration setting module 24 will be configured in one of the MIME mapping classes of the network server to add the registered MIME in the operating system of the web browser. The contract type is the same as one of the set values. As shown in step 305, when the web browser is informed by the HTTP request that the predetermined installation condition is met, the data stream processing module 23 generates a standard XML-based data stream. Among them, the standard XML-based data stream refers to a data stream that conforms to the general well-known XML format. © As shown in step 306, when it is not known by the HTTP request whether the web browser end meets the preset installation condition, the data stream processing module 23 generates an XML-based data stream with a PI announcement. The PI announcement refers to a URL of an Extensible Style Language (XSL) resource file, and the WebScript is to be executed in the XSL resource file. As shown in step 307, after the processing of step 305 or step 306, the data stream processing module 23 packages the XML-based data stream. © As shown in steps 308-309, when it is known by the HTTP request that the web browser is unrecognizable or has other exceptions, the data stream processing module 23 generates an HTML format data stream, and the package is based on HTML data stream. As shown in step 310, the XML-based data stream (standard XML-based data stream or XML-based XML data stream), and the HTML-based data stream can be collectively referred to as a Tag-based data stream, the server-side processing unit The transceiver module 21 of 2 transmits the Tag-based data stream to the network browsing terminal 10 200939124. As shown in steps 311-312, the transceiver module 12 of the browser-side processing unit 1 receives the Tag-based data stream from the network server, and then the determining module 13 analyzes the Tag-based data stream. If the Tag based stream is based on the XML data stream, proceed to step 313; if the Tag based stream is an HTML based stream, proceed to step 316. As shown in step 313, the determining module 13 determines whether the web browser end © meets the preset installation condition; if so, proceeds to the processing of step 314; otherwise, the processing of step 315 is continued. As shown in step 314, when the Tag-based data stream is the xml-based data stream generated in step 3〇5 or step 306, and the web browser end meets the preset installation condition, the data format is determined according to the operating system. The application triggering module 14 drives the XML application in a non-intrusive manner. The non-intrusive method is: automatically driving the XML application through a Microsoft Object Linking and Embedding (hereinafter referred to as 〇LE) technology according to the registered extension file name and MIME protocol type. . At this time, the web browser application receives the XML-based data stream and executes the corresponding application function according to an xml message. As shown in step 315, when the Tag-based data stream is an XML-based data stream generated in step 3〇6, and the web browser end does not meet the preset installation condition, the operating system prioritizes the data format. In the processing sequence, the redirection module 15 triggers the network segment 11 200939124 in the XSL resource block according to the PI announcement. As shown in step 316, the redirection module 15 redirects the web browser to display the web address of a particular message. If the user via the step 315 does not display the message, the message "The application is not installed, the message is displayed; otherwise, the specific message displayed by the web browser is the "exception occurrence" message. According to the system and method of the present invention, if the XML application is installed on the network browser, the XML application is automatically driven in a non-intrusive manner through the LE technology; if the network If the xml application is not installed on the browser, the web browser will be redirected to display the 'uninstalled application, the URL of the message; the technology is not like the intrusive way to detect the network. The configuration information of the operating system on the browser side can indeed achieve the object of the present invention. However, the above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention, that is, the simple equivalent changes and modifications made by the scope of the invention and the description of the invention, All remain within the scope of the invention patent. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a preferred embodiment of a system for non-intrusively driving an XML application on a web browser; and FIG. 2 is a flow chart illustrating the present invention. A preferred embodiment of a method of non-intrusively driving an XML application on a road browser. 12 200939124 [Description of main component symbols] 1 ....... ..... Browser-side processing single 2............ • Server-side processing unit 11... •...· Registration module 21.......... • Transceiver module 12...... ..... Transceiver module 22........... Analysis module 13... •...· Judging module 23..............^ k processing module 14... ••...application triggering mode 24.......... • configuration setting module group 301-316 · • Step 15... ..... 重^模块
1313