安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 采訪Apache Camel項目主要維護者之一 jnn (十)

采訪Apache Camel項目主要維護者之一 jnn (十)
2010-01-14 23:26:04  作者:  來源:
Apache Camel 是一個非常優秀的開源項目,這是一個非常強大的基于規則的路由以及媒介引擎,該引擎提供了一個基于POJO的 企業應用模式(Enterprise Integration Patterns)的實現,你可以采用其異常強大且十分易用的API 來配置其路由或者中介的規則。

Apache Camel 采用URI來描述各種組件,這樣你可以很方便地與各種傳輸或者消息模塊進行交互,其中包含的模塊有  HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF Bus API。 這些模塊是采用可插拔的方式進行工作的。Apache Camel的核心十分小巧你可以很容易地將其集成在各種Java應用中。

JavaEye的資深會員jnn (Willem Jiang,姜寧) 是Apache Camel項目主要維護者之一,他是一位非常優秀的開源項目開發者和支持者,JavaEye非常榮幸的采訪了他。

jnn 博客:http://jnn.javaeye.com/

Apache Camel  http://camel.apache.org/
FuseSource    http://fusesource.com/
CXF 中文郵件組  http://groups.google.com/group/cxf-zh?hl=zh-CN

歡迎大家推薦更多開源項目給我們,支持中國的開源項目發展,發站內短信給JavaEye管理員或者發信到webmaster@javaeye.com,謝謝。

采訪Apache Camel項目主要維護者之一 jnn Top

JavaEye:1.Hi,jnn,非常榮幸能夠采訪你,你可以介紹一下自己為什么要加入Apache Camel項目嗎?

jnn:這個說起來有點話長,在加入Apache Camel之前, 我做有關Apache CXF的開發快一年的時間了。當時Camel需要和CXF進行集成,于是我就自告奮勇接受了這個任務,參與了Apache Camel的開發。(具體的過程可以參考我的一篇blog:
開源兩事記)

JavaEye:2.能介紹一下Apache Camel項目嗎? 它的特點,使用的范圍,和同類項目比如Mule相比較的優勢?

jnn:對于企業應用來說,由于歷史或者多廠商等原因造成了其系統之間的通訊協議多樣化,而由于企業業務發展,這些應用系統之間交互需求日益增多。Apache Camel可以幫助大家通過定義簡單的路由規則來實現不同企業應用之間的互聯互通。Apache Camel 把不同的企業應用抽象成為Endpoint, 通過URI來對這些Endpoint 進行描述,由于Apache Camel提供了一個基于POJO的企業應用模式(Enterprise Integration Patterns)的實現,同時Camel提供了60多個組件來負責具體的傳輸協 議,這樣用戶可以通過簡單的消息路由規則定義,就可以實現各應用系統之間交互。

簡單來說如果你有一個應用只提供一個JMS接口, 而你的另一個應用提供 WebServices接口,那你的路由規則可以這么定義:
from("jms://xxxx").to("cxf://xxxx)
【注】Camel通過CXF提供了對WebService的支持。
當然你有可能需要對JMS接口過來的消息做一些處理在轉發給WebService應用。
那你只需在兩個節點之間要加入一個processor來實現你需要做的處理就行了
from("jms://xxxx").processor(new MyProcessor()).to("cxf://xxxx")

由上面的例子可以看到Camel的路由規則很直觀簡單,你可以像寫Java代碼一樣定義路由規則。這得益于Camel的創建者 James Strachan(他也是Groovy的創建者)的貢獻。

當然Camel還提供了其他方式來描述路由規則, 例如Spring 配置文件, Scala等。

目前市面上有不少的同類開源產品, 例如 Spring Integration, Mule等。

Camel與他們相比有最大的不同就是它十分小巧,而且不會讓程序員失去對代碼的控制。你可以把它當作一個小的應用庫,而不是一個大的運行容器。 這樣你可以很輕松 地將其集成到你的Web容器,JBI容器, 或者OSGi容器中。你可以像寫Java代碼到方式編輯你的路由規則,IDE可以取保你在短時間寫出正確 的規則。

還有Camel和Apache ActiveMQ,CXF,ServiceMix有很好的集成,而這些項目都是 企業應用開發經常會接觸到的。

JavaEye:3.現在大概有多少用戶使用Apache Camel項目。

jnn:這個問題比較難直接回答, 因為 Apache Camel是開源項目,大家可以在不通知我 們的情況下,直接使用, 所以我們沒有直接的數據來回答這個問題。現在 camel.apache.org 每天有1~2K的獨立IP訪問,還有 Apache Camel 的郵件 列表的活躍程度很高,目前排在Apache項目中的第七位http://www.nabble.com/Apache-f90.html

JavaEye:4.Apache Camel 2.0 M3版本剛剛于7月25日發布,2.0正式最終版將在什么什么發布? 2.0版本相比之前的版本有哪些重大改進。

jnn:Apache的Release風格是沒有一個具體的時間的, 如果開發者覺得差不多了,就可 以發布。 目前Camel 2.0的開發基本就緒,目前我們正在修復 2.0 M3發布之后發 現的bug,如果順利的話,2.0版本應該在下個月就能發布了。

Camel2.0 和 Camel 1.x相比我們簡化了API的設計,添加了很多新的組件,同時提 供了對OSGi的集成支持, 具體大家可以參考這個鏈接:http://camel.apache.org/camel-200-release.html

JavaEye:5.Apache Camel項目的roadmap是什么?近期遠期的開發計劃是什么?

jnn:Apache 項目開發是通過郵件來驅動的,我們沒有項目經理來給我們指定具體的 roadmap。很多Feature都是在和用戶的郵件討論中形成的。目前我們規劃的還是Camel 2.0部 分的內容http://camel.apache.org/camel-20-design.html,歡迎大家加入Camel需求討論中來http://www.nabble.com/Camel---Users-f36428.htmlz

JavaEye:6.能否請你介紹一下Apache Camel的支持組件,以及開源產品和Fuse這樣商業產品之間的區別嗎?

jnn:Camel 支持的組件有ActiveMQ,AMQP,Atom,Bean,Browse,Cometd,CXF 等,所有詳細支持的組件請看這個頁面: http://camel.apache.org/components.html,這里面還有一些Camel基本概念的介紹 http://jnn.javaeye.com/category/27938。我簡單給你說一下開源產品和Fuse這樣商業產品兩者的區別吧:開源軟件如果出現問題了,很難得到及時的修正, 因為你很難去推動開發人員去完成你的需求,如果是商業產品, 有一個契約關系, 這樣可以保證你的問題能夠及時被修正。還有商業產品有一整套的測試發布管理機制,來保證產品質量。 而且我們的Fuse套件是集成了Apache Servicemix, ActiveMQ, CXF , Camel, 它們之間的版本關系是一致的。 而且目前Fuse套件會每個月做一次Release, 比起apache 的release要快很多。還有就是Fuse套件在Apache項目之上還提供了一些擴展的支持, 例如Fuse MR就提供了支持一些商業產品的支持,例如MS Queue, Progress Actiional 等。有Fuse套件本身也是開源的,只是使用的軟件許可和Apache的軟件許可不同。Apache的軟件許可允許你將Apache軟件打包到你的商業產品中,你不需要為此付任何費用。Fuse套件不允許你將Fuse套件打包到你的商業產品中, 當然這是出于保護商業利益的角度上來說的。目前Fuse的測試是運行在6個操作系統平臺上, 除了包含常規的Unit test, 和Integration Test, 還包含CPI test。這是一般開源軟件項目不具備的。還有Fuse套件有專門的CS 支持隊伍。

JavaEye:7.請問,你加入Apache Camel項目大概有多長時間了?你主要負責哪部分的開發?

jnn:我是在2007年7月的時候加入 Apache Camel項目開發的, 到現在也有2年的時間了。Apache開源項目的開發比較松散,你可以選擇你自己感興趣的內容工作,很難說哪塊代碼是由你負責開發的(誰都可以過來修改你的代碼  ), 就目前的情況來 說 camel-cxf,camel-osgi 組件的開發和維護的主要工作由我來完成。

JavaEye:8.請問,你平均一周花多長時間在apache camel項目上?你覺得參與這個項目,最大的收獲是什么?

jnn:由于我是全職做Apache Camel商業版本的Fuse MR的開發,所以基本上每周要花 20~30小時做與Apache Camel相關的工作,其他時間,我有可能會去做與Fuse相關 的開發支持工作。

參與這個項目的最大收獲就是接觸到了世界級的開發者,打開了我的眼界,當然也從他們身上學到了不少的東西。

JavaEye:9.你對國內的開發人員參與開源項目的現狀有什么評價?你能對希望加入國際開源項目的開發者提一些建議嗎?

jnn:去年年底的時候,我參加過Apache在北京組織的一次meet up,就Apache項目的參 與者來說在中國的開發者很少,好像只有我們之外就是Intel參與的Harmony項目的 成員。我曾經寫過一篇blog提到國內的開源現狀我覺得如果大家想參與國際開源項目的開發,需要轉變一個觀念,就是我們要真正融入到開源社區中來。

開源的最大好處就是沒有代碼壁壘, 但是光有免費的代碼是不夠的, 如果你想用好開源軟件,你需要真正融入到開源社區中來, 你可以在這里問問題, 提交 bug,或者補丁, 文檔。 其實只要你愿意,就可以加入到國際開源項目開發。

對于在校大學生來說,還有一個途徑可以幫助你加入到國際開源項目的開發,就是參加Google舉辦的Summer of Code。目前Google和各大開源組織都有聯系,每年資助幾千名世界各地的學生參與開源項目的開發。今年夏天在Apache參加GSoC的中國學生大概有12個人,大概占今年Apache GSoC整個項目人數的三分之一。

JavaEye:10.能介紹Apache Camel的開發團隊嗎?您目前是通過SOHO的方式工作嗎?這種工作方式感覺如何?

jnn:整個團隊有4,5個人,查看團隊介紹:http://fusesource.com/community/apache-committers-and-fuse/。我們這比較特殊一點, 單位里同事很分散,在不同的地區,大家都在家辦公。每個星期有電話會議,通過語音,郵件和其他方式交流。經常在家工作會雖然有孤單感,這是優點也是缺點,還有就是我們和國外的同事有時差, 有時候晚上也得干活, 所以干活和平時的生活分得不是很清楚。不過,現在我家女兒剛3個月, 我很享受在家工作的時間。另外,我們這邊同事(前同事)聯系還是比較緊密的, 基本上每個禮拜都會聚會一下。

JavaEye:11.你平時和國外的同事都是用英文交流嗎?很多程序員技術很好,但是覺得英文太難,你有什么建議嗎?

jnn:是的,和國外同事交流幾乎是全英文環境。這個就是要多寫多練。 其實我們的讀寫能力還是可以的,就是很少有機會直接和老外面對面的溝通。我剛開始的時候寫Email也很痛苦, 一封信得花2個小時左右, 現在寫得多了就好很多。目前直接和老外對話到機會還不多, 平時都是使用IRC, 和Email。 所以一定得多練習,當然開始到過程比較困難,只要你能堅持持續的使用,練習英文,練習口語,堅持半年以上,就挺過來,你的英文水平就能有很大的進步。關鍵要堅持。

JavaEye:12.作為一個JavaEye老會員,你對JavaEye網站有什么建議和意見嗎?

jnn:JavaEye目前的受眾很大,在業界的影響力也很大。我發現現在的JavaEye除了論壇也開始涉足媒體了,希望網站能夠繼續保持這個勢頭,繼續成為開發者心目中的最棒的軟件開發交流社區。
 

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 水表_智能电表_抄表软件_ic卡水控机_电磁水表厂家-深圳市华熙仪数码科技有限公司 | 三原图库 - 设计图片素材打包下载sytuku.com | 生态护坡砖_护坡砖_合肥植草砖-巢湖市华林新型建材有限公司 | 全屋定制超市_全屋定制加盟_星空梵高全屋定制招商 | 微型电磁阀_隔膜泵_活塞泵_微型水泵_微型真空泵_微型气泵【东莞市宗旨电子科技有限公司】 | 中深世纪广告公司 深圳标志设计,深圳logo设计公司,包装设计公司,深圳商标设计,深圳画册设计公司 中商信息网-商务数据网-中文商务数据网 | 盆底肌修复仪器-产后康复脉冲磁训练仪-南京佳澜健康管理有限公司 | 恒温干燥箱厂家-烘箱厂家-马弗炉厂家-生化培养箱-上海有丰科学仪器有限公司 | 长春市龙飞数码印务有限公司,龙飞印务,长春商务印刷,长春精品包装,长春数码快印 | 耀美软瓷施工队-13638350103-专注于软瓷施工勾缝的贴软瓷施工队 - 软瓷,软瓷施工,软瓷勾缝,软瓷怎么施工,软瓷怎么勾缝,贴软瓷,软瓷施工队 | 猪粪烘干机|小型鸡粪烘干机|猪粪烘干机价格|小型鸡粪烘干机价格 - 河南宏科重工干燥机设备生产厂家 | 無谷轻食官网_沙拉轻食加盟_轻食加盟总部_轻食加盟费用 | 山西华盛筑景装饰,山西专业公装公司,太原公装装修公司,包括:办公室,酒店宾馆,商铺店铺,学校幼儿园,会所会馆饭店餐馆等装修设计 | 阻垢剂|缓蚀剂|杀菌剂|分散剂|水处理剂|印染助剂|水处理药剂|造纸助剂|膜阻垢剂|缓蚀剂|HEDP|ATMP|螯合剂-山东凯瑞化学有限公司 水处理药剂生产厂家 | 手游下载_app下载_好玩的手游下载_安卓市场下载_163下载 | 温湿度变送器_pm2.5传感器_湿敏电阻_二氧化碳传感器_甲醛传感器-美特瑞科技 | 欧洲_西班牙进口_燃木真火壁炉集成服务商_燃木壁炉官方网站.hergom | 西安外墙防水补漏-堵漏-防腐-保温工程公司-陕西宏图祥瑞实业有限公司 | 豪顺物流官网-南京物流公司,南京货运公司「全国专线配送」 | 亚澳农机-亚澳南阳农机股份公司,旋耕机,旋播机,旋播施肥机,免耕播种机,旋耕播草多用机,果园机械-首页 | 紫外交联仪,紫外透射仪,紫外灯-上海析浦科学仪器有限公司 | 激光清洗机_激光除锈机_激光焊接机 - 上海锡昊激光科技有限公司 激光切管机_等离子切管机_相贯线切管机厂家|服务为先-山东美峰智能设备有限公司 | 氢能-燃料电池-电堆-中国氢能与燃料电池网企业最佳宣传推广平台 轻质隔墙板厂家-加气隔墙板_grc轻质隔墙板_空心实心复合隔墙板_水泥混凝土轻质隔墙板批发价格 | 智能灰熔融性测试仪,微机自动定硫仪,快速自动测硫仪-鹤壁市恒科仪器仪表有限公司 | 塑料胶水|PVC胶水|PP胶水|橡胶胶水|强力胶水|透明胶水|胶粘剂|粘合剂|UV胶-聚力胶水厂家 | 直膨式空调机组_风冷恒温恒湿_转轮式热回收_屋顶式空调机组_德州瑞尼森环保科技有限公司 | 智能门锁管理-公寓管理软件-智能水电表管理系统-深圳安安智能 | 小麦硬度指数仪-石灰活性测定仪-智能型砂强度仪-北京同德创业科技有限公司 | 清河县隆鑫密封件有限公司,汽车用密封条,配电箱柜、集装箱密封胶条,建筑门窗、家具用密封条,无毒环保医用密封条,船舶、农机用密封条,异型产品 | 普利塞HS穿刺活检针-巴德穿刺活检针-美创爱琅Argon活检针同轴针-山东瑞玺源 | 自复式过欠压保护器-上海能曼电气有限公司 | 苏州不锈钢_江苏不锈钢_江苏不锈钢板_苏州模具钢_苏州合金钢_苏州特种合金_苏州不锈钢板_304不锈钢棒_苏州塞硒五金制品有限公司 苏州ERP定制|苏州CRM|苏州OA|苏州BPM|进销存管理系统-苏州中尚信息科技有限公司 | 机锋网-畅享科技品质生活,尽在机锋网| 温湿度变送器_pm2.5传感器_湿敏电阻_二氧化碳传感器_甲醛传感器-美特瑞科技 | 云南自考网_云南自学考试网| 万级无菌室-阳性对照室-干细胞实验室-广州沃霖实验室设备有限公司 | 新乡市矿山起重机制造有限公司 | 永康微网站建设、永康手机网站建设、永康营销型网站建设、永康外贸网站建设、永康网站托管、永康网络公司—英汇网络 - 永康市英汇网络技术有限公司 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 兰舍硅藻泥 -- 深圳硅藻泥|深圳兰舍硅藻泥|深圳硅藻泥品牌|深圳硅藻泥价格|深圳硅藻泥厂家|深圳硅藻泥施工| | 徐州护栏,围栏,锌铁丝网围栏安全设施专家徐州铜山区威峰金属护栏厂 |