General Interface is an open source project hosted by the Dojo Foundation

Processing Model

By distributing many of the processes usually handled by centralized application servers to the browser on the client machine, enterprises can deliver full-featured software solutions that simply run in the browser without any need for extra runtime components or plug-ins.

General Interface is a powerful implementation of model-view-controller (MVC) principles. Unlike server-centric MVC architectures, with General Interface, the view processes are distributed to the web browser. This design removes the view generation work from servers and reduces demands on bandwidth, making applications far more scalable. The design also leverages the power of the client CPU to deliver highly responsive, stateful, full-featured applications in a browser.

Disadvantages of Server-Based MVC Architecture

In a traditional server-based MVC architecture, all processes run on the server. Requests are sent to the controller, models are updated, and the view returns a stream of HTML and data to the browser where it is rendered for the user. This results in system latency and reduced functional possibilities for the end user. The resulting HTML typically comprises 80% presentation instructions and 20% data. The browser is simply an HTML page rendering device.

Rich Internet Application-Based MVC Architecture

In a rich Internet application based MVC architecture, view processes are distributed to the browser where they run on the client system. The distributed view employs an MVC architecture of its own, turning the browser into an RIA environment. Because client-side objects generate the HTML, significantly fewer processes need run on the server. Bandwidth is optimized for data. Application performance and scalability are significantly enhanced.

General Interface software enables the view portion of the MVC architecture to be distributed to and run on a web browser running on the client system. This approach has the following benefits:

  • Improves application scalability by removing significant server processes
  • Decreases latency by using substantially all the bandwidth to deliver data (instead of a minority of bandwidth for data in the traditional model where HTML markup takes up most of a transmission)
  • Delivers full-featured application performance and rich GUI features to an unmodified web browser, without plug-ins, runtime environments, and extra software to install

Contents

Searching General Interface Docs

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.