Aranea framework
Encyclopedia
Aranea framework is an Open Source (APL
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....

 2.0) Java Hierarchical Model-View-Controller
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...

 web framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...

 that was developed by an Estonia
Estonia
Estonia , officially the Republic of Estonia , is a state in the Baltic region of Northern Europe. It is bordered to the north by the Gulf of Finland, to the west by the Baltic Sea, to the south by Latvia , and to the east by Lake Peipsi and the Russian Federation . Across the Baltic Sea lies...

n company Webmedia
Webmedia Group
Webmedia Group is one of the largest software development companies in the Baltic states, operating in European, Middle-Eastern and African markets...

. Aranea provides a simple common approach to building web application components, reusing custom or general GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 logic and extending the framework. The framework enforces programming using object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 techniques with POJOs
Plain Old Java Object
In computing software, POJO is an acronym for Plain Old Java Object. The name is used to emphasize that a given object is an ordinary Java Object, not a special object...

 and provides a JSP tag library
JavaServer Pages
JavaServer Pages is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types...

 that facilitates programming web GUIs without writing HTML.

Notable features of Aranea include:
  • Component orientation. In Aranea everything is a component and everything is reusable. The framework itself is assembled from a number of components with specific responsibilities and the programmer also writes the code in terms of components. Aranea components have a very simple interface with about 4-6 methods. The framework includes many pre-built components like forms with data binding capabilities and database-backed lists.

  • Event driven
    Event-driven programming
    In computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...

    . The programming model is based on components reacting to events generated by the user. One typically doesn't have to deal with HTTP requests or determine which button was pressed because the event handler just calls the appropriate listener or method.

  • Using POJOs
    Plain Old Java Object
    In computing software, POJO is an acronym for Plain Old Java Object. The name is used to emphasize that a given object is an ordinary Java Object, not a special object...

    . Components in Aranea are pure Java objects supporting polymorphism, inheritance and encapsulation.

  • Explicit state management. Aranea component fields are persistent and the framework will automatically determine a component's lifecycle without limiting it to a scope.

  • View agnostic. The framework is completely view technology agnostic but provides a thorough library of custom JSP tags that target building GUIs without writing HTML.

  • Integration platform. Allows assembling most available web programming models out of reusable components and patterns.

  • Powerful navigation. Out-of-the-box, Aranea supports the so called flows and flow nesting, which allows to create nested processes that preserve previous process state and restore it when finished.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK