<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href='static/style.xsl' type='text/xsl'?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-19T01:41:27Z</responseDate><request verb="GetRecord" identifier="oai:ecommons.cornell.edu:1813/11146" metadataPrefix="dim">https://ecommons.cornell.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:ecommons.cornell.edu:1813/11146</identifier><datestamp>2026-05-14T13:58:04Z</datestamp><setSpec>com_1813_35</setSpec><setSpec>col_1813_47</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="author">Yang, Fan</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2008-07-24T20:41:05Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2013-07-24T06:28:38Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued">2008-07-24T20:41:05Z</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">https://hdl.handle.net/1813/11146</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="bibid">6397214</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract" lang="en_US">Building web applications using current systems is not an easy task&#xd;
and we face the following challenges: (1) It is difficult to&#xd;
program web applications on top of the standard three-tier&#xd;
architecture. (2) Performance optimizations and tunings are mostly&#xd;
done manually, which is tedious, error-prone and suboptimal. (3) It&#xd;
is hard for non-technical users to construct web applications for&#xd;
their own needs. (4) Current platforms do not scale to host&#xd;
a large number of applications in a cost-effective, manageable and/or&#xd;
flexible manner. In this thesis, we propose technologies to address&#xd;
those challenges in developing, optimizing and hosting data-driven&#xd;
web applications.&#xd;
&#xd;
Data-Driven web applications are usually structured following the&#xd;
standard three-tier architecture with different programming models&#xd;
used at different tiers. This division not only creates an impedance&#xd;
mismatch problem for developers but also forces them to manually&#xd;
partition application logic across tiers, which results in complex&#xd;
logic, suboptimal system design, and expensive re-partitioning of&#xd;
applications as systems evolve. We propose a unified development&#xd;
platform based on HILDA, a high-level language for developing&#xd;
data-driven web applications. The primary benefits of HILDA over&#xd;
existing development platforms are: (a) it uses a unified&#xd;
data and programming model for all layers of the application, (b) it is&#xd;
declarative, (c) it enables conflict detection for concurrent&#xd;
updates, (d) it supports structured programming for web sites, (e) it&#xd;
separates application logic from presentation. Instead&#xd;
of using different languages for different layers, developers build the whole&#xd;
application in HILDA. HILDA code is translated into executables&#xd;
that run on top of the three-tier architecture. The runtime system&#xd;
automatically partitions the application logic between tiers based on runtime properties of the application, to&#xd;
optimize the system performance while obeying memory constraints&#xd;
at the clients. We evaluate our methodology with traces from a real&#xd;
Course Management System used at Cornell University as well as an&#xd;
online bookstore from the TPC-W benchmark. The results show that&#xd;
automatic partitioning outperforms manual partitioning without the&#xd;
associated development overhead.&#xd;
&#xd;
There are many cases where non-technical users want to build&#xd;
data-driven web applications to fit their own needs. An emerging&#xd;
trend in Social Networking sites and Web portals is the opening up&#xd;
of APIs to external application developers. For example, the&#xd;
Facebook Platform, Google Gadgets and Yahoo! Widgets allow users to&#xd;
design their own applications, which can then can be integrated with&#xd;
the platform and shared with others. However, current APIs are&#xd;
targeted towards developers with programming expertise and database&#xd;
knowledge; they are not accessible to a large class of users who do&#xd;
not have a programming/database background but would nevertheless&#xd;
like to create new applications. To address this need, we have&#xd;
developed the AppForge system, which provides a WYSIWYG application&#xd;
development platform. Users can graphically specify the components&#xd;
of webpages inside a Web browser, and the corresponding database&#xd;
schema and application logic are automatically generated on the&#xd;
fly by the system. The WYSIWYG interface gives instantaneous&#xd;
feedback on what users just created and allows them to run, test and&#xd;
continuously refine their applications and greatly lower the bar for building such applications.&#xd;
&#xd;
While each user-generated application by itself is quite small (in&#xd;
terms of size and throughput requirements), there are many such&#xd;
applications and existing data management solutions are not designed&#xd;
to handle this form of scalability in a cost-effective, manageable&#xd;
and/or flexible manner. For instance, large installations of&#xd;
commercial database systems such as Oracle, DB2 and SQL Server are&#xd;
usually very expensive and difficult to manage. At the other&#xd;
extreme, low-cost data hosting solutions such as Amazon's SimpleDB&#xd;
do not support sophisticated data manipulation primitives such as&#xd;
joins that are necessary for developing most Web applications. To&#xd;
address this issue, we explore a new point in the design space&#xd;
whereby we use commodity hardware and free software (MySQL) to scale&#xd;
to a large number of applications while still supporting full SQL&#xd;
functionality, transactional guarantees, high availability and&#xd;
Service Level Agreements (SLAs). We do so by exploiting the key&#xd;
property that each application is ``small'' and can fit in a single&#xd;
machine (which can possibly be shared with other applications).&#xd;
Using this property, we design replication strategies, data&#xd;
migration techniques and load balancing operations that automate the&#xd;
tasks that would otherwise contribute to the operational and&#xd;
management complexity of dealing with a large number of&#xd;
applications. We have conducted extensive experiments, based on the&#xd;
TPC-W benchmark data sets and workloads, to study the performance&#xd;
aspects of our system. Our experiments demonstrate that our system&#xd;
can host a very large number of Web applications and provide them&#xd;
rich functionality, strong consistency, high performance, high&#xd;
availability and data protection in an inexpensive manner by using&#xd;
commodity hardware and software components.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="sponsorship" lang="en_US">This work supported by the National Science Foundation under Grant No. 534404.</dim:field>
   <dim:field mdschema="dc" element="language" qualifier="iso" lang="en_US">en_US</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Database</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Data-Driven Web Application</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Performance</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Scalability</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">WYSYWYG</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Optimization</dim:field>
   <dim:field mdschema="dc" element="title" lang="en_US">Developing, Optimizing and Hosting Data-Driven Web Applications</dim:field>
   <dim:field mdschema="dc" element="type" lang="en_US">dissertation or thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="cris" element="virtual" qualifier="collection" authority="https://cornell-ecommons.eks.prod.4science.cloud/handle/1813/47" confidence="600">Cornell Theses and Dissertations</dim:field>
   <dim:field mdschema="cris" element="virtual" qualifier="author">Yang, Fan</dim:field>
   <dim:field mdschema="cris" element="virtualsource" qualifier="collection">5893a6ea-7af3-41d7-abc6-04bcd26ab5df</dim:field>
   <dim:field mdschema="others" element="access-status">open.access</dim:field>
   <dim:field mdschema="others" element="access-status">open.access</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="020ae52d-b61a-4974-8f57-cda5e35d28e6">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
	&lt;Language>en_US&lt;/Language>
   	&lt;Title>Developing, Optimizing and Hosting Data-Driven Web Applications&lt;/Title>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2008-07-24T20:41:05Z&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>Yang, Fan&lt;/DisplayName>
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;Keyword>Database&lt;/Keyword>
    &lt;Keyword>Data-Driven Web Application&lt;/Keyword>
    &lt;Keyword>Performance&lt;/Keyword>
    &lt;Keyword>Scalability&lt;/Keyword>
    &lt;Keyword>WYSYWYG&lt;/Keyword>
    &lt;Keyword>Optimization&lt;/Keyword>
   	&lt;Abstract>Building web applications using current systems is not an easy task&#xd;
and we face the following challenges: (1) It is difficult to&#xd;
program web applications on top of the standard three-tier&#xd;
architecture. (2) Performance optimizations and tunings are mostly&#xd;
done manually, which is tedious, error-prone and suboptimal. (3) It&#xd;
is hard for non-technical users to construct web applications for&#xd;
their own needs. (4) Current platforms do not scale to host&#xd;
a large number of applications in a cost-effective, manageable and/or&#xd;
flexible manner. In this thesis, we propose technologies to address&#xd;
those challenges in developing, optimizing and hosting data-driven&#xd;
web applications.&#xd;
&#xd;
Data-Driven web applications are usually structured following the&#xd;
standard three-tier architecture with different programming models&#xd;
used at different tiers. This division not only creates an impedance&#xd;
mismatch problem for developers but also forces them to manually&#xd;
partition application logic across tiers, which results in complex&#xd;
logic, suboptimal system design, and expensive re-partitioning of&#xd;
applications as systems evolve. We propose a unified development&#xd;
platform based on HILDA, a high-level language for developing&#xd;
data-driven web applications. The primary benefits of HILDA over&#xd;
existing development platforms are: (a) it uses a unified&#xd;
data and programming model for all layers of the application, (b) it is&#xd;
declarative, (c) it enables conflict detection for concurrent&#xd;
updates, (d) it supports structured programming for web sites, (e) it&#xd;
separates application logic from presentation. Instead&#xd;
of using different languages for different layers, developers build the whole&#xd;
application in HILDA. HILDA code is translated into executables&#xd;
that run on top of the three-tier architecture. The runtime system&#xd;
automatically partitions the application logic between tiers based on runtime properties of the application, to&#xd;
optimize the system performance while obeying memory constraints&#xd;
at the clients. We evaluate our methodology with traces from a real&#xd;
Course Management System used at Cornell University as well as an&#xd;
online bookstore from the TPC-W benchmark. The results show that&#xd;
automatic partitioning outperforms manual partitioning without the&#xd;
associated development overhead.&#xd;
&#xd;
There are many cases where non-technical users want to build&#xd;
data-driven web applications to fit their own needs. An emerging&#xd;
trend in Social Networking sites and Web portals is the opening up&#xd;
of APIs to external application developers. For example, the&#xd;
Facebook Platform, Google Gadgets and Yahoo! Widgets allow users to&#xd;
design their own applications, which can then can be integrated with&#xd;
the platform and shared with others. However, current APIs are&#xd;
targeted towards developers with programming expertise and database&#xd;
knowledge; they are not accessible to a large class of users who do&#xd;
not have a programming/database background but would nevertheless&#xd;
like to create new applications. To address this need, we have&#xd;
developed the AppForge system, which provides a WYSIWYG application&#xd;
development platform. Users can graphically specify the components&#xd;
of webpages inside a Web browser, and the corresponding database&#xd;
schema and application logic are automatically generated on the&#xd;
fly by the system. The WYSIWYG interface gives instantaneous&#xd;
feedback on what users just created and allows them to run, test and&#xd;
continuously refine their applications and greatly lower the bar for building such applications.&#xd;
&#xd;
While each user-generated application by itself is quite small (in&#xd;
terms of size and throughput requirements), there are many such&#xd;
applications and existing data management solutions are not designed&#xd;
to handle this form of scalability in a cost-effective, manageable&#xd;
and/or flexible manner. For instance, large installations of&#xd;
commercial database systems such as Oracle, DB2 and SQL Server are&#xd;
usually very expensive and difficult to manage. At the other&#xd;
extreme, low-cost data hosting solutions such as Amazon&amp;apos;s SimpleDB&#xd;
do not support sophisticated data manipulation primitives such as&#xd;
joins that are necessary for developing most Web applications. To&#xd;
address this issue, we explore a new point in the design space&#xd;
whereby we use commodity hardware and free software (MySQL) to scale&#xd;
to a large number of applications while still supporting full SQL&#xd;
functionality, transactional guarantees, high availability and&#xd;
Service Level Agreements (SLAs). We do so by exploiting the key&#xd;
property that each application is ``small&amp;apos;&amp;apos; and can fit in a single&#xd;
machine (which can possibly be shared with other applications).&#xd;
Using this property, we design replication strategies, data&#xd;
migration techniques and load balancing operations that automate the&#xd;
tasks that would otherwise contribute to the operational and&#xd;
management complexity of dealing with a large number of&#xd;
applications. We have conducted extensive experiments, based on the&#xd;
TPC-W benchmark data sets and workloads, to study the performance&#xd;
aspects of our system. Our experiments demonstrate that our system&#xd;
can host a very large number of Web applications and provide them&#xd;
rich functionality, strong consistency, high performance, high&#xd;
availability and data protection in an inexpensive manner by using&#xd;
commodity hardware and software components.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>