流程圖

流程說明:
1)、安裝apache、ssh、java、jboss等環(huán)境,略。
2)、生成服務證書和服務密碼
3)、apache(httpd.conf)配置
Listen 80
Listen 443
#app的虛擬主機配置
#身份驗證的虛擬主機配置
#把mod_ssl里的變量變?yōu)槿汁h(huán)境的變量
4)、代碼片段
//判斷session中是否有用戶郵箱地址
SessionValue session = SessionHelper.getSessionValue(rundata);
if (StringUtil.isNotEmpty(session.getCropEmail())) {
return null;
}
// 從內網證書中獲取用戶郵箱地址: SSL_CLIENT_S_DN_Email
String cropEmail = rundata.getRequest().getHeader(SSL_CLIENT_HEADER_MAIL);
if (StringUtil.isNotEmpty(cropEmail)) {
//將郵箱地址保存到session
session.setCropEmail(cropEmail);
SessionHelper.saveSessionValue(rundata, session);
if (log.isDebugEnabled()) {
log.debug("用戶" + session.getCropEmail() + "已經通過證書驗證");
}
return null;
}
URIBrokerService uriBrokerService = (URIBrokerService) getWebxComponent().getService(
URIBrokerService.SERVICE_NAME);
URIBroker noPermissionUriBroker = uriBrokerService.getURIBroker(CHECK_CRT_URL);
//請求的原始URL & 驗證的URL
String requestPath = rundata.getPathInfo().replace("_", "");
String checkCrtUrl = (String) noPermissionUriBroker.getPath().get(
noPermissionUriBroker.getPath().size() - 1);
try {
//原始請求判斷
if (requestPath.equalsIgnoreCase(checkCrtUrl)) {
//當前是https請求,但是依然不能得到證書信息,轉到禁止頁面
//(要將禁止頁面加入到允許訪問的配置文件中,不然會導致循環(huán)重定向)
URIBroker uriBroker = uriBrokerService.getURIBroker("forbidden");
rundata.setRedirectLocation(uriBroker.render());
} else {
//轉到證書驗證頁面
rundata.setRedirectLocation(noPermissionUriBroker.render() + "?done=" + rundata.getPathInfo());
}
} catch (IOException e) {
log.error("權限驗證重定向出錯", e);
}
return new BreakPipeline();
Object user = rundata.getSession().getAttribute("userInfo");
if (user == null) {
SessionValue session = SessionHelper.getSessionValue(rundata);
String email = session.getCropEmail();
Employe employe = PersonInfoUtil.getPersonInfoByEmail(email);
// 寫入cookie
session.setEmployeeId(employe.getEmployeId());
session.setName(employe.getName());
session.setCropEmail(employe.getEmail());
SessionHelper.saveSessionValue(rundata, session);
}
受限于證書的原因,以前經常不得已用IE打開一些應用。其實有一工具可以幫助我們導出IE證書,用于firefox,解決證書的困惑。
1、windows環(huán)境(xp\win7均可),以adminstrator登錄;
2、下載jailbreak,解包后,運行jailbreak.exe(非jailbreak.msc);
3、導出證書:Certificates - Current User > 個人 > 證書,選所有任務導出;

選擇導出私鑰。


5、搞定。
互聯(lián)網的產品大都是面向海量用戶的服務,且用戶分布區(qū)域廣泛,其教育水平、習慣也大多不同,具有高度不確定性,我們必須非常關注用戶的行為和反饋。因而,在互聯(lián)網產品服務的整個用戶研究,需求分析、產品研發(fā)及交付服務的過程中,都采用探索式、適應性的研發(fā)理念進行產品的研發(fā)。通常,會把整個產品研發(fā)周期劃分為若干個迭代,采用迭代式的演進過程,不斷的去交付新的產品特性,并通過觀察用戶的行為和反饋獲取,進而隨時調整產品的思路和方向。一切以用戶價值為核心是互聯(lián)網產品最核心的特點,而以價值驅動的敏捷開發(fā)方法非常符合這一特點。
一、敏捷項目管理實踐從阿里軟件開始,內貿團隊就一直在實行著敏捷項目管理實踐,通過小步快跑,快速迭代、增量交付用戶價值,不斷獲取用戶反饋,持續(xù)、快速的調整產品,驗證并適合用戶價值。正是通過這些實踐活動,我們以迭代的、增量的交付用戶價值,最大限度的保證產品朝著符合用戶實際需求方向發(fā)展。目前,在內貿團隊應用較成熟的敏捷實踐活動有:
1)、迭代計劃(Sprint Planning Meeting)
2)、每日晨會(Daily Scrum Meeting) & 任務墻(Task Wall)
3)、功能預演(Spring Review)
4)、項目總結(Retrospect Meeting)
5)、結對編程(Pair Programming)
6)、其他技術實踐活動等
二、敏捷團隊
1)、自組織文化
如google、facebook等互聯(lián)網企業(yè),他們很少甚至沒有特定的項目流程,通常怎么敏捷怎么做,具有濃厚的工程師驅動文化。我們則有較完整的開發(fā)流程指導和規(guī)范我們的項目研發(fā)工作,相比而言,喪失了一些靈活性和積極性,不利于我們工程師自我管理、自我驅動意識的培養(yǎng)。臃腫、缺乏靈活性的流程同互聯(lián)網產品快速更新、快速發(fā)展是不相適應的,同時也弱化我們的責任心意識。除了遵守詳盡的流程,我們是否可以換個角度、換種方法,提倡和營造一種自我管理、自我驅動的開發(fā)文化,省卻一些并不能給我們帶來幫助卻影響效率的流程呢?
敏捷團隊的自組織特性弱化了團隊技術領導這個角色,強調自我管理和自我驅動。雖然這對工程師的素質要求更高,相對技術能力更難提高。但是,團隊導向很重要,我們努力營造這樣的氛圍,從小團隊做起,逐漸鍛煉和培養(yǎng)自組織團隊。相信在這樣的開發(fā)氛圍下,會讓我們做的更高效、更敏捷,可以走的更穩(wěn)、更遠。
2)、追求一體化
一體化團隊作為敏捷開發(fā)方法中最具精益思想基因的實踐,是指每個項目團隊包括分析,開發(fā),測試等角色,使團隊滿足一個需求從設計,開發(fā)到測試各個階段順利完成,達到符合質量標準并滿足需求的軟件。這種以項目/產品為單位的虛擬團隊,坐在一起,全身心的為共同的目標而努力,可以更好的凝聚項目組中的各種角色,消除部門墻。
3)、追求全功能
這里所指的全功能是希望項目團隊能打破工程師角色之間的邊界,如研發(fā)、測試和前端工程師的界線,消除開發(fā)、測試流程中一些潛在浪費,提高效率。在項目團隊內部通過角色互換,不限角色的結對工作,加強不同角色,不同模塊間的知識傳遞,打破技術壁壘,幫助員工從不同視角理解項目,鍛煉技能,進而增加團隊均衡生產的能力。
為什么要提倡打破邊界?項目整體效率依賴于項目過程中各環(huán)節(jié)的工作效率,而整體效率的優(yōu)化往往依賴于均衡生產(精益思想的按需生產),即消除生產的波峰(過度生產)和波谷(生產不足),只有局部效率的增加無法直接轉換為整體效率的增加(就象桶能裝多少水,決定于最短的那塊板)。整體效率的優(yōu)化要求IT團隊消除技能壁壘,培養(yǎng)多面手,根據計劃的的變動,彈性地調整任務,達到各角色和流程之間的平衡。
三、質量保證
我們追求開發(fā)效率,同時也注重項目質量。如何去保證質量?就象美國的一位教授愛德化.戴明(W.Edwards Deming)所說:“我們應該停止依靠大量檢驗來保證質量,而是要改進工藝流程,從一開始就生產出優(yōu)質的產品”。我們要在整個開發(fā)過程中多個環(huán)節(jié)去保證質量。同時,質量保證是整個團隊的責任,就如同前面所說的追求全功能團隊,打破邊界。
至于在哪些環(huán)節(jié)采用哪些實踐,我們先做個分類,按是否能被系統(tǒng)用戶感知將質量問題區(qū)分內部質量和外部質量。外部質量指能直接被系統(tǒng)用戶感知,如運行緩慢,不可操作或是操作復雜就屬于外部質量低劣。而不能直接為系統(tǒng)用戶所直接感知的要素,對產品鍵壯性、可維護性有深遠影響的問題就屬于外部質量,如系統(tǒng)設計的一致性、代碼可讀性、邏輯完整性等。內部質量對用戶的影響比較間接,但比外部質量意義更深遠。一般來說,系統(tǒng)內部質量優(yōu)秀,外部質量仍有可能很差。而內部質量差的系統(tǒng),外部質量肯定也不怎么樣。
1)、外部質量保證
在外部質量保證上,大部分會在開發(fā)后期介入,可以通過性能測試、自動化測試及工程師的功能測試來保證,通過這些實踐活動發(fā)現并保證例如運行緩慢、不可操作等質量問題不會存在。針對交互特別復雜的web應用,可以更多的考慮采用webui自動化測試工具,如selenium、pwaitr(b2b)、automan(淘寶)等,可以很好的完成那些簡單、重復的TC用例,可以大大提高測試效率,解決測試工程師的資源瓶頸。
2)、內部質量保證
相對于外部質量,內部質量問題影響更為深遠,在開發(fā)開始階段就應該去保證。如通過單元測試、靜態(tài)代碼掃描(PMD\findbugs)、持續(xù)集成、重構、結對編程、code review等多種實踐活動來保證項目代碼的健康。
除了一些實踐活動去檢查代碼質量外,更為重要的是研發(fā)工程師對內部質量的重視,如果工程師沒有形成良好的質量意識,很可能這些實踐也只是停留于形式,并不能帶來較好的結果。如我們在開發(fā)過程中的編碼規(guī)范、單元測試的質量及覆蓋率,code review的及時性及問題是否持續(xù)跟進等等。此外,有選擇的采用結對編程實踐,有助于質量的提高。
本文以敏捷、精益(消除浪費、按需生產)思想的角度試圖去探討一種適合互聯(lián)網公司的產品開發(fā)體系,上述概要的介紹了項目管理、團隊、質量方面的一些敏捷實踐活動,主要涉及了我們對敏捷方面的經驗分享或者是些正在研究探討的課題。文中涉及的實踐活動,后續(xù)我將逐一展開詳細介紹,幫助大家更好的理解和認識。希望本文的分享能成為一個引子,引起大家對敏捷開發(fā)的思考和討論,或者更好的了解敏捷和精益思想。以下為本人在公司內部關于項目質量和工作效率郵件回復的一此意見和想法。
1、 談流程
不可否認流程的重要性,但我們需要根據具合格情況分析,不斷的梳理和優(yōu)化我們的流程,讓流程更好的指導我們工作,而不是束縛。目前,我們的流程慢慢多了起來,感覺不如以前敏捷了。經過rpm改造后,無論在測試環(huán)節(jié)還是發(fā)布階段,較之前失去了很大的靈活性。測試階段,開發(fā)bugfix后想在測試環(huán)境驗證,每次必須重走aone的流程及打包布署,相比之前的build效率真的差了好多。當然,也許是我們項目組對這個流程熟練度、方法還不夠,很多環(huán)節(jié)有待改進。
發(fā)布階段,目前統(tǒng)一由SCM來發(fā)布,必然會導致開發(fā)對線上環(huán)境及發(fā)流程更加陌生,同我們提倡的打破邊界,敏捷響應有些相背。再者,SCM資源有限的原因,要支持ITU眾多產品線,能否應付的過來,始終是個問題。發(fā)布統(tǒng)一管理有好處,同樣也帶來了弊端,ITU不同于網站,大多數的技術團隊共同在維護在幾個應用,而itu的應用多、規(guī)模相對小、環(huán)境各異,這樣的產品線采用統(tǒng)一管理性價比不高。希望相應的owner,能不定期的搜集各產品線的意見和反饋,不斷的優(yōu)化,讓我們的流程更合理。
2、 談自測
我們團隊一直在強調自測意識,也在這方面不斷的總結和改進。我覺的要提高自測,首先應讓每位開發(fā)同學形成較好的自測意識,而不是自上而下的命令式管理,只有自己有這方面的意,才會去思考、去想辦法,去實踐。再者,需要PM或技術經理去思考,目前階段實行自測會有什么困難,如沒有系統(tǒng)的自測方法、時間不充足(需要熟悉下階段的UC、下迭代的設計、單元測試補寫等),找到這些困難或問題,就容易對癥下藥了。最后,不斷總結和積累自測方式,優(yōu)化項目流程。自測不是一種形式,而要追求效果,開發(fā)自測同樣需要計劃和方法,所以我們需要向QA同學請教,總結過去 bug常犯的錯誤,整理自己的check項。相信通過這樣的一些自測方法,能真正提高我們的項目質量,打破同QA的界線,我們的開發(fā)、測試資源比例可以得到更大的優(yōu)化,將以前開發(fā)階段緊,測試階段松的狀況加以改善,使整個項目過程中的緊張度趨于平緩。
3、 談故障分
“盡量不要讓故障分成為大家包袱,可以考慮被實施產品對事故級和A類才對個人計故障分,B和C類故障分記在主管頭上!”,個人也比較支持駱駝的觀點。目前大家對線上故障都小心翼翼,大家對質量的意識很高,這當然是好事,但同時帶來的影響是效率低了。我的觀點是,作為增值服務的互聯(lián)網產品,我們更需要快速迭代增量提供用戶價值,盡快獲取用戶反饋并改善產品,產品推出的遲早,不僅影響獲得回報的時間,還影響到獲得價值的多少,錯過了一個時間窗口,產品可能就不再有任何價值。所以,我們需要找到一個平衡量點,可接受的質量狀況達到最大的效率。
從客戶第一角度談質量,某些時候,客戶可以接受服務偶而不可用重啟下,卻不能接受產品沒價值、交互性太差,操作太復雜。所以,對于客戶來說什么對他們更重要,就需要我們每個人去分析和評估。所以,我們一味只注重質量,而忽略客戶真實需求,那就太悲哀。我的觀點是,case by case,帶著這樣的觀點去思考和解決問題。
4、談敏捷項目團隊
從打破邊界,我想到了一體化的敏捷項目管理團隊,一個目標一致、自我管理的團隊,應該具備良好的目標意識和執(zhí)行力,不僅能管好自己的一畝三分地,同時也能站在項目、團隊的角度看待問題。PD出現了問題,開發(fā)積極去彌補;開發(fā)出現了問題,QA積極去彌補,項目團隊的目標非常一致。每位項目組成員一定要把好每一關,萬不可把問題向下拋,因為還有開發(fā)或QA會把關,所以差不多就行了,這樣往往就是災難的開始。
過去的一年,有著太多的痛苦和艱辛,為了新產品的上線,晚上、周未都沒了,唯一想的和做的就是確保產品如期上線。過程雖然很艱苦,但大家都努力堅持,齊心協(xié)力,確保任務如期完成,我們保持了一貫的說到做到、如期交付的作風。因為這樣的磨練,我和我們的團隊得到了更多成長。困難并不可怕,熬過去,明天的太陽會更加燦爛。
1、談談成長和不足:
1)、職業(yè)轉型,開發(fā)到管理
雖然Team Leader已經做了幾年了,但一直停留在項目上,多為管事不管人,對細節(jié)問題關注較多,所以之前談不上管理,只能算是積累些項目管理經驗。經過這一年的學習和發(fā)展,有了更多的管理意識,逐漸關注團隊建設、團隊成長,注意給小組成員更多的機會和空間,讓他們得到鍛煉和成長,承擔更多團隊或項目中的重要事項,而他們通過完成這些重要任務,不僅得到了磨練,同時在團隊中建立了自己的影響力。
放在以前,我會認為有風險,或者自己做更快,更省事,或最有把握的人去。現在想來,以前認識太膚淺了,我們需要的團隊戰(zhàn)斗力,而不是個別人的能力,若平常不注重團隊成員的培養(yǎng),團隊的戰(zhàn)斗力永遠不行,承擔不了關鍵任務。
談到成長和培養(yǎng),團隊需要什么樣的人呢?作為互聯(lián)網企業(yè),同一般軟件企業(yè)不同,產品在推出之前,誰也無法肯定是否會受用戶歡迎,只能快速推出,讓市場來驗證,不斷的改進和適應用戶的需要。因而,需要我們技術人員也具備技術判斷力,改變命令式管理體制下的工作習慣,充分發(fā)揮主觀能動性和創(chuàng)新意識,共同做好產品。
2)、學會擁抱變化;
2010年變化很多,有些也許對個人、團隊沒有影響或影響很小,有些直接關系自己或團隊,如團隊的核心成員不斷的被抽調、人員調整、KPI的271考評等,每次的變化都會帶來不同的問題。持續(xù)輸血,新人補允,使團隊戰(zhàn)斗力大打折扣,很長一段時間非常的糾結和無耐。事情總是具有兩面性,往好處看,這對我、對團隊也未必是件壞事,沒有經驗過挫折和磨練,又怎能成佛呢?既然是組織需要或Boss的決定,那就多些理解和支持,支持和協(xié)助上級完成也是每個下屬的職責;況且,某些變化至少對于一些同學也是件好事,他們有更多的機會和更大的平臺去一展才華。
大概人都是喜歡按習慣辦事的緣故,每每有變化都覺的很痛苦。我覺的如何擁抱變化關鍵在于心態(tài),我們需要理性看待變化,多往積極的方向思考,不僅更容易調整好心態(tài),而且可以在變化中吸取經驗和教訓,鞭策我們成長。
3)、提升項目管理能力
雖然在項目管理知識上沒有太多的時間和精力去系統(tǒng)的學習,但通過不斷實踐和總結,還是有了不少的積累和沉淀,對項目管理有了更多的理解和把握,對敏捷項目管理也有不同的認識,結合團隊自身尋找適合我們的實踐方式。在項目管理方面,還有很多需要去提升和學習,2011年希望安排更多的時間系統(tǒng)的學習項目管理知識及敏捷項目管理,并結合實際應用到工作中。
4)、提升向上溝通力
在擁抱變化的同時,同樣需要理性的分析和積極的向上溝通。在過去,雖然會盡可能的去表達和反饋自己的想法和意見,但我重新審視下,總覺得表達還不夠明確或不是那么的到位,或許在表達時還有更好的方式,至少還有提升的必要。向上溝通也是門學問,需要好好研究下。
5)、提升團隊建設和輔導能力
相對來說,過去的一年所有的同學都會關注到,但領悟能力和基礎較好的同學成長更快,基礎稍弱的沒有太大變化。顯然,平常輔導工作沒有做好或做到位,關注程度不夠。越是基礎差些的同學需要關注和幫助的點越多,需要幫助他們找到不足和問題所在,一起找改進辦法,并給予必要的督促和檢查,養(yǎng)成好的學習習慣,促進成長。2011年,這方面需要做的還有更多。
2、談談2011年的期望
1)、團隊
解決目前團隊新人多,有效資源少的問題;積極關注和幫助新人溶入團隊,熟悉業(yè)務,以減少對項目開展的影響;
抓好梯隊建設,關注和輔導基礎較差同學的,共同制定改進計劃和Action,做好必要的監(jiān)督和指導,促進成長;
2)、能力
系統(tǒng)學習項目管理和敏捷軟件開發(fā)方面的知識,并應用到項目管理實踐中;同時積極參與相關方面的分享和討論。
3)、影響
推動興趣小組活動的開展,借開發(fā)工具的發(fā)展和分享,建立團隊在部門或技術部的影響;
鼓勵團隊成員積極參與技術部的公共事務,提升影響力。
給力2010,加油2011!!!
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
30 | 31 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
常用鏈接
留言簿(3)
隨筆分類
- Hibernate(2)
- java 開發(fā) (31)
- Linux(13)
- Spring(4)
- web開發(fā)(20)
- 即時通訊(2)
- 大雜燴(15)
- 數據庫(7)
- 軟件設計(2)
- 問題記錄(1)
- 項目管理(8)
隨筆檔案
- 2011年12月 (2)
- 2011年6月 (1)
- 2011年5月 (1)
- 2011年2月 (1)
- 2011年1月 (3)
- 2010年12月 (3)
- 2010年11月 (1)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年4月 (3)
- 2009年11月 (1)
- 2009年9月 (3)
- 2009年8月 (1)
- 2009年7月 (1)
- 2009年6月 (2)
- 2009年5月 (1)
- 2009年3月 (4)
- 2009年2月 (1)
- 2009年1月 (1)
- 2008年12月 (2)
- 2008年11月 (1)
- 2008年10月 (1)
- 2008年9月 (2)
- 2008年8月 (1)
- 2008年7月 (3)
- 2008年6月 (2)
- 2008年5月 (2)
- 2008年3月 (2)
- 2008年1月 (15)
- 2007年12月 (8)
- 2007年11月 (15)
- 2007年7月 (2)
- 2007年6月 (3)
- 2007年5月 (7)
- 2007年4月 (7)
收藏夾
搜索
最新評論

- 1.?re: iframe 高度自適應
- 1909434428@qq.com
- --3a教程
- 2.?re: firefox中證書的使用
- thanks
- --mroff
- 3.?re: IE7 對話框樣式[未登錄]
- fsdfsdf
- --dd
- 4.?re: Debian 修改IP地址或DNS
-
IP地址配置文件: "/etc/network/interface" 文件少了個s
/etc/network/interfaces - --debian
- 5.?re: dhtmlxTree 使用示例
- rt
- --tr