開放支援各種開發工具的整合環境
提升應用程式的可攜性及維護性

德國Skynamics的revologic,是針對企業複雜且高重要性的網路應用程式,提供視覺化軟體設計與開發系統介面,並包含類似虛擬機器(Virtual Machine)的執行環境。

企業複雜的應用程式架構通常由開發團隊中少數精英完成,以臺灣多數資訊人員開發專案僅簡短的規畫後,就埋首努力寫程式的情況來看,龐大的系統由於功能之間沒有清楚切割,導致關聯性過高,往往牽一髮而動全身,略微更動商業流程就必須大規模地檢視及修改程式碼,不但品質低落且耗費時間與金錢。revologic將應用程式切割成許多獨立的流程(Process)及元件,修改部分功能時,僅需更動特定流程的內容,不必了解所有的程式碼。

雖然revologic原文手冊站在經濟實惠的角度,說明須先安裝MySQL及Tomcat,才能安裝revologic。事實上revologic可搭配所有JDBC及ODBC支援的資料庫,及任何J2EE應用伺服器。revologic包括Servlet、Engine及Cockpit三部分,Servlet與Engine是revologic伺服器,架構於應用伺服器之上,Servlet負責接收用戶端送出的HTTP要求並傳送至Engine;Engine則管理所有revologic的元件並執行Servlet呼叫的流程。Cockpit則是整合的開發及管理環境,視覺化的介面可建構應用程式的架構及流程。

建構於應用伺服器之上的revologic Servlet及Engine,協助應用伺服器管理及監控應用程式的執行。由於J2EE應用程式部署於revologic伺服器之上,而非直接建構於應用伺服器,所以不需針對各家應用伺服器修改Deployment Descriptor,可任意更換J2EE應用伺服器。不使用各應用伺服器專屬的API的好處是不受資訊廠商的綑綁,擁有良好的可攜性,應用程式輕易轉換應用伺服器,相對移植性較高。透過Cockpit將應用程式分割成許多獨立的程序及元件,使應用程式更為輕巧,執行每個程序不會佔用很多記憶體空間,將可提升應用伺服器的效能。Cockpit在軟體開發周期扮演整合的角色
程式碼與商業邏輯分離的架構

revologic與開發工具並非競爭對手,Cockpit是整合的工具,可結合Rational、Together等CASE Tool,FrontPage、Dreamwaver等HTML編輯器,及Eclipse、JBuilder甚至UltraEdit等Java開發工具。在revologic應用程式架構中,執行應用程式相關功能的元件匯整為單元(Unit),類似Java Package並具有繼承的架構。以一個完整的軟體開發周期來看,專案設計人員在Cockpit定義應用程式的單元(Unit)、資料型態、流程及元件,再決定以何種工具開發網頁及程式,開發人員僅需專注於本身負責的元件,完成之後匯入revologic,由管理者統籌規畫。

revologic是視覺化的規畫J2EE及J2SE應用程式,與整合各階段開發工具的環境,可平順地在Cockpit與CASE Tool、程式編輯器及網頁設計工具之間雙向轉換。在著手寫程式之前,先於revologic Cockpit規畫應用程式架構、商業流程、流程中的元件及資料型態,再切換到開發工具中撰寫每個元件的程式碼,如此一來應用程式邏輯有了可變動的彈性,流程改變時,只要重新拖拉與組合元件,應用程式即同步修改為新的流程。

適合Web應用程式開發的revologic,透過整合性介面結合系統分析師、流程設計師、開發人員、品質控管及專案管理者等不同專長的人,提供協同作業及專案管理的環境,可加速專案開發的速度並節省成本。元件模組化後重複使用性提高,因此不再受資訊廠商綑綁。流程中每個元件僅代表一個步驟,簡潔的程式碼相對提升應用程式的可維護性,不必擔心開發團隊成員的異動是否會造成無法銜接的影響。

為避免悶頭苦寫程式,產生無法分割的巨大應用程式,使應用系統架構生硬而無法變動的缺點,revologic以流程(Process)、動作(Java Actions)、使用者介面(Visuals)、資料型態(Data Type)、按鍵(Icons)及角色(Roles)等元件分離程式碼與商業邏輯,以元件串連成代表各種功能的流程,只要重新組合這些元件及流程即可調整應用程式的架構。

流程即應用程式的商業邏輯,可定義流程控制的判斷邏輯及資料的傳遞,在revologic Cockpit視覺化的環境,以滑鼠拖拉的方式組合各種元件,即可展現一個商業流程。當應用程式執行時,這些流程將直接執行於revologic伺服器。動作則是流程中單一步驟的程式碼,可以是Java或VB Script、Java Script語言。

使用者介面通常是開啟於用戶端的網頁,透過欄位資料型態的定義,revologic可產生簡單未經修飾的JSP網頁,開發人員可以Dreamwaver等工具自行客製化為更豐富的內容。流程中參數及欄位資料型態的定義,可與JDBC、ODBC支援的資料庫連結,以單純的字串、整數型態,或由多個欄位組成的複合型態,代表資料的特性。按鍵是觸發流程的入口,角色則定義分析階段各類使用者與應用程式的關係。支援軟體開發生命周期的所有步驟

以軟體開發生命周期來看,revologic支援分析、設計、開發、品質控管及維護各階段的功能。在分析階段定義各種使用者扮演的角色,並以單元建構應用程式架構。revologic Cockpit會產生Use Case模組作為設計階段的基礎,平順地轉換到下一階段才能減少變動架構時增加的成本。

設計階段可搭配Rational、Together等CASE Tool,流程設計師須與使用單位精通業務流程的專家通力合作,根據使用者需求建立流程、資料型態及關連。應用程式架構由許多各自獨立的單元組成,可個別開發不互相干擾。revologic Cockpit提供範本產生器(Template-Driven Generation),根據使用者定義的欄位產生實際資料存取的介面雛型,可增加軟體開發的效率。

由設計階段定義的流程及資料型態,開發人員可選擇使用各種開發工具,在開發階段實作元件。rvologic開發環境可整合各種Java開發工具及HTML編輯器。revologic與開發工具的角色不同,是整合及管理的工具,可產生元件的架構及雛型,詳細的程式邏輯和使用者介面由其他專業的工具完成。

開發完成的流程直接由revologic伺服器執行及控管,可將revologic伺服器視為虛擬機器(Virtual Machine)。德勝網際表示於應用伺服器上架構revologic伺服器執行應用程式,不但不會降低執行效能,反而由於應用程式被切割成許多輕巧的元件,而增加執行的效率且易於維護。為方便知識的傳承,revologic可根據設計及開發人員提供的資訊,自動產生PDF、Word及HTML格式的文件。文件可依企業的需求,調整為標準化的格式。

測試階段除錯及品質控管的機制,整合在revologic Cockpit環境中,在應用程式執行階段可即時監控,找出設計及開發上的疏失。經由內建的交叉參照(Cross-Reference)特性,所有修改的內容,文件也會同步更新,以保持知識的同步。軟體開發的趨勢

在複雜而龐大的J2EE及.NET應用程式領域,缺乏匯整設計、開發與除錯的統合工具,revologic補足了這個缺口。我們可發現Borland標榜的ALM(Application Lifecycle Management;應用程式生命周期管理)也是類似的概念,可見在應用程式架構日益複雜的現在,單一開發工具將無法顧全軟體開發的所有層面,應用程式生命周期管理將逐漸受到重視。

revologic著重規畫與整合的功能,開放支援各種設計與開發的工具,並囊括凌駕於應用伺服器之上虛擬機器。應用程式測試無誤上線後,也可能因為外在環境的改變而暗藏風險,於執行階段隨時監控,可保障效能及品質。revologic伺服器也降低了應用程式與應用伺服器的關連性,不需針對應用伺服器修改Deployment Descriptor,也不運用各應用伺服器專屬的API,提升應用程式的移植性。較為可惜的是revologic尚未中文化,不過對於一向自詡為金字塔頂端的Java愛好者而言,英文的說明及操作介面應該習以為常。文⊙李延華

熱門新聞

Advertisement