- Helma Object Publisher
Infobox_Software
name = Helma Object Publisher
caption =
latest_release_version = 1.6.2
latest_release_date = release date|2008|04|07
operating_system =Cross-platform
programming_language = Java
genre =Web application framework
license = [http://helma.org/download/license/ Helma License version 2.0]
website = [http://www.helma.org 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 anyJDBC -accessible database, such asMySQL ,PostgreSQL and Oracle, Helma provides its ownXML based embedded database.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. Since then it has been used for other large public websites such as TwoDay.net (a large German speaking weblog hosting site) and the
National Gallery of Victoria The first Release of Helma was in Summer2001 . Helma Version 1.6.2 has been released in April 2008.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.
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.
Database Support
You can either use Helma's internal
object-oriented XML -based database or choose your owndatabase . It supports anyJDBC -accessible database, such asMySQL ,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 .External links
* [http://dev.helma.org/ Helmas Official Website]
* [http://www.computerworld.com.au/index.php/id%3B114344561%3Bfp%3B16%3Bfpid%3B0 Article citing use by the National Gallery of Victoria]
Wikimedia Foundation. 2010.