Helma Object Publisher
From Wikipedia, the free encyclopedia
This article or section has multiple issues. Please help improve the article or discuss these issues on the talk page.
|
Helma Object Publisher | |
---|---|
Latest release | 1.6.2 / April 7, 2008 |
Written in | Java |
OS | Cross-platform |
Genre | Web application framework |
License | Helma License version 2.0 |
Website | www.helma.org |
Helma Object Publisher is an open source web application framework. It is often shorted to Helma.
Helma is written in Java and employs Javascript for its server-side scripting environment. Helma uses Rhino as its scripting engine giving you instant access to leverage the whole wealth of Java libraries out there. In addition to use any JDBC-accessible database, such as MySQL, PostgreSQL and Oracle, Helma provides its own XML based embedded database.
Contents |
[edit] History
Helma was and is mainly developed by Hannes Wallnoefer with the help of some enthusiastic contributors from around the world. Helma was initially developed for the Austrian Broadcasting Corporation. The first Release of Helma was in Summer 2001. Helma Version 1.6.2 has been released in April 2008.
[edit] Philosophy
The main focus of Helma is to create elegant, easy to read, understand and maintain web applications. Very strict separation between logic and presentation is of utmost importance. Helma supports you with everything so your coding experience feels very straight forward and natural.
[edit] Actions, Skins and Macros
Helma divides the responsibility of serving a request and generating a response among several components.
Actions are in charge of handling the request. Every request in Helma is mapped to exactly one Action. If the Action does nothing, nothing happens and an empty response is written back to the client. If no Action can be found to handle a particular request, an HTTP 404 Not Found response is generated. Thus, Actions control the whole processing of each request. In the Model-View-Controller Pattern (MVC), they are the Controller.
Skins are parts and pieces of layout. They are rendered by Actions and other application code to generate a response. Skins are parts of static layout markup and can contain special Macro Tags that are replaced with dynamic content when the Skin is rendered. There is no possibility to add logic (like loops or even if-statement to the skin. In the MVC pattern, Skins constitute the View.
Finally, Macros are those pieces of application code that expose application data to Skins. Macros serve as bridges between the Skins and the application code.
[edit] Database Support
You can either use Helma's internal object-oriented XML-based database or choose your own database. It supports any JDBC-accessible database, such as MySQL, PostgreSQL and Oracle. The relational database can be substituted at any point by any other JDBC-accessible database.
The mapping between the application objects and the database is done by Helmas codeless Object-relational mapping.
[edit] Sites running on Helma
- twoday.net Biggest Blog platform in the german speaking world
- blogr.com Blog platform
- shnitzl.org Social event platform
- derwesten.de Portal of a big german media group
[edit] External Links
- Helmas Official Website
- Helma Reference compiled by Chris Zumbrunn
- Jala Library Collection of Javascript modules for Helma
- Axiom Stack commercial web framework based on Helma