The KiCsa application design is important because it is a major technical requirement of the project.

Choose the view you want of the KiCsa design :


The KiCsa architecture is typically a 3-tier architecture, with :

  1. a Web client
  2. an application server layer, splitted in
    • presentation layer : Web logic control, dynamic page build
    • service layer : actions on business objects
    • business layer : persistent on non persistent business objects
    • integration layer : glue between memory data and data persisted in the KiCsa repository
  3. an data repository
KiCsa architecture Version Alpha Comment
Release 1
Couche Pattern Maintenance  
Platform J2EE   1.2 Not going beyond because WAS 4.03 support is a requirement
Persistence   JDBC 2.0 Java DataBase Connectivity including DataSource
JDO 1.0 Java Data Objects standard
Transactions   JTA 1.0 UserTransaction

Use-case view

This section describes use cases realizations.

Skill tree navigation

Static view



Skill control


Skill services

Administration services


Skill-related business objects

This way a skill network can be builded like this :

Skill tree view

Providing a tree view of the skill network.

Employee business objects


Skill data integration

Employee data integration

Common layer

Preferences API

J2SE 1.4 Preferences API built for J2SE versions prior to 1.4.


KiCsa use a number of patterns to solve common problems :

KiCsa design patterns Version Alpha Comment
Release 1
Couche Pattern Maintenance  
DP DAO JDBCDAO Encapsulate data access
Abstract factory AbstractDAOFactory Parameterizable set of implementations
Facade   kicsa.service.ability Reduce complexity and provide low coupling
MVC   Struts Struts' MVC2 architectural pattern
Commande   Struts action
Workflow initiation   rights  
action   duties