Restlet開源項目(面向Java的輕量級REST架構)主要是溝通串連Java和.NET的橋樑,以方便Java開發人員便於使用ADO.NETDataServices。
近日位於法國的諮詢服務公司NoeliosTechnologies發布了Restlet開源項目(面向Java的輕量級REST架構)的新版 本,該版本包含了針對ADO.NETDataServices的Restlet擴充。此舉是微軟和NoeliosTechnologies協作的成果,這 樣Java開發人員就可以便於使用ADO.NETDataServices了。
通過ADO.NETDataServices架構,我們可以建立RESTful服務以及使用這些服務的用戶端。根據MSDN所述:
ADO.NETDataServices架構套件含了很多模式與程式庫,以此建立並使用Web上的資料服務。該架構的目標是簡化資料服務的建立, 使使用者能夠輕鬆建立與Web整合良好、靈活的資料服務。因此,ADO.NETDataServices使用URI指向資料片段並通過簡單、眾所周知的格式 來代表資料,比如JSON和ATOM(基於XML的feed格式)。
微軟技術佈道者Jean-ChristopheCimetiere撰寫了一篇文章對ADO.NETDataServices(此前叫做“ProjectAstoria”)進行了詳盡的介紹,並說明了該架構可以通過RESTful服務公開關係及非關係資料的原因。
為了讓系統能夠理解並利用資料上的語義,ADO.NETDataServices使用EntityDataModel(EDM,一種實體關聯衍生物)並通過資料服務來對資料進行建模。這樣就會以“實體類型”執行個體或“實體”的形式來組織資料並管理實體之間的關聯關係。
對於關係資料來說,ADO.NETDataServices可以暴露由ADO.NETEntityFramework所建立的EDM模型。對於 其他資料來源(比如非關係資料)或是其他的資料庫訪問技術(比如LINQtoSQL)來說,ADO.NETDataServices又提供了一種機制將這些 資料來源建模為實體和關係(比如通過EDMschema描述)並將其暴露為資料服務。
大家可以通過此連結深入瞭解ADO.NET Data Services。
根據Restlet網站所述,Restlet是一個輔助開發RESTful用戶端與服務端應用的架構。Restlet架構套件含了一個 RestletAPI,該API提供了一套核心契約集來註冊Restlet實現。這些實現可以是開源項目,也可以是商業產品。Cimetriere說到:
ADO.NETDataServices的Restlet擴充提供了一個高層次的clientAPI來擴充Restlet架構的核心功能:可以訪問位於ASP.NET伺服器或是WindowsAzure雲端運算平台上的遠端資料服務。
Java開發人員可以通過擴充的代碼產生器建立符合ADO.NETDataServices所暴露的資料實體的Java類。之後Java應用就可 以通過一個簡單的方法調用訪問這些資料了。Restlet引擎和擴充的運行時組件會負責Java用戶端應用與ADO.NETDataServices之間 的通訊。
下面的元件圖表描繪了整體的架構(來源)。
由微軟領導的其他Java互操作技術還有ApacheStonehenge(跨平台的SOA/Web服務互操作)和 Azure.NETServicesSDKforJava。大家可以通過 www.interoperabilitybridges.com/projects/tag/Java.aspx瞭解更多關於Java-.NET互操作 的資訊。