?? 0904-0300.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0904-0300 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 9.4.3 SoftwareAG的Tamino Server</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋體"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
</STYLE>
<SCRIPT language=JavaScript>
<!--
//以下用于控制文本鏈接
function MM_goToURL() { //v2.0
for (var i=0; i< (MM_goToURL.arguments.length - 1); i+=2) //with arg pairs
eval(MM_goToURL.arguments[i]+".location='"+MM_goToURL.arguments[i+1]+"'");
document.MM_returnValue = false;
}
//以下用于控制文本縮進
function clickHandler()
{
var targetId;
var srcElement = window.event.srcElement;
var targetElement;
if (srcElement.className.substr(0,7) == "Outline")
{
targetId = srcElement.id.substr(0,12) + "details";
targetElement = document.all(targetId);
if (targetElement.style.display == "none") {
targetElement.style.display = "";
}
else {
targetElement.style.display = "none";
}
targetId = srcElement.id.substr(0,12) + "Image";
targetElement = document.all(targetId);
if (targetElement.src.indexOf("plus") >= 0) {
targetElement.src = "Image/minus.gif";
}
else {
targetElement.src = "Image/plus.gif";
}
}
}
document.onclick = clickHandler;
//以下用于控制標題圖片選取
function cache_img (img_URL) {
if (document.images) {
im = new Image();
im.src = img_URL;
}
}
function roll_img (img_name, img_URL) {
if (document.images) {
document.images[img_name].src = img_URL;
}
}
cache_img ('image/menu_homepage1.gif');
cache_img ('image/menu_homepage0.gif');
cache_img ('image/menu_faq1.gif');
cache_img ('image/menu_faq0.gif');
cache_img ('image/menu_learner1.gif');
cache_img ('image/menu_learner0.gif');
cache_img ('image/menu_tech1.gif');
cache_img ('image/menu_tech0.gif');
cache_img ('image/menu_dev1.gif');
cache_img ('image/menu_dev0.gif');
cache_img ('image/menu_software1.gif');
cache_img ('image/menu_software0.gif');
cache_img ('image/menu_standards1.gif');
cache_img ('image/menu_standards0.gif');
cache_img ('image/menu_diss1.gif');
cache_img ('image/menu_diss0.gif');
cache_img ('image/menu_focus1.gif');
cache_img ('image/menu_focus0.gif');
cache_img ('image/menu_news1.gif');
cache_img ('image/menu_news0.gif');
cache_img ('image/menu_lab1.gif');
cache_img ('image/menu_lab0.gif');
cache_img ('image/menu_link1.gif');
cache_img ('image/menu_link0.gif');
cache_img ('image/menu_co1.gif');
cache_img ('image/menu_co0.gif');
cache_img ('image/menu_map1.gif');
cache_img ('image/menu_map0.gif');
cache_img ('image/menu_doc1.gif');
cache_img ('image/menu_doc0.gif');
cache_img ('image/menu_about1.gif');
cache_img ('image/menu_about0.gif');
//-->
</SCRIPT>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下為主體內容 -->
<div align="center">
<center>
<TABLE border=0 width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=36 rowSpan=2></TD>
<TD vAlign=center width="838" >
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=43 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="838"><!-- 正文內容 -->
<DIV class=pt10><B>9.4.3 SoftwareAG的Tamino Server</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>Software AG是德國的一家多年從事系統軟件、ERP、電子商務產品和應用解決方案的軟件廠商。Software
AG以MainFrame和數據庫技術起家,代表產品有兩大類:Enterprise Transaction
Suite包括ADABAS、NATURAL(4GL),Power Suite for
Internet包括Tamino、Bolero、EntireX。該公司設計開發的企業資源規劃(ERP)產品Prodis可以在Unix、Windows
NT以及IBM AS/400等操作系統上運行,適用于編制從銷售到生產的規劃,并可用Software
AG的Natural程序設計語言進行修改使之適應公司的具體需要。另外,Software
AG還通過從微軟獲得授權進行DCOM的跨系統移植工作,從而使得其基于DCOM的產品支持包括Sun Solaris、OS/390、Digital
Unix、IBM AIX、OpenVMS和Linux在內的6種操作系統。Tamino Server是Software
AG進軍電子商務市場的又一武器。</P>
<P>Tamino是一種基于XML的信息服務器,可以用于電子商務系統的應用和開發。Tamino實現了完整的XML數據庫系統,而不僅僅提供一種在數據庫管理系統同Web應用間的轉換接口。Tamino使得異構數據的存取變得更加容易,這些數據可以是簡單的文本,也可以是聲音、圖像、視頻等多媒體數據;數據的來源將不受限制,不論數據是來自于原始XML資料庫(XML
Store和X-Machine),還是從現有的文檔甚至各種數據庫系統來源讀取。通過預先定義一組文檔類型描述格式,再借助系統內置的Tamino
Schema
Editor,使得開發者可以方便地定義需要的底層數據結構;基于URL方式的數據存取方式更是大大方便了XML數據的存儲與檢索,使得程序員可以從編寫繁瑣的XML語法分析器代碼中解放出來;Tamino
Server提供Server Extensions編程接口,允許用戶利用Visual
Studio開發COM組件,通過在組件對象中嵌入商業邏輯,從而開發出適合于用戶自己的應用系統。<BR><BR>Tamino
Server的結構如下:</P>
<P align=center><IMG height=287
alt="TU000000-0904-0300-01.gif (10650 bytes)"
src="image/TU000000-0904-0300-01.gif" width=393></P>
<P>由圖可以看出,Tamino提供如下功能:
<UL>
<LI>通過XML Store和X-Machine實現XML對象的存儲與檢索機制
<LI>通過SQL Store 和SQL Engine實現SQL數據的存儲與檢索機制
<LI>通過X-Node實現同外部異構數據源和應用間的接口
<LI>通過Data Map管理XML數據的存取機制
<LI>通過Tamino Manager進行多個Tamino服務器的Internet遠程管理 </LI></UL>
<P>Tamino Server具有幾個顯著的優點:
<UL>
<LI>使得跨平臺、跨系統間異構數據的交換與存取成為可能。在這里,XML起著不可忽視的作用。
<LI>高效。作為XML引擎的X-Machine使得Tamino可以快速高效地處理大量的數據。XML數據直接以原始的對象型格式存儲,無需轉換成其他格式,減少了中間環節,大大提高了數據處理的效率。
<LI>可擴展性。X-Node的引入,使得Tamino可以同多種數據源和應用系統聯結,進一步拓展了Tamino的應用環境。Server
Extension 編程接口使得開發者可以開發適合自己需要的應用系統。
<LI>可管理性。通過Tamino Manager可以進行多個Tamino服務器的Internet遠程管理。
<LI>開放式標準。Tamino遵循開放式DBMS原理提供如OLE-DB、DCOM、ODBC和JDBC等標準接口。交換數據格式采用W3C標準XML,查詢所采用的W3C草案XQL相信也會在不久的將來成為國際標準。
<LI>支持全文檢索。 </LI></UL>
<P>與此同時,Tamino Server也有它自己的弱點:
<UL>
<LI>Tamino在XML元素內容上支持多內碼,但不支持元素標記的多內碼轉換;另外,Tamino 工具也不支持多內碼的顯示。
<LI>不支持URL直接的XSL樣式化輸出
<LI>URL-Based的XML數據更新功能較弱 </LI></UL>
<P>最后,來說說Tamino
Server應用。Tamino是一種基于XML的數據管理系統,實現了XML數據的存儲與檢索。在電子商務、跨平臺計算、信息發布等領域有較好的應用。利用Tamino開發的步驟如下:
<OL>
<LI>需求分析:設計出數據字典和商業規則
<LI>定義數據結構:利用Tamino Schema
Editor完成數據結構的定義。通過指定相應的Map-type類型,設置數據的存儲方式:XML Store或SQL Store。
<LI>編寫代碼:
<UL>
<LI>利用URL編寫XML數據處理腳本。<BR>原理:在客戶端通過Script動態生成XML片斷或XQL語句,然后以GET或POST方式發送至Web服務器處理。
<LI>利用Tamino Server Extensions編寫消息處理代碼<BR>原理:利用Visual
Studio開發COM組件。Tamino Server
Extensions支持下面兩種類型的函數(SXF):Mapping函數和事件函數。其中Mapping函數又包括Mapping
In函數,即當XML數據存儲入Tamino Server 時由文檔處理器調用的函數;Mapping Out函數,即當從Tamino
Server檢索XML數據時調用的函數。事件函數主要用于通知Server
Extensions有關事件的發生,包括事務事件(如Commit/Rollback)、會話事件(如會話結束)、Server事件(如斷開與Server的連接)。
</LI></UL></LI></OL></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -