2011-09-17 70 views
-1

有許多具有REST接口的服務。但是他們使用REST而不是允許數據庫操作。爲什麼不愛RDBMS?這是不安全的還是什麼?RDBMS GRANT權限與REST服務

+0

在這個問題中,我沒有得到REST和RDBMS的關係,與安全性有關。他們在應用程序體系結構中爲不同的目我錯過了這一點。 – kroonwijk

+0

@kroonwijk關係很簡單。爲什麼facebook(替換爲其他公司名稱)爲REST API提供密鑰驗證,而不是直接提供對數據庫的訪問並使用數據庫帳戶系統。當然,我只會講數據導向的REST服務。 – FirstTimePoster

回答

0

現在我明白你的問題了,我可以提供這個消息。

通常,有很多可能的原因讓您的數據模型通過Web服務公開,而不是直接連接到數據庫。

協議互聯網通信最常用的協議是HTTP。因此使用這種協議而不是數據庫通信協議的優點是很大的。路由器和ISP的HTTP通道默認打開,並知道如何處理。數據庫連接通常使用專有協議和它們自己的端口。

開放標準所使用的通信協議需要爲廣大觀衆所接受。例如,OData可以是這樣一種協議,以標準和可查詢的方式公開您的數據模型。

可擴展性 Web服務提供的方式是無狀態的,並與規模的限制很容易。提供者可以選擇放置更多的網絡服務器來處理不斷增加的負載。僅用數據庫系統就很難實現這一點。

認證同時也是一個數據庫系統驗證用戶身份的能力,支持的系統的數量往往是有限的,認證麻煩的管理。 Web服務提供了多種系統,通常由Web服務器系統提供。

技術抽象結束程序員不關心數據庫技術用於實現數據模型。這也適用於供應商,它希望能夠靈活地改變其數據庫技術,而不會讓最終用戶注意到它。抽象層次可以通過提供一個穩定和穩定的Web界面層來提供。

可管理性儘管像Odata這樣的協議經常會將數據模型1對1暴露給最終用戶,但提供商可能會從物理數據模型中進行適配。這是通過使由數據庫和由服務提供的邏輯數據模型提供的物理數據模型之間的分離完成。

不知道你是否滿意的一個或多個原因,但是這將是一般的架構考慮了具有在RDBMS之上的服務層。

+0

明白了。所以這是另一個抽象層次。現在我看到REST比我以前想象的更加靈活。 – FirstTimePoster