將想法與焦點(diǎn)和您一起共享

通過(guò)Java編程處理XML 服務(wù)SOA發(fā)布者:本站     時(shí)間:2020-05-06 15:05:45

很多大型軟件供應商還在開(kāi)發(fā)各自的 SOA 產(chǎn)品。因此,SOA 領(lǐng)域目前綜合了各種技術(shù),包括 Java Business Integration (JBI)、Intelligent Event Processing 和 Business Process Execution Language (BPEL) 服務(wù)器。因此,在將各種技術(shù)融入到一個(gè)解決方案之前,想要從 SOA 中受益的用戶(hù)組織很可能需要進(jìn)行大量投資。通過(guò)對 SOA 布置如此高的復雜性,行業(yè)提前為實(shí)現供應商定位鋪好了道路,即使 SOA 其中的一項承諾是實(shí)現基于標準、面向組件、獨立于供應商的計算。在開(kāi)始代價(jià)高昂的遷移過(guò)程前,用戶(hù)組織能夠獲得一些實(shí)用的 SOA 使用體驗嗎?

    為回答這個(gè)問(wèn)題,本文通過(guò)簡(jiǎn)單的 XML 和一些 Java 代碼演示了幾個(gè)重要的 SOA 原理。本文并不打算介紹 SOA 領(lǐng)域中的所有內容;相反,我們只介紹其中的一些關(guān)鍵部分。例如,您可以考慮使用 RSS 發(fā)布 XML 服務(wù)定義。但是,在本文的例子中,傳輸機制使用的是 Java 工具。

    Java 技術(shù)和 XML

    Java 技術(shù)和 XML 幾乎成為了同義詞。實(shí)際上,我通過(guò) IBM 工具對整篇文章應用了 XML 格式。盡管 XML 取得了顯而易見(jiàn)的巨大成功,仍需注意 XML 是一種相當笨拙的技術(shù),例如 和 標簽會(huì )增加大量帶寬并在通過(guò)網(wǎng)絡(luò )傳輸數據時(shí)處理系統開(kāi)銷(xiāo)。然而,忽略這種特性,XML 確實(shí)提供了一些強大的處理工具。這些工具(本文將探討其中的兩種)基本上解決了數據表示和解析問(wèn)題(后者長(cháng)久以來(lái)一直難以解決)?,F在,通過(guò)使用 XML 工具,各種技術(shù)級別的程序員都可以實(shí)現專(zhuān)業(yè)的標準化解析。

    Java 技術(shù)為 XML 數據處理提供了一些真正強大的工具(請參見(jiàn)側欄 Java 技術(shù)和 XML)。如果將 清單 1 中的內容看作是給定數據集的基于 XML 的呈現,那么您還可以使用其他方式進(jìn)行呈現。構成 清單 1 基本內容的原始數據一般保存在數據庫中。因此,您如何將這些數據打包成 XML?

    這種聚焦式方法的優(yōu)點(diǎn)就是用戶(hù)組織中的 Java 開(kāi)發(fā)人員可以使用其中的理念構建自己的簡(jiǎn)單的試驗性 SOA。這種試驗模式有助于組織實(shí)現 SOA 的商業(yè)效益。后者包含對業(yè)務(wù)服務(wù)建模,例如計算服務(wù)、用戶(hù)自助服務(wù)、更好的自動(dòng)化服務(wù)和更具響應性的服務(wù)。您可以將上述的遷移作為一個(gè)獨立試驗實(shí)現,與現有業(yè)務(wù)流程并行運作。

    用戶(hù)組織不需要進(jìn)行大型投資就可實(shí)現一個(gè)試驗性質(zhì)的 SOA。通過(guò)這種方式,陳述特定于組織的 SOA 需求時(shí)可以脫離任何供應商實(shí)現。實(shí)際上,某些較小的用戶(hù)組織可以繼續使用他們的試驗性 SOA 模式,只在后期遷移到軟件供應商提供的大型商用解決方案。

    自助服務(wù)趨勢

    對于大多數服務(wù)提供商來(lái)說(shuō),自助服務(wù)正在發(fā)展為一種趨勢 — 特別是那些資金緊張的 ISP。因此,如果您需要更多帶寬(進(jìn)行下載或玩在線(xiàn)游戲),您可以登錄到提供商的 Web 站點(diǎn)并通過(guò) Web 頁(yè)面自動(dòng)升級與提供商的連接。讓我們看一個(gè)具體的例子:清單 1 展示了一個(gè)簡(jiǎn)單的基于 XML 的用戶(hù)服務(wù)配置文件。

    清單 1. 一個(gè)簡(jiǎn)單的基于 XML 的服務(wù)描述

    < ServiceInstance>

    < Customer>Josephine Bloggs< /Customer>

    < Package>Internet< /Package>

    < Bandwidth>1mbps< /Bandwidth>

    < DownloadLimit>1Gbyte< /DownloadLimit>

    < Uptime>95< /Uptime>

    < /ServiceInstance>

    代碼解釋了這個(gè)用戶(hù) XML 服務(wù)模型。該模型包括:

    一個(gè)服務(wù)實(shí)例

    客戶(hù)名字

    服務(wù)包的名稱(chēng)

    已配置的帶寬量

    每月允許的下載限度

    提供商正常運行時(shí)間保證

    無(wú)疑,服務(wù)定義可以比此處的例子復雜很多。其他內容可能包括客戶(hù)地址、賬單明細、往返延遲、加密和服務(wù)信用信息等。重點(diǎn)是,越來(lái)越多的提供商提供如 清單 1 所示的 Web 訪(fǎng)問(wèn)細節。某種程度上講,這種嘗試可以減少支持電話(huà)的花銷(xiāo)和發(fā)生頻度。有趣的是,這種基于 Web 的服務(wù)可以使用戶(hù)覺(jué)得為他們提供服務(wù)的是較為先進(jìn)的提供商。這實(shí)現了雙贏(yíng)的局面,因為客戶(hù)可以更好地訪(fǎng)問(wèn)他們的服務(wù)數據,而提供商可以銷(xiāo)售無(wú)需他們插手的服務(wù)包。授權的用戶(hù)可以修改如 清單 1 所示的一些服務(wù)參數 — 例如,配置的帶寬。隨之修改的是用戶(hù)每月的訂購費用。

    因此,清單 1 中的代碼形成了基于 XML 的服務(wù)模型的基礎。通過(guò)簡(jiǎn)單地與在線(xiàn)表單進(jìn)行交互,用戶(hù)可以修改可寫(xiě)的服務(wù)元素(例如帶寬)。通過(guò)在線(xiàn)表單進(jìn)行的修改將被記錄,然后反映到可由用戶(hù)配置文件修改的后端服務(wù)中。這是一種實(shí)現自助服務(wù)的標準方法。

    然而,您將要了解的是另一種更加松散耦合的自助服務(wù) — 使用這種服務(wù),用戶(hù)可以通過(guò)在網(wǎng)絡(luò )中傳輸 清單 1 中的 XML 內容修改數據。在這種場(chǎng)景中,所傳輸的 XML 內容可通過(guò)一個(gè) Java 客戶(hù)機進(jìn)行修改,后者可運行在臺式機、筆記本電腦、甚至某種資源受限的設備上(例如手機),然后將數據發(fā)回給網(wǎng)絡(luò )服務(wù)提供商。這種機制超越了基本的 HTML 頁(yè)面模型并采納了 SOA 思想。

    將服務(wù)定義 XML 文檔傳輸給使用 Java 技術(shù)的客戶(hù)機

    清單 2 中的內容摘取自本文附帶的 Java 文件 encodeXML.java.(相關(guān)文件可從 下載 部分獲得)。encodeXML.java 類(lèi)對 XMLEncoder 類(lèi)的對象進(jìn)行了實(shí)例化。如您所見(jiàn),這個(gè)對象隨后在當前目錄中創(chuàng )建了名為 xmldata.xml 的文件。下一步是將 XML 數據值插入到文件中,這可以通過(guò)調用一連串的 writeObject() 方法實(shí)現(清單 2 對此進(jìn)行了說(shuō)明)。顯然,在生產(chǎn)環(huán)境中,清單 2 中硬編碼的文本字符串將來(lái)自數據庫這樣的持久性存儲。無(wú)論何種情況,可以看到 XML 數據文件的創(chuàng )建非常簡(jiǎn)單。

    清單 2. 使用 XML 格式編碼數據



選擇我們,優(yōu)質(zhì)服務(wù),不容錯過(guò)
1. 優(yōu)秀的網(wǎng)絡(luò )資源,強大的網(wǎng)站優(yōu)化技術(shù),穩定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設經(jīng)驗,優(yōu)秀的技術(shù)和設計水平,更放心
3. 全程省心服務(wù),不必擔心自己不懂網(wǎng)絡(luò ),更省心。
------------------------------------------------------------
24小時(shí)聯(lián)系電話(huà):021-58370032
最新国产精品第二页_色资源av中文无码先锋_中国xx爽69护士_日韩欧美亚洲每日更新在线观看