News

[17/Sep/2009:19:20] Release 0.5 includes Open Flash Chart support.

[01/Jul/2009:10:50] Repoze.who authentication tutorial added

[22/Jun/2009:11:36] AJAX calculator tutorial added.

[01/May/2009:14:15] MVC/SQL based wiki tutorial added.



Contact Email:



view source
W1000.
concepts.
whiff



Download instructions
at whiff.sourceforge.net
project page
.
WHIFF DOCUMENTION

Concepts

Whiff organizes web components by mapping URLs to filenames in a similar manner to the way static web pages are organized by mapping URLs to filenames. Whiff also helps organize the life cycle of an application into three stages: resource allocation, parameterization, and request execution.

Composing applications by dropping web components into directories

Developers build WHIFF applications much like they build static web content, PHP applications, JSP pages, or ASP pages among others -- the developer "drops" files into a directory, and the files are automatically used to respond to URLs related to the filename. This intuitive and ubiquitous approach to organizing web components is not automatically supported by other WSGI infrastructures.

For example consider the process of adding a bar chart to this WHIFF documentation.  

×
The barChart1 example application is taken from the Open Flash Charts tutorial. Please see the tutorial to view the source code for the application and read about how to format this and other Flash charts.

WHIFF generalizes the "drop files in a directory" manner of organization by allowing component URLs to refer to application fragments and middlewares as well as applications.  

×
For example in the Resume tutorial the resume.whiff middleware (corresponding to the URL http://aaron.oirt.rutgers.edu/cgi-bin/resumes.cgi/resume) and the experience.whiff fragment (corresponding to the URL http://aaron.oirt.rutgers.edu/cgi-bin/resumes.cgi/experience) are designed for use in larger applications and do not work as stand alone applications.

By mapping applications, middlewares, and fragments in a natural manner from directory locations to URL locations both for external and internal use the WHIFF infrastructure makes it easier to develop, compose and administer web applications.

Whiff simplifies namespace management

The WHIFF infrastructure also seeks to reduce the complexity of developing web applications by supporting conventions and tools to unify web development namespaces into three categories:  

×
If names be not correct, language is not in accordance with the truth of things. If language be not in accordance with the truth of things, affairs cannot be carried on to success.
-- from Confucius: The Analects
Resources
Databases
Sessions
Cookies
User Profiles
Search indices
Data files
Other shared global data resources
Configuration Parameters
HTTP resources (URLs and URIs)
Server file system paths
Server code name spaces
Execution Parameters
HTML Document object identities
CSS Stylesheet names
javascript global names
CGI form input names
HTTP headers

By coordinating each namespace category WHIFF makes it easier to understand, create, and modify Web applications without sacrificing flexibility.  

×
I find developing web applications difficult not because the domain is intrinsically challenging in the sense that Mathematics is intrinsically challenging, but because it is overwhelmingly complicated. The source of the complexity is primarily the multiplicities of namespaces.

In order to allow applications to use these unified namespaces effectively WHIFF also provides

Configuration Templates
Configuration files written in the WHIFF configuration template format may specify an application configuration by combining many components named using WHIFF naming conventions.
Applications Programmers interfaces
Python modules may use WHIFF services and locate components using WHIFF naming conventions by using a Python API. Javascript components may interact with WHIFF components using the Javascript API.
Subsections:

++ Resource Management    
×
A resource is an object which a web application can use to get information from the server environment or store information to the server environment. WSGI applications can use WHIFF API's to find and manipulate resources.


++ Application Configuration    
×
A whiff application, middleware or application fragment is identified by a Uniform Resource Locator (URL) which generally also trivially identifies the Python code or the configuration template which describes the application component.


++ Execution Parameters    
×
Most things which vary between different accesses to the same application are execution parameters. WHIFF Execution parameters are embedded in the WSGI environment dictionary. WHIFF supports primatives and naming conventions for accessing the WSGI environment.


++ Glossary of terms    
×
WHIFF is related to a wide variety of concepts. The glossary includes discussions and links to discussions about some of those concepts.

0 comments.
Care to comment?
name: (required)
- email (not published):
comment: (required)

<< security number? >>