跳到主要內容

發表文章

目前顯示的是有「Java」標籤的文章

串接 知識決策模型 / 知識推論引擎 / 工作流程模型 / 工作分派引擎 ,一起手牽手心連心!

還記得九年前 (oh my god!! ) 在做Ontology研究時, 總是對整個流程架構、如何真正的應用有很大的問號, 當時看到稱的上劃時代知識工程ontology應用語言的RDF時, 還對於其高複雜度與如何真正實作有著更大的問號! 沒辦法,畢竟工程人員對於實作一個真正有function系統的渴望, 相較於一個定義充沛、複雜卻無法直接應用的 Model 來的高出太多太多。 但這些時間過去了, 不同領域間的工具經驗、知識累積下, 竟然也整合孕育出了真正結合理論與實作的方式,真是感動的我快老淚縱橫了。  以現在當下的作法, 如何真正整合 Ontology到決策workflow的中,而非以前的Model / Implementation 兩邊各玩各的? 最精準的方式就是整合流程管理方法, 而這點在流程方法電子化研究趨近成熟的現在,一切也都不是難事。 過去在探討企業流程塑模同樣也只是個說故事的工具, 例如用來描繪工作流程、決策、資訊傳遞等過程的 BPMN  (Business Process Model and Notation) 的發展, 最初,也只是一種塑模 (Modeling)的表示方式。 但現在同樣的也在龐大組織架構的複雜資訊化需求下產生了進化, 不只是標準化的提出,連底層結合都綁在一起了, 這意味著,現在的軟體流程可以直接串聯早期屬於管理層級的流層架構, 而且利用的,不再是底層開發語言的指令模式,而是更高階的管理流程規則。 同樣的,在知識決策人工智慧的領域, 從20年前的數學模型、機率統計到之後的語意描述建模, 演化到如今,將語意描述語言轉譯為語意法則, 再真正透過推論引擎去分析推斷,產生真實的邏輯判斷結果, 一切就這樣從無到有,從不可能到可能! 我們就舉實例來說吧,

Hadoop with Netbeans 函式包裹至單一專案JAR檔

    在Hadoop雲端環境執行程式時, 主要是將程式先包裹為一個JAR檔後,由Master 將其做為Task送出到各個node進行處理, 然而當系統較為複雜時,程式內引用的處理程序往往更為繁雜, 以生物資訊的案例來說, 一個專案中可能會需要用到如:連結遠端特定服務的library ( Ex:BLAST) , XML 的Library (Ex: JDOM) , 網路連結套件 (Ex: httpclient), WSDL, SAAJ …. 等許許多多的外部函式庫。   這狀況若以Web Service 來說並不會造成問題, 因為Netbeans 會自動Deploy 成一個 war檔進行部署。   但在一般的專案中, Netbeans只會將專案本身包為 JAR檔,其餘外部的函式( 如引入在 /lib/下的外部jar檔) 在build後並不會包入JAR中,而僅是存放在dist/中的lib/目錄下。   這在平常或許沒什麼太大問題, 只要設定classpath或放到公用java classpath (ext/lib)中即可。   但在雲端環境中,由於JAR是做為Task傳送到不同的node server執行, 除非是每個node都預先存放好 library,否則在執行時便會因為僅將專案JAR檔送出, 造成 node server找不到外部library 而引發ClassNotFoundException導致task falue 。   解決上述問題的方式,有以下幾種方法: 將library放入各node Server的共用函式資料夾 將外部涵式解開JAR後,將package複製到自己的專案內,再令其重新build包裹在一起 直接將JAR檔包進JAR中   然而在雲端環境中,若要逐一對node server預先設定外部library, 不只耗時費工 (node server可能高達百臺),更有可能因為外部server而無法進行設定。   以上作法最便利的便是第三種方式:將外部的JAR包入專案的JAR中 此方法類似 Eclipse中的 “Fat Jar” plugin ,可以將外部的JAR直接包裝進JAR中, 而 ...

佛心來著的 Google Data API – for JAVA

HEMiDEMi 的標籤: Google , Google Data API , Java , 程式設計   這幾年來Google 提供了越來越多的產品與服務, 而且幾乎都是免費使用!   例如在服務端, 使用Google Apps ,可以整合整個企業入口與內部系統, 包含了內部人員系統、網域管理系統、E-Mail系統(GMail)、資料管理系統(Google docs)與網站內容管理系統(Google sites)等等多元化的服務。 詳見:『 Google Apps開放個人應用服務囉 』   此外在開發環境,還有容易使用的Google App Engine, 可以讓使用者無需架站,就能擁有一個網路伺服空間 (還是雲端的環境呢) 詳見:『 雲端的開始:Netbeans 無痛 Google App Engine Java 服務開發 』     不過,那在底層的程式端呢? 在這麼大量的服務選擇下,若能讓使用者透過自行開發軟體來連結使用, 不就省去許多的開發時間跟心力?   這樣的需求,Google也都有想到了, Google Data API就是這樣佛心下的產物, 透過Google Data API,造福了許許多多的程式設計師, 在幾乎不用自己開發的狀態下,就可以得到Google提供的服務功能。   只要透過Google 提供的Data API 涵式庫,就能直接連結已經註冊的服務內容, 目前,Google Data API 支援的語言依不同的服務有些微不同, 但普遍有: Java, .NET, PHP, Python, JS, Obj-c, Ruby等, 而目前已開放API連結的服務如下: (Info from : Google )   API Home Guides Client Libraries Google Analytics Data Expor...