Jasper framework

Jasper framework

The Jasper framework is an open source, cross platform web development framework. It is often simply referred to as Jasper.

__TOC__

Preliminary defintions

Because Jasper supports several languages and platforms, some definitions are helpful to an understanding of its description. In Jasper parlance, a web interface provides the functionality to enable script or code running on a web server to be both referenced by a web client (usually a browser) via a URL, and to communicate its response. Common web interfaces are the CGI interface, Sun's Java servlets model and Microsoft's ASP.NET framework. The last example in fact encompasses far more than a web interface but since this functionality is virtually all that the Jasper framework requires, this definition has been adopted. A web platform is defined as a combination of programming language and web interface. C#/ASP.NET, for example, or Perl/CGI. A web framework is defined as system that enables the generation of dynamic web content. In this sense the Jasper framework is a web framework, as the name suggests, but not a web platform.

Description

Jasper currently supports (or can be said to be supported by) four web platforms. They are:

* Perl/CGI
* PHP/CGI
* C#/ASP.NET
* Java/servlets

Such is Jasper's generality that it could support many other web platforms.

In essence, Jasper is a template engine. It works by replacing instances of tokens with the appropriate content both in plain text template files, usually HTML files, and list files. The latter are used to generate content of MIME type 'application/x-www-form-urlencoded'. Query strings in particular, the part of URLs occurring after the question mark, are of this type. To this end, Jasper employs five template classes to process template and list files, organised in a template class hierarchy that can be easily extended to process custom tokens. Tokens processed by default consists of those whose contents match the names of form variables, configuration variables, or temporary variables, in each case the token is replaced with the associated value of the variable in question. These three types of variables are stored in an associative array, called the global properties array. Form and configuration variables are added to this array at inception by methods of the Form and Config classes which, together with the template classes, comprise Jasper's core. Temporary variables are so named because they are added to the global properties array directly in the code, and are removed immediately they are no longer needed, to keep the size of this array to a minimum.

A mathematical basis

Such is Jasper's simplicity, its core classes are typically implemented with only a few dozen lines of code regardless of platform, that its workings can be completely described by Hoare logic with only minimal extensions. The global properties array provides the state of the web application from its inception to the communication of its generated content and its subsequent destruction. By this means both the workings of the web application during the course of a single HTTP response, and the progression of the state of the a web application during a session of several pairs of requests and responses, which page is being shown, for example, or which form fields have been validated, can be formally specified. In this sense it contrasts sharply with other web frameworks, whose relative complexity make formal reasoning a practical impossibility.

External links

* [http://jasper.sourceforge.net Jasper website]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Jasper (disambiguation) — Jasper is an opaque mineral.Jasper may also refer to: Computing * JasPer, a project to create an open source implementation of the JPEG 2000 codec * Tomcat Jasper, a software engine used by Apache Tomcat * Jasper framework, an open source, cross… …   Wikipedia

  • Jasper — Термин Jasper также может означать открытую реализацию JPEG 2000. Jasper (также известный как Динамический ADO.NET (англ. Dynamic ADO.NET))[1] проект корпорации Microsoft, связанный с ADO.NET, целью которого является упрощение интеграции в… …   Википедия

  • Microsoft codename "Jasper" — (also called Dynamic ADO.NET)[1] is an ADO.NET incubation project being developed by Microsoft which aims for simpler integration between the data access layer (DAL) and the presentation layer in an application. Jasper can dynamically generate… …   Wikipedia

  • .NET Framework — This article is about the Microsoft technology. For the Top level domain, see .net. For other uses, see .NET. .NET Framework Developer(s) Microsoft …   Wikipedia

  • .NET Framework — Для термина «.NET» см. другие значения. .NET Framework Тип Комп …   Википедия

  • .NET Compact Framework — The Microsoft .NET Compact Framework (.NET CF) is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants (PDAs), mobile phones, factory controllers, set top… …   Wikipedia

  • .NET Compact Framework — У этого термина существуют и другие значения, см. .NET. .NET Compact Framework Тип Компьютерная платформа Разработчик Microsoft Операционная система Основанная на Windows CE Последняя версия 3.5 (25 января 2008) Лицензия …   Википедия

  • Список версий .NET Framework — Развитие .NET Framework продолжается до сих пор, начиная с выпуска первой бета версии в ноябре 2000 года. Каждая версия .NET Framework обычно содержит бета версии, финальные релизы и пакеты обновлений. Содержание 1 .NET Framework 2 .NET Compact… …   Википедия

  • ADO.NET Entity Framework — в составе .NET Framework ADO.NET Entity Framework (EF)  объектно ориентированная технология доступа к данным, является object relational mapping (ORM) решением для .NET Framework от M …   Википедия

  • .NET Framework 3.x — NET Framework 3.0, первоначально называвшийся WinFX интерфейс программирования приложений, который входит в состав операционной системы Windows Vista и Windows Server 2008. Старый интерфейс, Win32 API, будет по прежнему доступен, но из него не бу …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”