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.

COinS