RosettaNet 簡介

本文介紹 RosettaNet 及其爲企業對企業 (B2B) 供應鏈貿易合作伙伴所帶來的利益。我們首先探究 RosettaNet 的起源、它處理的業務流程以及如何適應其他 B2B 集成項目。我們將更深入地分析 RosettaNet 的規範結構、使用場景及實現 RosettaNet 解決方案的設計模式。

  我通過簡要地考察電子商務的歷史開始。 B2B 集成的技術目標是自動化業務流程,從而減少與手工流程相關的傳統處理延遲和低效率。如果我們將電子商務視爲業務社區和業務信息數字化的網絡,則一般會把 EDI (Electronic Data Interchange) 視爲電子商務的開端。 EDI 的主要目的是通過制定標準數據傳輸協議,避免和防止在貿易合作伙伴之間讀取和處理信息過程中出現其他人爲干預。自 1960 年以來,大型組織一直投資於 EDI 開發,然而直到 80 年代它才爲人們所接受,而且 EDI 還從未達到基於 Web 的電子商務的流行層次,原因如下:

  • EDI 的高成本阻止了中小規模企業參與電子交易。
  • 緩慢的標準開發過程阻礙了 EDI 的成長。
  • 開發 EDI 應用程序的複雜性將對其的採納限制在一個狹小的用戶基數上。
  • EDI 解決方案帶來了自身的維護和管理開銷。

  從 EDI 汲取的教訓及其技術的先進性帶來了解決 B2B 集成問題的新方法;在供應鏈管理領域, RosettaNet 已出現流行趨勢。 RosettaNet 於 1998 年 2 月成立於美國,是一個由 500 餘家公司組成的獨立的非贏利性聯盟。這些公司包括一些世界領先的電子組件、計算機和日用電子、半導體制造、電信及物流公司。 2002 年 , RosettaNet 與 Uniform Code Council, Inc.? (UCC)? 進行了合併,以支持它們所服務的行業的開放電子商務過程標準的採用和開發。

RosettaNet 是什麼?

  RosettaNet 這一名字源自於 1799 年在埃及發現的 Rosetta Stone 。這要追溯到公元前 196 年,該石頭是在 Rosetta (Rashid) 鎮附近被人發現的,上面用兩種不同的語言以三種不同的筆體鐫刻了同一消息。使用希臘語,學者們可以譯解該象形文字。 RosettaNet 這一名字非常類似於 18 世紀發現的 Rosetta Stone ,它是一個業務協議,通過爲電子商務制定全球性語言,企業可以克服在 Internet 上經營業務的障礙。

簡而言之, RosettaNet 的主要目標集中在供應鏈及其優化上,它通過增強的 B2B 集成提高其效率和性能。 RosettaNet 電子商務過程標準旨在提高速度、效率和可靠性,允許在貿易合作伙伴間進行更大規模的協作和交流。 RosettaNet 提供一個公共交流平臺,也可以說是一種公共語言,它允許參與業務流程的不同貿易合作伙伴自動化流程並在 Internet 上執行。該公共平臺解決了 EDI 的主要成本開銷之一:業務流程中貿易合作伙伴的 IT 部門必須爲與其交互的各貿易合作伙伴設計、實現和測試定製業務流程。與 EDI 和早期的 B2B 集成工作不同, RosettaNet 已完全設計用於與安全性的結合和按需集成;這使得原本要花費數日的傳統業務事務批處理可以在幾分鐘之內迅速完成。

EDI 和 RosettaNet 之間的主要區別在於, EDI 在公司之間交換文檔,而 RosettaNet 跨網絡定義業務流程並對其進行集成,以確定最佳操作過程。大量的案例分析已顯示, RosettaNet 帶來了勝過 EDI 的多種利益。普遍認爲帶來的利益如下:
  • 更輕鬆、更經濟高效的實現,投資回報 (ROI) 更大
  • 自動化更加大量的業務流程的能力
  • 相對於批處理的實時事務處理
  • 更高的可伸縮性

RosettaNet 和 ebXML

  通過考察其他基於 XML 的 B2B 集成項目(即 ebXML ), 我們嘗試將 RosettaNet 與其進行比較。人們常常將 ebXML 描述爲橫向 B2B 標準,意思是有一組用於所有電子商務的規範;它是通用的而不針對任何特殊部門或行業。而另一方面, RosettaNet 是一個縱向標準;它關注特定行業的需要(例如,電子部件製造商)以及供應鏈自動化和優化的業務範疇。自兩個項目創建以來,各自標準中的規範已存在着某些重 復和交叉。或許讓這些標準彼此適應的最佳方式是考慮把 RosettaNet (縱向)插入到 ebXML (橫向)中。關於這方面有一個很好的實例,使用 ebXML Business Process Specification Schema (BPSS) 來描述 RosettaNet Partner Interface Processes (PIPs)? 。正如我們稍後即將看到的, PIP 定義了合作伙伴之間的業務流程。

RosettaNet 、實現 Web Services

  要了解 RosettaNet 如何影響 Web services ,我們從定義 Web services 開始。術語 Web services 指的是使用 SOAP WSDL 來 描述和訪問網絡上的服務。許多公司已認識到使用 Web services 來實現其業務流程的好處。這包括 Web services 所基於的開放標準、面向服務的方法及實現的靈活程度,從而允許重用現有的基礎設施和技術。所有這些聽起來都非常熟悉,而且此時您可能會想,“如果能使用 Web services 實現自己的業務流程,那麼使用 RosettaNet 的利益又何在?”爲了回答這個問題,我們需要更詳細地查看業務流程並理解公共過程和私有過程之間的區別。

  業務流程由一組步驟組成,當執行時,這些步驟實現某個業務目標。 RosettaNet Implementation Framework (RNIF) 將私有過程定義爲公司的內部業務流程,將公共過程定義爲與貿易合作伙伴的相關交互。首先,我們設想一個簡單的業務流程:請求報價。客戶通過發送一個包含報 價說明書的消息,向供應商發出報價請求。供應商檢查產品清單中項目的可用性,如果符合報價要求,則向客戶發送報價。如果供應商無法滿足報價要求,則它可能 爲該客戶確定另一個供應商。在這種情況下,向客戶發送推薦。

  在本例中,在供應商的產品清單中查檢項目可用性和確定備選供應商都是內部過程,這些過程對於客戶而言不是可見的,而且不涉及貿易合作伙伴。因此這樣的 過程是私有的。通常,各公司都有其自己的遵循自己內部標準的私有過程定製實現。它們可能利用 Java 、 CORBA 、 Web services 或遺留技術的任何組合。在實例的第一步中,客戶向供應商發出了報價請求;這是公共過程。使用 Web services 單獨實現這一步的問題在於,在貿易合作伙伴之間沒有明確定義的對話,我們很快便會遇到 EDI 所面臨的關鍵問題:對於我們要合作的每一個貿易合作伙伴,我會分別不同地實現該服務。通過確保該公共過程的 Web services 實現遵循 RosettaNet 標準,我們可以向經營同一業務的任意數量的貿易合作伙伴請求報價,而無需每次都做重複工作。因此, RosettaNet 和 Web services 是令人稱道的, Web services 擔當 RNIF 的實現機制。然而,應當強調的是,我們並不限於將 Web services 用作 RosettaNet 的實現。私有業務流程可以用任何適當的技術(包括 Web services )來實現,但是要確保當該標準 B2B 在貿易合作伙伴之間通信時公共過程遵循 RosettaNet 規範,這樣纔有意義。在典型的實現模型中,我們可能期望找到要用於處理私有業務流程的定製 Web services 和符合 RosettaNet 的服務來處理公共過程。

RosettaNet 標準

  RosettaNet 標準爲電子商務標準化提供一個健壯的、非專有的解決方案,它是免費的,可以通過 RosettaNet 網站公開。這些標準是由全球領先的高科技公司通力協作而開發出來的。通過遵循這些標準,貿易合作伙伴、解決方案提供商及系統集成商可以利用這些專業技術和 經驗。此外,通過採用 RosettaNet ,貿易合作伙伴可以從可重複規範和準則的全局框架中受益,該框架允許調節和自動化實時的、服務器到服務器的事務,這意味着獲得了跨整個供應鏈的全局事務可 視性和一致性。使用這些標準化過程,還讓貿易合作伙伴降低了成本、更快速地響應客戶請求,而且它還可以提升效率、保證高度完整的數據處理。這些標準涵蓋以 下核心領域:

  • 合作伙伴接口過程( Partner Interface Processes )
  • RosettaNet 實現框架( RosettaNet Implementation Framework )
  • RosettaNet 業務和技術字典( RosettaNet Business and Technical Dictionaries )

Partner Interface Processes (PIP)

  Partner Interface Processes (PIP) 是對確定每一層供應鏈而進行廣泛研究的結果。它們是一組常規的、標準化的過程,可以用於現實世界中企業對企業相互適應的基礎。 PIP 旨在通過爲各貿易合作伙伴指定業務文檔的結構和格式、活動、操作及角色來封裝業務流程。簡而言之,可以將 PIP 定義爲與貿易合作伙伴進行交換的表現形式和消息內容。要記住 PIP 是規範而不是實現;這賦予了採用 RosettaNet 的貿易合作伙伴很大的靈活性,可以自己實現 PIP 規範或購買可降低開發成本的第三方產品。 RosettaNet 將 PIP 指定的整個電子商務供應鏈領域劃分爲 7 組稱爲“集羣”的核心業務流程,外加用於管理目的的第 8 個集羣。這些集羣如下:

  • RosettaNet Support :提供管理功能。
  • Partner Product 和 Service Review :允許爲貿易合作伙伴配置文件和產品信息訂閱的開發進行信息收集、維護和分發。
  • Product Information :支持產品和設計信息的分發和定期更新,包括產品變更聲明和詳細技術規範。
  • Order Management :支持整個訂單管理業務領域,從定價和提供報價,一直到採購訂單初始化、狀態報告和管理。訂單開票、付款和差錯通知也都使用該過程集羣來管理。
  • Inventory Management :支持庫存管理,包括協作、補給、價格保護、報告和受限產品的分配。
  • Marketing Information Management :支持市場信息發佈,包括活動計劃、引導信息和設計註冊。
  • 服務和支持:提供售後銷售技術支持、服務擔保支持及資產管理能力。
  • 製造:提供設計交換、配置、過程、質量和其他製造方面的信息,以支持“虛擬製造”環境。

  每個集羣由兩個或多個段組成。段是相關功能的組。作爲一個例子,“CLUSTER 3: Order Management”擁有用於管理報價、訂單條目以及運輸和分發方面的段。段進一步劃分爲 PIP,PIP 定義一個或多個活動(Activity),而活動又指定了操作(Action)。在解釋活動和操作的區別之前,我們先分析一個關於集羣的層次結構的實例:

CLUSTER 3: Order Management
Segment A: Quote and Order Entry
PIP 3A1: Request Quote
Activity: Request Quote
Action: Quote Request Action
Action: Quote Confirmation
Segment B: Transportation and Distribution
Segment C: Returns and Finance
Segment D: Product Configuration

圖 1 是展示 PIP 中業務角色、消息及其交換順序的 PIP 交互圖。

圖 1 PIP 交互圖

  可以將 PIP 描述爲專門的系統到系統的、基於 XML 的對話。每個 PIP 規範都由以下三個主要部分組成 :

  • Business Operation View (BOV) 負責捕獲業務實體的語義和角色之間的信息流(當它們參與業務活動時)。 BOV 通常附有流程圖。
  • Functional Service View (FSV) 派生於 BOV ,它在 PIP 執行期間詳細描述了網絡組件之間的交互。網絡組件通常被視爲 RosettaNet “服務”。在圖 1 中,“ Buyer (買方)”和“ Seller (賣方)”是兩個 RosettaNet 服務,雙方都映射到 BOV 中定義的角色。
  • Implementation Framework View (IFV) 根據 RosettaNet Implementation Framework 指定 RosettaNet 服務之間的操作消息格式和通信要求。通信要求包括安全的傳輸協議,如 SSL 和數字簽名。對於消息格式, RosettaNet 爲在 PIP 執行時進行交換的操作消息分配 XML DTD 和 Message Guideline 。要注意, RosettaNet 聯盟旨在使用 W3C XML-Schemas 來定義未來的 Action 和 Signal 消息的結構。

  活動( Activity )是貿易合作伙伴(更確切地說,是在 BOV 中定義的貿易合作伙伴角色)之間業務信息的交換。例如,可以將一對貿易合作伙伴視爲 Buyer 和 Seller 。 Buyer 可以向 Seller 請求報價,而且該活動被正式命名爲“ Request Quote ”。在 Activity 過程中進行交換的 PIP 模型的 BOV 中,每個 Action 都映射到 Business Document 。 PIP 規範的早期版本包括了對等網絡組件間的通信請求。從 RNIF 2.0 起,情況與以往不同了,這些方面可以從 PIP 規範的 BOV 和 FSV 部分派生。

RosettaNet Implementation Framework (RNIF)

RosettaNet Implementation Framework 設計用於輔助電子商務系統實現者和解決方案提供者,他們需要創建或實現協同執行 RosettaNet PIP 的可互操作的軟件應用程序組件。通過遵守 RNIF 規範,這些團體可以確保其應用程序能與經營同一業務的貿易合作伙伴進行集成。 RNIF 定義 PIP 的打包、身份驗證、授權、加密和非拒絕性要求。 RNIF 2.0 還 介紹傳輸獨立性的概念:這確保 RosettaNet Business Message 必須以與發送者生成它們的完全相同的方式交付給貿易合作伙伴。 當前, RosettaNet 爲 HTTP 和 SMTP 傳輸協議指定傳輸綁定和其他細節。將來,其他實現也將受支持,不過到那時,開發人員應意識到使用其他協議將被認爲不符合 RosettaNet 。爲了確保所有貿易合作伙伴都能支持至少一種傳輸協議, HTTP 傳輸協議必須可用於所有解決方案提供者。 RNIF 2.0 的核心是 RosettaNet Business Message 規範。圖 2 展示了用於交換 RosettaNet Business Message 的 RosettaNet 網絡應用協議棧。

圖 2 網絡應用程序模型。

RosettaNet Business Message

  圖 3 描述了 RosettaNet Business Message 的各個組成部分。該消息是在 RosettaNet 端點間進行交換的基本單位,而且包含 PIP (即操作和簽名消息)中的各個文檔及其他任何相關實體,比如標題、附件和數字簽名。通過提供關於支配其創建和表現形式的規則的細節, RNIF 可以確保所有貿易合作伙伴都能理解這些業務消息。

圖 3 PIP RosettaNet 業務消息。

  所有 RosettaNet Business Messages 必須包含 Preamble Header 、 Delivery Header 、 Service Header 及 Service Content 文檔。 Service Content 可以定義操作或信號消息;如果它定義一個操作消息,則它可能還包括一個或多個附件。如圖 2 所示, RosettaNet Business Message 的所有內容都使用 MIME 或 S/MIME 多部分構造而打包在一起。下面我們更密切地看一看某些標題及其 XML 文檔結構。

Preamble Header 實例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Preamble SYSTEM "Preamble_MS_V02_00.dtd">
<Preamble>
<standardName>
<GlobalAdministeringAuthorityCode>RosettaNet
            </GlobalAdministeringAuthorityCode>
</standardName>
<standardVersion>
<VersionIdentifier>V02.00</VersionIdentifier>
</standardVersion>
</Preamble>

通過 Preamble XML 文檔的樣本實例我們可以看到,它識別標準 (RosettaNet) 及其版本 (02.00) 。 Activity 中第一條消息的發送者固定了 Preamble 中元素的值,而且這些值必須在後繼消息中保持不變。 RNIF 規範聲明, Preamble 的結構必須遵循 Preamble DTD 。

Delivery Header 實例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DeliveryHeader SYSTEM "DeliveryHeader_MS_V02_00.dtd">
<DeliveryHeader>
<isSecureTransportRequired>
<AffirmationIndicator>Yes</AffirmationIndicator>
</isSecureTransportRequired>
<messageDateTime>
<DateTimeStamp>20041109T145200.000Z</DateTimeStamp>
</messageDateTime>
<messageReceiverIdentification>
<PartnerIdentification>
<domain>
<FreeFormText>DUNS</FreeFormText>
</domain>
<GlobalBusinessIdentifier>012345678</GlobalBusinessIdentifier>
<locationID>
<Value>London</Value>
</locationID>
</PartnerIdentification>
</messageReceiverIdentification>
<messageSenderIdentification>
<PartnerIdentification>
<GlobalBusinessIdentifier>880123456</GlobalBusinessIdentifier>
<locationID>
<Value>Hong Kong</Value>
</locationID>
</PartnerIdentification>
</messageSenderIdentification>
<messageTrackingID>
<InstanceIdentifier>083084</InstanceIdentifier>
</messageTrackingID>
</DeliveryHeader>

Service Header 爲消息提供過程上下文。它還提供以下方面的信息:消息是 Test消息還是 Production 消息、PIP 的發起者、發起者是已知的合作伙伴還是未知的合作伙伴以及QoS協商信息(當前未使用)。

Service Header實例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ServiceHeader SYSTEM "ServiceHeader_MS_V02_00.dtd"> <ServiceHeader>
<ProcessControl>
<ActivityControl>
<BusinessActivityIdentifier>Create Purchase Order
  </BusinessActivityIdentifier>
<MessageControl>
<fromRole>
<GlobalPartnerRoleClassificationCode>Buyer
       </GlobalPartnerRoleClassificationCode>
</fromRole>
<fromService>
<GlobalBusinessServiceCode>Buyer Service
     </GlobalBusinessServiceCode>
</fromService>
<Manifest>
<numberOfAttachments>
<CountableAmount>0</CountableAmount>
</numberOfAttachments>
<ServiceContentControl>
<ActionIdentity>
<GlobalBusinessActionCode>Purchase Order Request Action
      </GlobalBusinessActionCode>
</ActionIdentity>
</ServiceContentControl>
</Manifest>
<toRole>
<GlobalPartnerRoleClassificationCode>Seller
     </GlobalPartnerRoleClassificationCode>
</toRole>
<toService>
<GlobalBusinessServiceCode>Seller Service
     </GlobalBusinessServiceCode>
</toService>
</MessageControl>
</ActivityControl>
<GlobalUsageCode>Test</GlobalUsageCode>
<pipCode>
<GlobalProcessIndicatorCode>3A4</GlobalProcessIndicatorCode>
</pipCode>
<pipInstanceId>
<InstanceIdentifier>20041109T145200.000Z</InstanceIdentifier>
</pipInstanceId>
<pipVersion>
<VersionIdentifier>1.4</VersionIdentifier>
</pipVersion>
<KnownInitiatingPartner>
<PartnerIdentification>
<domain>
<FreeFormText>DUNS</FreeFormText>
</domain>
<GlobalBusinessIdentifier>880123456</GlobalBusinessIdentifier>
<locationID>
<Value>Hong Kong</Value>
</locationID>
</PartnerIdentification>
</KnownInitiatingPartner>
</ProcessControl>
</ServiceHeader>

  RNIF 2.0 的一個新功能( RNIF 1.1 中所沒有的)是支持通過集線器路由 RosettaNet Business Message 。 Delivery Header 使該路由變得輕鬆自如,而且還包含用於發送和接收貿易合作伙伴身份的元素、消息的日期和時間戳以及全球惟一跟蹤 ID 。消息發起者必須確保 Delivery Header 在 RosettaNet Business Message 中出現,而且必須由發起者進行添加。正如我們前面所提到的, RosettaNet Business Message 中的每一個文檔都作爲單獨的 MIME 或 S/MIME 部分進行打包。在 RNIF 2.0 中 , RosettaNet Business Message 的某些部分可以加密 , 包括 Service Content 和 Service Header 部分。爲了使無訪問加密 Service Header 的權限的第三方集線器能爲消息進行路由, RNIF 指定, Delivery Header 不應加密。

RosettaNet 字典

  在過去, B2B 集成工作所面臨的核心問題之一是,處理各公司在其採購過程中所使用的惟一定義的術語。這不可避免地在貿易合作伙伴之中造成了許多混淆。爲了解決該問題, RosettaNet 聯盟提供一個公共詞彙表,以供指導電子商務之用。 RosettaNet Business Dictionary (RNBD) 指定,在貿易合作伙伴之間定義業務活動的屬性。該字典定義 PIP Message Guideline 中的 Business Property (例如,業務地址)和 Fundamental Business Data Entity (例如, BusinessTaxIdentifier )。

RosettaNet Technical Dictionary (RNTD) 提供定義產品和服務的屬性。 RNTD 排除了當實現多個 PIP 時貿易合作伙伴使用各自字典的需要。而且它不再是行業特定的,可以用在各種供應鏈應用程序中。 RNTD 設計用於支持生產信息的無歧義、自動化的電子交換。這通過標準化用於描述產品特徵和信息的語義來實現。作爲實例,下面我們看一下複印機的定義:

<class id="RNIC021" propDefs="RNIS001 RNIS043 RNS-XJA001">
<identifiers>
<code>RNIC021</code>
<majRev>001</majRev>
<date.def>2000-12-05</date.def>
</identifiers>
<names>
<preferred.name>COPIER</preferred.name>
</names>
<definition.short>A machine used to make
   photographic copies of pages.</definition.short>
<app.specific name="industry.domains">IT</app.specific>
</class>
Copyright © 1997 IEC, Geneva, Switzerland.www.iec.ch.

  類元素、其屬性及其子項都參考 IEC 國際標準、 IEC 61360-4 “結合電子組件分類方案的 Standard 數據元素類型”。 RNTD 以 XML 的格式重新生成了該標準的摘錄和 ECALS 字典。

結束語

  在本文中,我們已熟悉組成 RosettaNet 標準的基本概念,而且我們還已瞭解 RosettaNet 如何補充了其他 B2B 集成工作。 RosettaNet 標準已經證明可以兌現自己所承諾的益處,因而在相對較短的時間內已得到了全世界的普遍接受。任何標準的關鍵實力之一就是支持和開發它的團體,而 RosettaNet 正是得益於其充滿活力而又義無反顧的開發團體。

其他參考讀物

  作者感謝 International Electrotechnical Commission (IEC) 許可從其 International Standard IEC 61360-4 中複製信息。所有這些摘錄的版權都歸 IEC 、 Geneva 、 Switzerland 所有。保留所有權利。關於 IEC 的更多信息,可以從 www.iec.ch 獲得。 IEC 概不負責複製摘錄和內容所處的位置和上下文。而且在任何情況下, IEC 也概不負責其他內容及其準確性。

原文出處

http://dev2dev.bea.com/technologies/webservices/articles/RosettaNet.jsp 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章