Avraham Leff James T. Rayfield IBM T.J. Watson Research Center

Slides:



Advertisements
Similar presentations
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Advertisements

Design of Web-based Systems IS Development: lecture 10.
The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation.
Multiple Tiers in Action
Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
ITWS-2210 / CSCI Logistics Format – Class w/ mini projects (graded on class participation) – Labs (individual projects, graded on completion in.
Development of mobile applications using PhoneGap and HTML 5
E-Commerce The technical side. LAMP Linux Linux Apache Apache MySQL MySQL PHP PHP All Open Source and free packages. Can be installed and run on most.
UNIT-V The MVC architecture and Struts Framework.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
XForms: A case study Rajiv Shivane & Pavitar Singh.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Implementation Of A MedBiquitous Virtual Patient Compatible Web-Player Hess F, Heid J, Huber S, Haag M Centre for Virtual Patients, University Hospital.
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
JavaScript is a client-side scripting language. Programs run in the web browser on the client's computer. (PHP, in contrast, is a server-side scripting.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
1 Another group of Patterns Architectural Patterns.
Pemrograman Web MVC Programming and Design Pattern in PHP 5.
1 Hammad Khan. COURSE CONTENTS.NET Framework And C# SQL Server 2008 ADO.NET LINQ ASP.NET Dynamics Data ASP.NET MVC framework 2 Advance C# Concepts Windows.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
JavaServer Faces (JSF) and Ajax Integration. Agenda 대강의 ( 정말로..) 개요 예제 아키텍트라면..
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Central Arizona Phoenix LTER Center for Environmental Studies Arizona State University Data Query Peter McCartney RDIFS Training Workshop Sevilleta LTER.
Adaptive User Interface Modelling for Web-environments T – Antti Martikainen
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Enterra Web GIS Embedded Flash System. Application Features 1. Dynamic data loading and caching Minimum data transfer on startup Additional data transfer.
ASP.NET MVC An Introduction. What is MVC The Model-View-Controller (MVC) is an architectural pattern separates an application into three main components:
John Foushee Andrew Hulbert Brian Louden. What is the Hawking Toolbar?  Short Description  Project Goal Allow Users to Access Web Content and Browser.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
DAT602 Database Application Development Lecture 1 Course Structure & Background knowledge.
Content Management Systems. Agenda Week overview Web-page basics The why and what of CMS Typo3.
CSE3310: Web training A JumpStart for Project. Outline Introduction to Website development Web Development Languages How to build simple Pages in PHP.
The Jukebox is a.NET web application that plays streaming music files to it’s clients according to their favorites musical genres. Clients can rate the.
X2R Spec 1. Change log DateVersionPeopleNote 2013/11/01V0.0.1Chien-Wei Yu, Anderson Ou First draft, add X2R files spec. 2013/12/16V0.0.2Anderson Ou, Doc.
Web Accessibility. Why accessibility? "The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect."
Doktorant ė : Egl ė Mickevi č i ū t ė Software development technologies KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMACIJOS SISTEM Ų KATEDA Kaunas, 2013.
I NTRO TO W EB TECHNOLOGY Basic terms. C LIENT – S ERVER M ODEL a distributed communication between service requestors and service providers.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
Introducing the Microsoft® .NET Framework
DHTML.
Web Technologies Computing Science Thompson Rivers University
Objective % Select and utilize tools to design and develop websites.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
A very brief introduction
UAA Spirit Quest Abstract Methods and Materials Introduction Results
MVC and other n-tier Architectures
Web Software Model CS 4640 Programming Languages for Web Applications
AJAX.
Asynchronous Java script And XML Technology
Haritha Dasari Josue Balandrano Coronel -
Objective % Select and utilize tools to design and develop websites.
AJAX.
Download CIW 1D0-621 Exam Latest Questions Answers - Updated 1D Braindumps - Realexamdumps.com
Ada – 1983 History’s largest design effort
Model-View-Controller (MVC) Pattern
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Introduction UI designer stands for User Interface designer. UI designing is a type of process that is used for making interfaces in the software or the.
An Introduction to Software Architecture
Database Connectivity and Web Development
WPS - your story so far Seems incredible complicated, already
Back end Development CS Programming Languages for Web Applications
Chengyu Sun California State University, Los Angeles
Web Technologies Computing Science Thompson Rivers University
Chengyu Sun California State University, Los Angeles
Course Overview CS 4640 Programming Languages for Web Applications
Back end Development CS Programming Languages for Web Applications
SDMX IT Tools SDMX Registry
Demo for Partners and Customers
Presentation transcript:

WebRB: Evaluating a Visual Domain-Specific Language For Building Relational Web-Applications Avraham Leff James T. Rayfield IBM T.J. Watson Research Center {avraham,jtray}@us.ibm.com OOPSLA’07 Presented by David Gonzalez

Key Insights: “WebRB is a visual domain-specific language for writing applications”, which provides: An API (and dataflow) for CRUD operations: server-side relational model to the client-side view, and client-side event-handling for reflecting changes back to the other-side. Relational algebra for expressing business logic. A visual programming language for building client-side views and their logic.

Problem(1/2) From Imperative-Embedding: Web applications are written with imperative languages (Java, PHP). To Relational: “… since an all visual technique for designing web-pages would seem to be more natural.” Context: Front-end development was not what it is now. Ajax was starting. Circa 2006 had its first draft proposed by the W3C.

Problem(2/2) Specifically, “relational web-applications”: “Read relational databases and present the data in a GUI” “Update relational databases based on a user’s interaction with the GUI” “Perform transformations of the relational data which require only simple or moderately complex business logic”

Approach(1/3) Implementation: Server-Side: PHP and DB2 Client-Side: JavaScript Specification Format: XML

Approach(2/3) Blocks: I/O Elements Pins: I/O indicators Wires: Dataflow

Approach(3/3) Page Input!

Results Evaluation Feature Analysis*: The language uses a relatively small number of abstractions. Provides excellent closeness-of-mapping for the application UI and less clear for database tables. Attempts to be very consistent where most UI elements let any input may be connected to any output. Visual components take more screen space than text-based equivalents. Provides good visibility for blocks and dataflow at the page level. * T. R. G. Green and M. Petre. Usability analysis of visual programming environments: a ’cognitive dimensions’ framework. J. Visual Languages and Computing, 7(2):131– 174, 1996.

Questions? Thanks! What about the page editor? What about the property editor? What about the dataflow? What about using the best of the two worlds?