亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

J2EE培訓(xùn)

j2ee架構(gòu)師認(rèn)證指南

時間:2024-09-27 19:30:20 J2EE培訓(xùn) 我要投稿
  • 相關(guān)推薦

j2ee架構(gòu)師認(rèn)證指南

  J2EE是Java技術(shù)不斷適應(yīng)和促進(jìn)企業(yè)級應(yīng)用過程中的產(chǎn)物。下面yjbys小編就為大家分享最新的J2EE架構(gòu)師認(rèn)證指南,希望能幫助到大家!

  架構(gòu)師之路:

  一、書籍

  1、基礎(chǔ)書籍

  《Java編程思想》

  《J2EE應(yīng)用與BEA WebLogic Server》

  《精通EJB》

  2、設(shè)計(jì)書籍

  《UML和模式應(yīng)用》

  《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》

  《Java與模式》

  《J2EE核心模式》

  《EJB設(shè)計(jì)模式》

  《敏捷軟件開發(fā):原則、模式與實(shí)踐》

  《企業(yè)應(yīng)用架構(gòu)模式》

  《軟件架構(gòu):組織原則與模式》

  《重構(gòu):改善既有代碼的設(shè)計(jì)》

  3、流程書籍

  《統(tǒng)一軟件開發(fā)過程》

  二、專注做好一件事

  1、分享

  分享自己的工作或者學(xué)習(xí)心得,同時會有理解、應(yīng)用、總結(jié)、表達(dá)甚至推廣方面的提高,對于自己的進(jìn)步很有利。

  2、共進(jìn)

  找志同道合的高手,和他們多交流,向他們多學(xué)習(xí),少走彎路,同時擴(kuò)大自己的社交圈子。

  3、協(xié)同

  學(xué)習(xí)重要,實(shí)踐也很重要。有機(jī)會參與開源項(xiàng)目,與世界各地的高手交流,學(xué)習(xí)。

  4、修煉

  能力不是天生的,是可以后天培養(yǎng)的;能力不是一成不變的,是可以學(xué)習(xí)提高的;一個人的成功,不是他做事的成功,而是他自我修煉的成功。認(rèn)真規(guī)劃自己的目標(biāo)和時間。第一,要找到一件事,把它當(dāng)目標(biāo),然后發(fā)誓把這件事做到超乎想象的程度。第二,要學(xué)會利用時間。用長遠(yuǎn)的眼光來規(guī)劃這件事,用短期角度來思考和執(zhí)行這件事。

  三、架構(gòu)師的職業(yè)技能

  1、卓越的程序員

  做產(chǎn)品之前,架構(gòu)師必須要幫助產(chǎn)品團(tuán)隊(duì)把可行性、技術(shù)需求以及權(quán)衡取舍等因素一一剖析清楚。技術(shù)需求出來之后,架構(gòu)師需要設(shè)計(jì)整體的技術(shù)實(shí)現(xiàn)步驟(大多數(shù)成功的架構(gòu)師都喜歡與其他團(tuán)隊(duì)成員一同完成架構(gòu)和設(shè)計(jì)這一塊的工作)。與開發(fā)團(tuán)隊(duì)一起,完成設(shè)計(jì)與實(shí)施的細(xì)節(jié)。與開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)一起,完成部署的過程。與運(yùn)維團(tuán)隊(duì)一起,進(jìn)行部署之后的維護(hù)和故障排除。在這個過程中,一個架構(gòu)師至少有一半以上的工作是需要與開發(fā)團(tuán)隊(duì)一起進(jìn)行的,一個架構(gòu)師不能將實(shí)施細(xì)節(jié)拋之腦后。一個架構(gòu)師必須通過自己的個人影響力來對開發(fā)團(tuán)隊(duì)進(jìn)行指導(dǎo)工作,通過自己寫代碼以及和其他成員一起寫代碼,來指導(dǎo)團(tuán)隊(duì)成員實(shí)現(xiàn)每個架構(gòu)細(xì)節(jié)的思路。一個架構(gòu)師不僅要會寫代碼,還必須要能夠?qū)懗鲎约涸O(shè)計(jì)的系統(tǒng)中最難實(shí)現(xiàn)的那段代碼。這樣他才能夠放心的把“落地”的這個重?fù)?dān)交給開發(fā)團(tuán)隊(duì)來做。一個架構(gòu)師的價值在于,他不僅能看到系統(tǒng)的美,而且能夠在建造系統(tǒng)的時候能夠把這些美創(chuàng)造出來。

  素質(zhì):經(jīng)驗(yàn)和技術(shù)基礎(chǔ)。創(chuàng)造性和知識匯總能力;2、3語言的溝通學(xué)習(xí)能力。市場嗅覺。藝術(shù)氣質(zhì)和冒險精神。邏輯思維和抽象能力。

  技能:架構(gòu)理論和方法學(xué)。對象理論。JEE/.NET/動態(tài),技術(shù)領(lǐng)域技術(shù)能力。模式。遺留系統(tǒng)互聯(lián)。中間件。消息機(jī)制和協(xié)議。本地化和國際化。安全性和性能。

  做為一個架構(gòu)師,需要實(shí)現(xiàn)(這個過程是結(jié)對編程,會有一個搭檔)一個系統(tǒng)最難實(shí)現(xiàn)的一部分?梢詫⑵浞Q之為“先鋒”,因?yàn)檫@是檢驗(yàn)?zāi)X中的主意是否真的是一個好主意的過程。需要在第一次實(shí)施中會細(xì)化這個主意。然后才能放心的讓編程團(tuán)隊(duì)的其他成員按照這個模式來走。這就是“架構(gòu)”。

  2、抽象思維

  抽象思維能力。邏輯思維能力。

  3、技術(shù)前瞻性

  好的架構(gòu)師,應(yīng)該提前想到如何為程序員盡可能減輕負(fù)擔(dān),比如數(shù)據(jù)庫軟件新的特性可以提高性能,簡化查詢步驟,那架構(gòu)師是不是第一時間要引導(dǎo)程序員去適應(yīng)新的特性,提高開發(fā)效率。技術(shù)前瞻性還體現(xiàn)在對新技術(shù)的選擇上,哪些東西適合自己團(tuán)隊(duì),哪些不適合肯定要自己心中有本帳。架構(gòu)師在自己所處的領(lǐng)域肯定了解頗深,未來本領(lǐng)域技術(shù)該如何發(fā)展,應(yīng)該有自己的理解。也會對未來技術(shù)的發(fā)展有所期盼,有自己的見解。

  4、問題解決大師

  抽象思維是往高層次的升華,透過問題看本質(zhì)則是往深層次的挖掘。從問題看本質(zhì),實(shí)質(zhì)上是一個從表層逐步深入的過程。在架構(gòu)師面對一個用戶需求時,這個“用戶需求”是非常表層的——比如說,一個自動遠(yuǎn)程備份數(shù)據(jù)庫的功能。而架構(gòu)師的主要工作,就是把這樣的“業(yè)務(wù)需求”翻譯成“技術(shù)需求”。這個過程一方面需要通過抽象思維將用戶需求提煉為啟動、讀取、存儲、中斷處理等模塊,而另一方面則需要看到更深層次的網(wǎng)絡(luò)、操作系統(tǒng)、硬件等方面,以及其可靠性、穩(wěn)定性、適用性、安全性等問題。如果你在編寫Java代碼時考慮到了JVM的性能,在編寫PHP代碼時想到了潛在的安全問題,甚至于在編寫HTML+CSS頁面時考慮到了不同瀏覽器的兼容性,這些都體現(xiàn)了“透過問題看本質(zhì)”的素質(zhì)。

  5、多領(lǐng)域大師

  多學(xué)習(xí)跨領(lǐng)域、跨學(xué)科的東西。談到跨領(lǐng)域?qū)W習(xí),知識面廣似乎是最好實(shí)現(xiàn)的目標(biāo),只要博覽群書,加上高中之前各學(xué)科扎實(shí)的基礎(chǔ),相信大多數(shù)程序員本身就具備一定的跨領(lǐng)域?qū)W習(xí)的能力。還有一種跨領(lǐng)域?qū)W習(xí)的目標(biāo),就是多語種的學(xué)習(xí)。學(xué)習(xí)除英文之外的語言,既能開拓國際視野,也能在平時的工作中有所建樹。IT行業(yè)的發(fā)展,依靠的業(yè)務(wù),從而給人們帶來的方便快捷,改變?nèi)藗兊纳、工作方式,其核心就是服?wù)?茖W(xué)技術(shù)本身并不能創(chuàng)造價值,只有當(dāng)其轉(zhuǎn)換了生產(chǎn)力之后才會具有價值,這一切的核心,就是業(yè)務(wù)。

  6、溝通能力

  首先自然是溝通要清晰明了,平和待人。架構(gòu)師不能將自己鎖在自己的象牙塔上,頤指氣使的對程序員發(fā)號施令。做到人性化的溝通,需要我們在平時就進(jìn)行培養(yǎng)。寫出大部頭的架構(gòu)書,有的時候并沒有用VISIO畫出的簡單架構(gòu)圖好理解。人對圖形理解遠(yuǎn)遠(yuǎn)大于對文字的理解,直觀簡單的UML圖可以極大的方便程序員理解架構(gòu)師的意圖。其次,可以召開小范圍的技術(shù)人員會議,大家一起來討論,一起理解架構(gòu)師真正的意圖。甚至就是一塊小白板,幾支筆就能把問題擺清楚,講明白,統(tǒng)一意見后的團(tuán)隊(duì)必然干勁十足,再不會出現(xiàn)互相推諉的情況。

  鍛煉溝通能力,首先我們需要更多的感性思考,說話時也要注重別人的感受,尊重對方才能更好的交流。微軟MVP陳廣琛在與51CTO編輯談到程序員溝通能力時,曾說道:“很多程序員總能列出一堆的理由來,說明為什么自己不適合學(xué)習(xí)或者不需要掌握某項(xiàng)與程序無關(guān)的技能,例如說演講、英語、設(shè)計(jì)等等。但其實(shí)問題并沒有那么復(fù)雜,你需要考慮的只是多學(xué)一項(xiàng)技能是否對你的職業(yè)發(fā)展更有利,只要你愿意,沒什么是不能改變的。”

  7、內(nèi)力

  內(nèi)力更多的是一種思考能力,結(jié)合技術(shù)的思考能力。架構(gòu)更多的內(nèi)力體現(xiàn)在對技術(shù)的綜合運(yùn)用上,光會編程的程序員,最多就能做到高級程序員,也就是技術(shù)實(shí)現(xiàn)上的高手。就比如兩個高手比武,比的不光是招式,更多的是對招式的運(yùn)用,畢竟招式是死的,人是活的。

  內(nèi)功的修煉第一層,自然是開發(fā)技術(shù)的培養(yǎng)。從寫第一行代碼開始,就多想為什么,有沒有什么其他的路徑能實(shí)現(xiàn)同樣的功能。當(dāng)我們寫了很長時間代碼了,是不是就該考慮更多的問題,比如優(yōu)化、預(yù)期未來。其次是對架構(gòu)的熟悉。要做一名優(yōu)秀的架構(gòu)師,就得對各種架構(gòu)做到了熟于心。

  更高層次的修煉,就在于不同技術(shù)的學(xué)習(xí)。要懂得數(shù)據(jù)庫知識,懂得安全監(jiān)控方面的知識,還要懂得網(wǎng)絡(luò)構(gòu)建方面的知識。這是比較高層次的內(nèi)功修煉,很有可能與程序員目前所處的開發(fā)環(huán)境關(guān)系不大,對程序員來說并不是什么有用的東西。但一個優(yōu)秀的架構(gòu)師必須懂得這些,才能更好地抽象軟件的使用環(huán)境,選擇符合需要的架構(gòu)以及開發(fā)模式。

  8、權(quán)衡取舍

  沒有一個人可以建造一個沒有缺陷的架構(gòu)。這個項(xiàng)目可能缺乏時間,缺乏金錢,缺乏人手,或者缺乏合適的技術(shù)。在項(xiàng)目從開始到進(jìn)行中的每時每刻,架構(gòu)師都需要對這些架構(gòu)的“缺陷”有明確的了解。所以架構(gòu)師必須要對權(quán)衡取舍方面有著出色的把控能力,即架構(gòu)師有沒有看到各方面訴求的差異,以及有沒有意愿為了這些差異而做出妥協(xié)。一個大型云計(jì)算服務(wù),需要在安全、伸縮性、可用性、性能以及性價比方面獲得高分,同時必須維持全球上百位客戶不間斷的使用需求。對于系統(tǒng)而言,在某一個地方或某一個層面發(fā)生的改變,勢必將影響到系統(tǒng)的其他地方和層面,乃至整個系統(tǒng)。出于對可用性權(quán)衡的研究,加州大學(xué)的Eric Brewer教授提出了CAP理論,認(rèn)為對于一個共享數(shù)據(jù)的系統(tǒng)而言,數(shù)據(jù)持續(xù)性、系統(tǒng)可用性、對網(wǎng)絡(luò)劃分的耐受性這三個屬性是不可調(diào)和的,任何時候只能同時達(dá)成兩個。所以在知道了魚和熊掌不可兼得的情況下,要深刻理解各個方面不同角度的訴求,并找出各方都可以接受妥協(xié)的制衡點(diǎn),自然是必不可少的。

  9、管控能力

  作為一名優(yōu)秀的架構(gòu)師,比較迫切的管理任務(wù)可能就是開發(fā)成本與收益平衡的問題。舉例說,采用MySQL做數(shù)據(jù)庫與采用Oracle做數(shù)據(jù)庫,價格肯定有很大差距。但是究竟該采用何種技術(shù),架構(gòu)師需要仔細(xì)權(quán)衡用戶的報(bào)價與本公司收益率的問題。又比如說采取甲技術(shù)開發(fā)出的軟件,界面大方性能一般,但是需要耗費(fèi)程序員更多的勞動時間,那在有些場景下就不如采用乙技術(shù)快速開發(fā)后節(jié)約的大量人力成本,盡管界面有些難看。通管理,能增強(qiáng)技術(shù)團(tuán)隊(duì)內(nèi)部的團(tuán)結(jié)。安全監(jiān)控也是架構(gòu)師的重要職責(zé),負(fù)責(zé)監(jiān)督整個開發(fā)過程中可能出現(xiàn)的問題,在出現(xiàn)問題后還要牽頭及時解決問題。這里我們講到的管控能力,就是這種內(nèi)部團(tuán)結(jié)的實(shí)現(xiàn),是一種對于程序員人格尊重的實(shí)現(xiàn)。

  10、藝術(shù)氣質(zhì)

  架構(gòu)師最大的價值在于藝術(shù)。

  商業(yè)軟件項(xiàng)目的首要目標(biāo)是實(shí)現(xiàn)來自客戶或公司的商業(yè)需求。然而,在架構(gòu)過程中僅僅考慮到實(shí)現(xiàn)商業(yè)需求而建立的系統(tǒng)往往缺乏伸縮性、安全性、可維護(hù)性、可靠性、可移植性等等,導(dǎo)致其在短短數(shù)年內(nèi)便因無法與時俱進(jìn)而被拋棄。這一點(diǎn)幾乎每一位維護(hù)過項(xiàng)目的程序員應(yīng)該都能夠體會到:面對著缺乏文檔、不知所云的代碼,想要修改或添加一個功能卻無從下手。而一個優(yōu)美的系統(tǒng)則是可以像有機(jī)的生命一樣成長的,這是因?yàn)閺南到y(tǒng)開始架構(gòu)的那一刻起,架構(gòu)師就考慮到這個系統(tǒng)以后將會面臨的挑戰(zhàn),為系統(tǒng)的成長預(yù)留好空間。項(xiàng)目經(jīng)理經(jīng)常會對這位架構(gòu)師提出的看似理想化的要求不置可否——項(xiàng)目經(jīng)理只想著能夠盡快以比較低的成本實(shí)現(xiàn)客戶的需求,然而這些充滿藝術(shù)美感的想法其實(shí)是打造健康——因而優(yōu)美——的系統(tǒng)的根本因素。

  在軟件開發(fā)產(chǎn)業(yè)發(fā)展的過程中逐漸建立起了一些行業(yè)準(zhǔn)則和參考標(biāo)準(zhǔn),這些將有助于架構(gòu)師在面對復(fù)雜需求時仍然能夠保持清晰地頭腦來思考問題。學(xué)習(xí)前人總結(jié)的軟件與架構(gòu)方面的知識,遵循既定的指導(dǎo)標(biāo)準(zhǔn)——比如,按照模版編寫軟件架構(gòu)文檔——看似死板,卻是必要的修煉。這些架構(gòu)師的基本功是全面的、抽象的、深層次的。沒有這些基礎(chǔ),那么架構(gòu)師連實(shí)現(xiàn)商業(yè)需求都會感到吃力,更不要說去顧及需求之外的東西。另外我們提到過架構(gòu)師需要有前瞻性:超前的眼光是架構(gòu)師實(shí)現(xiàn)其藝術(shù)追求的必不可少的一部分。

  閱讀公開的軟件架構(gòu)文檔(Software Architecture Document)是一個很好的學(xué)習(xí)途徑(在Google上能夠找到很多)。軟件架構(gòu)文檔是架構(gòu)師在項(xiàng)目早期階段對于系統(tǒng)的一個描述性概覽,這份文檔提供了這個系統(tǒng)預(yù)計(jì)實(shí)現(xiàn)功能的概述,這個系統(tǒng)將會使用什么技術(shù)以及可能存在的技術(shù)局限,以及最重要的部分:視圖模型。

  用例視圖(Use-Case View):這是業(yè)務(wù)需求的角度。

  邏輯視圖(Logical View):這是功能實(shí)現(xiàn)的角度,用例執(zhí)行的流程圖。

  上面兩個視圖是必需的,也往往是項(xiàng)目經(jīng)理最關(guān)注的部分。如果只考慮這兩個角度,系統(tǒng)可以被建立,但正如之前所描述的那樣,是不可能優(yōu)美的。架構(gòu)師還需要視情況考慮下面這些視圖:

  進(jìn)程視圖(Process View):如果系統(tǒng)是多線程的,高并發(fā)的,則需要考慮線程的角度。

  部署視圖(Deployment View):如果系統(tǒng)分布在多節(jié)點(diǎn),則需要考慮服務(wù)器端和客戶端節(jié)點(diǎn)等硬件映射的角度。

  數(shù)據(jù)視圖(Data View):如果持久層在系統(tǒng)中很重要,則需要考慮數(shù)據(jù)的角度。

  有些視圖框架有一定通用性,比如業(yè)內(nèi)廣為流傳的4+1模型、RM-ODP模型等等;但是對于每一個系統(tǒng)需要考慮哪些視圖,則需要架構(gòu)師去摸索、去感覺、去研究;況且現(xiàn)在新技術(shù)層出不窮,一個比較前沿的項(xiàng)目需要從前人沒有考慮過的角度看問題也不是沒有可能。如果架構(gòu)師沒有一定的藝術(shù)氣質(zhì)來指引方向,那么一味的照搬現(xiàn)有的模式可能會水土不服而使系統(tǒng)變得臃腫復(fù)雜,而完全不考慮商業(yè)需求之外的因素則會讓系統(tǒng)先天不足而夭折。

  如果沒有扎實(shí)的技術(shù)基礎(chǔ),如果架構(gòu)師缺乏全局觀、抽象思維能力以及透過問題看本質(zhì)的能力,那么他僅僅為了實(shí)現(xiàn)客戶需求都會感到力不從心,更不用說發(fā)揮自己的藝術(shù)氣質(zhì)云云了。從另一個角度來講,做藝術(shù)的架構(gòu)師們也都是行業(yè)里大師級別的人物了,這也是架構(gòu)師們的終極目標(biāo)吧!

  四、架構(gòu)師的進(jìn)取之路

  在管理體系里面,一人的個人特性決定了你在哪個位置,而技術(shù)技能只是做事實(shí)施的必需。架構(gòu)師這個職務(wù),同時要求較高的個人素質(zhì)和技術(shù)能力,因此它的進(jìn)取之路總結(jié)起來就是:做人、做事,做架構(gòu)師。

  1、個人特性

  有效溝通:

  包括學(xué)會談判,心里分析,局面分析,寫作訓(xùn)練。

  學(xué)會談判:

  包括對結(jié)果的預(yù)期,過程的控制,適時停止討論。

  風(fēng)險與防備:

  包括冷靜觀察,最大的風(fēng)險是成本的枯竭,準(zhǔn)確理解決策者的意圖和方向。

  抽象思維:

  包括理性決策,把事情搞清楚。

  2、技術(shù)能力

  模型化:

  包括建立抽象模型,基于模型分析與評估,準(zhǔn)確的圖形表達(dá)。

  實(shí)現(xiàn)能力:

  包括架構(gòu)推行,體系/系統(tǒng)的把握,設(shè)計(jì)能力。

  決策背景:

  包括需求決定設(shè)計(jì),豐富的領(lǐng)域知識。

  五、架構(gòu)師

  架構(gòu)師是具有技術(shù)發(fā)言權(quán),方向決策權(quán),和團(tuán)隊(duì)人員開發(fā)資源調(diào)配權(quán)的開發(fā)團(tuán)隊(duì)的TeamLear,也是這個程序的設(shè)計(jì)者,當(dāng)然他是這個程序團(tuán)隊(duì)的靈魂。進(jìn)行沒有設(shè)計(jì)的架構(gòu)設(shè)計(jì)不叫架構(gòu)師。面向未來的,才叫設(shè)計(jì),設(shè)計(jì)因未來而存在,沒有創(chuàng)新,就沒有設(shè)計(jì),沒有改變,就沒有設(shè)計(jì)。用進(jìn)化論去思考你的設(shè)計(jì),讓你的設(shè)計(jì)超越一切理論,設(shè)計(jì)只是記憶的載體而不是記憶的全部,其實(shí)程序員是藝術(shù)家,而不是建筑工人。

【j2ee架構(gòu)師認(rèn)證指南】相關(guān)文章:

思科認(rèn)證考試報(bào)考指南08-19

sun認(rèn)證考試:j2ee學(xué)習(xí)方法摘要10-06

IBM DB2認(rèn)證考試報(bào)考指南08-22

h3c初級認(rèn)證考試指南09-05

思科CCNA認(rèn)證網(wǎng)絡(luò)工程師學(xué)習(xí)指南10-30

Adobe認(rèn)證ning認(rèn)證簡介09-20

j2ee的控制策略05-28

J2EE的容器組件08-28

J2EE基礎(chǔ)概念08-27

j2ee安裝教程06-23