官术网_书友最值得收藏!

前言

從我啟動(dòng)本書(shū)到完稿,歷時(shí)一年有余。

此間,Java EE 7得到了更多服務(wù)器軟件的支持,Jersey升級(jí)了9個(gè)小版本——我在動(dòng)筆開(kāi)始文字和示例代碼編寫(xiě)的時(shí)候,Jersey剛剛推出2.0版本,到本書(shū)完畢時(shí),版本號(hào)是2.9,這也是本書(shū)的最終版本。此后新版本帶來(lái)的改變只有通過(guò)本書(shū)提供的源代碼來(lái)同步更新。

此間,我積極參與和關(guān)注著Jersey項(xiàng)目的動(dòng)向,通過(guò)關(guān)注Jersey官方文檔、Jersey在GitHub托管系統(tǒng)的源代碼、Jersey的Jira缺陷管理系統(tǒng)、Jersey的StackOverflow問(wèn)答系統(tǒng),對(duì)其修復(fù)缺陷、引入新功能和如何使用Jersey等事宜不斷跟進(jìn)。

我之所以這么做,目的只有一個(gè),即希望為讀者呈現(xiàn)的是一本Java領(lǐng)域REST開(kāi)發(fā)的好書(shū)。

為什么要寫(xiě)這本書(shū)

REST式的Web服務(wù)有多流行,相信每一位翻閱本書(shū)的讀者都很清楚,冒昧地猜測(cè),你可能想要看到的是一本講述如何使用Java語(yǔ)言和Java EE平臺(tái),來(lái)實(shí)現(xiàn)這一風(fēng)格的服務(wù)或者應(yīng)用的書(shū)。這也正是我這兩年來(lái)努力寫(xiě)作的初心和原動(dòng)力。我相信,讀者希望看到的內(nèi)容不單單是追逐流行、風(fēng)靡一時(shí)的“快餐”。作為開(kāi)發(fā)者,我知道擁有對(duì)新技術(shù)、新標(biāo)準(zhǔn)的敏銳嗅覺(jué)非常重要,但我認(rèn)為更難能可貴的是把一個(gè)業(yè)內(nèi)認(rèn)可的標(biāo)準(zhǔn)學(xué)好和用好。Java EE 7中包含了JAX-RS 2.0標(biāo)準(zhǔn),是Java領(lǐng)域REST式的Web服務(wù)的規(guī)范;GlassFish是Java EE 7的參考實(shí)現(xiàn)項(xiàng)目集,Jersey是其子項(xiàng)目,是JAX-RS 2.0的參考實(shí)現(xiàn)。本書(shū)的目的就是要把JAX-RS 2.0說(shuō)清楚,把如何用Jersey寫(xiě)好REST式的服務(wù)講明白。

本書(shū)特色

□第一本完整講述使用Java標(biāo)準(zhǔn)規(guī)范實(shí)現(xiàn)REST的書(shū)籍。

□第一本完整講述以JAX-RS 2.0參考實(shí)現(xiàn)實(shí)踐Jersey的書(shū)籍。

□給出深度學(xué)習(xí)和實(shí)踐JAX-RS的線路圖和解決方案。

讀者對(duì)象

本書(shū)從實(shí)踐角度,完整地詮釋了JAX-RS 2.0(JSR 339),即Jersey 2.0的核心元素和REST開(kāi)發(fā)過(guò)程。面向所有在Java領(lǐng)域?qū)W習(xí)和使用REST的讀者。同樣歡迎REST領(lǐng)域的其他語(yǔ)言的使用者通過(guò)本書(shū)了解REST的實(shí)現(xiàn)。

□技術(shù)路線:架構(gòu)師、技術(shù)主管、研發(fā)工程師、REST小白(網(wǎng)絡(luò)用語(yǔ),本書(shū)指新手);

□管理路線:部門經(jīng)理、項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理;

□敏捷實(shí)踐者。

如何閱讀本書(shū)

本書(shū)收納了筆者近三年的RESTful實(shí)戰(zhàn)經(jīng)驗(yàn),將REST理論與Java實(shí)現(xiàn)相結(jié)合,循序漸進(jìn)地將使用Java開(kāi)發(fā)REST式的Web服務(wù)中遇到的知識(shí)點(diǎn)和經(jīng)驗(yàn)呈現(xiàn)給讀者。每個(gè)章節(jié)中的知識(shí)點(diǎn)都精心設(shè)計(jì)了相應(yīng)的示例代碼,便于讀者更好地理解和更及時(shí)地進(jìn)行實(shí)踐。從第11章開(kāi)始,筆者從敏捷角度為讀者呈現(xiàn)了一個(gè)完整和相對(duì)復(fù)雜的REST式的Web服務(wù)實(shí)例,相信這個(gè)實(shí)例能讓讀者更好地理解相關(guān)內(nèi)容,同時(shí),可以對(duì)敏捷開(kāi)發(fā)和自動(dòng)化測(cè)試有新的認(rèn)識(shí)。

全書(shū)分為3篇,共11章。

第一篇共5章(第1~5章),講述REST的基本理論和Jersey的基本實(shí)踐。完成第一篇的閱讀和示例代碼的實(shí)踐,讀者可以學(xué)會(huì)使用Java開(kāi)發(fā)REST式的Web服務(wù)的基本能力。

第1章 分別闡述了REST、REST式的Web服務(wù)、JAX-RS 2.0和Jersey 2.x的基本情況。

第2章 講述了使用Jersey 2.x開(kāi)發(fā)一個(gè)基于JAX-RS 2.0標(biāo)準(zhǔn)的應(yīng)用的基本知識(shí)以及如何使用Jersey來(lái)集成Spring和JPA以快速開(kāi)發(fā)一個(gè)REST式的Web服務(wù)。本章包含10個(gè)示例項(xiàng)目。

第3章 深入闡述了如何使用Jersey設(shè)計(jì)和實(shí)現(xiàn)REST式的Web服務(wù)的API。本章包含5個(gè)示例項(xiàng)目。

第4章 深入闡述了Jersey的Providers對(duì)REST請(qǐng)求的處理。

第5章 講述了Jersey的客戶端開(kāi)發(fā)的基本實(shí)踐和常用配置。

第二篇共5章(第6~10章),講述寫(xiě)好REST程序的必要知識(shí)點(diǎn)。完成第二篇的閱讀和實(shí)踐,讀者可以全面了解如何寫(xiě)好一個(gè)完整的REST式的Web服務(wù)。

第6章 全面講述了如何實(shí)現(xiàn)一個(gè)安全的REST式的Web服務(wù)。

第7章 講述了Jersey的測(cè)試框架及其使用。

第8章 講述了Jersey對(duì)HTML5的SSE的支持和異步請(qǐng)求處理。

第9章 講述了Jersey 1.x遷移到Jersey 2.x的要素和經(jīng)驗(yàn)分享。

第10章 分享了REST式的Web服務(wù)的性能調(diào)優(yōu)的經(jīng)驗(yàn)。

第三篇包含1章(第11章),分享了5年外企工作中,我對(duì)自動(dòng)化測(cè)試和敏捷的體會(huì)。完成本部分內(nèi)容的閱讀和實(shí)踐,讀者可以更宏觀地審視REST的應(yīng)用場(chǎng)景,起到拋磚引玉的作用。

第11章 講述一個(gè)完整的REST項(xiàng)目的全過(guò)程。

全文由三個(gè)小版組成:“閱讀指南”、“小白講堂”(為某些在知識(shí)點(diǎn)上比較“小白”的同學(xué)介紹概念性的知識(shí))和“宅人坑事”(技術(shù)宅最自豪和最擔(dān)驚受怕的就是“踩坑”),旨在和讀者分享基礎(chǔ)知識(shí)和心得體會(huì),只為交流,切勿對(duì)號(hào)入座。

第一篇推薦研發(fā)工程師和REST小白完整閱讀,這部分包含了了解和使用JAX-RS 2.0完成學(xué)習(xí)和工作的必要章節(jié)。對(duì)于有基礎(chǔ)的技術(shù)人員,可以作為實(shí)踐的參考有選擇地閱讀。

第二篇推薦致力于提高自己的技術(shù)人員完整閱讀,這部分包含了JAX-RS 2.0的高級(jí)功能。永不滿足和持續(xù)學(xué)習(xí)的精神,會(huì)讓你在關(guān)鍵時(shí)刻成為“關(guān)鍵先生”。架構(gòu)師和項(xiàng)目經(jīng)理在考慮安全、性能等問(wèn)題時(shí),可以參考相關(guān)章節(jié)。

第三篇推薦渴望實(shí)戰(zhàn)指導(dǎo)的技術(shù)人員閱讀和跟隨實(shí)踐。同時(shí),該篇結(jié)合了筆者參與敏捷實(shí)踐的體會(huì),以scrum的方式進(jìn)行開(kāi)發(fā)管理。因此,敏捷實(shí)踐者和相關(guān)的部門經(jīng)理可以參考。

產(chǎn)品經(jīng)理可以閱讀與REST特性相關(guān)的章節(jié),這樣可幫你在設(shè)計(jì)應(yīng)用方面有所提高。

源代碼

勘誤和交流

作為開(kāi)發(fā)者,非常歡迎讀者能與我一起交流JAX-RS 2.0相關(guān)的技術(shù)。我的郵箱是:feuyeux@gmail.com,新浪微博是:六爺1_1。

本書(shū)的勘誤統(tǒng)計(jì)在https://github.com/feuyeux/jax-rs2-guide/wiki中,歡迎讀者批評(píng)指正。

致謝

感謝我的夫人Caroline。寫(xiě)作期間,沒(méi)有時(shí)間陪你共度周末,甚至沒(méi)有精力陪你共度以2開(kāi)頭的最后一個(gè)生日,也沒(méi)有營(yíng)造任何浪漫的氣氛。我們的女兒從蹣跚學(xué)步到會(huì)唱兒歌,我沒(méi)有更多的時(shí)間陪伴你們,而你一如既往地支持我,在此我對(duì)你表示深深的感謝。

感謝華章公司的楊福川。我最難忘的是最初談到要出本書(shū)時(shí)與君一拍即合的快意,這為我此后動(dòng)筆增添了無(wú)窮的動(dòng)力和信心。同時(shí),閣下給予我的信任和鼓勵(lì)也極大地推動(dòng)了本書(shū)的順利完成。在此后一年多的交往中,我深深感受到了業(yè)內(nèi)對(duì)楊福川專業(yè)水準(zhǔn)的評(píng)價(jià)和他敬業(yè)的態(tài)度。

感謝華章公司編輯高婧雅專業(yè)和耐心的審閱和指正。我曾一度被這位可敬的東北妹子的嚴(yán)謹(jǐn)和勤奮打擊,心生愧對(duì)華章精品精神的挫敗感。但隨著婧雅的不斷鼓勵(lì)和支持,我一遍遍改進(jìn)著稿件,自信心得到了恢復(fù),同時(shí),內(nèi)心得到了安慰,我沒(méi)有偏離初心和那份原動(dòng)力。非常感謝華章公司和婧雅。

感謝RedHat公司姜寧師兄的技術(shù)校對(duì),感謝阿里巴巴公司許曉斌的敏捷校對(duì)。

最后,我要感謝Technicolor敏捷團(tuán)隊(duì)中的每一位成員,正是與各位度過(guò)的每一天,才讓我有資本和信心與廣大讀者分享在REST式的開(kāi)發(fā)中的經(jīng)驗(yàn)和教訓(xùn),并在本書(shū)中介紹自動(dòng)化測(cè)試和敏捷實(shí)踐的相關(guān)知識(shí)。

主站蜘蛛池模板: 隆子县| 滁州市| 象州县| 民权县| 淳安县| 定襄县| 庆阳市| 辉县市| 汨罗市| 吉安市| 岳普湖县| 雷山县| 永吉县| 萨嘎县| 新闻| 桐柏县| 奉节县| 尚义县| 京山县| 华宁县| 武强县| 绥宁县| 灵武市| 房产| 灵璧县| 三江| 海阳市| 湘阴县| 马山县| 龙门县| 哈密市| 徐水县| 安庆市| 金山区| 阜平县| 杭锦旗| 吴江市| 永济市| 宝兴县| 三穗县| 福州市|