李肇林臺灣大學:資訊工程學研究所應承諺Ing, Cherng-yannCherng-yannIng2007-11-262018-07-052007-11-262018-07-052004http://ntur.lib.ntu.edu.tw//handle/246246/53912The work described in this article is intended to create a better MVC framework for web application development in the following aspects:1 INTRODUCTION 9 1.1 OVERVIEW 9 1.2 LIBRARY DEPENDENCIES 12 1.3 MISSION 12 1.4 PORTABILITY OF THE DESIGN PHILOSOPHY 13 1.5 EXAMPLE APPLICATION 13 1.6 AN EXPLANATION OF WEBFORM WITH EXAMPLE 13 1.6.1 The Shopping Cart System 13 1.6.2 WebForm Components 14 1.6.3 Modeling the System in WebForm 16 1.6.4 Binding Data to the Presentation 17 1.7 WEBFORM APPLICATION PROGRAMMING INTERFACE 19 1.7.1 Program Binding to the Data Structure 19 1.7.2 The XFormHandler 19 1.7.3 The XFormEvent 20 1.7.4 Forward Action Conditional Redirecting 21 2 DESIGN OF THE SYSTEM 22 2.1 SYSTEM DESIGN REQURIEMENT 22 2.1.1 Hierarchical Data Structure 22 2.1.2 Separate Action and Page Navigational Logic (Hide Page Navigational Logic from Controller) 22 2.1.3 Reusable Control Development 22 2.1.4 Plug-in-based System 22 2.1.5 Less Programming Language Dependent 23 2.1.6 Development Time Edit-and-Run support 23 2.1.7 Non-programming Mark-up Tags (Simple Tag Syntax) 23 2.1.8 Rich-Control Set 23 2.2 TOOLS INTRODUCTION 23 2.2.1 JDOM 23 2.2.2 Apache Velocity 24 2.2.3 Tag Library, Custom Tags 24 2.3 DIRECTORY STRUCTURE 24 2.3.1 Tree Structure 24 2.3.2 System Configuration Files 25 2.3.3 Velocity Templates 25 2.3.4 Miscellaneous Files 26 2.4 BASIC FRAMEWORK COMPONENTS 26 2.4.1 Basic Framework Component Diagram 26 2.4.2 XForm 26 2.4.3 WebFormTransaction 27 2.4.4 WebFormSession 27 2.4.5 XFormManager 27 2.4.6 XPluginRec 27 2.5 PAGE PRESENTATION TRANSLATION PROCESS 28 2.6 FILE UPDATE REFLECTION 31 2.7 PAGE INPUT TRANSLATION PROCESS 31 2.8 EXAMPLE: SYSTEM LOGGING TOOL 32 2.8.1 Overview of Log4J 32 2.8.2 Level Inheritance Mechanism 33 2.8.3 System Logging Tool: Page Presentation 33 2.8.4 Page Navigation Diagram 34 2.8.5 System Logging Tool: Data Model 34 2.8.6 System Logging Tool: Controller and Actions 35 3 IMPLEMENTATION OF THE SYSTEM 37 3.1 IMPLEMENTATION ENVIRONMENT 37 3.2 CLASS OVERIVEW 37 3.3 CLASS HIERARCHY 38 4 OPERATION OF THE SYSTEM 42 4.1 OVERVIEW 42 4.2 CREATING A WEBFORM APPLICATION INFRASTRUCTURE 42 4.2.1 WebForm Skeleton Web-Application 42 4.2.2 Dependent Libraries 43 4.2.3 System Configuration Files 44 4.2.4 Primary System Configuration File (CyberWebForm.xml) 44 4.2.5 Logging Configuration Files 45 4.3 CREATING APPLICATION FILES 46 4.3.1 View Files (WebForm HTML Pages) 46 4.3.2 Model Files (Plugin Configuration File) 47 4.3.3 Developing WebForm Controller 49 4.4 DEVELOPER'S REFERENCE OF WEBFORM TAGS 52 4.4.1 Tag Enclosing Diagram 52 4.4.2 Tag <wfm:transaction> 52 4.4.3 Tag <wfm:xform> 53 4.4.4 Tag <wfm:xforward> 54 4.4.5 Tag <wfm:text> 54 4.4.6 Tag <wfm:plugin> 54 4.4.7 Tag <wfm:fwscript> 55 4.4.8 Tag <wfm:if> 55 4.5 COMMON CONTROL REFERENCE 56 4.5.1 Text Editing Control (ctrl/text) 56 4.5.2 Static Label Control (ctrl/label) 56 4.5.3 Check Box Control (ctrl/checkBox) 56 4.5.4 Single Select Control (ctrl/select) 56 4.5.5 Multiple Select Control (ctrl/multiSelect) 57 4.5.6 Text Area Control (ctrl/textarea) 57 5 DEMO PACKAGE INSTALLATION PROCEDURE 58 5.1 SYSTEM REQUIREMENT 58 5.2 INSTALLATION PROCEDURE 58 5.2.1 Configuring the Database 58 5.2.2 Compile and Install the System from Source Code 58 5.2.3 Testing the System 59 5.3 PACKAGE DIRECTORY STRUCTURE 63 6 DEVELOPING SOMS IN WEBFORM ARCHITECTURE 64 6.1 DESIGNING SOMS 64 6.1.1 Basic Components 64 6.1.2 Design Diagrams 65 6.1.3 User Operation Flows 66 6.2 CLASS OVERVIEW 67 6.3 PAGE OVERVIEW 68 6.3.1 輪值班表製作(shtbl_list) 68 6.3.2 編輯任務(shtask_edit) 70 6.3.3 修改排班表(shtblv_edit) 70 6.3.4 排班表(shtbl_rec_edit) 72 6.3.5 班表實施作業(sftbl_commit_note) 74 6.4 DATA MODEL 75 6.5 DATABASE SCHEMA OVERVIEW 77 7 COMPARSION WITH OTHER FRAMEWORKS 78 7.1 APACHE VELOCITY 78 7.2 STRUTS 78 7.3 MICROSOFT ASP.NET 78 8 REFERENCES 80826970 bytesapplication/pdfen-US網頁VelocityStrutsWebJ2EEarchitectureframeworkcontrollerviewmodelMVCCyberWebForm - The MVC Architecture for Web Developmentthesishttp://ntur.lib.ntu.edu.tw/bitstream/246246/53912/1/ntu-93-R90922030-1.pdf