Helma Object Publisher

From Wikipedia, the free encyclopedia

Helma Object Publisher is an open source software package that provides JavaScript based server-side scipting language.

Helma Object Publisher
Image:helma_n.gif
Latest release: 1.5.3 / November 10, 2006
OS: Cross-platform
Use: Web application framework
License: Helma License version 2.0
Website: www.helma.org

Helma is an open source web application framework for fast and efficient scripting and serving of your websites and Internet applications.

Helma is written in Java and employs Javascript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there.

Helma pioneered the simple and codeless mapping of application objects to database tables, which has only recently come into vogue with other web frameworks. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.

Helma has proven itself to be stable and fast, capable of serving high traffic sites with hundreds of thousands of dynamic pages per day. The Austrian Broadcasting Corporation, popular weblog hosting sites such as antville.org, twoday.net, and blogger.de, among many others, have successfully been deploying Helma for several years.

Contents

The first generation of Web frameworks usually provided ways to include dynamic content into static Web pages through the insertion of scripts or other code. While this seemed like a cool idea back then, by now just about everybody knows the problems that come with this approach. Mixing code and layout leads to unreadable, unmaintainable code very quickly. Many frameworks have kept the original way of mixing code and layout for backwards compatibility, while augmenting them with alternative ways of writing Web applications.

In Helma, the original concept of "server pages" has been completely dumped and replaced with a mechanism that guarantees total separation of application logic and layout. The three basic constituents of this mechanism - Actions, Skins and Macros - are introduced in the next section.

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, a 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. In the MVC pattern, Skins constitute the View.

Finally, Macros are those pieces of application code that expose application date to Skins. Macros serve as bridges between the Skins and the application code.

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 was constantly evolving over the last years. So it is quite mature code right now. In spring 2007 Helma Version 1.6 is expected to be released. This is supposedly the last version based on the old codebase.

Helma 2 is also in development right now. It is a complete rewrite of Helma and will be the next evolution of Helma. For information about the progress of Helma 2 you can visit dev.helma.org

You can either use Helma's internal object-oriented XML-based database or choose your own database. Supports any JDBC-accessible database such as MySQL, PostgreSQL and Oracle. Relational database becomes substitutable at any point by any other JDBC-accessible database.

Projects using Helma:

  • Gobi - Wikiesque web site framework
  • Antville - Antville is an expandable weblog hosting system built on Helma that has some of the features of a full grown content management system.

Some major websites running on Helma:

  • helma.org - the projects website (based on antville)
  • orf.at - official website of federal Austrian television
  • futurezone.orf.at - technologie site of Austrian television
  • fm4.orf.at - alternative radio station in Austria
  • twoday.net - blogging platform (one of the biggest in the German-speaking part of Europe)
  • blogr.com - international blogging, podcast, video-podcast platform
  • shnitzl.org - event managing website
  • blogger.de - blogging platform
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.