840 likes | 865 Views
WYSIWYG Development of Data Driven Web Applications. Fan Yang, Nitin Gupta, Chavdar Botev Cornell University, Ithaca, NY Elizabeth F Churchill, George Levchenko , Jayavel Shanmugasundaram Yahoo! Research , Santa Clara, CA. Abstract.
E N D
WYSIWYG Development of Data Driven Web Applications Fan Yang, Nitin Gupta, ChavdarBotev Cornell University, Ithaca, NY Elizabeth F Churchill, George Levchenko, JayavelShanmugasundaram Yahoo! Research, Santa Clara, CA
Abstract • Social Networking sites and Web portals have opened up their APIs • External developers can design their own tools and share it with others • Targeted towards developers with programming expertise and database knowledge • Solution • AppForge , a WYSIWYG application development platform
AppForge • WYSIWYG application development platform • Users graphically specify the components of web pages • The database schema and application logic are automatically generated • Provides instantaneous feedback • Not yet open to the public
Solution Space Users WYSIWYG development General relationships AppForge Yahoo! Pipes Microsoft PopFly Power users JotSpot Oracle Forms App2You CogHead ZohoCreator DabbleDB WyaWorks Target Audience Developers Ning Ruby-on-Rails WebML Hilda Sophisticated Developers J2EE .NET Stateless Simple State Relationships … Data Complexity of Applications
Trends • Web pages are turning into computing platforms • So websites have opened up their API’s for users • But beyond the reach of majority of users • Current solutions: • Yahoo! Pipes, Microsoft Popfly, App2You, CogHead • Zoho Creator, Ning, Dabble DB, WyaWorks, JotSpot, SaleForce
Drawbacks • Non-WYSIWYG development environment • Two modes • Development mode • Execution mode • Developer has to visualize while in development mode • E.g. LaTex and Microsoft Word
Drawbacks (contd..) • Limited support for creating stateful applications with complex structures • Support stateless web applications • Predefined structure • Support sophisticated stateful applications • But require developer background
Drawbacks (contd..) • Limited support for publishing views over multiple related entities • Current systems don’t support views • Require database knowledge
AppForge • WYSIWYG environment • Integrates design, deployment and testing • Instantaneous feedback • Generates database schema and application logic • WYSIWYG to target the general user
AppForge (contd..) • Users can create sophisticated stateful applications • Developers focus on display items • Entities and relationships are inferred • Algorithm translates developer actions into database schema
AppForge (contd..) • Users create complex views over multiple entities • Schema Navigation Menu • Hierarchical graph • Algorithm to convert E-R graph to Schema Navigation Menu • Algorithm to translate developers actions on Menu into views
System Components • Application Creation System • Creates and updates the application model • Page View Creation module • Interface for creating and updating web pages • Automatic Schema Generation module • Generates the relational database schema from page views • Application model stored in the file system • Application state is stored in a relational database system
System Components (contd..) • Application Runtime System • Loads the application model • Interprets the model • Issues SQL queries over the database
Abstractions • Application • Create and manage multiple applications • Role • Users are divided into multiple roles • Page • Each page can contain one or more Forms and Views • Form • Used to enter new data • View • View and update the application state • Container • Entities in an application