Welcome to Aranea-MVC 1.1!

About

Aranea is an Open-Source Web platform written in Java. This application consists of several examples built with Aranea Uilib and Aranea JSP tag library. Visit Aranea home page for detailed information about goals of Aranea project.

What pre-built components and ready-to-use features does Aranea 1.1 offer me?

Just look around in this sample application to find out. Commented demos of Aranea 1.1 features and components are just a mouseclick away.

What's new in Aranea 1.1?

Here we shortly comment on high-level modifications/features that we believe make Aranea 1.1 > 1.0

  • Component Model

    All components now have access to their scope—component's unique identifier in the component hierarchy. Previously it was hidden from developers, only accessible under certain conditions. Having access to component scopes simplifies both framework integration and component rendering.

    Widget lifecycle has been simplified by removing the process() method. As an intermediate call between component update and component rendering it was prone to misuse that made impossible to be sure that certain component methods had exactly same effect when called on a component in the middle of its lifecycle or on some inactive component. To disallow building components that break the POJO contract, it was decided to remove this method completely.

    Default component assembly has been seamlessly changed to allow for parallel processing of asynchronous requests. In Aranea 1.0, incoming requests were always processed sequentially. 1.1 allows asynchronous processing only when developer explicitly opts to use it—and Widget's lifecycle methods are not invoked in that case, just action listeners registered by the Widget. Initial motivation for allowing optional asynchronous communication with widgets came from police patrol monitoring application that needed very fast responses.

  • Rendering Model

    In Aranea 1.0, rendering phase of the lifecycle always rendered whole widget hierarchy. In Aranea 1.1 those requests that specify only certain regions of page to be in need of an update, are rendered in a more fine-grained way—the rendering unit will be one render-capable widget that includes all regions that were specified for update. See Alar Kvell's bachelor work for description of how partial rendering works.

What needs to be done to migrate from Aranea 1.0 -> 1.1?

Take a look at the quick migration guide. If it should leave you with some unanswered questions, turn to our forums for support.