複製鏈接
請複製以下鏈接發送給好友

可擴展語言

鎖定
可擴展語言,是一種可用於描述研究Web上數據源、用户查詢需求、各種服務、控制流以及事件等,以XML為基礎的的擴展性語言。
中文名
可擴展語言
外文名
unified extendable language
縮    寫
XML
應    用
編程語言

目錄

可擴展語言背景

Internet是一個開放的、快速變化的環境。信息源、Internet連接、信息代理、集成系統本身都可能動態出現、消失,行動自主,不會事先通知。任何集成系統在這樣的環境中運行必須能夠適應這種動態變化。類似地,在這樣一個開放的環境中,總會有用户提出新的需求。為滿足這些需求,信息代理必須支持定製和演化。
但目前網絡中的機制並不完全適合來做這件事情。因為即便是進行數據集成,也要進行手工編程,針對所選定的數據源進行檢索、集成。這種硬編碼方式在易變的Internet環境是很脆弱的。 [1]  一個較好的解決辦法是對現有的Internet數據表示、交換、服務機制進行適當規範,提倡主動服務( 有償或無償的),各個數據源以周知的格式發佈數據,同時公佈所提供的服務。對於Inetrnet 上的計算,java虛擬機已作了第一次“規範” ,它使java小應用程序可以在任意平台運行,一處編程處處可用。類似地,有必要對數據源及其服務作第二次“規範” 。現在XML已日益成為Internet上用於數據表示和交換的新標準,這為數據集成提供了便利。XML允許用户根據需要定義新標記,數據結構自描述,為第二次規範奠定了基礎。因此,才可利用XML來定義一套統一的可擴展語言UXL,來作為Internet上信息發佈和獲取的規範。

可擴展語言概念

可擴展語言,可用於描述Web上數據源、用户查詢需求、各種服務、控制流以及事件等。利用UXL可實現對網上數據源和服務的統一描述,從而為各種服務器做一件外觀統一的“ 主動服務外套” ,構成所謂的“主動虛擬服務器”。此外,還可利用UXL來描述查詢計劃,實現分佈式協同工作和計算,構造可供網上使用的、動態的、可伸縮的分佈式協同環境等 [1] 
UXL是通過XML定義一套標記來實現的。這些標記的具體語義由專門設計的UXL分析器來解釋,如圖1 所示。UXL可針對用户查詢需求、數據源包裝、用户自定義過程定義等一組專門的標記。此外,還可以進一步對代理的任務、功能進行定義。
圖1 UXL分析器 圖1 UXL分析器

可擴展語言原理

UXL原理圖 UXL原理圖
上述框架中,UXL分析器對數據源的UXL 描述進行分析,然後生成相應數據源(服務器) 的包裝器。所以,我們所要做的工作就是對要包裝的數據源或服務器(包含的數據與服務)的內容用UX L 進行描述,並對數據源或服務器外部可見的行為操作進行描述。包裝器的工作由UXL分析器來解釋完成。在用户終端、數據源、服務器或信息代理等所在的機器上配置一個出乙虛擬機,一切UXL 合法的描述就都可在其上被解釋執行。其意義和作用與由Java 解釋器實現的Java虛擬機是類似的 [1] 

可擴展語言過程

1.根據用户需求和數據源的“外套”上標明的內容來適當選擇候選的“應標”對象(數據源或其它服務器),並以某種方式(例如製造一個事件)通知候選的應標方。然後,候選應標方受“事件”的觸發,啓動應標判斷程序,決定是否應標,並主動來滿足招標方的要求。在此過程中,雙方通用的語言都是UXL [2] 
2.接受各數據源或服務器以UXL表示形式送來的輸出,進行適當擇優或綜合集成,形成“ 應標” 結果,送給“招標” 的用户。結果在用户的UXL終端上被還原成用户所需的形式。可見, 信息代理可採用人工智能的一些技術來完成其擇優服務和綜合集成的功能,這樣,分佈在網上的整個協同工作環境就將是一個具有某種智能的,能主動解決問題的工作環境。
為了表明用户的需求,用户在其查詢或服務要求(統稱為用户需求”) 中應採用UXL 指明:
1.查詢操作(或服務名稱)及所需參數;
2.要求滿足的條件;
3.查詢(或服務)結果的目的地。
但是, 並不指明數據源( 或服務器)在何處,這由信息代理來選擇適當的應標對象範圍,然後由候選應標方主動來響應服務。
參考資料
  • 1.    楊良懷, 何新貴. 一種統一的可擴展語言UXL及其應用[J]. 計算機應用與軟件, 2003, 20(11):5-9.
  • 2.    葛寒松. 可擴展語言編譯器的設計[J]. 商丘師範學院學報, 2017, 33(6):53-56.