OPEN SOURCE FRAMEWORKS

Jan 27

An  independent developer and director of the Cincinnati Java Users Group, named Nelson said “Developing [Java 2 Platform, Enterprise Edition] is just too hard” He is the founder of ‘ Trails framework’, a new open-source framework who aimed at making Java easier for developers.

ARCHITECTURES

Most  frameworks follow the Model View Controller (MVC) architectural pattern to separate  data model from user interface with user rules. This is considered a good practice as it modularizes code, promotes code reuse, and also allows multiple interfaces application.

PUSH BASED vs PULL BASED ARCHITECTURE

MVC frameworks mostly  follow a push-based architecture. These frameworks use actions that perform the required processing, and then “push”  data to the view layer to render results. Struts, Django, Ruby on Rails and Spring MVC  are the best examples of this architecture.Pull-based architecture,  also called “component-based” works as an alternative. The frameworks start with the view layer, which  then “pull”s results from multiple controllers as required. Multiple controllers can be involved with a single view in this architecture.

FEATURES

Security

Open source frameworks come with authentication and authorization frameworks, that allow the web server to identify the application users, and restrict access to functions based on some specific criteria. Drupal  is an example that provides role-based access to pages, and  a web-based interface in order to create users and assigning  roles to them.

URL Mapping

URL mapping facility in frameworks is the mechanism by which the URL’s are interpreted by the framework. Drupal and Django, are frameworks that  match the given URL against pre-determined patterns with help of regular expressions, while others use URL Rewriting  to translate the URL so that the underlying engine will recognize. Another technique is ‘graph traversal’ used by Zope, where URL is decomposed stepwise that traverse an object graph. Object-oriented frameworks have mapping tools that provide Object Relational Mapping which maps objects to tuples. Some add on features of frameworks include transactional support and database migration tools.

Database access

A unified API is created for  a database backend, so that web applications work with a variety of databases with no code changes allowing programmers to use higher-level concepts. The database connections should be pooled as AOL server does.

JOOMLA

It is an award winning CMS open source framework available for free. Nooku framework is a new engine, running Joomla.

Joomla is used all over the world to power Web sites of all shapes and sizes. For example:

  • In Corporate Web sites or portals
  • For Corporate intranets and extranets
  • Online magazines, publications and newspapers
  • In E-commerce and online reservations
  • For Government applications
  • Small business Web sites
  • Used in Non-profit and organizational Web sites
  • For Community-based portals
  • In School and church Web sites
  • And Personal or family homepages

JAVA FRAMEWORKS

jZeno

jZeno is an open source java development framework that offers rich web applications development. The architectural aim of jZeno is to allow creation of web applications using  java development, reducing the essentiality to know technologies like JavaScript, HTML, CSS, database specific SQL, JSP, JSF, etc..

JSP Widget

It is a JSP Framework providing event-driven ,view state retained, server-side GUI controls for making JSP development as intuitive as in client-based Web application

Tapestry

Tapestry is open-source, all-Java framework for creating leading web applications It is an alternative to scripting environments like Java Server Pages or Velocity. Tapestry further, provides  total framework for creating very dynamic applications with minimum coding.

Cocoon

Apache Cocoon, a web development framework follows the concept of separation of concerns and component-based web development. Concepts are implemented around the idea of ‘component pipelines’. This uses a Lego(tm)-like approach in creating web solutions, hooking components together into pipelines without any programming.

Google Web Toolkit

Google Web Toolkit (GWT) is a development framework in Java software that makes AJAX applications

Induction

Induction is a high performance, Java MVC web application framework. It supports dynamic application reloading, dependency analysis and type-based dependency injection .Induction simplifies the task of building complex, powerful web applications in Java technology.

AJAX

Ajax and XML is open source web development technique interactive web applications. The intent is to create web pages, exchanging small amounts of data with the server so that the entire web page does not have to be reloaded every time if the user requests for a change. This is to increase the web page’s interactivity, usability along with the speed.

Due to complexity of Ajax programming in Java script, there are number of Ajax frameworks exclusively dealing with Ajax support. Some Ajax frameworks are embedded as a part of large frameworks for e.g Prototype.

WAMP

WAMP is a open source which is formed from the initials of the Microsoft Windows OS and the principal package components : Apache, My SQL, PHP. Apache is a web server. MySQL is an open-source database and PHP,a scripting language that manipulates information in a database and generates dynamic web pages each time the content is requested by browser. Generally user with administrator privileges can install WAMP package.

LAMP

Lamp is an acronym for a open source software, coined from the first letters of Linux OS, Apache, MySQL, HTTP Server and PHP and principal components to build a viable purpose web server. Similar terms exist for essentially the same software suite (AMP) running on other operating systems, such as MAC OS(MAMP),Solaris (SAMP), or Open BSD(OAMP).

XAMPP

XAMPP is a cross platform open source, web server package.

XAMPP comes from

X (meaning cross-platform)

Apache

My SQL

PHP

Perl

The program is released under the terms of the General Public License and is a free web server serving dynamic pages. XAMPP is available for  Microsoft Windows, Mac OS X, Linux and Solaris

Automatic configuration

Introspection or known conventions are used by frameworks to minimize web application configuration. Java frameworks use Hibernate as persistence layer, which generates a database schema at runtime. It persists the necessary information allowing the designer to design business objects without explicitly defining a database schema. Some frameworks support tools for creating and providing web services.

Open source technology has natural strengths by which individual users benefit. Although open source software has various advantages one must be aware that

  • The software is available in market without any of warranty or guarantees.
  • Support is usually available on a voluntary basis.
  • Adhering to license may be get difficult for companies who are habituated to commercial licensing terms.

Use of  open source software are advantageous,  the ability to curtail costs and development time, or to avoid dependency on a single vendor. It is therefore expected that in days ahead more and more companies and organizations will start using open source software.

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes