Learn xaloon - Part 1. Overview


2012-01-11 16:49 | Author: admin

Licence

Apache License 2.0

Introduction

xaloon is an application development and integration tool for apache wicket. Main focus of xaloon is to start wicket development easily with predefined requirements. Maven archetypes provide an easy way to generate a project template with built-in modules, such as spring, JPA, security, dynamic menu, automatic page mounting and other features. xaloon core api provides common interfaces which are used in mostly all applications. xaloon plugins provide additional functionality and tool extensibility features.

Architecture

Overall xaloon architecture diagram displays list of modules and module dependency graph. All common interfaces are defined in xaloon core api module. xaloon core api provides interfaces for persistence, caching, security, plugin management, other modules as well as already built-in set of plugins (blog, photo gallery, external authentication, google related services).

 

Figure 1.1. overall xaloon architecture

overall xaloon architecture


Detailed api architecture displayes interfaces, supported by xaloon. It also displays default implementations and exposed architectural levels to project developers. Three levels are exposed: core api interfaces, xaloon wicket components and xaloon plugins. Usually end project developer should not deal with custom implementation of persistence or security interface but there are always exceptional cases, such as custom security implementation using LDAP, different caching mechanism should be used, other reasons. Custom implementation might be provided without any code refactoring. xaloon api makes things realy light weight, easy to customize.

 

Figure 1.2. xaloon api detailed architecture

xaloon api detailed architecture


Detailed architecture by module is described in section xaloon core api.

xaloon uses JEE generic annotations. This makes xaloon based project ready to deploy into JEE platform. There are some exceptions, which cannot be so easily ported from Spring to JEE, but major xaloon requirements are covered.

Supported JEE annotations:

  • Dependency injection

    • javax.inject.Inject
    • javax.inject.Named
  • Transaction management

    • javax.ejb.TransactionAttribute
    • javax.ejb.TransactionManagement
  • Security roles for wicket pages

    • javax.annotation.security.RolesAllowed

Why developer should use these annotations? Migration from spring based application to JEE platform may be performed easier when using common annotations. Testing might be easier performed on container based application server and later deployed into JEE platform with just a minimum maven deployment descriptors.

System requirements and integrated packages

Requirements

Java Runtime: A JDK or JRE version 6 or greater. You can download a Java Runtime for Windows/Linux/Solaris here.

Supported platforms

Supported servlet containers and application servers:

Integrated packages

xaloon has several options how it might be configured - xaloon profiles. All profiles include such features:

xaloon with spring, eclipselink and shiro security

	<dependency>
		<groupId>org.xaloon.profiles</groupId>
		<artifactId>xaloon-profiles-eclipselink-shiro</artifactId>
		<version>1.5.0</version>
		<type>pom</type>
	</dependency>
	

This configuration includes:

xaloon with spring, hibernate

<dependency>
	<groupId>org.xaloon.profiles</groupId>
	<artifactId>xaloon-profiles-hibernate-spring</artifactId>
	<version>1.5.0</version>
	<type>pom</type>
</dependency>			

This configuration includes:

xaloon java ee and shiro security

<dependency>
	<groupId>org.xaloon.profiles</groupId>
	<artifactId>xaloon-profiles-jee</artifactId>
	<version>1.5.0</version>
	<type>pom</type>
</dependency>

This configuration includes:

  • Default Java EE Dependency injection is used

  • Default ORM provider is used

  • Apache Shiro 1.1.0 for security

 
 
 
 
 
 
 
<< < > >>
 
About xaloon.org

xaloon.org provides apache wicket based components for web and business solutions.

Learn more »
Follow Us (RSS)
Help & Support

Contact us in order to get help and support.

Online contact form »
Get in touch
Online contact form »