實(shí)踐證明,服務(wù)導向應用(SOA)非常成功,它已被公認為是一種可以實(shí)現并不斷發(fā)展的應用。只要通過(guò)網(wǎng)絡(luò )檢索信息,就能顯示或者應用最新的天氣數據。
SOA成為連接設備的一項基本功能,這一點(diǎn)得到了業(yè)內的廣泛認可,同時(shí)這種發(fā)展趨勢還在不斷擴大中。下一階段的重點(diǎn)是開(kāi)發(fā)服務(wù)導向設備 (SOD),這里的“設備”指的是運行嵌入式軟件的任何設備。
這些設備隨處可見(jiàn),包括在汽車(chē)、ATM機、GPS接收器、電視機和錄像機、餐館點(diǎn)菜機、自助結賬通道等多個(gè)領(lǐng)域。在這些領(lǐng)域,這類(lèi)設備正變得越來(lái)越流行,它們還同時(shí)應用了多種技術(shù)趨勢,例如:
* 包括WiFi、WiMAX和手機數據服務(wù)(3G、EDGE等)互聯(lián)網(wǎng)連接在通信領(lǐng)域正在變得越來(lái)越普遍;
* 包括WS*的工業(yè)標準、開(kāi)發(fā)工具和平臺(Visual Studio、 .NET)在內的網(wǎng)絡(luò )服務(wù)與應用、共享和使用信息之間的共生關(guān)系;
* 將從服務(wù)器和數據庫中獲得的數據進(jìn)行使用和交換的連接設備;
* 嵌入式設備普及度的迅速提高。
現在,這些設備不再只是連接和使用數據,它們可以利用現有的網(wǎng)絡(luò )服務(wù),例如個(gè)人導航設備應該能夠提供交通、油價(jià)和附近你感興趣的地點(diǎn)等信息。所有設備都應具有顯示來(lái)自傳感器或用戶(hù)輸入信息的服務(wù)功能。
由此,這類(lèi)設備還應具有廣播其各種已有功能的服務(wù)功能,這樣它就能很容易地被其他相應設備識別到。設想一下,你的房子里擺滿(mǎn)了各種智能設備,包
括供暖控制器、燈具開(kāi)關(guān)、調光器、攝像頭、煙感器、水感器以及機頂盒,所有這些設備都可以提供共享數據和服務(wù)的功能,因此這些設備可以與其他設備,包括臺
式機、筆記本電腦和本地以及遠程服務(wù)器進(jìn)行連接。一旦所有設備能夠互連起來(lái),應用將變得無(wú)所不能。
對于行業(yè)標準支持和服務(wù)導向技術(shù)的實(shí)際需求
然而,要讓這些成為現實(shí),還需要行業(yè)標準的幫助,使得服務(wù)導向設備能夠被識別、協(xié)同運行,并能夠作為一種服務(wù)共享各類(lèi)信息和功能。目前的解決方案大多還是專(zhuān)有的,很難實(shí)現互操作,而且成本過(guò)高,難以吸引到客戶(hù)和開(kāi)發(fā)者。
再看一個(gè)例子。比如你想采用其他廠(chǎng)商的產(chǎn)品來(lái)擴展現在的家庭自動(dòng)化系統,這時(shí)原來(lái)的廠(chǎng)商是否已經(jīng)停產(chǎn)或不再支持這些型號的設備就成為了一個(gè)重要
的問(wèn)題。如果是這樣,顯然你需要找到另外一家廠(chǎng)商,支持與原有設備相同的總線(xiàn)、協(xié)議和接口。此外,出于費用和原有產(chǎn)品線(xiàn)停產(chǎn)等方面的考慮,一般來(lái)說(shuō),廠(chǎng)商
不愿意創(chuàng )建、維護或更新專(zhuān)有的解決方案。采用行業(yè)標準就提供了更多的選擇,例如集成第三方的解決方案,采用簡(jiǎn)便的外包維護和支持,可以方便地利用更多的工
程師和集成人員的技能和經(jīng)驗。
目前行業(yè)標準是存在的,OEMs(原始設備制造商)也認識到應用已有行業(yè)標準的必要性和好處。但現在主要的困難是,當他們試圖這樣做的時(shí)候,卻不能依靠操作系統基于這些標準來(lái)實(shí)現。因此,他們只能開(kāi)發(fā)或集成缺失的功能,而這明顯不是他們的專(zhuān)長(cháng),更不是他們的核心業(yè)務(wù)。
服務(wù)導向標準和微軟Windows Embedded
每當我提到現有行業(yè)標準可能會(huì )推動(dòng)服務(wù)導向設備時(shí),我都會(huì )想到DPWS,(Device Profile for Web Services)。有一份詳細描述DPWS的文件,你可以從http://specs.xmlsoap.org/ws/2006/02/devprof/處
找到。作為網(wǎng)絡(luò )服務(wù)標準子集的DPWS,規定了在資源有限的設備上實(shí)現安全的網(wǎng)絡(luò )服務(wù)消息傳送、發(fā)現、描述和事件發(fā)生的一套最基本的實(shí)現方案。在
Windows Embedded CE 6中實(shí)現的DPWS方案被稱(chēng)為WSD(Web Services on
Devices)。一旦一臺設備啟用了WSD,那么它就能“標準化”地與許多其他設備進(jìn)行溝通。這允許開(kāi)發(fā)人員在編寫(xiě)某類(lèi)設備通用的軟件時(shí),能夠保持設備
之間的兼容性。由于開(kāi)發(fā)簡(jiǎn)便,設備廠(chǎng)商可以花更少的時(shí)間處理網(wǎng)絡(luò )層的通信,而把重點(diǎn)放到在所選設備上開(kāi)發(fā)豐富的應用上。
當然,其他已有的行業(yè)標準也正在應用中,包括各種連接技術(shù)(LAN或WLAN、藍牙)或協(xié)議堆棧(HTTP、TCP/IP等),這些標準可靠、安全、定義準確,并能全面地應用于各類(lèi)操作系統中。使得你在使用微軟工
具開(kāi)發(fā)Windows Embedded CE或Windows Embedded
Standard內核時(shí),可以從頭創(chuàng )建自己的操作系統。同時(shí),在內核中增加了對TCP/IP和HTTP的支持,使得這一切就像是從目錄中選擇一個(gè)組件那樣
簡(jiǎn)單。這樣制造商就能夠有更多的時(shí)間提高系統自身的價(jià)值,同時(shí)通過(guò)利用已有的工具減少重復開(kāi)發(fā)的工作。
在某些垂直設備領(lǐng)域,目前還沒(méi)有投入應用的行業(yè)標準。通過(guò)推廣和支持這些標準,如分散式軟件服務(wù)協(xié)議(DSSP),微軟正
在努力填補這些空白。這種簡(jiǎn)單的、基于SOAP的應用協(xié)議定義了一種輕型服務(wù)模式,對服務(wù)標識、狀態(tài)和服務(wù)之間的關(guān)系達成了共識。DSSP包含一套面向狀
態(tài)的信息操作,它支持結構化數據的恢復、處理和事件通知。這一協(xié)議為把應用劃分成在分散環(huán)境中相互作用的多種服務(wù)集合奠定了靈活的基礎。DSSP的主要功
能是擴展了HTTP的應用模式,是為在現有的HTTP架構之上而設計的。
盡管微軟建議在可實(shí)現的領(lǐng)域采用某些標準,目前我們最主要的工作還是開(kāi)發(fā)和提供可實(shí)現已有行業(yè)標準的平臺。支持這些行業(yè)標準的技術(shù)和工具在Windows Embedded 操作系統家族中都可以找到。
微軟正
在提供的另外一種有趣的技術(shù)是.NET Micro
Framework,它是基于硬件的、支持有限硬件設備的、并可以直接在.NET上運行的程序。.NET 微處理架構占用空間僅為500
KB,可以在非MMU架構上運行,并可以直接從.NET代碼中訪(fǎng)問(wèn)硬件。這種運行程序支持通信堆棧和包括DPWS在內的管理型實(shí)現方案等其他相關(guān)協(xié)議。
OEMs面臨的機會(huì )
對于正在采用行業(yè)標準的OEMs來(lái)說(shuō),他們面臨的第一大機會(huì )就是利用現有的實(shí)現方案和堆棧,購買(mǎi)和整合來(lái)自不同廠(chǎng)商的組件,或選擇一個(gè)提供了所有功能的平臺。微軟的方法類(lèi)似于后者,即為OEMs提供全面集成的平臺和工具,使得OEMs能夠集中精力提高設備價(jià)值、加快產(chǎn)品開(kāi)發(fā)周期以及降低總體擁有成本。
OEMs面臨的另一個(gè)機會(huì )是利用行業(yè)標準打造可進(jìn)行互操作的設備。例如,相框制造商可以提供能訪(fǎng)問(wèn)Flickr或Live Spaces等網(wǎng)絡(luò )服務(wù)商的無(wú)線(xiàn)相框,為客戶(hù)提供有競爭力的特色服務(wù)。
家庭自動(dòng)化設備制造商還允許客戶(hù)使用來(lái)自其競爭對手的某一種設備。
服務(wù)導向技術(shù)同時(shí)給OEMs帶來(lái)了又一次重大機會(huì )。從架構上思考“服務(wù)”為系統開(kāi)發(fā)、維護和更新帶來(lái)了許多優(yōu)勢。以前,OEMs不得不重新部署
系統,才能更新或增加新組件,F在,只需簡(jiǎn)單地更新一個(gè)服務(wù),OEMs就可以提供新功能或實(shí)現新方案,而無(wú)需中斷系統其余部分。這還使得OEMs能夠準確
地在全球范圍內擴充其系統,在分布式架構中任意調配任務(wù)執行,并充分利用現有基礎設施的計算能力。
一個(gè)典型的例子就是西門(mén)子的CCR/DSS技術(shù)在美國郵政服務(wù)(United States Postal
Service)中的應用,由于加速了投遞點(diǎn)解析地址搜索引擎,大大提高了郵件處理和遞送速度。(基于DSSP的)CCR/DSS工具箱所倡導的服務(wù)導向
模式及并發(fā)和協(xié)調運行程序有助于校正不清楚、不完整或不正確的地址信息,每秒最高可以處理多達70個(gè)郵件。
終端用戶(hù)面臨的問(wèn)題:太多技術(shù)和太多不同的技術(shù)
OEMs面臨有著(zhù)太多的技術(shù)和太多不同的技術(shù),由此為應用帶來(lái)了負面影響——他們不知道如何將這些技術(shù)變?yōu)榻鉀Q方案。在購買(mǎi)無(wú)線(xiàn)相框時(shí),用戶(hù)必
須先配置相框,才能連接到家庭網(wǎng)絡(luò )上。完成配置后,他們還需要設置上網(wǎng)功能,然后才能下載圖片。如此復雜的步驟使得不少用戶(hù)望而卻步——他們不想花時(shí)間閱
讀用戶(hù)指南,更不希望由于任何原因而使簡(jiǎn)單的設備不能正常工作,即使這些原因是很容易避免的。
技術(shù)應該讓事情變得更簡(jiǎn)單,而不是更復雜,因此,從傳感器到服務(wù)器,OEMs都需要采用基于行業(yè)標準的技術(shù)。
OEMs所理解的市場(chǎng)是不斷變化的。僅僅生產(chǎn)嵌入式設備已經(jīng)遠遠不夠了,他們需要提供一種設備,能夠包含用戶(hù)想要的多種服務(wù),具備最多的功能和最大的靈活性。為了更好地說(shuō)明這一點(diǎn),我們通過(guò)下面兩個(gè)場(chǎng)景來(lái)展現這些技術(shù)可以實(shí)現哪些具體功能:
*
想像一下,某人在家里同時(shí)在收發(fā)電子郵件并收看新聞。他打算一會(huì )坐公共汽車(chē)出去。由于公共汽車(chē)可以進(jìn)行地理定位,并“知道”自己五分鐘以后到站,由此調度
系統可以向對這條公交線(xiàn)感興趣的用戶(hù)發(fā)一條通知。這時(shí)這個(gè)人就可以通過(guò)多種方式收到這條信息:通過(guò)日歷、連接機頂盒的電視機、電子郵件以及尋呼機、短信
等。不需要用戶(hù)進(jìn)行任何安裝就能實(shí)現。顯然,上述的設備來(lái)自于不同的廠(chǎng)商,但是它們仍然能夠無(wú)縫通信。
*
還有一個(gè)例子就是部署多臺打印機,由于這些打印機使用了如DPWS的服務(wù)導向技術(shù),它們很容易在網(wǎng)絡(luò )上被識別。它們將能夠在默認的打印機出故障的時(shí)候通知
用戶(hù)改用它們;在卡紙或需要加紙、加粉的時(shí)候主動(dòng)聯(lián)系恰當的服務(wù)人員;在發(fā)生嚴重的技術(shù)問(wèn)題或需要計劃內的維護時(shí)還可以直接與服務(wù)商聯(lián)系。
理想的未來(lái)
上面提到的場(chǎng)景絕不是夢(mèng)想,事實(shí)上,某些制造商正在實(shí)現這些場(chǎng)景。通過(guò)正確使用行業(yè)標準以及支持這些標準的操作系統,這些以及其他諸多可能都會(huì )實(shí)現。此外,在快速變化、競爭激烈的市場(chǎng)中,設備制造商必需依賴(lài)工具和平臺,最大限度地實(shí)現其服務(wù)導向設備的價(jià)值和特色。