日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java应用级产品开发平台APDPlat作者杨尚川专访

發布時間:2024/5/14 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java应用级产品开发平台APDPlat作者杨尚川专访 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

APDPlat是Application Product Development Platform的縮寫,即應用級產品開發平臺,可以幫助你快速開發基于B/S多層架構的信息管理系統。而對于Java初級開發者,也能從APDPlat中學到眾多的架構設計原則及編碼技巧。

項目官網:http://apdplat.org/
在線Demo:http://apdplat.net/(用戶:admin? 密碼:admin)

?

?

為了使大家對APDPlat有進一步的了解,本期我們采訪了APDPlat的作者楊尚川。

?

歡迎大家推薦更多開源項目給我們,支持中國的開源項目發展,如果您和您的團隊希望展示創業理念和有趣之處,或者有朋友正在創造這樣的價值,請聯系我們,發信到blog@csdn.com即可。

?

先來個自我介紹吧!

?

我叫楊尚川,從2005開始就一直從事Java開發。2010年開始NUTCH相關框架的研究,目前為獨立咨詢顧問,專注于大數據、搜索引擎等相關技術。

?

?

APDPlat是什么?有哪些功能?

?

APDPlat是Application Product Development Platform的縮寫,意為應用級產品開發平臺。

作為應用級產品的開發平臺,APDPlat提供了應用容器、多模塊架構、代碼生成、安裝程序、認證授權、備份恢復、數據字典、web service、系統監控、操作審計、統計圖表、機器綁定、防止破解、數據安全、內置搜索、數據轉換、maven支持、WEB組件、內容管理等功能。


開發這個項目的初衷是什么?為什么會選擇開源?

?

2008年我發起這個項目,最初的目的是為了方便自己做項目,之后一直持續重構,持續改進,特別是對簡潔的追求。目前APDPlat只有不到一萬五千行Java代碼,其中還有很多代碼是工具類或是為擴展做準備的代碼。

2010年以后,我主要從事NUTCH相關的研發工作,而且APDPlat已經相對成熟,所以2012年我選擇將APDPlat在GitHub上面開源,希望能吸引更多的開發者,注入新鮮的血液,同時也希望以碼會友,共同交流。

?

APDPlat的實現原理是什么?采用了哪些技術和框架?

?

APDPlat底層幾乎全部采用Java開源框架,對Spring、Struts2、Compass做了定制修改,接管了系統啟動和關閉的控制權,統一了配置文件,并實現了諸多平臺級的功能,為應用級產品開發鋪平了道路。

對于一個平臺來說,講究成熟穩定,功能豐富,因此需要眾多的框架來支持,而不是去重新發明輪子。APDPlat用到的開源框架主要有:

  • Web前端采用EXT JS
  • 前端控制器采用Struts2
  • IOC容器采用Spring
  • ORM采用JPA,默認實現是Hibernate
  • 內置搜索采用Compass,擴展方案采用Solr
  • 認證授權采用SpringSecurity
  • 代碼生成采用Freemarker
  • 日志組件采用SLF4J
  • 調度組件采用Quartz
  • 驗證碼采用Jcaptcha
  • Web Service采用CXF
  • SQL監控采用P6SPY
  • JS和CSS壓縮采用YUI Compressor
  • JAVA代碼混淆采用Allatori
  • 獲取系統信息采用Sigar
  • 單元測試采用JUnit
  • 配置文件加密采用Jasypt
  • 緩存采用EhCache或是Memcached
  • 數據庫連接池采用CommonsDBCP
  • Office文檔操作采用POI

APDPlat的目標用戶及定位是什么?

?

APDPlat的目標用戶是廣大的Java工程師。

因為APDPlat是基于眾多Java開源框架的,所以沒有扎實的Java功底是駕馭不了的。對于Java的入門者或是初級工程師來說,可以把APDPlat當成一個案例來學習。只有熟練掌握Java技能的工程師才能使用APDPlat做到“快速開發”。

APDPlat并沒有提供可視化的建模環境,所以它不是“針對業務人員的快速開發平臺”。

?

與同類型的開發平臺相比,你認為APDPlat的優勢或特色是什么?

?

對于同類型的開發平臺,我所知甚少,很難比較。

在我看來,APDPlat開箱即用,默認提供的功能不需修改立即可用,尤其適合研發能力相對薄弱的微小企業以及工作室。

?

APDPlat的性能如何?

?

混淆優化JAVA代碼,并使用“懶加載”以及“緩存”技術,Java代碼的性能表現優異。

壓縮優化CSS和JS,并啟用HTTP、GZIP以及瀏覽器緩存,Web前端的性能也表現優異。

?

有沒有統計目前采用APDPlat平臺開發的應用有多少?有哪些典型應用?

?

在GitHub開源后,目前APDPlat已經被Fork了170多次,至于用戶開發了哪些應用,我還沒有得到反饋。就我自己來說,典型應用主要是B/S架構的管理信息系統。

?

如何基于APDPlat快速開發?

?

要想基于APDPlat實現快速開發,需要閱讀APDPlat? Wiki,并有兩個前提:

一是需要對JPA有深入的理解
二是需要對EXT JS有深入的理解。

?

目前APDPlat的開發團隊有幾個人?如何參與貢獻?

?

APDPlat正在招募開發隊員,目前的開發主要是我一個人。

在GitHub上面Fork APDPlat,增加功能或是BUG修復之后,使用GitHub的Pull Request可參與貢獻。

?

APDPlat的開源協議是什么?你對開源怎么理解?你如何看待國內的開源環境?

?

APDPlat采用Apache License Version 2.0作為開源協議。

開源的項目更讓人放心,因為它公開、透明、安全、可控。參與開源項目需要持續地投入時間與精力,要有奉獻與協作精神。

目前國內具有開源精神的人還不是很多,大家對如何使用開源項目很熱衷,而參與開發的就少了。

?

APDPlat的未來發展計劃?

?

APDPlat將來要加入工作流、Android客戶端、安裝程序、完善現有的功能、BUG修復。

?

另外,你還推出了一套Nutch相關框架視頻教程,你對想學習Nutch的同學有什么建議?

?

《Nutch相關框架視頻教程》是一系列的視頻教程,詳細講解了跟Nutch相關的框架,這些框架主要有Lucene、Hadoop、Solr、Tika、Gora、HBase等,其中Nutch是網絡爬蟲、Lucene是全文檢索工具包、Hadoop是分布式存儲與計算、Solr是搜索服務器、Tika是內容分析工具包、Gora是ORM的大數據版、HBase是基于Hadoop的分布式數據庫,都是Java開源框架。

作為一個Java工程師,這些技術我相信大家都有所耳聞,尤其是Lucene,幾乎可以應用到帶有搜索功能的所有項目中。Solr基于Lucene,提供了更多的企業級特性。Tika可以從各種不同的文檔中提取元數據和結構化文本內容。Nutch從一開始的搜索引擎演變為如今的網絡爬蟲,在進化過程中,產生了Hadoop、Tika和Gora三個項目,如今這三個項目都發展迅速,極其火爆,尤其是Hadoop,其已成為大數據和云計算的代名詞。

我希望這套視頻能對學習的同學起到拋磚引玉的作用,激發大家學習大數據、搜索引擎的熱情。


?

總結

以上是生活随笔為你收集整理的Java应用级产品开发平台APDPlat作者杨尚川专访的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。