Date of Award
Fall 2009
Document Type
Thesis
Degree Name
Master of Science (MS)
Department
Mathematics, Statistics and Computer Science
First Advisor
Harris, Douglas
Second Advisor
Iqbal Ahamed, Sheikh
Third Advisor
Madiraju, Praveen
Abstract
For business application development it is important to isolate programming efforts of the concerns: Presentation, Processing and Persistence. Development of each of these concerns has an independent thinking process and requires somewhat different programming languages and development tools. In order to isolate the concerns, we provide passages between the concerns and control the flow of execution by following essentially three rules: 1. Presentation and Processing are coroutines, 2. Processing is finished before Presentation can begin to show output, and 3. Persistence is a subsystem of Processing. We explain how these rules come to existence, and what the implications are in the thesis. By following the rules, a Turing complete Presentation capable of pulling web resource from the server interactively cannot lead a programmer to write code tangling Presentation and Processing. We analyze our design and develop systems in Web 1.0 and Web 2.0 settings. For the latter setting, the system has multiple business component/service dependencies where some of the components run in the browser and some in the server. We show that such distributed component dependency can be resolved while keeping the isolation in place.