<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Tauruser

    JSF will hibernate in spring.

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      24 隨筆 :: 2 文章 :: 19 評論 :: 0 Trackbacks

    #

      最近去圖書館借了本《Java Web 服務(wù)編程指南》,讀了第一章,寫點(diǎn)自己的看法吧。
      在還沒有接觸這本書的時(shí)候,我一直的以為WS就只是網(wǎng)絡(luò)上的web應(yīng)用,這么說吧,就是我們經(jīng)常上的網(wǎng)站。看了第一章之后,我才發(fā)現(xiàn)之前的直觀的看法是錯(cuò)誤的,Web Service并不只是一個(gè)網(wǎng)站。Web Service使我們能夠?qū)W(wǎng)絡(luò)上的一個(gè)對象進(jìn)行遠(yuǎn)程調(diào)用,也就是Remote Procedure Calls,RPC。
      我是這么理解的,一般性的網(wǎng)站我們也可以看成是廣義上的Web Service,但是Web Service并不僅局限行一般性的網(wǎng)站,他更加強(qiáng)大的功能在于提供一個(gè)公開的,標(biāo)準(zhǔn)化的接口,讓所有的客戶都能通過一服務(wù)注冊表,查找到此項(xiàng)服務(wù),并對此項(xiàng)服務(wù)進(jìn)行綁定。客戶可以通過這個(gè)公開的,標(biāo)準(zhǔn)化的API接口,進(jìn)行遠(yuǎn)程的服務(wù)調(diào)用。這些服務(wù)如,查詢天氣預(yù)報(bào),查詢機(jī)場服務(wù),在一個(gè)網(wǎng)絡(luò)商場進(jìn)行下訂單操作,等等。只要服務(wù)商愿意公開他的Web服務(wù),并在服務(wù)注冊表發(fā)布其服務(wù),所有的潛在客戶都可以通過在服務(wù)注冊表中查找此服務(wù),并得到關(guān)于此項(xiàng)服務(wù)的一些具體的描述,從而在服務(wù)商與客戶之間建立bind關(guān)系,遠(yuǎn)程調(diào)用這些服務(wù)。
    ?  在Web服務(wù)中,我們可以看到有三個(gè)不同的角色。他們之間的交互關(guān)系如下圖所示。
    ??
      
      從這個(gè)圖我們可以很清楚地看到三者之間的關(guān)系。服務(wù)提供者提供Web Service,服務(wù)消費(fèi)者是使用此服務(wù)客戶,而位于最頂端的服務(wù)注冊表,則為兩者互相尋找對方提供了一個(gè)橋梁。服務(wù)提供者在服務(wù)注冊表上發(fā)布自己提供的服務(wù),服務(wù)消費(fèi)者從服務(wù)注冊表上查找自己需要的服務(wù),找到后,就可以在服務(wù)消費(fèi)者和服務(wù)提供者之間進(jìn)行綁定,服務(wù)消費(fèi)者就可以對服務(wù)提供者提供的服務(wù)進(jìn)行訪問,遠(yuǎn)程調(diào)用。這里需要注意的是,服務(wù)提供者提供的服務(wù)可能是一個(gè)非常復(fù)雜的服務(wù),他這項(xiàng)服務(wù)可能還會調(diào)用其它服務(wù)提供者提供的服務(wù),他將所有的這些信息整合處理,最終為服務(wù)消費(fèi)者完成此項(xiàng)服務(wù)。當(dāng)然這項(xiàng)服務(wù)也可以很簡單,簡單到服務(wù)消費(fèi)者發(fā)起一個(gè)訪問,直接返回一個(gè)響應(yīng)就可以了。
      三個(gè)實(shí)體之間要進(jìn)行通信,為了保證這些通信都能順利的進(jìn)行,我們需要為這些通信定義規(guī)則,如果大家都遵守這些規(guī)則行事,這樣我們提供的服務(wù)就可以給任何消費(fèi)者使用,消費(fèi)者也就可以使用任何的服務(wù)提供者的服務(wù)了。這些規(guī)則有:
      
    1. Web Service Description Language, WSDL,Web服務(wù)描述語言,用來描述Web服務(wù)。
        
    2. Universal Description, Discovery, and Integration, UDDI,通用描述,發(fā)現(xiàn),集成標(biāo)準(zhǔn)。這個(gè)是用來發(fā)布和查找Web服務(wù)的標(biāo)準(zhǔn)協(xié)議。
    3. Simple Object Access Protocol,SOAP,簡單對象訪問協(xié)議。用于綁定到Web服務(wù)的標(biāo)準(zhǔn)應(yīng)用程序協(xié)議。

      這三個(gè)協(xié)議可以簡單的和上圖的三個(gè)操作對應(yīng)。
      最終我們得到了基本W(wǎng)eb服務(wù)棧:
      
    上面的功能都需要下面的支持。從最底層我們可以看到,Web服務(wù)不一定是建立在HTTP之上的,我們可以使用多種基于TCP/IP的應(yīng)用層協(xié)議來實(shí)現(xiàn)我們的web service。

    posted @ 2006-11-28 12:34 Tauruser 閱讀(856) | 評論 (2)編輯 收藏

    中大沙發(fā),大家常來坐坐啊!
    posted @ 2006-11-25 17:36 Tauruser 閱讀(268) | 評論 (0)編輯 收藏

    在我負(fù)責(zé)的一個(gè)個(gè)人日程模塊中,使用了一個(gè)<t:inputCalendar/>進(jìn)行日期的選擇,并用一個(gè)<h:outputText/>將所選擇的日期顯示出來。這時(shí)候問題就出來了,如要我在<t:inputCalendar/>中選擇一個(gè)日期,在<h:outputText/>中輸出的日期總是會比選擇的日期提前一天。搞得很久都沒有辦法解決,最后還是用多一個(gè)<t:inputCalendar/>解決了問題,為了保持樣式和<h:outputText/>一致。可以設(shè)置<t:inputCalendar/>的屬性。
    <t:inputCalendar?displayValueOnly="true"?renderAsPopup="true"?readonly="true"?value="#{yourBackingBean.selectDate?}"/>
    如此就可以正常顯示了,樣式和<h:outputText/>無異。
    為什么<f:outputText/>用來輸出Date類型就會比預(yù)期的日期提前一天呢?
    posted @ 2006-11-25 14:16 Tauruser 閱讀(1017) | 評論 (2)編輯 收藏

    僅列出標(biāo)題
    共3頁: 上一頁 1 2 3 
    主站蜘蛛池模板: 亚洲爽爽一区二区三区| 亚洲国产成人99精品激情在线| 免费又黄又爽的视频| 国产三级免费电影| 亚洲啪啪综合AV一区| 久久久无码精品亚洲日韩按摩| 亚洲国产日韩女人aaaaaa毛片在线| 亚洲精品电影天堂网| 自拍偷区亚洲国内自拍| 色天使亚洲综合一区二区 | 亚洲六月丁香六月婷婷色伊人 | 亚洲乱码日产精品BD在线观看| 国产精品亚洲片在线va| 免费看又黄又爽又猛的视频软件| 成在线人视频免费视频| av免费不卡国产观看| 亚洲AV无码乱码在线观看性色扶 | 亚洲午夜久久久久久久久电影网| 蜜芽亚洲av无码精品色午夜| 亚洲国产AV无码一区二区三区| 精品国产福利尤物免费| 性一交一乱一视频免费看| 亚洲精品午夜国产VA久久成人| 亚洲综合激情五月色一区| 狠狠躁狠狠爱免费视频无码| 午夜一级毛片免费视频| 亚洲高清日韩精品第一区| 男女一边摸一边做爽的免费视频| 免费看h片的网站| 亚洲网址在线观看你懂的| 人成午夜免费大片在线观看| 成人午夜视频免费| 亚洲国产成a人v在线| 外国成人网在线观看免费视频| 亚洲片国产一区一级在线观看| 亚洲成在人线在线播放无码| 无码精品A∨在线观看免费| 亚洲美免无码中文字幕在线| 免费一级毛片无毒不卡| 亚洲成AV人片在线观看| 伊人免费在线观看高清版|