我理解的webservice是這樣的

        </div>
        <h1>我理解的webservice是這樣的</h1>
        <div class="txt-infr">
            <!--<em class="iconfont"></em>-->
            <em class="font">發佈時間:</em>
            <span>2016-01-10</span>
            <!--<em class="iconfont"></em>-->
            <em class="font">作者:</em>
            <span>跡憶</span>
            <em class="font">瀏覽次數:</em>
            <!--<em class="iconfont"></em>-->
            <span class="count"></span>
        </div>
        <div class="graf-box">
            <p>
最近在工作中遇到這樣的一個項目(暫且定爲項目A),項目A本身是用PHP開發的,但是其數據是來自於另一個使用java開發的項目(暫且定爲項目B),項目A不能操作項目B的數據庫,它有其自己的一套數據庫,只是有些地方需要用到項目B中的內容。所以在這裏就需要一種通信方式,可以使B中的數據可以傳到A中。很當然的就選擇了Webservice,我使用PHP在項目A中搭建了Webservice服務,向B提供了我需要實現的接口,只要B調用相應的接口,按照接口要求的數據格式將數據傳輸到A中,這就大功告成了。</p>

那Webservice究竟是個什麼東西呢,剛開始使用的時候我在網上也查了很多的資料,下面就我自己對Webservice的理解向大家分享一下。

Webservice可以看做不同設備之間通信的一種標準,和具體的某種語言沒有關係,如果非要說有關係的話,那就是每種語言都按照這個webservice標準來開發相應的函數以實現此標準。就向我上面說的項目B向項目A傳輸數據,需要按照這個Webservice標準來傳輸纔可以成功。

當然對於上述案例如果說是項目A需要在本地存一份項目B中的部分數據,但是對於業務邏輯是和B沒有關係的,那麼就需要A來提供webservice服務,由B來調用接口發送數據,接下來就沒有B什麼事兒了,僅當B中相應數據有更新的時候,再次調用A提供的webservice接口更新A中的數據就可以了。但是如果業務是這樣的,項目A不需要存B中的數據,它只是用B中的部分數據做展示,那我們就需要在B中搭建Webservice服務,提供相應的接口,由A調用B提供的Webservice接口以此取出B中的數據,那這樣當B中數據有更新的時候,A調用的數據也是最新的。

上面說了這麼多,無非就是一句話

Webservice是被定義用來使不同應用之間通過網絡傳輸數據的一種標準,此標準和具體的語言無關,至於哪種語言提供接口,哪種語言來調用要看項目的需要。

既然是一種標準,那就需要有相應的技術來支持這個標準的實現。下面就出現了Webservice中的四種技術——XML、WSDL、SOAP、UDDI。在一套完整的Webservice服務中,這四種技術各有其自己的實現價值,下面分別來介紹一下各自的用途

1.XML 

XML是用來標記數據的(對於XML標籤詳細介紹,可以參考W3C),因爲上面我們說過,webservice不依賴於某一門特定的編程語言。而不同的系統可能是使用不同的編程語言來開發,(如上:項目A使用PHP開發,項目B使用Java開發)所以說就需要一種方式來交換數據,這種方式同樣不依賴於某種編程語言,大多數軟件都集成了XML標籤,因此使用XML格式的數據來實現數據的交換。

2.SOAP 

SOAP是一種特殊的協議,用來傳輸數據。當調用方一旦發現提供Webservice接口的地址,它將會使用SOAP協議和提供Webservice的系統進行連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章