服務導向的應用(Service-Oriented Applications;SOA)已被證實是個成功的趨勢,在各項應用的發展和佈署中,以「服務」為導向已成為一個廣為接受的概念。為產品加個顯示即時天氣資料的應用軟體並不難,只要從線上網路服務接收資料即可。
對於連線裝置而言,SOA已經是一項基本功能,甚至是預期中應該具備的功能,而業界也繼續延伸著這項潮流發展。下一階段將是著眼於發展「服務導向裝置」(Service-Oriented Device;SOD),這裡所說的「裝置」,指的是內建嵌入式軟體的設備。
這類裝置隨處可見,在汽車、ATM提款機、GPS接收器、電視接收器和錄影機、餐廳點菜系統、自助結帳通道等多個領域。這些裝置逐漸深入生活,許多技術也持續助長著它們的發展,諸如:
- * 網路連線普及,遍佈各類公共或私人領域,包括WiFi、WiMAX和手機數據服務(3G、EDGE等);
- * WS*等各類工業標準、開發工具及平台(Visual Studio、.NET),促進資訊的分享及使用,使網路服務與各項應用間的共生關係更加緊密;
- * 從伺服器和資料庫進行數據交換與使用的連線裝置;
- * 嵌入式裝置龐大的成長動能。
發展至今,這些裝置能做的不僅止於連線和使用數據。首先,他們可以運用既有的網路服務。例如個人導航裝置(PND)應該要能夠提供路況、油價和附近的興趣點(POI)之類的資訊。所有的裝置都應該能夠顯示來自感測器或使用者輸入的資訊,做為裝置提供的一項服務。
除此之外,裝置也應該可以將它們的功能當做服務傳送出去,讓它得以和其他合適的裝置互相偵測與辨認。假想房子充滿各種智慧型裝置,包括暖器控制器、燈光的開關調節器、保全攝影機、煙霧偵測器、漏水檢知器、機上盒,所有裝置都具備提供各自功能與數據的服務,並且能夠被其他裝置、桌上型或筆記型電腦、近端/遠端伺服器所偵測。一旦所有的東西都這樣互相連結,將能實現無遠弗屆的應用場景。
不可或缺的工業標準與服務導向技術
然而,要實現這些應用場景,勢必需要廣被認可的工業標準,讓服務導向裝置得以彼此偵測、共同工作,進而將資訊的提供與其本身功能轉化為服務。目前,既有的解決方案經常屬於專利,並且鮮少能夠互通,導致解決方案價格昂貴,難以吸引消費者與開發者。
再看一個例子。如果想採用其他製造商的產品來拓展現有的家庭自動化系統,尤其當原先的製造商已經停產或不再支援那些類型的裝置時,這樣的需求尤其重要。在這樣的狀況下,不見得可以找到另一家製造商,支援原有裝置的匯流排、協定以及介面。甚至,由於費用和生產線關閉的問題,製造商也不願再創建、維護或更新其專有的解決方案。採用工業標準將能提供更多選項,例如整合第三方解決方案、方便將維護及支援工作外包,還能夠運用具備相同技能與經驗的大量工程師和整合人員。
目前已有許多既存的工業標準,OEM 廠商也了解實現這些標準的需求與優勢。但是當他們試圖將其套用至裝置上時,卻面臨許多難題,因為他們無法依賴作業系統提供針對這些標準的工具。因此,OEM 廠商需要自行開發或是整合所缺的部分,這些工作並非他們的專長,亦非它們的核心業務。
服務導向標準和微軟 Windows Embedded
DPWS(Device Profile for Web Services)就是前述的既存工業標準之一。DPWS是Web Services的子集之一,它定義了一套最基本的執行方案,能在資源有限的裝置上,安全執行網路服務的傳送、發送、描述以及事件。DPWS方案在Windows Embedded CE 6中稱為Web Services on Devices(WSD),裝置若具備WSD,即能和許多不同類型的裝置進行標準化的通訊。這讓應用程式開發人員能夠為同類型裝置撰寫共通的軟體,並維護不同製造商的裝置間的互通性。簡化的開發工作讓裝置供應商花費較少時間處理網路層的通訊難題,轉而專注為裝置增添豐富的應用程式。
其他的工業標準,例如連線技術(有線或無線的LAN、藍牙)或協定堆疊(HTTP、TCP/IP等),之所以存在且被廣泛採用,是因為它們可靠、安全、定義準確且能在各類作業系統中完全執行。當使用微軟工具開發Windows Embedded CE或是Windows Embedded Standard的核心時,要從頭開始打造作業系統。將TCP/IP堆疊和對HTTP的支援加入核心映像檔,就如同從商品目錄中挑選一項元件般簡單。這讓製造商花更多時間創造系統的附加價值,無須浪費時間重新開發、整合應該已經現成可用的技術。
在某些裝置的垂直領域,尚未有工業標準可供操作。微軟正努力提倡和支援某些工業標準,以填補這些空缺,例如分散軟體服務協定(DSSP),這個基於SOAP的簡單應用協定定義了一個輕型服務的模組,包含對服務標幟、狀態和服務間關係的共同認知。DSSP包含了一組狀態導向的訊息操作,支援結構化資料的檢索、操作和事件通知。這一協定提供了一個彈性的基礎,能將應用程式分類成各種服務在分散環境中的互動組成。DSSP的功能來自HTTP應用模組的延伸,旨在運用於既存的HTTP架構之上。
微軟在提出各領域可用的標準時,最大的努力在於發展並提供可執行現有工業標準的平台。支援這些工業標準的技術和工具都能自Windows Embedded作業系統家族中取得。
另一項微軟提供的有趣技術是.NET Micro Framework,可以直接在.NET和硬體上運行,並且支援資源有限的硬體裝置。.NET Micro Framework佔用空間僅500KB,能在非MMU架構上運行,從.NET直接存取硬體。這項運行程式支援通訊堆疊以及其他有趣的協定,包括DPWS方案。
OEM 發展契機
對於採用工業標準的OEM廠商而言,第一個機會就是能夠運用既有的方案和堆疊,購買或整合來自不同廠商的元件,或是選擇一個能提供所有功能的平台。微軟的方案類似於後者,提供OEM廠商完全整合的平台和工具,讓OEM廠商能專注於裝置的價值、迅速的產品開發時程並降低總體擁有成本。
OEM廠商獲得的另一個契機是,利用工業標準來打造可互通的裝置。例如,一個相框製造商可以提供無線相框,存取Flickr、Live Spaces等網路服務,提供顧客更具競爭力的功能。家庭自動化裝置的製造商,也會希望目前使用競爭者設備的顧客可以自由選擇他們的產品。
服務導向技術為OEM廠商帶來了一個重大的發展契機。由架構出發來思考「服務」,能為系統的研發、維護和更新帶來多項優勢。在此之前,OEM廠商要將系統完全重新佈署才能完成更新或添加新元件。現在,OEM廠商無須打斷或中止系統的其他部分,就可完成服務更新,提供新功能或加入新方案。OEM廠商能準確地擴充遍佈全球的系統,在分散的架構下分配任務執行,並充分利用現有基礎架構的運算能力。
西門子的CCR/DSS技術對於美國郵局(United States Postal Services)的幫助是一個典型的範例。美國郵局名為Delivery Point Resolver的地址搜尋引擎,大幅加速了郵件的處理及遞送。CCR/DSS工具組(基於DSSP)提供的服務導向模式、並行與協調執行階段(concurrency and coordination runtime;CCR)幫助校正不清楚、不完整或錯誤的地址資訊,每秒可處理高達70封郵件。
終端使用者問題:互不相通且過多的技術
同時,OEM廠商也得面對數量過多且各不相同的技術,這對於將技術做為解決方案相當不利。當購買一台無線數位相框,必須要加以設定才能連接至家中的網路,完成之後,再設定它和網際網路連線的連線,才能開始下載想要的影像。這種多步驟的設定讓許多使用者望之卻步,因為不想花時間閱讀使用手冊,或是擔心可能讓裝置無法順利運行的多項因素,而這些因素其實是可以被輕鬆避免的。
科技應該幫助我們簡化生活,而不是讓生活更複雜,所以從感應器到伺服器,OEM廠商都需要符合工業標準的技術。
OEM廠商了解,市場是不斷變化的。僅僅製造嵌入式裝置並不夠,還要同時提供服務,能滿足使用者的需求,並且包含多種功能與高度彈性。以下兩個場景能幫助說明這樣的觀點:
- * 某個人在家裡同時收發電子郵件並收看新聞。他打算等一下坐公車出門。公車能夠自行定位,並且預知自己會晚五分鐘到站,發送系統可以傳送通知給對這條公車路線有興趣的用戶。通知可能顯示在行事曆上、透過機上盒傳送到電視、e-mail、或是以簡訊形式傳到電話。而且這樣的場景不需要使用者先作任何設定。當然,上述的裝置可能都來自不同的製造商,但是仍可以無縫隙的彼此通訊。
- * 假設一台運用DPWS這樣服務導向技術的印表機可能具備的功能。當使用者預設的印表機故障時,可列印的印表機會自動發出通知;印表機卡紙、要加碳粉時也會通知負責支援的人員;甚至,需要定期維修和產生嚴重技術問題時,印表機還會自動與服務廠商連繫。
理想的未來
上面提到的場景不僅只是夢想和遠景,有些製造商已經付諸行動。有了合適的工業標準和能支援這些標準的理想作業系統,這些場景和其他更多的可能將不再是夢想。在變化快速且高度競爭的市場中,裝置製造商需要依靠工具和平台,極大化服務導向裝置的產品差異與價值。
---作者為微軟 Windows Embedded 技術推廣專家---
1