World Library  
Flag as Inappropriate
Email this Article

Makumba (framework)

Article Id: WHEBN0014286626
Reproduction Date:

Title: Makumba (framework)  
Author: World Heritage Encyclopedia
Language: English
Subject: AppJet, Knockout (web framework), OpenRasta, MonoRail (software), Qcodo
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Makumba (framework)

Makumba
Initial release 2001
Stable release 0.8.2.5.1 / December 23, 2009 (2009-12-23)
Written in Java, PL/SQL
Operating system Cross-platform
Type software framework
License LGPL
Website http://www.makumba.org

Makumba is a query-centric application framework using the model-view-controller pattern and designed to develop data driven web applications. It provides a custom JSP tag-library as a main interface, but leaves API open for advanced access. It is implemented in Java.

Background

Makumba is an open-source infrastructure technology helping its users to put together data-driven web applications for medium and large audiences in a rapid, architecturally-sound and sustainable manner. Makumba is aimed towards communities of programmers of varying competencies, from HTML, through SQL, procedural programming, to object-oriented programming in Java. Many of its users have followed this learning path from simple scripting to professional programming, and later built on this experience, finding jobs in IT consulting companies.

Makumba was designed and partly implemented in the context of a PhD thesis at virtual job fair, etc. The applications are designed, developed and maintained by the "IT group", a distributed group with no physical premises, meeting several times a year. Like in the rest of the organisation, students come in and out of the group on a regular basis, as people finish studies or run into family or job obligations after finishing studies. In this context, it is a challenge for the IT group to sustain long-term activities such as application design and development, which sometimes span several generations of voluntary members. Attracting new members in itself (i.e. sustaing the whole group) is a challenge.

Since the adoption of Makumba in 2002, the IT group size stayed steadily over 20. A large number of new sub-applications are proposed, prototyped (using e.g. PowerPoint) and implemented on a regular basis, and the common database allows them to be fully integrated with the Makumba-based system of the organisation, which now features around 100 data types, 1500 JSP scripts and 150 Java modules.

Design features

Makumba has been designed specifically to answer the needs of groups and communities as the one described previously. Its main design principles are:

  • low learning threshold that prospective users have to face. It is commonly believed that a prospective member of a community using Makumba can start to contribute to the larger system after a 3 hour training. By contribution it is meant accessing the database and displaying results in a meaningful manner for the other members.
  • separation of learning tasks. This allows people who do not yet know professional-level languages to join, and learn them later from or together their peers. Makumba supports a "graceful learning path"
  • the architecture that allows several subgroups to work on several parts of the system, and also enforces a model-view-controller separation, leading to a robust system over the long term, despite frequent membership changes

Key features

  • Easy readable
  • Property based data definition types
  • JSP taglib that generates HTML based on the data type and operation (listing, adding, editing, etc.)
  • Optional Business Logic in Java that gives the developers access to advanced features
  • MVC based framework
  • Support of Object Query Language and Hibernate Query Language

See also

Notes

  1. ^ Cristian Bogdan (2003). "IT Design for Amateur Communities" ( 

External links

  • Makumba homepage
  • Makumba project on SourceForge.net
  • BEST homepage
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.